[pychess] 21 new revisions pushed by gbtami on 2011-12-31 19:58 GMT

10 views
Skip to first unread message

pyc...@googlecode.com

unread,
Dec 31, 2011, 2:59:03 PM12/31/11
to pychess...@googlegroups.com
21 new revisions:

Revision: a62debfed4be
Author: gbtami
Date: Wed Nov 30 08:58:02 2011
Log: opening name support
http://code.google.com/p/pychess/source/detail?r=a62debfed4be

Revision: 58a31279708a
Author: gbtami
Date: Sun Dec 4 12:37:55 2011
Log: Change from dict to sqlite
http://code.google.com/p/pychess/source/detail?r=58a31279708a

Revision: 80634769a2d2
Author: gbtami
Date: Sun Dec 4 12:40:44 2011
Log: Add some eco.pgn
http://code.google.com/p/pychess/source/detail?r=80634769a2d2

Revision: 6918b1d47639
Author: gbtami
Date: Sun Dec 4 13:06:43 2011
Log: Use pgn2fen.sh to prodece eco.db
http://code.google.com/p/pychess/source/detail?r=6918b1d47639

Revision: 1b90f538f2f5
Author: gbtami
Date: Mon Dec 5 07:49:43 2011
Log: Merged with revision 79fa5c503501 from openings-endgames branch.
http://code.google.com/p/pychess/source/detail?r=1b90f538f2f5

Revision: b1d3deaab564
Author: gbtami
Date: Mon Dec 5 09:12:25 2011
Log: Set opening after game changed
http://code.google.com/p/pychess/source/detail?r=b1d3deaab564

Revision: fe2e5ddfbe03
Author: gbtami
Date: Mon Dec 5 10:48:17 2011
Log: Better lang detection
http://code.google.com/p/pychess/source/detail?r=fe2e5ddfbe03

Revision: 4ee9f3295cc4
Author: gbtami
Date: Mon Dec 5 13:55:13 2011
Log: Use polyglot hash instead of FEN
http://code.google.com/p/pychess/source/detail?r=4ee9f3295cc4

Revision: 8fd4e0e20dd7
Author: gbtami
Date: Mon Dec 5 14:03:38 2011
Log: Fix openings for undo
http://code.google.com/p/pychess/source/detail?r=8fd4e0e20dd7

Revision: 275347aa3399
Author: gbtami
Date: Mon Dec 5 14:28:48 2011
Log: Fix the case when we have only one but losing game in the book
for a b...
http://code.google.com/p/pychess/source/detail?r=275347aa3399

Revision: a1cfcaac05ca
Author: gbtami
Date: Tue Dec 6 02:27:42 2011
Log: Better lang detection
http://code.google.com/p/pychess/source/detail?r=a1cfcaac05ca

Revision: f0ae8bf2d76a
Author: gbtami
Date: Tue Dec 6 03:37:28 2011
Log: Cleaning up hungarian eco.pgn
http://code.google.com/p/pychess/source/detail?r=f0ae8bf2d76a

Revision: ef4c85a54128
Author: gbtami
Date: Fri Dec 9 04:34:57 2011
Log: Hungarian opening name fixes
http://code.google.com/p/pychess/source/detail?r=ef4c85a54128

Revision: 4beb3af1d0e2
Author: gbtami
Date: Fri Dec 9 05:14:04 2011
Log: Split opening names to name and variation
http://code.google.com/p/pychess/source/detail?r=4beb3af1d0e2

Revision: 58595a8fd389
Author: gbtami
Date: Sat Dec 10 07:01:54 2011
Log: Cleanup some hungarian opening names
http://code.google.com/p/pychess/source/detail?r=58595a8fd389

Revision: 0a357067c5cc
Author: gbtami
Date: Mon Dec 12 02:35:41 2011
Log: Show variation too
http://code.google.com/p/pychess/source/detail?r=0a357067c5cc

Revision: 926ebcada536
Author: gbtami
Date: Mon Dec 12 04:37:38 2011
Log: Expand opening names: KP, KGD, KGA, QGD, QGA
http://code.google.com/p/pychess/source/detail?r=926ebcada536

Revision: d33234986f11
Author: gbtami
Date: Mon Dec 12 12:55:24 2011
Log: Add Open recent files support, based on hgmiguel patch
http://code.google.com/p/pychess/source/detail?r=d33234986f11

Revision: fcbc88c02a47
Author: gbtami
Date: Thu Dec 15 07:46:44 2011
Log: Use struct.pack() instead of hex()
http://code.google.com/p/pychess/source/detail?r=fcbc88c02a47

Revision: d044876323a7
Author: gbtami
Date: Thu Dec 15 12:13:53 2011
Log: Use standard ordering instead of default native
http://code.google.com/p/pychess/source/detail?r=d044876323a7

Revision: 769680812e96
Author: gbtami
Date: Sat Dec 31 11:54:23 2011
Log: Merge from gbtami-eco
http://code.google.com/p/pychess/source/detail?r=769680812e96

==============================================================================
Revision: a62debfed4be
Author: gbtami
Date: Wed Nov 30 08:58:02 2011
Log: opening name support
http://code.google.com/p/pychess/source/detail?r=a62debfed4be

Added:
/lib/pychess/Utils/eco.py
/lib/pychess/Utils/pgn2fen.py
/lib/pychess/Utils/pgn2fen.sh
Modified:
/lib/pychess/Utils/GameModel.py
/sidepanel/annotationPanel.py

=======================================
--- /dev/null
+++ /lib/pychess/Utils/eco.py Wed Nov 30 08:58:02 2011
@@ -0,0 +1,2016 @@
+eco_lookup = {
+"rnbqkbnr/pppppppp/8/8/1P6/8/P1PPPPPP/RNBQKBNR b KQkq b3 0 1": ("A00",
(_("Polish (Sokolsky) opening"),)),
+"rnbqkb1r/pppppppp/7n/8/1P6/8/P1PPPPPP/RNBQKBNR w KQkq - 1 2": ("A00",
(_("Polish"),_("Tuebingen variation"),)),
+"rnbqkbnr/pp1ppppp/2p5/8/1P6/8/P1PPPPPP/RNBQKBNR w KQkq - 0 2": ("A00",
(_("Polish"),_("Outflank variation"),)),
+"rnbqkbnr/pppppppp/8/8/8/6P1/PPPPPP1P/RNBQKBNR b KQkq - 0 1": ("A00",
(_("Benko's Opening"),)),
+"rnbqkbnr/ppppppp1/8/7p/8/6P1/PPPPPP1P/RNBQKBNR w KQkq h6 0 2": ("A00",
(_("Lasker simul special"),)),
+"rnbqkbnr/pppp1ppp/8/4p3/8/5NP1/PPPPPP1P/RNBQKB1R b KQkq - 1 2": ("A00",
(_("Benko's Opening"),_("reversed Alekhine"),)),
+"rnbqkbnr/pppppppp/8/8/6P1/8/PPPPPP1P/RNBQKBNR b KQkq g3 0 1": ("A00",
(_("Grob's attack"),)),
+"rnbqkbnr/pp2pppp/2p5/3p2P1/8/8/PPPPPPBP/RNBQK1NR b KQkq - 0 3": ("A00",
(_("Grob"),_("Spike attack"),)),
+"rn1qkbnr/ppp1pppp/8/3p4/2P3b1/8/PP1PPPBP/RNBQK1NR b KQkq c3 0 3": ("A00",
(_("Grob"),_("Fritz gambit"),)),
+"rn1qkbnr/ppp1pppp/8/8/2Pp2b1/8/PP1PPPBP/RNBQK1NR w KQkq - 0 4": ("A00",
(_("Grob"),_("Romford counter-gambit"),)),
+"rnbqkbnr/pppppppp/8/8/8/7P/PPPPPPP1/RNBQKBNR b KQkq - 0 1": ("A00",
(_("Clemenz (Mead's"),_("Basman's or de Klerk's) Opening"),)),
+"rnbqkbnr/pppp1ppp/8/4p3/8/P6P/1PPPPPP1/RNBQKBNR b KQkq - 0 2": ("A00",
(_("Global Opening"),)),
+"rnbqkbnr/pppppppp/8/8/8/7N/PPPPPPPP/RNBQKB1R b KQkq - 1 1": ("A00",
(_("Amar (Paris) Opening"),)),
+"rn1qkbnr/ppp2ppp/8/3p4/5p2/6PB/PPPPP2P/RNBQK2R w KQkq - 0 5": ("A00",
(_("Amar gambit"),)),
+"rnbqkbnr/pppppppp/8/8/8/2N5/PPPPPPPP/R1BQKBNR b KQkq - 1 1": ("A00",
(_("Dunst (Sleipner"),_("Heinrichsen) Opening"),)),
+"rnbqkbnr/pppp1ppp/8/4p3/8/2N5/PPPPPPPP/R1BQKBNR w KQkq e6 0 2": ("A00",
(_("Dunst (Sleipner-Heinrichsen) Opening"),)),
+"rnbqkbnr/pppp1ppp/8/4p3/8/P1N5/1PPPPPPP/R1BQKBNR b KQkq - 0 2": ("A00",
(_("Battambang Opening"),)),
+"r1bqkbnr/pp1ppppp/2n5/8/7Q/2N5/PPP1PPPP/R1B1KBNR b KQkq - 2 4": ("A00",
(_("Novosibirsk Opening"),)),
+"rnbqkbnr/pppppppp/8/8/8/P7/1PPPPPPP/RNBQKBNR b KQkq - 0 1": ("A00",
(_("Anderssen's Opening"),)),
+"rnbqkbnr/pppppppp/8/8/P7/8/1PPPPPPP/RNBQKBNR b KQkq a3 0 1": ("A00",
(_("Ware (Meadow Hay) Opening"),)),
+"rnbqkbnr/pppp1ppp/8/4p3/P6P/8/1PPPPPP1/RNBQKBNR b KQkq h3 0 2": ("A00",
(_("Crab Opening"),)),
+"rnbqkbnr/pppppppp/8/8/8/2P5/PP1PPPPP/RNBQKBNR b KQkq - 0 1": ("A00",
(_("Saragossa Opening"),)),
+"rnbqkbnr/pppppppp/8/8/8/3P4/PPP1PPPP/RNBQKBNR b KQkq - 0 1": ("A00",
(_("Mieses Opening"),)),
+"rnbqkbnr/pppp1ppp/8/4p3/8/3P4/PPP1PPPP/RNBQKBNR w KQkq e6 0 2": ("A00",
(_("Mieses Opening"),)),
+"rnbqkbnr/pppp1ppp/8/4p3/8/3P4/PPPNPPPP/R1BQKBNR b KQkq - 1 2": ("A00",
(_("Valencia Opening"),)),
+"r1bqkbnr/pp1ppppp/2n5/2p5/8/2NP2P1/PPP1PP1P/R1BQKBNR b KQkq - 0 3":
("A00", (_("Venezolana Opening"),)),
+"rnbqkbnr/pppppppp/8/8/8/4P3/PPPP1PPP/RNBQKBNR b KQkq - 0 1": ("A00",
(_("Van't Kruijs Opening"),)),
+"r1bqkb1r/ppp2ppp/2np1n2/4p3/2P5/1PN1P3/P2P1PPP/R1BQKBNR w KQkq - 1 5":
("A00", (_("Amsterdam attack"),)),
+"rnbqkbnr/pppppppp/8/8/8/5P2/PPPPP1PP/RNBQKBNR b KQkq - 0 1": ("A00",
(_("Gedult's Opening"),)),
+"rnbqkbnr/pppp1ppp/8/4p3/8/5P2/PPPPPKPP/RNBQ1BNR b kq - 1 2": ("A00",
(_("Hammerschlag (Fried fox/Pork chop Opening)"),)),
+"rnbqkbnr/pppppppp/8/8/7P/8/PPPPPPP1/RNBQKBNR b KQkq h3 0 1": ("A00",
(_("Anti-Borg (Desprez) Opening"),)),
+"rnbqkbnr/pppppppp/8/8/8/N7/PPPPPPPP/R1BQKBNR b KQkq - 1 1": ("A00",
(_("Durkin's attack"),)),
+"rnbqkbnr/pppppppp/8/8/8/1P6/P1PPPPPP/RNBQKBNR b KQkq - 0 1": ("A01",
(_("Nimzovich-Larsen attack"),)),
+"rnbqkbnr/pppp1ppp/8/4p3/8/1P6/P1PPPPPP/RNBQKBNR w KQkq e6 0 2": ("A01",
(_("Nimzovich-Larsen attack"),_("Modern variation"),)),
+"rnbqkb1r/pppppppp/5n2/8/8/1P6/P1PPPPPP/RNBQKBNR w KQkq - 1 2": ("A01",
(_("Nimzovich-Larsen attack"),_("Indian variation"),)),
+"rnbqkbnr/ppp1pppp/8/3p4/8/1P6/P1PPPPPP/RNBQKBNR w KQkq d6 0 2": ("A01",
(_("Nimzovich-Larsen attack"),_("Classical variation"),)),
+"rnbqkbnr/pp1ppppp/8/2p5/8/1P6/P1PPPPPP/RNBQKBNR w KQkq c6 0 2": ("A01",
(_("Nimzovich-Larsen attack"),_("English variation"),)),
+"rnbqkbnr/ppppp1pp/8/5p2/8/1P6/P1PPPPPP/RNBQKBNR w KQkq f6 0 2": ("A01",
(_("Nimzovich-Larsen attack"),_("Dutch variation"),)),
+"rnbqkbnr/p1pppppp/8/1p6/8/1P6/P1PPPPPP/RNBQKBNR w KQkq b6 0 2": ("A01",
(_("Nimzovich-Larsen attack"),_("Polish variation"),)),
+"rnbqkbnr/p1pppppp/1p6/8/8/1P6/P1PPPPPP/RNBQKBNR w KQkq - 0 2": ("A01",
(_("Nimzovich-Larsen attack"),_("Symmetrical variation"),)),
+"rnbqkbnr/pppppppp/8/8/5P2/8/PPPPP1PP/RNBQKBNR b KQkq f3 0 1": ("A02",
(_("Bird's Opening"),)),
+"rnbqkbnr/pppp1ppp/8/4p3/5P2/8/PPPPP1PP/RNBQKBNR w KQkq e6 0 2": ("A02",
(_("Bird"),_("From gambit"),)),
+"rnbqk1nr/ppp2p1p/3b4/6p1/8/5N2/PPPPP1PP/RNBQKB1R w KQkq g6 0 5": ("A02",
(_("Bird"),_("From gambit"),_("Lasker variation"),)),
+"rnbqk2r/ppp2ppp/3b3n/8/3P4/5N2/PPP1P1PP/RNBQKB1R b KQkq d3 0 5": ("A02",
(_("Bird"),_("From gambit"),_("Lipke variation"),)),
+"rnbqkb1r/ppppp1pp/5n2/8/4pPP1/2N5/PPPP3P/R1BQKBNR b KQkq g3 0 4": ("A02",
(_("Bird's Opening"),_("Swiss gambit"),)),
+"rnbqkbnr/pppppp1p/8/6p1/5P2/8/PPPPP1PP/RNBQKBNR w KQkq g6 0 2": ("A02",
(_("Bird"),_("Hobbs gambit"),)),
+"rnbqkbnr/ppp1pppp/8/3p4/5P2/8/PPPPP1PP/RNBQKBNR w KQkq d6 0 2": ("A03",
(_("Bird's Opening"),)),
+"rnbqkbnr/ppp1pppp/8/3p4/2P2P2/8/PP1PP1PP/RNBQKBNR b KQkq c3 0 2": ("A03",
(_("Mujannah Opening"),)),
+"rnbqkbnr/ppp1pppp/8/3p4/4PP2/8/PPPP2PP/RNBQKBNR b KQkq e3 0 2": ("A03",
(_("Bird's Opening"),_("Williams gambit"),)),
+"rnbqkb1r/pp2pppp/5n2/2pp4/5P2/4PN2/PPPP2PP/RNBQKB1R w KQkq c6 0 4":
("A03", (_("Bird's Opening"),_("Lasker variation"),)),
+"rnbqkbnr/pppppppp/8/8/8/5N2/PPPPPPPP/RNBQKB1R b KQkq - 1 1": ("A04",
(_("Reti Opening"),)),
+"rnbqkbnr/ppppp1pp/8/5p2/8/5N2/PPPPPPPP/RNBQKB1R w KQkq f6 0 2": ("A04",
(_("Reti v Dutch"),)),
+"rnbqkbnr/ppppp1pp/8/5p2/4P3/5N2/PPPP1PPP/RNBQKB1R b KQkq e3 0 2": ("A04",
(_("Reti"),_("Pirc-Lisitsin gambit"),)),
+"rnbqkb1r/ppppp1pp/5n2/5p2/4P3/3P1N2/PPP2PPP/RNBQKB1R b KQkq e3 0 3":
("A04", (_("Reti"),_("Lisitsin gambit deferred"),)),
+"rnbqkbnr/ppp1pppp/3p4/8/8/5N2/PPPPPPPP/RNBQKB1R w KQkq - 0 2": ("A04",
(_("Reti Opening"),)),
+"rn1qkbnr/ppp1pppp/3p4/8/4P1b1/5N2/PPPP1PPP/RNBQKB1R w KQkq - 1 3":
("A04", (_("Reti"),_("Wade defense"),)),
+"rnbqkbnr/pppppp1p/8/6p1/8/5N2/PPPPPPPP/RNBQKB1R w KQkq g6 0 2": ("A04",
(_("Reti"),_("Herrstroem gambit"),)),
+"rnbqkb1r/pppppppp/5n2/8/8/5N2/PPPPPPPP/RNBQKB1R w KQkq - 2 2": ("A05",
(_("Reti Opening"),)),
+"rnbqkb1r/p1pppppp/5n2/1p6/8/5NP1/PPPPPP1P/RNBQKB1R w KQkq b6 0 3":
("A05", (_("Reti"),_("King's Indian attack"),_("Spassky's variation"),)),
+"rnbqkb1r/pppppp1p/5np1/8/8/5NP1/PPPPPP1P/RNBQKB1R w KQkq - 0 3": ("A05",
(_("Reti"),_("King's Indian attack"),)),
+"rnbqkb1r/pppppp1p/5np1/8/1P6/5NP1/P1PPPP1P/RNBQKB1R b KQkq b3 0 3":
("A05", (_("Reti"),_("King's Indian attack"),_("Reti-Smyslov variation"),)),
+"rnbqkbnr/ppp1pppp/8/3p4/8/5N2/PPPPPPPP/RNBQKB1R w KQkq d6 0 2": ("A06",
(_("Reti Opening"),)),
+"rnbqkbnr/ppp1pppp/8/3p4/8/3P1N2/PPP1PPPP/RNBQKB1R b KQkq - 0 2": ("A06",
(_("Reti"),_("Old Indian attack"),)),
+"rnbqkbnr/ppp1pppp/8/3p4/1P6/5N2/P1PPPPPP/RNBQKB1R b KQkq b3 0 2": ("A06",
(_("Santasiere's folly"),)),
+"rnbqkbnr/ppp1pppp/8/3p4/4P3/5N2/PPPP1PPP/RNBQKB1R b KQkq e3 0 2": ("A06",
(_("Tennison (Lemberg"),_("Zukertort) gambit"),)),
+"rnbqkbnr/ppp1pppp/8/3p4/8/1P3N2/P1PPPPPP/RNBQKB1R b KQkq - 0 2": ("A06",
(_("Reti"),_("Nimzovich-Larsen attack"),)),
+"rnbqkbnr/ppp1pppp/8/3p4/8/5NP1/PPPPPP1P/RNBQKB1R b KQkq - 0 2": ("A07",
(_("Reti"),_("King's Indian attack (Barcza system)"),)),
+"rn1qkb1r/pp2pppp/2p2n2/3p4/6b1/5NP1/PPPPPPBP/RNBQ1RK1 w kq - 1 5":
("A07", (_("Reti"),_("King's Indian attack"),_("Yugoslav variation"),)),
+"r2qkbnr/pppnpppp/8/3p4/6b1/5NP1/PPPPPPBP/RNBQK2R w KQkq - 3 4": ("A07",
(_("Reti"),_("King's Indian attack"),_("Keres variation"),)),
+"rnbqkbnr/ppp1pp1p/6p1/3p4/8/5NP1/PPPPPP1P/RNBQKB1R w KQkq - 0 3": ("A07",
(_("Reti"),_("King's Indian attack"),)),
+"rnbqk2r/ppp1npbp/6p1/3pp3/8/3P1NP1/PPP1PPBP/RNBQ1RK1 w kq - 1 6": ("A07",
(_("Reti"),_("King's Indian attack"),_("Pachman system"),)),
+"rnbqkbnr/pp2pppp/8/2pp4/8/5NP1/PPPPPP1P/RNBQKB1R w KQkq c6 0 3": ("A07",
(_("Reti"),_("King's Indian attack (with ...c5)"),)),
+"rnbqkbnr/pp2pppp/8/2pp4/8/5NP1/PPPPPPBP/RNBQK2R b KQkq - 1 3": ("A08",
(_("Reti"),_("King's Indian attack"),)),
+"r1bq1rk1/pp2bppp/2n1pn2/2pp4/4P3/3P1NP1/PPPN1PBP/R1BQR1K1 b - - 1 8":
("A08", (_("Reti"),_("King's Indian attack"),_("French variation"),)),
+"rnbqkbnr/ppp1pppp/8/3p4/2P5/5N2/PP1PPPPP/RNBQKB1R b KQkq c3 0 2": ("A09",
(_("Reti Opening"),)),
+"rnbqkbnr/ppp1pppp/8/8/2Pp4/5N2/PP1PPPPP/RNBQKB1R w KQkq - 0 3": ("A09",
(_("Reti"),_("Advance variation"),)),
+"rnbqkbnr/ppp1pppp/8/8/2p5/5N2/PP1PPPPP/RNBQKB1R w KQkq - 0 3": ("A09",
(_("Reti accepted"),)),
+"rn1qkbnr/ppp1pppp/4b3/8/2p5/4PN2/PP1P1PPP/RNBQKB1R w KQkq - 1 4": ("A09",
(_("Reti accepted"),_("Keres variation"),)),
+"rnbqkbnr/pppppppp/8/8/2P5/8/PP1PPPPP/RNBQKBNR b KQkq c3 0 1": ("A10",
(_("English Opening"),)),
+"rnbqkbnr/pppppp1p/6p1/8/2P5/8/PP1PPPPP/RNBQKBNR w KQkq - 0 2": ("A10",
(_("English Opening"),)),
+"rnbqkbnr/pppp1p1p/6p1/4p3/2P1P3/8/PP1P1PPP/RNBQKBNR w KQkq e6 0 3":
("A10", (_("English"),_("Adorjan defense"),)),
+"rnbqkbnr/p1pppppp/8/1p6/2P5/8/PP1PPPPP/RNBQKBNR w KQkq b6 0 2": ("A10",
(_("English"),_("Jaenisch gambit"),)),
+"rnbqkbnr/ppppp1pp/8/5p2/2P5/8/PP1PPPPP/RNBQKBNR w KQkq f6 0 2": ("A10",
(_("English"),_("Anglo-Dutch defense"),)),
+"rnbqkbnr/pp1ppppp/2p5/8/2P5/8/PP1PPPPP/RNBQKBNR w KQkq - 0 2": ("A11",
(_("English"),_("Caro-Kann defensive system"),)),
+"rnbqkbnr/pp2pppp/2p5/3p4/2P5/1P3N2/P2PPPPP/RNBQKB1R b KQkq - 0 3":
("A12", (_("English"),_("Caro-Kann defensive system"),)),
+"rn1qkb1r/pp2pppp/2p2n2/3p4/2P3b1/1P3NP1/P2PPP1P/RNBQKB1R w KQkq - 1 5":
("A12", (_("English"),_("Torre defensive system"),)),
+"rn1qkb1r/pp2pppp/2p2n2/3p1b2/2P5/1P3NP1/P2PPP1P/RNBQKB1R w KQkq - 1 5":
("A12", (_("English"),_("London defensive system"),)),
+"rnbqkb1r/pp2pppp/2p2n2/3p4/2P5/1P3N2/PB1PPPPP/RN1QKB1R b KQkq - 2 4":
("A12", (_("English"),_("Caro-Kann defensive system"),)),
+"rnbqkb1r/pp2pp1p/2p2np1/3p4/2P5/1P3N2/PB1PPPPP/RN1QKB1R w KQkq - 0 5":
("A12", (_("English"),_("Bled variation"),)),
+"rn1qkb1r/pp2pppp/2p2n2/3p1b2/2P5/1P3N2/PB1PPPPP/RN1QKB1R w KQkq - 3 5":
("A12", (_("English"),_("New York (London) defensive system"),)),
+"rn1qkb1r/pp2pppp/2p2n2/3p4/2P3b1/1P3N2/PB1PPPPP/RN1QKB1R w KQkq - 3 5":
("A12", (_("English"),_("Capablanca's variation"),)),
+"rn1qkbnr/pp2pppp/2p5/3p4/2P3b1/1P3N2/P2PPPPP/RNBQKB1R w KQkq - 1 4":
("A12", (_("English"),_("Caro-Kann defensive system"),_("Bogoljubov
variation"),)),
+"rnbqkbnr/pppp1ppp/4p3/8/2P5/8/PP1PPPPP/RNBQKBNR w KQkq - 0 2": ("A13",
(_("English Opening"),)),
+"rnbqkb1r/2pp1ppp/p3pn2/1p6/2P5/5NP1/PP1PPPBP/RNBQK2R w KQkq b6 0 5":
("A13", (_("English"),_("Romanishin gambit"),)),
+"rnbqkbnr/ppp2ppp/4p3/3p4/2P5/5N2/PP1PPPPP/RNBQKB1R w KQkq d6 0 3":
("A13", (_("English Opening"),_("Agincourt variation"),)),
+"rnbqkb1r/pp3ppp/4pn2/2pp4/2P5/1P2PN2/PB1P1PPP/RN1QKB1R b KQkq - 0 5":
("A13", (_("English"),_("Wimpey system"),)),
+"rnbqkbnr/ppp2ppp/4p3/3p4/2P5/5NP1/PP1PPP1P/RNBQKB1R b KQkq - 0 3":
("A13", (_("English Opening"),_("Agincourt variation"),)),
+"rnbqkbnr/pp3ppp/2p1p3/3p4/2P5/5NP1/PP1PPP1P/RNBQKB1R w KQkq - 0 4":
("A13", (_("English"),_("Kurajica defense"),)),
+"rnbqkb1r/ppp2ppp/4pn2/3p4/2P5/5NP1/PP1PPP1P/RNBQKB1R w KQkq - 1 4":
("A13", (_("English"),_("Neo-Catalan"),)),
+"rnbqkb1r/ppp2ppp/4pn2/8/2p5/5NP1/PP1PPPBP/RNBQK2R w KQkq - 0 5": ("A13",
(_("English"),_("Neo-Catalan accepted"),)),
+"rnbqk2r/ppp1bppp/4pn2/3p4/2P5/5NP1/PP1PPPBP/RNBQ1RK1 b kq - 0 5": ("A14",
(_("English"),_("Neo-Catalan declined"),)),
+"r1bqk2r/pp2bppp/2n1p3/2pn4/8/2N2NP1/PP1PPPBP/R1BQ1RK1 w kq - 2 8":
("A14", (_("English"),_("Symmetrical"),_("Keres defense"),)),
+"rnbqkb1r/pppppppp/5n2/8/2P5/8/PP1PPPPP/RNBQKBNR w KQkq - 1 2": ("A15",
(_("English"),"1...Nf6 (Anglo-Indian defense)",)),
+"rnbqkb1r/pppppppp/5n2/8/1PP5/8/P2PPPPP/RNBQKBNR b KQkq b3 0 2": ("A15",
(_("English orang-utan"),)),
+"rnbqkb1r/pppppppp/5n2/8/2P5/5N2/PP1PPPPP/RNBQKB1R b KQkq - 2 2": ("A15",
(_("English Opening"),)),
+"rnbqkb1r/pppppppp/5n2/8/2P5/2N5/PP1PPPPP/R1BQKBNR b KQkq - 2 2": ("A16",
(_("English Opening"),)),
+"rnbqkb1r/ppp1pppp/5n2/3p4/2P5/2N5/PP1PPPPP/R1BQKBNR w KQkq d6 0 3":
("A16", (_("English"),_("Anglo-Gruenfeld defense"),)),
+"rnbqkb1r/ppp1pp1p/6p1/8/8/2n3P1/PP1PPPBP/R1BQK1NR w KQkq - 0 6": ("A16",
(_("English"),_("Anglo-Gruenfeld"),_("Smyslov defense"),)),
+"rnbqkb1r/ppp1pp1p/1n4p1/8/8/2N3P1/PP1PPPBP/R1BQK1NR w KQkq - 2 6":
("A16", (_("English"),_("Anglo-Gruenfeld"),_("Czech defense"),)),
+"rnbqkb1r/ppp1pppp/8/3n4/8/2N2N2/PP1PPPPP/R1BQKB1R b KQkq - 1 4": ("A16",
(_("English"),_("Anglo-Gruenfeld defense"),)),
+"rnbqk2r/ppp2pbp/6p1/3np3/8/2N2NP1/PP1PPPBP/R1BQK2R w KQkq e6 0 7":
("A16", (_("English"),_("Anglo-Gruenfeld defense"),_("Korchnoi
variation"),)),
+"rnbqkb1r/pppp1ppp/4pn2/8/2P5/2N5/PP1PPPPP/R1BQKBNR w KQkq - 0 3": ("A17",
(_("English Opening"),)),
+"rnbqkb1r/p1pp1ppp/1p2pn2/8/2P5/2N2N2/PP1PPPPP/R1BQKB1R w KQkq - 0 4":
("A17", (_("English"),_("Queens Indian formation"),)),
+"rn1qkb1r/pbpp1ppp/1p2pn2/8/2P1P3/2NB1N2/PP1P1PPP/R1BQK2R b KQkq - 2 5":
("A17", (_("English"),_("Queens Indian"),_("Romanishin variation"),)),
+"rnbqk2r/pppp1ppp/4pn2/8/1bP5/2N2N2/PP1PPPPP/R1BQKB1R w KQkq - 2 4":
("A17", (_("English"),_("Nimzo-English Opening"),)),
+"rnbqkb1r/pppp1ppp/4pn2/8/2P1P3/2N5/PP1P1PPP/R1BQKBNR b KQkq e3 0 3":
("A18", (_("English"),_("Mikenas-Carls variation"),)),
+"rnbqkb1r/ppp2ppp/4pn2/3pP3/2P5/2N5/PP1P1PPP/R1BQKBNR b KQkq - 0 4":
("A18", (_("English"),_("Mikenas-Carls"),_("Flohr variation"),)),
+"r1bqkb1r/pppp1ppp/2n1pn2/8/2P1P3/2N5/PP1P1PPP/R1BQKBNR w KQkq - 1 4":
("A18", (_("English"),_("Mikenas-Carls"),_("Kevitz variation"),)),
+"rnbqkb1r/pp1p1ppp/4pn2/2p5/2P1P3/2N5/PP1P1PPP/R1BQKBNR w KQkq c6 0 4":
("A19", (_("English"),_("Mikenas-Carls"),_("Sicilian variation"),)),
+"rnbqkbnr/pppp1ppp/8/4p3/2P5/8/PP1PPPPP/RNBQKBNR w KQkq e6 0 2": ("A20",
(_("English Opening"),)),
+"rnbqkbnr/pppp1ppp/8/4p3/2P5/5N2/PP1PPPPP/RNBQKB1R b KQkq - 1 2": ("A20",
(_("English"),_("Nimzovich variation"),)),
+"rnbqkbnr/pppp1ppp/8/8/2P1p3/5N2/PP1PPPPP/RNBQKB1R w KQkq - 0 3": ("A20",
(_("English"),_("Nimzovich"),_("Flohr variation"),)),
+"rnbqkbnr/pppp1ppp/8/4p3/2P5/2N5/PP1PPPPP/R1BQKBNR b KQkq - 1 2": ("A21",
(_("English Opening"),)),
+"r2qkbnr/ppp2ppp/2npb3/4p3/2P5/2N3P1/PP1PPPBP/R1BQK1NR w KQkq - 3 5":
("A21", (_("English"),_("Troeger defense"),)),
+"rnbqkbnr/pp3ppp/2pp4/4p3/2P5/2N3P1/PP1PPP1P/R1BQKBNR w KQkq - 0 4":
("A21", (_("English"),_("Keres variation"),)),
+"rnbqkbnr/ppp2ppp/3p4/4p3/2P5/2N2N2/PP1PPPPP/R1BQKB1R b KQkq - 1 3":
("A21", (_("English Opening"),)),
+"rn1qkbnr/ppp2ppp/3p4/4p3/2P3b1/2N2N2/PP1PPPPP/R1BQKB1R w KQkq - 2 4":
("A21", (_("English"),_("Smyslov defense"),)),
+"rnbqk1nr/pppp1ppp/8/4p3/1bP5/2N5/PP1PPPPP/R1BQKBNR w KQkq - 2 3": ("A21",
(_("English"),_("Kramnik-Shirov counterattack"),)),
+"rnbqkb1r/pppp1ppp/5n2/4p3/2P5/2N5/PP1PPPPP/R1BQKBNR w KQkq - 2 3":
("A22", (_("English Opening"),)),
+"rnbqkb1r/p1pp1ppp/5n2/1p4N1/2P1p3/2N5/PP1PPPPP/R1BQKB1R w KQkq b6 0 5":
("A22", (_("English"),_("Bellon gambit"),)),
+"rnbqkb1r/pppp1ppp/5n2/4p3/2P5/2N3P1/PP1PPP1P/R1BQKBNR b KQkq - 0 3":
("A22", (_("English"),_("Carls' Bremen system"),)),
+"rnbqkb1r/ppp2ppp/5n2/3pp3/2P5/2N3P1/PP1PPP1P/R1BQKBNR w KQkq d6 0 4":
("A22", (_("English"),_("Bremen"),_("reverse Dragon"),)),
+"rnbqk2r/pppp1ppp/5n2/4p3/1bP5/2N3P1/PP1PPP1P/R1BQKBNR w KQkq - 1 4":
("A22", (_("English"),_("Bremen"),_("Smyslov system"),)),
+"rnbqkb1r/pp1p1ppp/2p2n2/4p3/2P5/2N3P1/PP1PPP1P/R1BQKBNR w KQkq - 0 4":
("A23", (_("English"),_("Bremen system"),_("Keres variation"),)),
+"rnbqkb1r/pppp1p1p/5np1/4p3/2P5/2N3P1/PP1PPP1P/R1BQKBNR w KQkq - 0 4":
("A24", (_("English"),_("Bremen system with ...g6"),)),
+"r1bqkbnr/pppp1ppp/2n5/4p3/2P5/2N5/PP1PPPPP/R1BQKBNR w KQkq - 2 3":
("A25", (_("English"),_("Sicilian Reversed"),)),
+"r1bqk1nr/pppp1pbp/2n3p1/4p3/2P5/2N3P1/PP1PPPBP/R1BQK1NR w KQkq - 2 5":
("A25", (_("English"),_("Closed system"),)),
+"r1bqk2r/ppp2pbp/2np2pn/4p3/2P5/2N1P1P1/PP1PNPBP/R1BQK2R w KQkq - 2 7":
("A25", (_("English"),_("Closed"),_("Taimanov variation"),)),
+"r2qk1nr/ppp2pbp/2npb1p1/4p3/2P5/2N1P1P1/PP1PNPBP/R1BQK2R w KQkq - 2 7":
("A25", (_("English"),_("Closed"),_("Hort variation"),)),
+"r1bqk1nr/pppp1pbp/2n3p1/4p3/2P5/2N3P1/PP1PPPBP/1RBQK1NR b Kkq - 3 5":
("A25", (_("English"),_("Closed"),"5.Rb1",)),
+"r1bqk2r/pppp1pbp/2n3pn/4p3/2P5/2N3P1/PP1PPPBP/1RBQK1NR w Kkq - 4 6":
("A25", (_("English"),_("Closed"),"5.Rb1 Taimanov variation",)),
+"r1bqk1nr/pppp1pbp/2n3p1/4p3/2P5/2NP2P1/PP2PPBP/R1BQK1NR b KQkq - 0 5":
("A25", (_("English"),_("Closed system (without ...d6)"),)),
+"r1bqk1nr/ppp2pbp/2np2p1/4p3/2P5/2NP2P1/PP2PPBP/R1BQK1NR w KQkq - 0 6":
("A26", (_("English"),_("Closed system"),)),
+"r1bqk1nr/ppp2pbp/2np2p1/4p3/2P1P3/2NP2P1/PP3PBP/R1BQK1NR b KQkq e3 0 6":
("A26", (_("English"),_("Botvinnik system"),)),
+"r1bqkbnr/pppp1ppp/2n5/4p3/2P5/2N2N2/PP1PPPPP/R1BQKB1R b KQkq - 3 3":
("A27", (_("English"),_("Three knights system"),)),
+"r1bqkb1r/pppp1ppp/2n2n2/4p3/2P5/2N2N2/PP1PPPPP/R1BQKB1R w KQkq - 4 4":
("A28", (_("English"),_("Four knights system"),)),
+"r1bqk2r/pppp1pp1/5n1p/4n3/2PN3B/2P5/P3PPPP/R2QKB1R w KQkq - 1 9": ("A28",
(_("English"),_("Nenarokov variation"),)),
+"r1bqkb1r/pppp1ppp/2n2n2/8/2PPp3/2N2N2/PP2PPPP/R1BQKB1R w KQkq - 0 5":
("A28", (_("English"),_("Bradley Beach variation"),)),
+"r1bqkb1r/pppp1ppp/2n2n2/4p3/2P1P3/2N2N2/PP1P1PPP/R1BQKB1R b KQkq e3 0 4":
("A28", (_("English"),_("Four knights"),_("Nimzovich variation"),)),
+"r1bqkb1r/pppp1ppp/2n2n2/4p3/2P5/P1N2N2/1P1PPPPP/R1BQKB1R b KQkq - 0 4":
("A28", (_("English"),_("Four knights"),_("Marini variation"),)),
+"r1bqkb1r/pppp1ppp/2n2n2/4p3/2P5/2NP1N2/PP2PPPP/R1BQKB1R b KQkq - 0 4":
("A28", (_("English"),_("Four knights"),_("Capablanca variation"),)),
+"r1bqkb1r/pppp1ppp/2n2n2/4p3/2P5/2N1PN2/PP1P1PPP/R1BQKB1R b KQkq - 0 4":
("A28", (_("English"),_("Four knights"),"4.e3",)),
+"r1bqr1k1/pppp1ppp/2n2n2/3NpQ2/1bP5/4PN2/PP1P1PPP/R1B1KB1R b KQ - 3 7":
("A28", (_("English"),_("Four knights"),_("Stean variation"),)),
+"r1bqk2r/pppp1ppp/2n2n2/4p3/2P5/2b1PN2/PPQP1PPP/R1B1KB1R w KQkq - 0 6":
("A28", (_("English"),_("Four knights"),_("Romanishin variation"),)),
+"r1bqkb1r/pppp1ppp/2n2n2/4p3/2P5/2N2NP1/PP1PPP1P/R1BQKB1R b KQkq - 0 4":
("A29", (_("English"),_("Four knights"),_("kingside Fianchetto"),)),
+"rnbqkbnr/pp1ppppp/8/2p5/2P5/8/PP1PPPPP/RNBQKBNR w KQkq c6 0 2": ("A30",
(_("English"),_("Symmetrical variation"),)),
+"rn1qk2r/pb1pbppp/1p2pn2/2p5/2P5/2N2NP1/PP1PPPBP/R1BQ1RK1 w kq - 2 7":
("A30", (_("English"),_("Symmetrical"),_("hedgehog system"),)),
+"r2qk2r/1b1nbppp/pp1ppn2/8/2PQ4/1PN2NP1/P3PPBP/R1BR2K1 w kq - 1 11":
("A30", (_("English"),_("Symmetrical"),_("hedgehog"),_("flexible
formation"),)),
+"rnbqkb1r/pp1ppppp/5n2/2p5/2PP4/5N2/PP2PPPP/RNBQKB1R b KQkq d3 0 3":
("A31", (_("English"),_("Symmetrical"),_("Benoni formation"),)),
+"rnbqkb1r/pp1p1ppp/4pn2/8/2PN4/8/PP2PPPP/RNBQKB1R w KQkq - 0 5": ("A32",
(_("English"),_("Symmetrical variation"),)),
+"r1bqkb1r/pp1p1ppp/2n1pn2/8/2PN4/2N5/PP2PPPP/R1BQKB1R w KQkq - 2 6":
("A33", (_("English"),_("Symmetrical variation"),)),
+"r1b1kb1r/pp1p1ppp/1qn1pn2/8/2PN4/2N3P1/PP2PP1P/R1BQKB1R w KQkq - 1 7":
("A33", (_("English"),_("Symmetrical"),_("Geller variation"),)),
+"rnbqkbnr/pp1ppppp/8/2p5/2P5/2N5/PP1PPPPP/R1BQKBNR b KQkq - 1 2": ("A34",
(_("English"),_("Symmetrical variation"),)),
+"rnbqkb1r/pp2pppp/8/2pn4/8/2N2N2/PP1PPPPP/R1BQKB1R w KQkq - 0 5": ("A34",
(_("English"),_("Symmetrical"),_("Three knights system"),)),
+"rnbqkb1r/pp1ppppp/5n2/2p5/2P5/2N3P1/PP1PPP1P/R1BQKBNR b KQkq - 0 3":
("A34", (_("English"),_("Symmetrical variation"),)),
+"rnbqkb1r/ppn1pppp/8/2p5/8/2N3P1/PP1PPPBP/R1BQK1NR w KQkq - 2 6": ("A34",
(_("English"),_("Symmetrical"),_("Rubinstein system"),)),
+"r1bqkbnr/pp1ppppp/2n5/2p5/2P5/2N5/PP1PPPPP/R1BQKBNR w KQkq - 2 3":
("A35", (_("English"),_("Symmetrical variation"),)),
+"r1bqkb1r/pp1ppppp/2n2n2/2p5/2P5/2N2N2/PP1PPPPP/R1BQKB1R w KQkq - 4 4":
("A35", (_("English"),_("Symmetrical"),_("Four knights system"),)),
+"r1bqkbnr/pp1ppppp/2n5/2p5/2P5/2N3P1/PP1PPP1P/R1BQKBNR b KQkq - 0 3":
("A36", (_("English"),_("Symmetrical variation"),)),
+"r1bqk1nr/pp1pppbp/2n3p1/2p5/2P5/2N3P1/PP1PPPBP/R1BQK1NR w KQkq - 2 5":
("A36", (_("English"),_("ultra-Symmetrical variation"),)),
+"r1bqk1nr/pp1p1pbp/2n3p1/2p1p3/2P5/2N1P1P1/PP1P1PBP/R1BQK1NR w KQkq e6 0
6": ("A36", (_("English"),_("Symmetrical"),_("Botvinnik system
Reversed"),)),
+"r1bqk1nr/pp1pppbp/2n3p1/2p5/2P1P3/2N3P1/PP1P1PBP/R1BQK1NR b KQkq e3 0 5":
("A36", (_("English"),_("Symmetrical"),_("Botvinnik system"),)),
+"r1bqk1nr/pp1pppbp/2n3p1/2p5/2P5/2N2NP1/PP1PPPBP/R1BQK2R b KQkq - 3 5":
("A37", (_("English"),_("Symmetrical variation"),)),
+"r1bqk1nr/pp1p1pbp/2n3p1/2p1p3/2P5/2N2NP1/PP1PPPBP/R1BQK2R w KQkq e6 0 6":
("A37", (_("English"),_("Symmetrical"),_("Botvinnik system Reversed"),)),
+"r1bqk2r/pp1pppbp/2n2np1/2p5/2P5/2N2NP1/PP1PPPBP/R1BQK2R w KQkq - 4 6":
("A38", (_("English"),_("Symmetrical variation"),)),
+"r1bq1rk1/pp1pppbp/2n2np1/2p5/2P5/2NP1NP1/PP2PPBP/R1BQ1RK1 b - - 0 7":
("A38", (_("English"),_("Symmetrical"),_("Main line with d3"),)),
+"r1bq1rk1/pp1pppbp/2n2np1/2p5/2P5/1PN2NP1/P2PPPBP/R1BQ1RK1 b - - 0 7":
("A38", (_("English"),_("Symmetrical"),_("Main line with b3"),)),
+"r1bq1rk1/pp1pppbp/2n2np1/2p5/2PP4/2N2NP1/PP2PPBP/R1BQ1RK1 b - d3 0 7":
("A39", (_("English"),_("Symmetrical"),_("Main line with d4"),)),
+"rnbqkbnr/pppppppp/8/8/3P4/8/PPP1PPPP/RNBQKBNR b KQkq d3 0 1": ("A40",
(_("Queen's pawn"),)),
+"r1bqkbnr/pppppppp/2n5/8/3P4/8/PPP1PPPP/RNBQKBNR w KQkq - 1 2": ("A40",
(_("Queen's pawn"),_("Lundin (Kevitz-Mikenas) defense"),)),
+"rnbqkbnr/pppp1ppp/8/4p3/3P4/8/PPP1PPPP/RNBQKBNR w KQkq e6 0 2": ("A40",
(_("Queen's pawn"),_("Charlick (Englund) gambit"),)),
+"r1b1kb1r/ppppq1pp/2n2n2/3Q4/8/5N2/PPP1PPPP/RNB1KB1R w KQkq - 0 6":
("A40", (_("Queen's pawn"),_("Englund gambit"),)),
+"rnbqkbnr/p1pppppp/1p6/8/3P4/8/PPP1PPPP/RNBQKBNR w KQkq - 0 2": ("A40",
(_("Queen's pawn"),_("English defense"),)),
+"rnbqkbnr/p1pppppp/8/1p6/3P4/8/PPP1PPPP/RNBQKBNR w KQkq b6 0 2": ("A40",
(_("Polish defense"),)),
+"rnbqkbnr/pppp1ppp/4p3/8/3P4/8/PPP1PPPP/RNBQKBNR w KQkq - 0 2": ("A40",
(_("Queen's pawn"),)),
+"rnbqkbnr/p1pp1ppp/1p2p3/8/2PP4/8/PP2PPPP/RNBQKBNR w KQkq - 0 3": ("A40",
(_("Queen's pawn"),_("Keres defense"),)),
+"rnbqk1nr/pppp1ppp/4p3/8/1bPP4/8/PP2PPPP/RNBQKBNR w KQkq - 1 3": ("A40",
(_("Queen's pawn"),_("Franco-Indian (Keres) defense"),)),
+"rnbqkbnr/pppppp1p/6p1/8/3P4/8/PPP1PPPP/RNBQKBNR w KQkq - 0 2": ("A40",
(_("Modern defense"),)),
+"rnbqk1nr/pp1pp2p/6p1/2pP1p2/2P5/2P5/P3PPPP/R1BQKBNR w KQkq f6 0 6":
("A40", (_("Beefeater defense"),)),
+"rnbqkbnr/ppp1pppp/3p4/8/3P4/8/PPP1PPPP/RNBQKBNR w KQkq - 0 2": ("A41",
(_("Queen's Pawn"),)),
+"rn1qkbnr/ppp1pppp/3p4/8/3P2b1/5N2/PPP1PPPP/RNBQKB1R w KQkq - 2 3":
("A41", (_("Old Indian"),_("Tartakower (Wade) variation"),)),
+"rnbqkbnr/ppp1pppp/3p4/8/2PP4/8/PP2PPPP/RNBQKBNR b KQkq c3 0 2": ("A41",
(_("Old Indian defense"),)),
+"rnbqk1nr/ppp1ppbp/3p2p1/8/2PP4/2N5/PP2PPPP/R1BQKBNR w KQkq - 2 4":
("A41", (_("Modern defense"),)),
+"rn1qk1nr/ppp1ppbp/3p2p1/8/2PPP1b1/5N2/PP3PPP/RNBQKB1R w KQkq - 1 5":
("A41", (_("Robatsch defense"),_("Rossolimo variation"),)),
+"rnbqk1nr/ppp1ppbp/3p2p1/8/2PPP3/2N5/PP3PPP/R1BQKBNR b KQkq e3 0 4":
("A42", (_("Modern defense"),_("Averbakh system"),)),
+"rnb1k1nr/pp2ppbp/3p2p1/q1p5/2PPP3/2N2N2/PP3PPP/R1BQKB1R w KQkq - 2 6":
("A42", (_("Pterodactyl defense"),)),
+"rnbqk1nr/ppp1p1bp/3p2p1/5p2/2PPP3/2N5/PP3PPP/R1BQKBNR w KQkq f6 0 5":
("A42", (_("Modern defense"),_("Averbakh system"),_("Randspringer
variation"),)),
+"r1bqk1nr/ppp1ppbp/2np2p1/8/2PPP3/2N5/PP3PPP/R1BQKBNR w KQkq - 1 5":
("A42", (_("Modern defense"),_("Averbakh system"),_("Kotov variation"),)),
+"rnbqkbnr/pp1ppppp/8/2p5/3P4/8/PPP1PPPP/RNBQKBNR w KQkq c6 0 2": ("A43",
(_("Old Benoni defense"),)),
+"rnbqkbnr/pp1p1ppp/4p3/2pP4/4P3/8/PPP2PPP/RNBQKBNR b KQkq e3 0 3": ("A43",
(_("Old Benoni"),_("Franco-Benoni defense"),)),
+"rnbqkbnr/pp1pp1pp/8/2pP1p2/8/8/PPP1PPPP/RNBQKBNR w KQkq f6 0 3": ("A43",
(_("Old Benoni"),_("Mujannah formation"),)),
+"rnbqkb1r/pp1ppppp/5n2/2pP4/8/8/PPP1PPPP/RNBQKBNR w KQkq - 1 3": ("A43",
(_("Old Benoni defense"),)),
+"rnb1kb1r/pp1ppppp/5n2/q1pP4/8/2N5/PPP1PPPP/R1BQKBNR w KQkq - 3 4":
("A43", (_("Woozle defense"),)),
+"rnbqkb1r/pp1ppppp/5n2/2pP4/8/5N2/PPP1PPPP/RNBQKB1R b KQkq - 2 3": ("A43",
(_("Old Benoni defense"),)),
+"rnbqkb1r/pp1ppppp/5n2/3P4/2p5/5N2/PPP1PPPP/RNBQKB1R w KQkq - 0 4":
("A43", (_("Hawk (Habichd) defense"),)),
+"rnbqkbnr/pp2pppp/3p4/2pP4/8/8/PPP1PPPP/RNBQKBNR w KQkq - 0 3": ("A43",
(_("Old Benoni defense"),)),
+"rnbqkbnr/pp2pp1p/3p2p1/2pP4/8/2N5/PPP1PPPP/R1BQKBNR w KQkq - 0 4":
("A43", (_("Old Benoni"),_("Schmid's system"),)),
+"rnbqkbnr/pp1p1ppp/8/2pPp3/8/8/PPP1PPPP/RNBQKBNR w KQkq e6 0 3": ("A44",
(_("Old Benoni defense"),)),
+"rnbqkbnr/pp3ppp/3p4/2pPp3/4P3/8/PPP2PPP/RNBQKBNR w KQkq - 0 4": ("A44",
(_("Semi-Benoni (`blockade variation')"),)),
+"rnbqkb1r/pppppppp/5n2/8/3P4/8/PPP1PPPP/RNBQKBNR w KQkq - 1 2": ("A45",
(_("Queen's pawn game"),)),
+"rnbqkb1r/pppppppp/5n2/8/3P2P1/8/PPP1PP1P/RNBQKBNR b KQkq g3 0 2": ("A45",
(_("Queen's pawn"),_("Bronstein gambit"),)),
+"rnbqkb1r/pppppppp/5n2/8/3P1P2/8/PPP1P1PP/RNBQKBNR b KQkq f3 0 2": ("A45",
(_("Canard Opening"),)),
+"rnbqkb1r/pppppppp/5n2/8/3P4/5P2/PPP1P1PP/RNBQKBNR b KQkq - 0 2": ("A45",
(_("Paleface attack"),)),
+"rnbqkb1r/ppp1pppp/5n2/3p4/3PP3/5P2/PPP3PP/RNBQKBNR b KQkq e3 0 3":
("A45", (_("Blackmar-Diemer gambit"),)),
+"rnbqkb1r/ppp1pppp/5n2/3p4/3P2P1/5P2/PPP1P2P/RNBQKBNR b KQkq g3 0 3":
("A45", (_("Gedult attack"),)),
+"rnbqkb1r/pppppppp/5n2/6B1/3P4/8/PPP1PPPP/RN1QKBNR b KQkq - 2 2": ("A45",
(_("Trompowsky attack (Ruth"),_("Opovcensky Opening)"),)),
+"rnbqkb1r/pppppppp/5n2/8/3P4/5N2/PPP1PPPP/RNBQKB1R b KQkq - 2 2": ("A46",
(_("Queen's pawn game"),)),
+"rnbqkb1r/pppp1ppp/4pn2/6B1/3P4/5N2/PPP1PPPP/RN1QKB1R b KQkq - 1 3":
("A46", (_("Queen's pawn"),_("Torre attack"),)),
+"rnbqkb1r/pp1p1ppp/4pn2/2p3B1/3PP3/5N2/PPP2PPP/RN1QKB1R b KQkq e3 0 4":
("A46", (_("Queen's pawn"),_("Torre attack"),_("Wagner gambit"),)),
+"rnbqkb1r/pppp1ppp/4pn2/8/3P4/4PN2/PPP2PPP/RNBQKB1R b KQkq - 0 3": ("A46",
(_("Queen's pawn"),_("Yusupov-Rubinstein system"),)),
+"rnbqkb1r/pppppppp/8/8/3Pn3/5N2/PPP1PPPP/RNBQKB1R w KQkq - 3 3": ("A46",
(_("Doery defense"),)),
+"rnbqkb1r/p1pppppp/1p3n2/8/3P4/5N2/PPP1PPPP/RNBQKB1R w KQkq - 0 3":
("A47", (_("Queen's Indian defense"),)),
+"rn1qkb1r/pb1ppppp/1p3n2/2p5/3P4/5NP1/PPP1PPBP/RNBQK2R w KQkq c6 0 5":
("A47", (_("Queen's Indian"),_("Marienbad system"),)),
+"rn1qkb1r/pb1ppppp/1p3n2/8/2PQ4/5NP1/PP2PPBP/RNB1K2R b KQkq - 0 6":
("A47", (_("Queen's Indian"),_("Marienbad system"),_("Berg variation"),)),
+"rnbqkb1r/pppppp1p/5np1/8/3P4/5N2/PPP1PPPP/RNBQKB1R w KQkq - 0 3": ("A48",
(_("King's Indian"),_("East Indian defense"),)),
+"rnbqkb1r/pppppp1p/5np1/6B1/3P4/5N2/PPP1PPPP/RN1QKB1R b KQkq - 1 3":
("A48", (_("King's Indian"),_("Torre attack"),)),
+"rnbqkb1r/pppppp1p/5np1/8/3P1B2/5N2/PPP1PPPP/RN1QKB1R b KQkq - 1 3":
("A48", (_("King's Indian"),_("London system"),)),
+"rnbqkb1r/pppppp1p/5np1/8/3P4/5NP1/PPP1PP1P/RNBQKB1R b KQkq - 0 3":
("A49", (_("King's Indian"),_("Fianchetto without c4"),)),
+"rnbqkb1r/pppppppp/5n2/8/2PP4/8/PP2PPPP/RNBQKBNR b KQkq c3 0 2": ("A50",
(_("Queen's pawn game"),)),
+"r1bqkb1r/pppppppp/2n2n2/8/2PP4/8/PP2PPPP/RNBQKBNR w KQkq - 1 3": ("A50",
(_("Kevitz-Trajkovich defense"),)),
+"rnbqkb1r/p1pppppp/1p3n2/8/2PP4/8/PP2PPPP/RNBQKBNR w KQkq - 0 3": ("A50",
(_("Queen's Indian Accelerated"),)),
+"rnbqkb1r/pppp1ppp/5n2/4p3/2PP4/8/PP2PPPP/RNBQKBNR w KQkq e6 0 3": ("A51",
(_("Budapest defense declined"),)),
+"rnbqkb1r/pppp1ppp/8/4P3/2P1n3/8/PP2PPPP/RNBQKBNR w KQkq - 1 4": ("A51",
(_("Budapest"),_("Fajarowicz variation"),)),
+"rnbqkb1r/pppp1ppp/8/4P3/2P1n3/8/PPQ1PPPP/RNB1KBNR b KQkq - 2 4": ("A51",
(_("Budapest"),_("Fajarowicz"),_("Steiner variation"),)),
+"rnbqkb1r/pppp1ppp/8/4P3/2P3n1/8/PP2PPPP/RNBQKBNR w KQkq - 1 4": ("A52",
(_("Budapest defense"),)),
+"rnbqkb1r/pppp1ppp/8/4P3/2P3n1/5N2/PP2PPPP/RNBQKB1R b KQkq - 2 4": ("A52",
(_("Budapest"),_("Adler variation"),)),
+"rnbqkb1r/pppp1ppp/8/4P3/2P2Bn1/8/PP2PPPP/RN1QKBNR b KQkq - 2 4": ("A52",
(_("Budapest"),_("Rubinstein variation"),)),
+"rnbqkb1r/pppp1ppp/8/4P3/2P1P1n1/8/PP3PPP/RNBQKBNR b KQkq e3 0 4": ("A52",
(_("Budapest"),_("Alekhine variation"),)),
+"rnbqkb1r/pppp1ppp/2n5/8/2P1PP2/8/PP4PP/RNBQKBNR w KQkq - 1 6": ("A52",
(_("Budapest"),_("Alekhine"),_("Abonyi variation"),)),
+"rnbqkb1r/ppp2ppp/3p4/4P3/2P1P1n1/8/PP3PPP/RNBQKBNR w KQkq - 0 5": ("A52",
(_("Budapest"),_("Alekhine variation"),_("Balogh gambit"),)),
+"rnbqkb1r/ppp1pppp/3p1n2/8/2PP4/8/PP2PPPP/RNBQKBNR w KQkq - 0 3": ("A53",
(_("Old Indian defense"),)),
+"rn1qkb1r/ppp1pppp/3p1n2/5b2/2PP4/2N5/PP2PPPP/R1BQKBNR w KQkq - 2 4":
("A53", (_("Old Indian"),_("Janowski variation"),)),
+"rnbqkb1r/ppp2ppp/3p1n2/4p3/2PP4/2N5/PP2PPPP/R1BQKBNR w KQkq e6 0 4":
("A54", (_("Old Indian"),_("Ukrainian variation"),)),
+"r1bqkb1r/pppn1ppp/3p1n2/4p3/2PP4/2NBP3/PP3PPP/R1BQK1NR b KQkq - 2 5":
("A54", (_("Old Indian"),_("Dus-Khotimirsky variation"),)),
+"rnbqkb1r/ppp2ppp/3p1n2/4p3/2PP4/2N2N2/PP2PPPP/R1BQKB1R b KQkq - 1 4":
("A54", (_("Old Indian"),_("Ukrainian variation"),"4.Nf3",)),
+"r1bqkb1r/pppn1ppp/3p1n2/4p3/2PPP3/2N2N2/PP3PPP/R1BQKB1R b KQkq e3 0 5":
("A55", (_("Old Indian"),_("Main line"),)),
+"rnbqkb1r/pp1ppppp/5n2/2p5/2PP4/8/PP2PPPP/RNBQKBNR w KQkq c6 0 3": ("A56",
(_("Benoni defense"),)),
+"rnbqkb1r/pp2pppp/3p1n2/2pP4/2P5/8/PP2PPPP/RNBQKBNR w KQkq - 0 4": ("A56",
(_("Benoni defense"),_("Hromodka system"),)),
+"rnbqkb1r/pp1ppppp/8/2pP4/2P1n3/8/PP2PPPP/RNBQKBNR w KQkq - 1 4": ("A56",
(_("Vulture defense"),)),
+"rnbqkb1r/pp1p1ppp/5n2/2pPp3/2P5/8/PP2PPPP/RNBQKBNR w KQkq e6 0 4":
("A56", (_("Czech Benoni defense"),)),
+"rnbqkb1r/pp3p1p/3p1np1/2pPp3/2P1P3/2N5/PP3PPP/R1BQKBNR w KQkq - 0 6":
("A56", (_("Czech Benoni"),_("King's Indian system"),)),
+"rnbqkb1r/p2ppppp/5n2/1ppP4/2P5/8/PP2PPPP/RNBQKBNR w KQkq b6 0 4": ("A57",
(_("Benko gambit"),)),
+"rnbqkb1r/3ppppp/p4n2/1PpP4/8/8/PP2PPPP/RNBQKBNR w KQkq - 0 5": ("A57",
(_("Benko gambit half accepted"),)),
+"rnbqkb1r/3ppppp/p4n2/1PpP4/8/2N5/PP2PPPP/R1BQKBNR b KQkq - 1 5": ("A57",
(_("Benko gambit"),_("Zaitsev system"),)),
+"rnbqkb1r/4pppp/3p1n2/1NpP4/1pB1P3/8/PP3PPP/R1BQK1NR b KQkq - 1 8":
("A57", (_("Benko gambit"),_("Nescafe Frappe attack"),)),
+"rnbqkb1r/3ppppp/P4n2/2pP4/8/8/PP2PPPP/RNBQKBNR b KQkq - 0 5": ("A58",
(_("Benko gambit accepted"),)),
+"rn1qkb1r/4pp1p/b2p1np1/2pP4/8/2N5/PP1NPPPP/R1BQKB1R b KQkq - 1 8":
("A58", (_("Benko gambit"),_("Nd2 variation"),)),
+"rn1qkb1r/4pp1p/b2p1np1/2pP4/8/2N2NP1/PP2PP1P/R1BQKB1R b KQkq - 0 8":
("A58", (_("Benko gambit"),_("Fianchetto variation"),)),
+"rn1qkb1r/4pppp/b2p1n2/2pP4/4P3/2N5/PP3PPP/R1BQKBNR b KQkq e3 0 7":
("A59", (_("Benko gambit"),"7.e4",)),
+"rn1qkb1r/4pp1p/3p1np1/2pP4/4P3/2N5/PP2NPPP/R1BQ1K1R b kq - 1 9": ("A59",
(_("Benko gambit"),_("Ne2 variation"),)),
+"rn1qkb1r/4pp1p/3p1np1/2pP4/4P3/2N3P1/PP3P1P/R1BQ1KNR b kq - 0 9": ("A59",
(_("Benko gambit"),)),
+"rn1q1rk1/4ppbp/3p1np1/2pP4/4P3/2N2NP1/PP3PKP/R1BQ3R b - - 1 11": ("A59",
(_("Benko gambit"),_("Main line"),)),
+"rnbqkb1r/pp1p1ppp/4pn2/2pP4/2P5/8/PP2PPPP/RNBQKBNR w KQkq - 0 4": ("A60",
(_("Benoni defense"),)),
+"rnbqkb1r/pp3p1p/3p1np1/2pP4/8/2N2N2/PP2PPPP/R1BQKB1R w KQkq - 0 7":
("A61", (_("Benoni defense"),)),
+"rnbqkb1r/pp3p1p/3p1np1/2pP2B1/8/2N2N2/PP2PPPP/R2QKB1R b KQkq - 1 7":
("A61", (_("Benoni"),_("Uhlmann variation"),)),
+"rnbqkb1r/pp3p1p/3p1np1/2pP4/8/2N5/PP1NPPPP/R1BQKB1R b KQkq - 1 7":
("A61", (_("Benoni"),_("Nimzovich (knight's tour) variation"),)),
+"rnbqkb1r/pp3p1p/3p1np1/2pP4/8/2N2NP1/PP2PP1P/R1BQKB1R b KQkq - 0 7":
("A61", (_("Benoni"),_("Fianchetto variation"),)),
+"rnbq1rk1/pp3pbp/3p1np1/2pP4/8/2N2NP1/PP2PPBP/R1BQK2R w KQ - 0 9": ("A62",
(_("Benoni"),_("Fianchetto variation"),)),
+"r1bq1rk1/pp1n1pbp/3p1np1/2pP4/8/2N2NP1/PP2PPBP/R1BQ1RK1 w - - 1 10":
("A63", (_("Benoni"),_("Fianchetto"),"9...Nbd7",)),
+"r1bqr1k1/1p1n1pbp/p2p1np1/2pP4/P7/2N3P1/1P1NPPBP/R1BQ1RK1 w - - 1 12":
("A64", (_("Benoni"),_("Fianchetto"),"11...Re8",)),
+"rnbqkb1r/pp3ppp/3p1n2/2pP4/4P3/2N5/PP3PPP/R1BQKBNR b KQkq e3 0 6":
("A65", (_("Benoni"),"6.e4",)),
+"rnbqkb1r/pp3p1p/3p1np1/2pP4/4PP2/2N5/PP4PP/R1BQKBNR b KQkq f3 0 7":
("A66", (_("Benoni"),_("pawn storm variation"),)),
+"rnbqk2r/pp3pbp/3p1np1/2pPP3/5P2/2N5/PP4PP/R1BQKBNR b KQkq - 0 8": ("A66",
(_("Benoni"),_("Mikenas variation"),)),
+"rnbqk2r/pp3pbp/3p1np1/1BpP4/4PP2/2N5/PP4PP/R1BQK1NR b KQkq - 2 8":
("A67", (_("Benoni"),_("Taimanov variation"),)),
+"rnbq1rk1/pp3pbp/3p1np1/2pP4/4PP2/2N2N2/PP4PP/R1BQKB1R w KQ - 0 9":
("A68", (_("Benoni"),_("Four pawns attack"),)),
+"rnbqr1k1/pp3pbp/3p1np1/2pP4/4PP2/2N2N2/PP2B1PP/R1BQK2R w KQ - 2 10":
("A69", (_("Benoni"),_("Four pawns attack"),_("Main line"),)),
+"rnbqkb1r/pp3p1p/3p1np1/2pP4/4P3/2N2N2/PP3PPP/R1BQKB1R b KQkq - 1 7":
("A70", (_("Benoni"),_("Classical with e4 and Nf3"),)),
+"rnbqk2r/pp3pbp/3p1np1/2pP4/4P3/2N2N2/PP2BPPP/R1BQK2R b KQkq - 3 8":
("A70", (_("Benoni"),_("Classical without 9.O-O"),)),
+"rnbqk2r/pp3pbp/3p1np1/2pP2B1/4P3/2N2N2/PP3PPP/R2QKB1R b KQkq - 3 8":
("A71", (_("Benoni"),_("Classical"),"8.Bg5",)),
+"rnbq1rk1/pp3pbp/3p1np1/2pP4/4P3/2N2N2/PP2BPPP/R1BQK2R w KQ - 0 9":
("A72", (_("Benoni"),_("Classical without 9.O-O"),)),
+"rnbq1rk1/pp3pbp/3p1np1/2pP4/4P3/2N2N2/PP2BPPP/R1BQ1RK1 b - - 0 9":
("A73", (_("Benoni"),_("Classical"),"9.O-O",)),
+"rnbq1rk1/1p3pbp/p2p1np1/2pP4/P3P3/2N2N2/1P2BPPP/R1BQ1RK1 b - a3 0 10":
("A74", (_("Benoni"),_("Classical"),"9...a6","10.a4",)),
+"rn1q1rk1/1p3pbp/p2p1np1/2pP4/P3P1b1/2N2N2/1P2BPPP/R1BQ1RK1 w - - 1 11":
("A75", (_("Benoni"),_("Classical with ...a6 and 10...Bg4"),)),
+"rnbqr1k1/pp3pbp/3p1np1/2pP4/4P3/2N2N2/PP2BPPP/R1BQ1RK1 w - - 1 10":
("A76", (_("Benoni"),_("Classical"),"9...Re8",)),
+"rnbqr1k1/pp3pbp/3p1np1/2pP4/4P3/2N5/PP1NBPPP/R1BQ1RK1 b - - 2 10":
("A77", (_("Benoni"),_("Classical"),"9...Re8","10.Nd2",)),
+"r1bqr1k1/pp3pbp/n2p1np1/2pP4/4P3/2N5/PP1NBPPP/R1BQ1RK1 w - - 3 11":
("A78", (_("Benoni"),_("Classical with ...Re8 and ...Na6"),)),
+"r1bqr1k1/pp3pbp/n2p1np1/2pP4/4P3/2N2P2/PP1NB1PP/R1BQ1RK1 b - - 0 11":
("A79", (_("Benoni"),_("Classical"),"11.f3",)),
+"rnbqkbnr/ppppp1pp/8/5p2/3P4/8/PPP1PPPP/RNBQKBNR w KQkq f6 0 2": ("A80",
(_("Dutch"),)),
+"rnbqkb1r/ppppp1pp/5n2/5p2/3P2P1/2N5/PPP1PP1P/R1BQKBNR b KQkq g3 0 3":
("A80", (_("Dutch"),_("Spielmann gambit"),)),
+"rnbqkbnr/ppppp1pp/8/5p2/3P4/3Q4/PPP1PPPP/RNB1KBNR b KQkq - 1 2": ("A80",
(_("Dutch"),_("Manhattan (Alapin"),_("Ulvestad) variation"),)),
+"rnbqkbnr/pppp2pp/4p3/5p2/3P2P1/3Q4/PPP1PP1P/RNB1KBNR b KQkq g3 0 3":
("A80", (_("Dutch"),_("Von Pretzel gambit"),)),
+"rnbqkbnr/ppppp1pp/8/5p2/3P4/7P/PPP1PPP1/RNBQKBNR b KQkq - 0 2": ("A80",
(_("Dutch"),_("Korchnoi attack"),)),
+"rnbqkbnr/ppppp1pp/8/5p2/3P2P1/8/PPP1PP1P/RNBQKBNR b KQkq g3 0 2": ("A80",
(_("Dutch"),_("Krejcik gambit"),)),
+"rnbqkbnr/ppppp1pp/8/5pB1/3P4/8/PPP1PPPP/RN1QKBNR b KQkq - 1 2": ("A80",
(_("Dutch"),"2.Bg5 variation",)),
+"rnbqkbnr/ppppp1pp/8/5p2/3P4/6P1/PPP1PP1P/RNBQKBNR b KQkq - 0 2": ("A81",
(_("Dutch defense"),)),
+"rnbqkb1r/pppp2pp/4pn2/5p2/3P4/6PN/PPP1PPBP/RNBQK2R b KQkq - 1 4": ("A81",
(_("Dutch defense"),_("Blackburne variation"),)),
+"rnbqkb1r/ppppp2p/5np1/5p2/3P4/6P1/PPP1PPBP/RNBQK1NR w KQkq - 0 4":
("A81", (_("Dutch defense"),)),
+"rnbqk2r/pp1pp1bp/2p3pn/5p2/3P4/5NP1/PPP1PPBP/RNBQ1RK1 w kq - 1 6":
("A81", (_("Dutch"),_("Leningrad"),_("Basman system"),)),
+"rnbqk1nr/ppppp1bp/6p1/5p2/3P4/6PN/PPP1PPBP/RNBQK2R b KQkq - 3 4": ("A81",
(_("Dutch"),_("Leningrad"),_("Karlsbad variation"),)),
+"rnbqkbnr/ppppp1pp/8/5p2/3PP3/8/PPP2PPP/RNBQKBNR b KQkq e3 0 2": ("A82",
(_("Dutch"),_("Staunton gambit"),)),
+"rnbqkbnr/ppp1p1pp/3p4/5p2/3PP3/8/PPP2PPP/RNBQKBNR w KQkq - 0 3": ("A82",
(_("Dutch"),_("Balogh defense"),)),
+"rnbqkbnr/ppppp1pp/8/8/3Pp3/8/PPP2PPP/RNBQKBNR w KQkq - 0 3": ("A82",
(_("Dutch"),_("Staunton gambit"),)),
+"rnbqkb1r/ppppp1pp/5n2/8/3Pp1P1/2N5/PPP2P1P/R1BQKBNR b KQkq g3 0 4":
("A82", (_("Dutch"),_("Staunton gambit"),_("Tartakower variation"),)),
+"rnbqkb1r/ppppp1pp/5n2/6B1/3Pp3/2N5/PPP2PPP/R2QKBNR b KQkq - 3 4": ("A83",
(_("Dutch"),_("Staunton gambit"),_("Staunton's line"),)),
+"rnbqkb1r/ppppp2p/5np1/6B1/3Pp2P/2N5/PPP2PP1/R2QKBNR b KQkq h3 0 5":
("A83", (_("Dutch"),_("Staunton gambit"),_("Alekhine variation"),)),
+"rnbqkb1r/ppppp2p/5np1/6B1/3Pp3/2N2P2/PPP3PP/R2QKBNR b KQkq - 0 5":
("A83", (_("Dutch"),_("Staunton gambit"),_("Lasker variation"),)),
+"rnbqkb1r/pp1pp1pp/2p2n2/6B1/3Pp3/2N5/PPP2PPP/R2QKBNR w KQkq - 0 5":
("A83", (_("Dutch"),_("Staunton gambit"),_("Chigorin variation"),)),
+"rnbqkb1r/p1ppp1pp/1p3n2/6B1/3Pp3/2N5/PPP2PPP/R2QKBNR w KQkq - 0 5":
("A83", (_("Dutch"),_("Staunton gambit"),_("Nimzovich variation"),)),
+"rnbqkbnr/ppppp1pp/8/5p2/2PP4/8/PP2PPPP/RNBQKBNR b KQkq c3 0 2": ("A84",
(_("Dutch defense"),)),
+"rnbqkb1r/ppppp2p/6pn/5p2/2PP4/2N5/PP2PPPP/R1BQKBNR w KQkq - 2 4": ("A84",
(_("Dutch defense"),_("Bladel variation"),)),
+"rnbqkbnr/pppp2pp/4p3/5p2/2PP4/8/PP2PPPP/RNBQKBNR w KQkq - 0 3": ("A84",
(_("Dutch defense"),)),
+"rnbqkbnr/pppp2pp/4p3/5p2/2PP4/2N5/PP2PPPP/R1BQKBNR b KQkq - 1 3": ("A84",
(_("Dutch defense"),_("Rubinstein variation"),)),
+"rnbqkbnr/pppp2pp/4p3/5p2/2PPP3/8/PP3PPP/RNBQKBNR b KQkq e3 0 3": ("A84",
(_("Dutch"),_("Staunton gambit deferred"),)),
+"rnbqkb1r/ppppp1pp/5n2/5p2/2PP4/8/PP2PPPP/RNBQKBNR w KQkq - 1 3": ("A84",
(_("Dutch defense"),)),
+"rnbqkb1r/ppppp1pp/5n2/5p2/2PP4/2N5/PP2PPPP/R1BQKBNR b KQkq - 2 3":
("A85", (_("Dutch with c4 & Nc3"),)),
+"rnbqkb1r/ppppp1pp/5n2/5p2/2PP4/6P1/PP2PP1P/RNBQKBNR b KQkq - 0 3":
("A86", (_("Dutch with c4 & g3"),)),
+"rnb1kb1r/ppq1p1pp/2pp1n2/5p2/2PP4/2N3P1/PP2PPBP/R1BQK1NR w KQkq - 2 6":
("A86", (_("Dutch"),_("Hort-Antoshin system"),)),
+"rnbqkb1r/ppppp2p/5np1/5p2/2PP4/6P1/PP2PP1P/RNBQKBNR w KQkq - 0 4":
("A86", (_("Dutch"),_("Leningrad variation"),)),
+"rnbqk2r/ppppp1bp/5np1/5p2/2PP4/5NP1/PP2PPBP/RNBQK2R b KQkq - 3 5":
("A87", (_("Dutch"),_("Leningrad"),_("Main variation"),)),
+"rnbq1rk1/pp2p1bp/2pp1np1/5p2/2PP4/2N2NP1/PP2PPBP/R1BQ1RK1 w - - 0 8":
("A88", (_("Dutch"),_("Leningrad"),_("Main variation with c6"),)),
+"r1bq1rk1/ppp1p1bp/2np1np1/5p2/2PP4/2N2NP1/PP2PPBP/R1BQ1RK1 w - - 2 8":
("A89", (_("Dutch"),_("Leningrad"),_("Main variation with Nc6"),)),
+"rnbqkb1r/pppp2pp/4pn2/5p2/2PP4/6P1/PP2PPBP/RNBQK1NR b KQkq - 1 4":
("A90", (_("Dutch defense"),)),
+"rnbqk2r/pppp2pp/4pn2/5p2/1bPP4/6P1/PP2PPBP/RNBQK1NR w KQkq - 2 5":
("A90", (_("Dutch defense"),_("Dutch-Indian (Nimzo-Dutch) variation"),)),
+"rnbqk2r/ppppb1pp/4pn2/5p2/2PP4/6P1/PP1BPPBP/RN1QK1NR w KQkq - 4 6":
("A90", (_("Dutch-Indian"),_("Alekhine variation"),)),
+"rnbqk2r/ppppb1pp/4pn2/5p2/2PP4/6P1/PP2PPBP/RNBQK1NR w KQkq - 2 5":
("A91", (_("Dutch defense"),)),
+"rnbq1rk1/ppppb1pp/4pn2/5p2/2PP4/5NP1/PP2PPBP/RNBQK2R w KQ - 0 6": ("A92",
(_("Dutch defense"),)),
+"rnbq1rk1/ppppb1pp/4p3/5p2/2PPn3/5NP1/PP2PPBP/RNBQ1RK1 w - - 1 7": ("A92",
(_("Dutch defense"),_("Alekhine variation"),)),
+"rnbq1rk1/ppp1b1pp/4pn2/3p1p2/2PP4/5NP1/PP2PPBP/RNBQ1RK1 w - d6 0 7":
("A92", (_("Dutch"),_("Stonewall variation"),)),
+"rnbq1rk1/ppp1b1pp/4pn2/3p1p2/2PP4/2N2NP1/PP2PPBP/R1BQ1RK1 b - - 1 7":
("A92", (_("Dutch"),_("Stonewall with Nc3"),)),
+"rnbq1rk1/ppp1b1pp/4pn2/3p1p2/2PP4/1P3NP1/P3PPBP/RNBQ1RK1 b - - 0 7":
("A93", (_("Dutch"),_("Stonewall"),_("Botwinnik variation"),)),
+"rnbq1rk1/pp2b1pp/2p1pn2/3p1p2/2PP4/BP3NP1/P3PPBP/RN1Q1RK1 b - - 1 8":
("A94", (_("Dutch"),_("Stonewall with Ba3"),)),
+"rnbq1rk1/pp2b1pp/2p1pn2/3p1p2/2PP4/2N2NP1/PP2PPBP/R1BQ1RK1 w - - 0 8":
("A95", (_("Dutch"),_("Stonewall with Nc3"),)),
+"rnb1qrk1/pp2b1pp/2p1pn2/3p1pB1/2PP4/2N2NP1/PPQ1PPBP/R4RK1 b - - 3 9":
("A95", (_("Dutch"),_("Stonewall: Chekhover variation"),)),
+"rnbq1rk1/ppp1b1pp/3ppn2/5p2/2PP4/5NP1/PP2PPBP/RNBQ1RK1 w - - 0 7":
("A96", (_("Dutch"),_("Classical variation"),)),
+"rnb1qrk1/ppp1b1pp/3ppn2/5p2/2PP4/2N2NP1/PP2PPBP/R1BQ1RK1 w - - 2 8":
("A97", (_("Dutch"),_("Ilyin-Genevsky variation"),)),
+"rnb1qrk1/ppp1b1pp/3ppn2/5p2/2PP4/2N2NP1/PP2PPBP/R1BQR1K1 b - - 3 8":
("A97", (_("Dutch"),_("Ilyin-Genevsky"),_("Winter variation"),)),
+"rnb1qrk1/ppp1b1pp/3ppn2/5p2/2PP4/2N2NP1/PPQ1PPBP/R1B2RK1 b - - 3 8":
("A98", (_("Dutch"),_("Ilyin-Genevsky variation with Qc2"),)),
+"rnb1qrk1/ppp1b1pp/3ppn2/5p2/2PP4/1PN2NP1/P3PPBP/R1BQ1RK1 b - - 0 8":
("A99", (_("Dutch"),_("Ilyin-Genevsky variation with b3"),)),
+"rnbqkbnr/pppppppp/8/8/4P3/8/PPPP1PPP/RNBQKBNR b KQkq e3 0 1": ("B00",
(_("King's pawn Opening"),)),
+"rnbqkb1r/ppppp2p/5ppn/8/2PPP3/8/PP3PPP/RNBQKBNR w KQkq - 0 4": ("B00",
(_("Hippopotamus defense"),)),
+"rnbqkbnr/1ppppppp/8/p7/4P3/8/PPPP1PPP/RNBQKBNR w KQkq a6 0 2": ("B00",
(_("Corn stalk defense"),)),
+"r1bqkbnr/pppppppp/n7/8/4P3/8/PPPP1PPP/RNBQKBNR w KQkq - 1 2": ("B00",
(_("Lemming defense"),)),
+"rnbqkbnr/ppppp1pp/8/5p2/4P3/8/PPPP1PPP/RNBQKBNR w KQkq f6 0 2": ("B00",
(_("Fred"),)),
+"rnbqkbnr/ppppp1pp/5p2/8/4P3/8/PPPP1PPP/RNBQKBNR w KQkq - 0 2": ("B00",
(_("Barnes defense"),)),
+"rnbq1bnr/pppppkpp/5p2/8/3PP3/8/PPP2PPP/RNBQKBNR w KQ - 1 3": ("B00",
(_("Fried fox defense"),)),
+"rnbqkbnr/ppppppp1/7p/8/4P3/8/PPPP1PPP/RNBQKBNR w KQkq - 0 2": ("B00",
(_("Carr's defense"),)),
+"rnbqkbnr/pppppp1p/8/6p1/4P3/8/PPPP1PPP/RNBQKBNR w KQkq g6 0 2": ("B00",
(_("Reversed Grob (Borg/Basman defense/macho Grob)"),)),
+"rnbqkbnr/1ppppppp/p7/8/4P3/8/PPPP1PPP/RNBQKBNR w KQkq - 0 2": ("B00",
(_("St. George (Baker) defense"),)),
+"rnbqkbnr/p1pppppp/1p6/8/4P3/8/PPPP1PPP/RNBQKBNR w KQkq - 0 2": ("B00",
(_("Owen defense"),)),
+"rn1qkbnr/p1pppppp/bp6/8/3PP3/8/PPP2PPP/RNBQKBNR w KQkq - 1 3": ("B00",
(_("Guatemala defense"),)),
+"r1bqkbnr/pppppppp/2n5/8/4P3/8/PPPP1PPP/RNBQKBNR w KQkq - 1 2": ("B00",
(_("KP"),_("Nimzovich defense"),)),
+"r1bqkbnr/pppppppp/2n5/8/3PP3/2P5/P4PPP/RNBQKBNR b KQkq d3 0 4": ("B00",
(_("KP"),_("Nimzovich defense"),_("Wheeler gambit"),)),
+"r1bqkbnr/pppppppp/2n5/8/4P3/5N2/PPPP1PPP/RNBQKB1R b KQkq - 2 2": ("B00",
(_("KP"),_("Nimzovich defense"),)),
+"r1bqkbnr/ppppp1pp/2n5/5p2/4P3/5N2/PPPP1PPP/RNBQKB1R w KQkq f6 0 3":
("B00", (_("KP"),_("Colorado counter"),)),
+"r1bqkbnr/pppppppp/2n5/8/3PP3/8/PPP2PPP/RNBQKBNR b KQkq d3 0 2": ("B00",
(_("KP"),_("Nimzovich defense"),)),
+"r1b1kbnr/ppp1pppp/2n5/3q4/3P4/2N5/PPP2PPP/R1BQKBNR b KQkq - 1 4": ("B00",
(_("KP"),_("Nimzovich defense"),_("Marshall gambit"),)),
+"r1bqkbnr/ppp1pppp/2n5/3p4/3PP3/2N5/PPP2PPP/R1BQKBNR b KQkq - 1 3":
("B00", (_("KP"),_("Nimzovich defense"),_("Bogolyubov variation"),)),
+"r1bqkbnr/ppppp1pp/2n2p2/8/3PP3/8/PPP2PPP/RNBQKBNR w KQkq - 0 3": ("B00",
(_("KP"),_("Neo-Mongoloid defense"),)),
+"rnbqkbnr/ppp1pppp/8/3p4/4P3/8/PPPP1PPP/RNBQKBNR w KQkq d6 0 2": ("B01",
(_("Scandinavian (centre counter) defense"),)),
+"rn2kb1r/ppp1pppp/5n2/q7/3P2b1/2N2N1P/PPP2PP1/R1BQKB1R b KQkq - 0 6":
("B01", (_("Scandinavian defense"),_("Lasker variation"),)),
+"rn2kb1r/ppp1pppp/5n2/q4b2/3P4/2N2N2/PPP2PPP/R1BQKB1R w KQkq - 3 6":
("B01", (_("Scandinavian defense"),)),
+"rn2kb1r/pp2pppp/2p2n2/q3Nb2/3P2P1/2N5/PPP2P1P/R1BQKB1R b KQkq g3 0 7":
("B01", (_("Scandinavian defense"),_("Gruenfeld variation"),)),
+"rnb1kbnr/ppp2ppp/8/q3p3/3P4/2N5/PPP2PPP/R1BQKBNR w KQkq e6 0 5": ("B01",
(_("Scandinavian"),_("Anderssen counter-attack"),)),
+"r1b1k1nr/ppp2ppp/2n5/q3P3/1b6/2N2N2/PPPB1PPP/R2QKB1R b KQkq - 4 7":
("B01", (_("Scandinavian"),_("Anderssen counter-attack Orthodox attack"),)),
+"rnb1kbnr/ppp2ppp/8/q3p3/3P4/2N2N2/PPP2PPP/R1BQKB1R b KQkq - 1 5": ("B01",
(_("Scandinavian"),_("Anderssen counter-attack"),_("Goteborg system"),)),
+"rn2kbnr/ppp2ppp/8/q3p3/3P2b1/2N2N2/PPP2PPP/R1BQKB1R w KQkq - 2 6":
("B01", (_("Scandinavian"),_("Anderssen counter-attack"),_("Collijn
variation"),)),
+"rnb1kbnr/ppp1pppp/8/q7/1P6/2N5/P1PP1PPP/R1BQKBNR b KQkq b3 0 4": ("B01",
(_("Scandinavian"),_("Mieses-Kotrvc gambit"),)),
+"rnb1kbnr/ppp1pppp/3q4/8/8/2N5/PPPP1PPP/R1BQKBNR w KQkq - 2 4": ("B01",
(_("Scandinavian"),_("Pytel-Wade variation"),)),
+"rnbqkb1r/ppp1pppp/5n2/3P4/8/8/PPPP1PPP/RNBQKBNR w KQkq - 1 3": ("B01",
(_("Scandinavian defense"),)),
+"rnbqkb1r/ppp2ppp/4pn2/3P4/2P5/8/PP1P1PPP/RNBQKBNR w KQkq - 0 4": ("B01",
(_("Scandinavian"),_("Icelandic gambit"),)),
+"rnbqkb1r/pp2pppp/2p2n2/3P4/2P5/8/PP1P1PPP/RNBQKBNR w KQkq - 0 4": ("B01",
(_("Scandinavian gambit"),)),
+"rnbqkb1r/ppp1pppp/5n2/3P4/3P4/8/PPP2PPP/RNBQKBNR b KQkq d3 0 3": ("B01",
(_("Scandinavian defense"),)),
+"rnbqkb1r/ppp1pppp/8/3n4/3P4/8/PPP2PPP/RNBQKBNR w KQkq - 0 4": ("B01",
(_("Scandinavian"),_("Marshall variation"),)),
+"rnbqkb1r/ppp1pppp/8/8/1nPP4/8/PP3PPP/RNBQKBNR w KQkq - 1 5": ("B01",
(_("Scandinavian"),_("Kiel variation"),)),
+"rnbqkb1r/ppp1pp1p/5np1/3P4/3P4/8/PPP2PPP/RNBQKBNR w KQkq - 0 4": ("B01",
(_("Scandinavian"),_("Richter variation"),)),
+"rnbqkb1r/pppppppp/5n2/8/4P3/8/PPPP1PPP/RNBQKBNR w KQkq - 1 2": ("B02",
(_("Alekhine's defense"),)),
+"rnbqkb1r/ppp1pppp/5n2/3p4/4P3/2N5/PPPP1PPP/R1BQKBNR w KQkq d6 0 3":
("B02", (_("Alekhine's defense"),_("Scandinavian variation"),)),
+"rnbqkb1r/pppnpppp/4P3/3p4/8/2N5/PPPP1PPP/R1BQKBNR b KQkq - 0 4": ("B02",
(_("Alekhine's defense"),_("Spielmann variation"),)),
+"rnbqkb1r/pppppppp/5n2/8/4P3/3P4/PPP2PPP/RNBQKBNR b KQkq - 0 2": ("B02",
(_("Alekhine's defense"),_("Maroczy variation"),)),
+"rnbqkb1r/pppppppp/5n2/8/2B1P3/8/PPPP1PPP/RNBQK1NR b KQkq - 2 2": ("B02",
(_("Alekhine's defense"),_("Krejcik variation"),)),
+"rnbqkb1r/pppppppp/8/4P3/4n3/8/PPPP1PPP/RNBQKBNR w KQkq - 1 3": ("B02",
(_("Alekhine's defense"),_("Mokele Mbembe (Buecker) variation"),)),
+"rnbqkbnr/pppppppp/8/4P3/8/8/PPPP1PPP/RNBQKBNR w KQkq - 1 3": ("B02",
(_("Alekhine's defense"),_("Brooklyn defense"),)),
+"rnbqkb1r/pppppppp/8/3nP3/8/8/PPPP1PPP/RNBQKBNR w KQkq - 1 3": ("B02",
(_("Alekhine's defense"),)),
+"rnbqkb1r/pp1ppppp/1n6/2p1P3/8/1B1P4/PPP2PPP/RNBQK1NR b KQkq - 0 5":
("B02", (_("Alekhine's defense"),_("Kmoch variation"),)),
+"rnbqkb1r/pppppppp/8/3nP3/8/2N5/PPPP1PPP/R1BQKBNR b KQkq - 2 3": ("B02",
(_("Alekhine's defense"),_("Saemisch attack"),)),
+"rnbqkb1r/pppppppp/8/3nP3/8/1P6/P1PP1PPP/RNBQKBNR b KQkq - 0 3": ("B02",
(_("Alekhine's defense"),_("Welling variation"),)),
+"rnbqkb1r/pppppppp/8/3nP3/2P5/8/PP1P1PPP/RNBQKBNR b KQkq c3 0 3": ("B02",
(_("Alekhine's defense"),)),
+"rnbqkb1r/pppppppp/1n6/4P3/2P5/1P6/P2P1PPP/RNBQKBNR b KQkq - 0 4": ("B02",
(_("Alekhine's defense"),_("Steiner variation"),)),
+"rnbqkb1r/pppppppp/1n6/2P1P3/8/8/PP1P1PPP/RNBQKBNR b KQkq - 0 4": ("B02",
(_("Alekhine's defense"),_("Two pawns' (Lasker's) attack"),)),
+"rnbqkb1r/ppp2ppp/3pp3/2PnP3/2B5/2N5/PP1P1PPP/R1BQK1NR w KQkq - 0 7":
("B02", (_("Alekhine's defense"),_("Two pawns' attack"),_("Mikenas
variation"),)),
+"rnbqkb1r/pppppppp/8/3nP3/3P4/8/PPP2PPP/RNBQKBNR b KQkq d3 0 3": ("B03",
(_("Alekhine's defense"),)),
+"rnbqkb1r/p1pppppp/8/1p1nP3/3P4/8/PPP2PPP/RNBQKBNR w KQkq b6 0 4": ("B03",
(_("Alekhine's defense"),_("O'Sullivan gambit"),)),
+"rnbqkb1r/ppp1pppp/3p4/3nP3/3P4/8/PPP2PPP/RNBQKBNR w KQkq - 0 4": ("B03",
(_("Alekhine's defense"),)),
+"rnbqkb1r/ppp1pppp/3p4/3nP3/2BP4/8/PPP2PPP/RNBQK1NR b KQkq - 1 4": ("B03",
(_("Alekhine's defense"),_("Balogh variation"),)),
+"rnbqkb1r/ppp1pppp/3p4/3nP3/2PP4/8/PP3PPP/RNBQKBNR b KQkq c3 0 4": ("B03",
(_("Alekhine's defense"),)),
+"rnbqkb1r/ppp1pppp/1n1P4/8/2PP4/8/PP3PPP/RNBQKBNR b KQkq - 0 5": ("B03",
(_("Alekhine's defense"),_("Exchange variation"),)),
+"r2q1rk1/pp2ppbp/1nnp2p1/5b2/2PP1B2/2N2N1P/PP2BPP1/R2Q1RK1 b - - 4 11":
("B03", (_("Alekhine's defense"),_("Exchange"),_("Karpov variation"),)),
+"rnbqkb1r/ppp1pppp/1n1p4/4P3/2PP1P2/8/PP4PP/RNBQKBNR b KQkq f3 0 5":
("B03", (_("Alekhine's defense"),_("Four pawns attack"),)),
+"rn1q1rk1/ppp1b1pp/1n2pp2/4Pb2/2PP4/2N2N2/PP2B1PP/R1BQ1RK1 w - - 0 11":
("B03", (_("Alekhine's defense"),_("Four pawns attack"),_("Korchnoi
variation"),)),
+"r1bqkb1r/ppp1pppp/1nn5/4P3/2PP4/8/PP4PP/RNBQKBNR w KQkq - 1 7": ("B03",
(_("Alekhine's defense"),_("Four pawns attack"),"6...Nc6",)),
+"r2qkb1r/ppp1p1pp/1nn1p3/2P5/3P2b1/5N2/PP4PP/RNBQKB1R b KQkq - 0 9":
("B03", (_("Alekhine's defense"),_("Four pawns attack"),_("Ilyin-Genevsky
var."),)),
+"r1bqkb1r/ppp1pppp/1nn5/4P3/2PP4/4B3/PP4PP/RN1QKBNR b KQkq - 2 7": ("B03",
(_("Alekhine's defense"),_("Four pawns attack"),"7.Be3",)),
+"2kr3r/pppqbppp/1nn1p3/4Pb2/2PP4/2N1BN2/PP2B1PP/R2Q1RK1 w - - 1 12":
("B03", (_("Alekhine's defense"),_("Four pawns attack"),_("Tartakower
variation"),)),
+"rnbqkb1r/ppp1pp1p/1n1p4/4P1p1/2PP1P2/8/PP4PP/RNBQKBNR w KQkq g6 0 6":
("B03", (_("Alekhine's defense"),_("Four pawns attack"),_("Planinc
variation"),)),
+"rnbqkb1r/ppp1pp1p/1n1p2p1/4P3/2PP1P2/8/PP4PP/RNBQKBNR w KQkq - 0 6":
("B03", (_("Alekhine's defense"),_("Four pawns attack"),_("Fianchetto
variation"),)),
+"rn1qkb1r/ppp1pppp/1n1p4/4Pb2/2PP1P2/8/PP4PP/RNBQKBNR w KQkq - 1 6":
("B03", (_("Alekhine's defense"),_("Four pawns attack"),_("Trifunovic
variation"),)),
+"rnbqkb1r/ppp1pppp/3p4/3nP3/3P4/5N2/PPP2PPP/RNBQKB1R b KQkq - 1 4":
("B04", (_("Alekhine's defense"),_("Modern variation"),)),
+"rnbqkb1r/ppp1pppp/8/3np3/3P4/5N2/PPP2PPP/RNBQKB1R w KQkq - 0 5": ("B04",
(_("Alekhine's defense"),_("Modern"),_("Larsen variation"),)),
+"rnbqkb1r/ppp1pppp/1n1p4/4P3/3P4/5N2/PPP2PPP/RNBQKB1R w KQkq - 2 5":
("B04", (_("Alekhine's defense"),_("Modern"),_("Schmid variation"),)),
+"rnbqkb1r/ppp1pp1p/3p2p1/3nP3/3P4/5N2/PPP2PPP/RNBQKB1R w KQkq - 0 5":
("B04", (_("Alekhine's defense"),_("Modern"),_("Fianchetto variation"),)),
+"rnbqk2r/ppp1ppbp/1n1p2p1/4P3/P2P4/1B3N2/1PP2PPP/RNBQK2R b KQkq a3 0 7":
("B04", (_("Alekhine's defense"),_("Modern"),_("Keres variation"),)),
+"rn1qkb1r/ppp1pppp/3p4/3nP3/3P2b1/5N2/PPP2PPP/RNBQKB1R w KQkq - 2 5":
("B05", (_("Alekhine's defense"),_("Modern variation"),"4...Bg4",)),
+"rn1qkb1r/pp2pppp/2pp4/3nP3/3P2b1/5N2/PPP1BPPP/RNBQK2R w KQkq - 0 6":
("B05", (_("Alekhine's defense"),_("Modern"),_("Flohr variation"),)),
+"rn1qkb1r/ppp1pppp/3p4/3nP3/3P2b1/5N1P/PPP2PP1/RNBQKB1R b KQkq - 0 5":
("B05", (_("Alekhine's defense"),_("Modern"),_("Panov variation"),)),
+"rn1qkb1r/ppp1pppp/3p4/3nP3/2PP2b1/5N2/PP3PPP/RNBQKB1R b KQkq c3 0 5":
("B05", (_("Alekhine's defense"),_("Modern"),_("Alekhine variation"),)),
+"rn1qkb1r/ppp1pppp/1n1p4/3PP3/2P3b1/5N2/PP3PPP/RNBQKB1R b KQkq - 0 6":
("B05", (_("Alekhine's defense"),_("Modern"),_("Vitolins attack"),)),
+"rnbqkbnr/pppppp1p/6p1/8/4P3/8/PPPP1PPP/RNBQKBNR w KQkq - 0 2": ("B06",
(_("Robatsch (Modern) defense"),)),
+"rnbqkb1r/ppppppnp/6p1/4P3/3P2P1/8/PPP2P1P/RNBQKBNR w KQkq - 1 5": ("B06",
(_("Norwegian defense"),)),
+"rnbqk1nr/ppppppbp/6p1/8/3PP3/8/PPP2PPP/RNBQKBNR w KQkq - 1 3": ("B06",
(_("Robatsch (Modern) defense"),)),
+"rnbqk1nr/ppppppbp/6p1/8/3PPP2/8/PPP3PP/RNBQKBNR b KQkq f3 0 3": ("B06",
(_("Robatsch defense"),_("Three pawns attack"),)),
+"rnbqk1nr/ppppppbp/6p1/8/3PP3/2N5/PPP2PPP/R1BQKBNR b KQkq - 2 3": ("B06",
(_("Robatsch defense"),)),
+"rnbqk1nr/pp2ppb1/2p3p1/3pP2p/3P1P2/2N5/PPP3PP/R1BQKBNR w KQkq h6 0 6":
("B06", (_("Robatsch defense"),_("Gurgenidze variation"),)),
+"rnbqk1nr/ppp1ppbp/3p2p1/8/3PP3/2N5/PPP2PPP/R1BQKBNR w KQkq - 0 4":
("B06", (_("Robatsch (Modern) defense"),)),
+"rnbqk1nr/ppp1ppbp/3p2p1/8/3PP3/2N2N2/PPP2PPP/R1BQKB1R b KQkq - 1 4":
("B06", (_("Robatsch defense"),_("Two knights variation"),)),
+"rnbqk1nr/pp2ppbp/2pp2p1/8/3PP3/2N2N2/PPP2PPP/R1BQKB1R w KQkq - 0 5":
("B06", (_("Robatsch defense"),_("Two knights"),_("Suttles variation"),)),
+"rnbqk1nr/ppp1ppbp/3p2p1/8/3PPP2/2N5/PPP3PP/R1BQKBNR b KQkq f3 0 4":
("B06", (_("Robatsch defense"),_("Pseudo-Austrian attack"),)),
+"rnbqkb1r/ppp1pppp/3p1n2/8/3PP3/2N5/PPP2PPP/R1BQKBNR b KQkq - 2 3":
("B07", (_("Pirc defense"),)),
+"rnbqkb1r/pp2pppp/2pp1n2/8/3PP3/2N5/PPP2PPP/R1BQKBNR w KQkq - 0 4":
("B07", (_("Pirc"),_("Ufimtsev-Pytel variation"),)),
+"rnbqkb1r/ppp1pp1p/3p1np1/8/3PP3/2N5/PPP2PPP/R1BQKBNR w KQkq - 0 4":
("B07", (_("Pirc defense"),)),
+"rnbqkb1r/pp2pp1p/2pp1np1/8/3PP3/2N1B3/PPPQ1PPP/R3KBNR b KQkq - 1 5":
("B07", (_("Pirc"),"150 attack",)),
+"rnbqkb1r/ppp1pp1p/3p1np1/8/3PP3/2N3P1/PPP2P1P/R1BQKBNR b KQkq - 0 4":
("B07", (_("Pirc"),_("Sveshnikov system"),)),
+"rnbqkb1r/ppp1pp1p/3p1np1/8/2BPP3/2N5/PPP2PPP/R1BQK1NR b KQkq - 1 4":
("B07", (_("Pirc"),_("Holmov system"),)),
+"rnbqkb1r/ppp1pp1p/3p1np1/6B1/3PP3/2N5/PPP2PPP/R2QKBNR b KQkq - 1 4":
("B07", (_("Pirc"),_("Byrne variation"),)),
+"rnbqkb1r/ppp1pp1p/3p1np1/8/3PP3/2N5/PPP1BPPP/R1BQK1NR b KQkq - 1 4":
("B07", (_("Pirc defense"),)),
+"rnbqk2r/ppp1ppbp/3p1np1/8/3PP1P1/2N5/PPP1BP1P/R1BQK1NR b KQkq g3 0 5":
("B07", (_("Pirc"),_("Chinese variation"),)),
+"rnbqk2r/ppp1ppbp/3p1np1/8/3PP2P/2N5/PPP1BPP1/R1BQK1NR b KQkq h3 0 5":
("B07", (_("Pirc"),_("bayonet (Mariotti) attack"),)),
+"rnbqk1nr/ppp1ppbp/3p2p1/8/3PP3/2P2N2/PP3PPP/RNBQKB1R b KQkq - 0 4":
("B07", (_("Robatsch defense"),_("Geller's system"),)),
+"rnbqkb1r/ppp1pp1p/3p1np1/8/3PP3/2N2N2/PPP2PPP/R1BQKB1R b KQkq - 1 4":
("B08", (_("Pirc"),_("Classical (Two knights) system"),)),
+"rnbqk2r/ppp1ppbp/3p1np1/8/3PP3/2N2N2/PPP2PPP/R1BQKB1R w KQkq - 2 5":
("B08", (_("Pirc"),_("Classical (Two knights) system"),)),
+"rnbqk2r/ppp1ppbp/3p1np1/8/3PP3/2N2N1P/PPP2PP1/R1BQKB1R b KQkq - 0 5":
("B08", (_("Pirc"),_("Classical"),_("h3 system"),)),
+"rnbqk2r/ppp1ppbp/3p1np1/8/3PP3/2N2N2/PPP1BPPP/R1BQK2R b KQkq - 3 5":
("B08", (_("Pirc"),_("Classical system"),"5.Be2",)),
+"rnbqkb1r/ppp1pp1p/3p1np1/8/3PPP2/2N5/PPP3PP/R1BQKBNR b KQkq f3 0 4":
("B09", (_("Pirc"),_("Austrian attack"),)),
+"rnbq1rk1/ppp1ppbp/3p1np1/8/3PPP2/2N2N2/PPP3PP/R1BQKB1R w KQ - 0 6":
("B09", (_("Pirc"),_("Austrian attack"),)),
+"rnbq1rk1/ppp1ppbp/3p1np1/4P3/3P1P2/2N2N2/PPP3PP/R1BQKB1R b KQ - 0 6":
("B09", (_("Pirc"),_("Austrian attack"),"6.e5",)),
+"rnbq1rk1/ppp1ppbp/3p1np1/8/3PPP2/2N1BN2/PPP3PP/R2QKB1R b KQ - 1 6":
("B09", (_("Pirc"),_("Austrian attack"),"6.Be3",)),
+"rnbq1rk1/ppp1ppbp/3p1np1/8/3PPP2/2NB1N2/PPP3PP/R1BQK2R b KQ - 1 6":
("B09", (_("Pirc"),_("Austrian attack"),"6.Bd3",)),
+"rnbqk2r/pp2ppbp/3p1np1/2p5/3PPP2/2N2N2/PPP3PP/R1BQKB1R w KQkq c6 0 6":
("B09", (_("Pirc"),_("Austrian attack"),_("Dragon formation"),)),
+"rnbqk2r/ppp1ppbp/3p1np1/8/2BPPP2/2N5/PPP3PP/R1BQK1NR b KQkq - 2 5":
("B09", (_("Pirc"),_("Austrian attack"),_("Ljubojevic variation"),)),
+"rnbqkbnr/pp1ppppp/2p5/8/4P3/8/PPPP1PPP/RNBQKBNR w KQkq - 0 2": ("B10",
(_("Caro-Kann defense"),)),
+"rnbqkbnr/pp1ppppp/2p5/8/2B1P3/8/PPPP1PPP/RNBQK1NR b KQkq - 1 2": ("B10",
(_("Caro-Kann"),_("Hillbilly attack"),)),
+"rnbqkbnr/pp1ppppp/2p5/8/2P1P3/8/PP1P1PPP/RNBQKBNR b KQkq c3 0 2": ("B10",
(_("Caro-Kann"),_("Anti-Caro-Kann defense"),)),
+"rnbqkbnr/pp2pppp/2p5/3p4/2P1P3/8/PP1P1PPP/RNBQKBNR w KQkq d6 0 3":
("B10", (_("Caro-Kann"),_("Anti-anti-Caro-Kann defense"),)),
+"rnbqkbnr/pp1ppppp/2p5/8/4P3/3P4/PPP2PPP/RNBQKBNR b KQkq - 0 2": ("B10",
(_("Caro-Kann"),_("Closed (Breyer) variation"),)),
+"rnbqkbnr/pp1ppppp/2p5/8/4P3/2N5/PPPP1PPP/R1BQKBNR b KQkq - 1 2": ("B10",
(_("Caro-Kann defense"),)),
+"rnbqkbnr/pp2pppp/2p5/3p4/4P3/2N2Q2/PPPP1PPP/R1B1KBNR b KQkq - 1 3":
("B10", (_("Caro-Kann"),_("GOldman (Spielmann) variation"),)),
+"rnbqkbnr/pp2pppp/2p5/3p4/4P3/2N2N2/PPPP1PPP/R1BQKB1R b KQkq - 1 3":
("B10", (_("Caro-Kann"),_("Two knights variation"),)),
+"rn1qkbnr/pp2pppp/2p5/3p4/4P1b1/2N2N2/PPPP1PPP/R1BQKB1R w KQkq - 2 4":
("B11", (_("Caro-Kann"),_("Two knights"),"3...Bg4",)),
+"rnbqkbnr/pp1ppppp/2p5/8/3PP3/8/PPP2PPP/RNBQKBNR b KQkq d3 0 2": ("B12",
(_("Caro-Kann defense"),)),
+"r1bqkbnr/ppnppppp/2p5/8/3PP3/2N5/PPP2PPP/R1BQKBNR w KQkq - 3 4": ("B12",
(_("de Bruycker defense"),)),
+"rnbqkb1r/pp1ppppp/2p2n2/8/3PP3/8/PPP2PPP/RNBQKBNR w KQkq - 1 3": ("B12",
(_("Caro-Masi defense"),)),
+"rnbqkbnr/pp2pppp/2p5/3p4/3PP3/8/PPP2PPP/RNBQKBNR w KQkq d6 0 3": ("B12",
(_("Caro-Kann defense"),)),
+"rnbqkbnr/pp2pppp/2p5/3p4/3PP3/5P2/PPP3PP/RNBQKBNR b KQkq - 0 3": ("B12",
(_("Caro-Kann"),_("Tartakower (fantasy) variation"),)),
+"rnbqkbnr/pp2pppp/2p5/3p4/3PP3/8/PPPN1PPP/R1BQKBNR b KQkq - 1 3": ("B12",
(_("Caro-Kann"),"3.Nd2",)),
+"rnb1kbnr/pp2pppp/1qp5/3p4/3PP3/8/PPPN1PPP/R1BQKBNR w KQkq - 2 4": ("B12",
(_("Caro-Kann"),_("Edinburgh variation"),)),
+"rnbqkbnr/pp2pppp/2p5/3pP3/3P4/8/PPP2PPP/RNBQKBNR b KQkq - 0 3": ("B12",
(_("Caro-Kann"),_("Advance variation"),)),
+"rn1qkbnr/pp3ppp/2p1p3/3pPb2/3P4/2P5/PP2BPPP/RNBQK1NR b KQkq - 1 5":
("B12", (_("Caro-Kann"),_("Advance"),_("Short variation"),)),
+"rnbqkbnr/pp2pppp/2p5/3P4/3P4/8/PPP2PPP/RNBQKBNR b KQkq - 0 3": ("B13",
(_("Caro-Kann"),_("Exchange variation"),)),
+"r1bqkb1r/pp2pppp/2n2n2/3p4/3P1B2/2PB4/PP3PPP/RN1QK1NR b KQkq - 2 6":
("B13", (_("Caro-Kann"),_("Exchange"),_("Rubinstein variation"),)),
+"rnbqkbnr/pp2pppp/8/3p4/2PP4/8/PP3PPP/RNBQKBNR b KQkq c3 0 4": ("B13",
(_("Caro-Kann"),_("Panov-Botvinnik attack"),)),
+"rnbqkb1r/pp2pppp/5n2/2Pp4/3P4/8/PP3PPP/RNBQKBNR b KQkq - 0 5": ("B13",
(_("Caro-Kann"),_("Panov-Botvinnik"),_("Gunderam attack"),)),
+"rnbqkb1r/pp2pppp/5n2/3p4/2PP4/2N5/PP3PPP/R1BQKBNR b KQkq - 2 5": ("B13",
(_("Caro-Kann"),_("Panov-Botvinnik attack"),)),
+"r1bqkb1r/pp2pppp/5n2/n2P2B1/2p5/2N5/PP3PPP/R2QKBNR w KQkq - 1 8": ("B13",
(_("Caro-Kann"),_("Panov-Botvinnik"),_("Herzog defense"),)),
+"r1bqkb1r/pp3ppp/2n1pn2/3p2B1/2PP4/2N5/PP3PPP/R2QKBNR w KQkq - 0 7":
("B13", (_("Caro-Kann"),_("Panov-Botvinnik"),_("normal variation"),)),
+"r1b1kb1r/pp2pppp/2n2n2/q2p2B1/2PP4/2N5/PP3PPP/R2QKBNR w KQkq - 5 7":
("B13", (_("Caro-Kann"),_("Panov-Botvinnik"),_("Czerniak variation"),)),
+"r1b1kb1r/pp2pppp/1qn2n2/3p2B1/2PP4/2N5/PP3PPP/R2QKBNR w KQkq - 5 7":
("B13", (_("Caro-Kann"),_("Panov-Botvinnik"),_("Reifir (Spielmann)
variation"),)),
+"rnbqkb1r/pp3ppp/4pn2/3p4/2PP4/2N5/PP3PPP/R1BQKBNR w KQkq - 0 6": ("B14",
(_("Caro-Kann"),_("Panov-Botvinnik attack"),"5...e6",)),
+"rnbqkb1r/pp2pp1p/5np1/3p4/2PP4/2N5/PP3PPP/R1BQKBNR w KQkq - 0 6": ("B14",
(_("Caro-Kann"),_("Panov-Botvinnik attack"),"5...g6",)),
+"rnbqkbnr/pp2pppp/2p5/3p4/3PP3/2N5/PPP2PPP/R1BQKBNR b KQkq - 1 3": ("B15",
(_("Caro-Kann defense"),)),
+"rnbqkbnr/p3pppp/2p5/1p1p4/3PP3/2N5/PPP2PPP/R1BQKBNR w KQkq b6 0 4":
("B15", (_("Caro-Kann"),_("Gurgenidze counter-attack"),)),
+"rnbqkbnr/pp2pp1p/2p3p1/3p4/3PP3/2N5/PPP2PPP/R1BQKBNR w KQkq - 0 4":
("B15", (_("Caro-Kann"),_("Gurgenidze system"),)),
+"rnbqkbnr/pp2pppp/2p5/8/3Pp3/2N2P2/PPP3PP/R1BQKBNR b KQkq - 0 4": ("B15",
(_("Caro-Kann"),_("Rasa-Studier gambit"),)),
+"rnbqkbnr/pp2pppp/2p5/8/3PN3/8/PPP2PPP/R1BQKBNR b KQkq - 0 4": ("B15",
(_("Caro-Kann defense"),)),
+"rnbqkb1r/pp2pppp/2p2n2/8/3PN3/3B4/PPP2PPP/R1BQK1NR b KQkq - 2 5": ("B15",
(_("Caro-Kann"),_("Alekhine gambit"),)),
+"rnbqkb1r/pp3ppp/2p2p2/8/3P4/8/PPP2PPP/R1BQKBNR w KQkq - 0 6": ("B15",
(_("Caro-Kann"),_("Tartakower (Nimzovich) variation"),)),
+"rnbqkb1r/pp3ppp/2p2p2/8/2BP4/8/PPP2PPP/R1BQK1NR b KQkq - 1 6": ("B15",
(_("Caro-Kann"),_("Forgacs variation"),)),
+"rnbqkb1r/pp2pp1p/2p2p2/8/3P4/8/PPP2PPP/R1BQKBNR w KQkq - 0 6": ("B16",
(_("Caro-Kann"),_("Bronstein-Larsen variation"),)),
+"r1bqkbnr/pp1npppp/2p5/8/3PN3/8/PPP2PPP/R1BQKBNR w KQkq - 1 5": ("B17",
(_("Caro-Kann"),_("Steinitz variation"),)),
+"rn1qkbnr/pp2pppp/2p5/5b2/3PN3/8/PPP2PPP/R1BQKBNR w KQkq - 1 5": ("B18",
(_("Caro-Kann"),_("Classical variation"),)),
+"rn1qkbnr/pp2pppp/2p3b1/8/3P4/6NN/PPP2PPP/R1BQKB1R b KQkq - 4 6": ("B18",
(_("Caro-Kann"),_("Classical"),_("Flohr variation"),)),
+"rn1qkbnr/pp2pppp/2p3b1/8/3P1P2/6N1/PPP3PP/R1BQKBNR b KQkq f3 0 6":
("B18", (_("Caro-Kann"),_("Classical"),_("Maroczy attack"),)),
+"rn1qkbnr/pp2pppp/2p3b1/8/3P3P/6N1/PPP2PP1/R1BQKBNR b KQkq h3 0 6":
("B18", (_("Caro-Kann"),_("Classical"),"6.h4",)),
+"r2qkbnr/pp1nppp1/2p3bp/8/3P3P/5NN1/PPP2PP1/R1BQKB1R w KQkq - 2 8":
("B19", (_("Caro-Kann"),_("Classical"),"7...Nd7",)),
+"r2qkbnr/pp1nppp1/2p3bp/7P/3P4/5NN1/PPP2PP1/R1BQKB1R b KQkq - 0 8":
("B19", (_("Caro-Kann"),_("Classical"),_("Spassky variation"),)),
+"rnbqkbnr/pp1ppppp/8/2p5/4P3/8/PPPP1PPP/RNBQKBNR w KQkq c6 0 2": ("B20",
(_("Sicilian defense"),)),
+"r1bqkbnr/pp2ppp1/2np4/2p4p/2P1P3/2N3P1/PP1P1P1P/R1BQKBNR w KQkq h6 0 5":
("B20", (_("Sicilian"),_("Gloria variation"),)),
+"rnbqkbnr/pp1ppppp/8/2p5/4P3/6P1/PPPP1P1P/RNBQKBNR b KQkq - 0 2": ("B20",
(_("Sicilian"),_("Steinitz variation"),)),
+"rnbqkbnr/pp1ppppp/8/2p5/1P2P3/8/P1PP1PPP/RNBQKBNR b KQkq b3 0 2": ("B20",
(_("Sicilian"),_("wing gambit"),)),
+"rnbqkbnr/pp1ppppp/8/8/1pP1P3/8/P2P1PPP/RNBQKBNR b KQkq c3 0 3": ("B20",
(_("Sicilian"),_("wing gambit"),_("Santasiere variation"),)),
+"rnbqkbnr/pp1ppppp/8/8/1p2P3/P7/2PP1PPP/RNBQKBNR b KQkq - 0 3": ("B20",
(_("Sicilian"),_("wing gambit"),_("Marshall variation"),)),
+"rnb1kbnr/pp2pppp/8/3q4/1p6/P7/1BPP1PPP/RN1QKBNR b KQkq - 1 5": ("B20",
(_("Sicilian"),_("wing gambit"),_("Marienbad variation"),)),
+"rnbqkbnr/pp1ppppp/8/8/4P3/p7/2PP1PPP/RNBQKBNR w KQkq - 0 4": ("B20",
(_("Sicilian"),_("wing gambit"),_("Carlsbad variation"),)),
+"rnbqkbnr/pp1ppppp/8/2p5/4P3/8/PPPPNPPP/RNBQKB1R b KQkq - 1 2": ("B20",
(_("Sicilian"),_("Keres variation (2.Ne2)"),)),
+"rnbqkbnr/pp1ppppp/8/2p5/4PP2/8/PPPP2PP/RNBQKBNR b KQkq f3 0 2": ("B21",
(_("Sicilian"),_("Grand Prix attack"),)),
+"rnbqkbnr/pp1ppppp/8/2p5/3PP3/8/PPP2PPP/RNBQKBNR b KQkq d3 0 2": ("B21",
(_("Sicilian"),_("Smith-Morra gambit"),)),
+"rnbqkbnr/pp1p1ppp/8/4p3/3pP3/2P2N2/PP3PPP/RNBQKB1R b KQkq - 0 4": ("B21",
(_("Sicilian"),_("Andreaschek gambit"),)),
+"rnbqkbnr/pp1ppppp/8/8/3pP3/2P5/PP3PPP/RNBQKBNR b KQkq - 0 3": ("B21",
(_("Sicilian"),_("Smith-Morra gambit"),)),
+"2bqkbnr/r4ppp/p1npp3/1p6/4P3/1BN2N2/PP2QPPP/R1B2RK1 w k - 2 10": ("B21",
(_("Sicilian"),_("Smith-Morra gambit"),_("Chicago defense"),)),
+"rnbqkbnr/pp1ppppp/8/2p5/4P3/2P5/PP1P1PPP/RNBQKBNR b KQkq - 0 2": ("B22",
(_("Sicilian"),_("Alapin's variation (2.c3)"),)),
+"r1bqkb1r/pp1ppppp/2n5/2pnP3/8/N1P2N2/PP1P1PPP/R1BQKB1R b KQkq - 4 5":
("B22", (_("Sicilian"),"2.c3",_("Heidenfeld variation"),)),
+"rnbqkbnr/pp1ppppp/8/2p5/4P3/2N5/PPPP1PPP/R1BQKBNR b KQkq - 1 2": ("B23",
(_("Sicilian"),_("Closed"),)),
+"rnbqkbnr/pp3ppp/4p3/2pp4/4P3/2N3P1/PPPP1P1P/R1BQKBNR w KQkq d6 0 4":
("B23", (_("Sicilian"),_("Closed"),_("Korchnoi variation"),)),
+"r1bqkbnr/pp1ppppp/2n5/2p5/4P3/2N5/PPPP1PPP/R1BQKBNR w KQkq - 2 3":
("B23", (_("Sicilian"),_("Closed"),"2...Nc6",)),
+"r1bqkbnr/pp1ppppp/2n5/2p5/4P3/2N5/PPPPNPPP/R1BQKB1R b KQkq - 3 3":
("B23", (_("Sicilian"),_("chameleon variation"),)),
+"r1bqkbnr/pp1ppppp/2n5/2p5/4PP2/2N5/PPPP2PP/R1BQKBNR b KQkq f3 0 3":
("B23", (_("Sicilian"),_("Grand Prix attack"),)),
+"r1bqk1nr/pp1p1pbp/2n1p1p1/2p2P2/2B1P3/2N2N2/PPPP2PP/R1BQK2R b KQkq - 0
6": ("B23", (_("Sicilian"),_("Grand Prix attack"),_("Schofman
variation"),)),
+"r1bqkbnr/pp1ppppp/2n5/2p5/4P3/2N3P1/PPPP1P1P/R1BQKBNR b KQkq - 0 3":
("B24", (_("Sicilian"),_("Closed"),)),
+"r1bqk1nr/pp1p1pbp/4p1p1/2p5/3nP3/3PB1P1/PPP1NPBP/R2QK1NR b KQkq - 3 7":
("B24", (_("Sicilian"),_("Closed"),_("Smyslov variation"),)),
+"r1bqk1nr/pp2ppbp/2np2p1/2p5/4P3/2NP2P1/PPP2PBP/R1BQK1NR w KQkq - 0 6":
("B25", (_("Sicilian"),_("Closed"),)),
+"r1bqk1nr/pp3pbp/2np2p1/2p1p3/4P3/2NP2P1/PPP1NPBP/R1BQK2R w KQkq e6 0 7":
("B25", (_("Sicilian"),_("Closed"),"6.Ne2 e5 (Botvinnik)",)),
+"r1bqk1nr/pp2ppbp/2np2p1/2p5/4PP2/2NP2P1/PPP3BP/R1BQK1NR b KQkq f3 0 6":
("B25", (_("Sicilian"),_("Closed"),"6.f4",)),
+"r1bqk1nr/pp3pbp/2np2p1/2p1p3/4PP2/2NP2P1/PPP3BP/R1BQK1NR w KQkq e6 0 7":
("B25", (_("Sicilian"),_("Closed"),"6.f4 e5 (Botvinnik)",)),
+"r1bqk1nr/pp2ppbp/2np2p1/2p5/4P3/2NPB1P1/PPP2PBP/R2QK1NR b KQkq - 1 6":
("B26", (_("Sicilian"),_("Closed"),"6.Be3",)),
+"rnbqkbnr/pp1ppppp/8/2p5/4P3/5N2/PPPP1PPP/RNBQKB1R b KQkq - 1 2": ("B27",
(_("Sicilian defense"),)),
+"rnb1kbnr/pp1ppppp/8/q1p5/4P3/5N2/PPPP1PPP/RNBQKB1R w KQkq - 2 3": ("B27",
(_("Sicilian"),_("Stiletto (Althouse) variation"),)),
+"rnb1kbnr/ppqppppp/8/2p5/4P3/5N2/PPPP1PPP/RNBQKB1R w KQkq - 2 3": ("B27",
(_("Sicilian"),_("Quinteros variation"),)),
+"rnbqkbnr/p2ppppp/1p6/2p5/4P3/5N2/PPPP1PPP/RNBQKB1R w KQkq - 0 3": ("B27",
(_("Sicilian"),_("Katalimov variation"),)),
+"rnbqkbnr/pp1ppp1p/6p1/2p5/4P3/5N2/PPPP1PPP/RNBQKB1R w KQkq - 0 3":
("B27", (_("Sicilian"),_("Hungarian variation"),)),
+"rnbqk1nr/pp1ppp1p/6pb/2p5/2P1P3/5N2/PP1P1PPP/RNBQKB1R w KQkq - 1 4":
("B27", (_("Sicilian"),_("Acton extension"),)),
+"rnbqkbnr/1p1ppppp/p7/2p5/4P3/5N2/PPPP1PPP/RNBQKB1R w KQkq - 0 3": ("B28",
(_("Sicilian"),_("O'Kelly variation"),)),
+"rnbqkb1r/pp1ppppp/5n2/2p5/4P3/5N2/PPPP1PPP/RNBQKB1R w KQkq - 2 3":
("B29", (_("Sicilian"),_("Nimzovich-Rubinstein variation"),)),
+"r1bqkb1r/pp1p1ppp/2n5/2ppP3/3P4/5N2/PPP2PPP/R1BQKB1R w KQkq - 1 7":
("B29", (_("Sicilian"),_("Nimzovich-Rubinstein; Rubinstein
counter-gambit"),)),
+"r1bqkbnr/pp1ppppp/2n5/2p5/4P3/5N2/PPPP1PPP/RNBQKB1R w KQkq - 2 3":
("B30", (_("Sicilian defense"),)),
+"r1bqkbnr/pp1ppppp/2n5/1Bp5/4P3/5N2/PPPP1PPP/RNBQK2R b KQkq - 3 3":
("B30", (_("Sicilian"),_("Nimzovich-Rossolimo attack (without ...d6)"),)),
+"r1bqkbnr/pp1ppp1p/2n3p1/1Bp5/4P3/5N2/PPPP1PPP/RNBQK2R w KQkq - 0 4":
("B31", (_("Sicilian"),_("Nimzovich-Rossolimo attack
(with ...g6"),_("without ...d6)"),)),
+"r1bqk1nr/pp1p1pbp/2n3p1/1Bp1p3/1P2P3/5N2/P1PP1PPP/RNBQR1K1 b kq b3 0 6":
("B31", (_("Sicilian"),_("Nimzovich-Rossolimo attack"),_("Gurgenidze
variation"),)),
+"r1bqkbnr/pp1ppppp/2n5/2p5/3PP3/5N2/PPP2PPP/RNBQKB1R b KQkq d3 0 3":
("B32", (_("Sicilian defense"),)),
+"r1b1kbnr/ppqppppp/2n5/8/3NP3/8/PPP2PPP/RNBQKB1R w KQkq - 1 5": ("B32",
(_("Sicilian"),_("Flohr variation"),)),
+"r1bqkbnr/pp2pppp/2n5/3p4/3NP3/8/PPP2PPP/RNBQKB1R w KQkq d6 0 5": ("B32",
(_("Sicilian"),_("Nimzovich variation"),)),
+"r1bqkbnr/pp1p1ppp/2n5/4p3/3NP3/8/PPP2PPP/RNBQKB1R w KQkq e6 0 5": ("B32",
(_("Sicilian"),_("Labourdonnais-Loewenthal variation"),)),
+"r1bqkbnr/pp3ppp/2np4/1N2p3/4P3/8/PPP2PPP/RNBQKB1R w KQkq - 0 6": ("B32",
(_("Sicilian"),_("Labourdonnais-Loewenthal (Kalashnikov) variation"),)),
+"r1bqkb1r/pp1ppppp/2n2n2/8/3NP3/8/PPP2PPP/RNBQKB1R w KQkq - 1 5": ("B33",
(_("Sicilian defense"),)),
+"r1bqkb1r/pp1p1ppp/2n2n2/4p3/3NP3/2N5/PPP2PPP/R1BQKB1R w KQkq e6 0 6":
("B33", (_("Sicilian"),_("Pelikan (Lasker/Sveshnikov) variation"),)),
+"r2qkb1r/1p3ppp/p1npbn2/4p1B1/4P3/N1N5/PPP2PPP/R2QKB1R w KQkq - 2 9":
("B33", (_("Sicilian"),_("Pelikan"),_("Bird variation"),)),
+"r1bqkb1r/5ppp/p1np1n2/1p2p1B1/4P3/N1N5/PPP2PPP/R2QKB1R w KQkq b6 0 9":
("B33", (_("Sicilian"),_("Pelikan"),_("Chelyabinsk variation"),)),
+"r1bqkb1r/5p1p/p1np4/1p1Npp2/4P3/N7/PPP2PPP/R2QKB1R w KQkq - 0 11":
("B33", (_("Sicilian"),_("Sveshnikov variation"),)),
+"r1bqkbnr/pp1ppp1p/2N3p1/8/4P3/8/PPP2PPP/RNBQKB1R b KQkq - 0 5": ("B34",
(_("Sicilian"),_("Accelerated Fianchetto"),_("Exchange variation"),)),
+"r1bqkbnr/pp1ppp1p/2n3p1/8/3NP3/2N5/PPP2PPP/R1BQKB1R b KQkq - 1 5":
("B34", (_("Sicilian"),_("Accelerated Fianchetto"),_("Modern variation"),)),
+"r1bqk2r/pp1pppbp/2n2np1/8/2BNP3/2N1B3/PPP2PPP/R2QK2R b KQkq - 5 7":
("B35", (_("Sicilian"),_("Accelerated Fianchetto"),_("Modern variation with
Bc4"),)),
+"r1bqkbnr/pp1ppp1p/2n3p1/8/2PNP3/8/PP3PPP/RNBQKB1R b KQkq c3 0 5": ("B36",
(_("Sicilian"),_("Accelerated Fianchetto"),_("Maroczy bind"),)),
+"r1bqkb1r/pp2pp1p/3p1np1/8/2PQP3/2N5/PP3PPP/R1B1KB1R w KQkq - 0 8":
("B36", (_("Sicilian"),_("Accelerated Fianchetto"),_("Gurgenidze
variation"),)),
+"r1bqk1nr/pp1pppbp/2n3p1/8/2PNP3/8/PP3PPP/RNBQKB1R w KQkq - 1 6": ("B37",
(_("Sicilian"),_("Accelerated Fianchetto"),_("Maroczy bind"),"5...Bg7",)),
+"r1bqk2r/pp2ppbp/2np2pn/8/2P1P3/8/PPN1BPPP/RNBQK2R w KQkq - 2 8": ("B37",
(_("Sicilian"),_("Accelerated Fianchetto"),_("Simagin variation"),)),
+"r1bqk1nr/pp1pppbp/2n3p1/8/2PNP3/4B3/PP3PPP/RN1QKB1R b KQkq - 2 6":
("B38", (_("Sicilian"),_("Accelerated Fianchetto"),_("Maroczy
bind"),"6.Be3",)),
+"r1bqk2r/pp1pppbp/2n3p1/8/2PNP1n1/2N1B3/PP3PPP/R2QKB1R w KQkq - 5 8":
("B39", (_("Sicilian"),_("Accelerated Fianchetto"),_("Breyer variation"),)),
+"rnbqkbnr/pp1p1ppp/4p3/2p5/4P3/5N2/PPPP1PPP/RNBQKB1R w KQkq - 0 3":
("B40", (_("Sicilian defense"),)),
+"rnbqkbnr/pp3ppp/4p3/2pp4/3PP3/5N2/PPP2PPP/RNBQKB1R w KQkq d6 0 4":
("B40", (_("Sicilian"),_("Marshall variation"),)),
+"rnbqkbnr/pp1p1ppp/4p3/8/3pP3/5N2/PPP2PPP/RNBQKB1R w KQkq - 0 4": ("B40",
(_("Sicilian defense"),)),
+"rnbqkb1r/pp1p1ppp/4pn2/8/3NP3/8/PPP2PPP/RNBQKB1R w KQkq - 1 5": ("B40",
(_("Sicilian"),_("Anderssen variation"),)),
+"rnbqk2r/pp1p1ppp/4pn2/8/1b1NP3/2N5/PPP2PPP/R1BQKB1R w KQkq - 3 6":
("B40", (_("Sicilian"),_("Pin variation (Sicilian counter-attack)"),)),
+"rnbqk2r/pp1p1ppp/5n2/4p3/1b1NP3/2NB4/PPP2PPP/R1BQK2R w KQkq - 0 7":
("B40", (_("Sicilian"),_("Pin"),_("Jaffe variation"),)),
+"rnbqk2r/pp1p1ppp/4pn2/4P3/1b1N4/2N5/PPP2PPP/R1BQKB1R b KQkq - 0 6":
("B40", (_("Sicilian"),_("Pin"),_("Koch variation"),)),
+"rnbqkbnr/1p1p1ppp/p3p3/8/3NP3/8/PPP2PPP/RNBQKB1R w KQkq - 0 5": ("B41",
(_("Sicilian"),_("Kan variation"),)),
+"rnbqkbnr/1p1p1ppp/p3p3/8/2PNP3/8/PP3PPP/RNBQKB1R b KQkq c3 0 5": ("B41",
(_("Sicilian"),_("Kan"),_("Maroczy bind (Reti variation)"),)),
+"r1bqk2r/1p1p1ppp/p1n1pn2/8/1bPNP3/2N5/PPB2PPP/R1BQK2R b KQkq - 6 8":
("B41", (_("Sicilian"),_("Kan"),_("Maroczy bind - Bronstein variation"),)),
+"rnbqkbnr/1p1p1ppp/p3p3/8/3NP3/3B4/PPP2PPP/RNBQK2R b KQkq - 1 5": ("B42",
(_("Sicilian"),_("Kan"),"5.Bd3",)),
+"rnbqkb1r/1p3p1p/p2ppnp1/8/2PNP3/3B4/PP3PPP/RNBQ1RK1 w kq - 0 8": ("B42",
(_("Sicilian"),_("Kan"),_("Gipslis variation"),)),
+"rnbqk1nr/1p1p1ppp/p3p3/2b5/3NP3/3B4/PPP2PPP/RNBQK2R w KQkq - 2 6":
("B42", (_("Sicilian"),_("Kan"),_("Polugaievsky variation"),)),
+"rnbqkbnr/1p1p1p1p/p3p1p1/8/3NP3/3B4/PPP2PPP/RNBQK2R w KQkq - 0 6":
("B42", (_("Sicilian"),_("Kan"),_("Swiss cheese variation"),)),
+"rnbqkbnr/1p1p1ppp/p3p3/8/3NP3/2N5/PPP2PPP/R1BQKB1R b KQkq - 1 5": ("B43",
(_("Sicilian"),_("Kan"),"5.Nc3",)),
+"r1bqkbnr/pp1p1ppp/2n1p3/8/3NP3/8/PPP2PPP/RNBQKB1R w KQkq - 1 5": ("B44",
(_("Sicilian defense"),)),
+"r1bqkbnr/pp1p1ppp/2n1p3/1N6/4P3/8/PPP2PPP/RNBQKB1R b KQkq - 2 5": ("B44",
(_("Sicilian"),_("Szen (`anti-Taimanov') variation"),)),
+"r1bq1rk1/4bppp/ppnppn2/8/2P1P3/N1N5/PP2BPPP/R1BQ1RK1 w - - 0 11": ("B44",
(_("Sicilian"),_("Szen"),_("hedgehog variation"),)),
+"r1bqkb1r/1p3ppp/p1n1pn2/3p4/2P1P3/N1N5/PP3PPP/R1BQKB1R w KQkq - 0 9":
("B44", (_("Sicilian"),_("Szen variation"),_("Dely-Kasparov gambit"),)),
+"r1bqkbnr/pp1p1ppp/2n1p3/8/3NP3/2N5/PPP2PPP/R1BQKB1R b KQkq - 2 5":
("B45", (_("Sicilian"),_("Taimanov variation"),)),
+"r1bqk2r/pp1p1ppp/2nNpn2/8/1b2P3/2N5/PPP2PPP/R1BQKB1R b KQkq - 6 7":
("B45", (_("Sicilian"),_("Taimanov"),_("American attack"),)),
+"r1bqkbnr/1p1p1ppp/p1n1p3/8/3NP3/2N5/PPP2PPP/R1BQKB1R w KQkq - 0 6":
("B46", (_("Sicilian"),_("Taimanov variation"),)),
+"r1b1kbnr/ppqp1ppp/2n1p3/8/3NP3/2N5/PPP2PPP/R1BQKB1R w KQkq - 3 6":
("B47", (_("Sicilian"),_("Taimanov (Bastrikov) variation"),)),
+"r1b1kbnr/ppqp1ppp/2n1p3/8/3NP3/2N1B3/PPP2PPP/R2QKB1R b KQkq - 4 6":
("B48", (_("Sicilian"),_("Taimanov variation"),)),
+"r1b1kbnr/1pqp1ppp/p1n1p3/8/3NP3/2N1B3/PPP1BPPP/R2QK2R b KQkq - 1 7":
("B49", (_("Sicilian"),_("Taimanov variation"),)),
+"rnbqkbnr/pp2pppp/3p4/2p5/4P3/5N2/PPPP1PPP/RNBQKB1R w KQkq - 0 3": ("B50",
(_("Sicilian"),)),
+"rnbqkbnr/pp2pppp/3p4/2p5/1P2P3/5N2/P1PP1PPP/RNBQKB1R b KQkq b3 0 3":
("B50", (_("Sicilian"),_("wing gambit deferred"),)),
+"rnbqkbnr/pp2pppp/3p4/1Bp5/4P3/5N2/PPPP1PPP/RNBQK2R b KQkq - 1 3": ("B51",
(_("Sicilian"),_("Canal-Sokolsky (Nimzovich-Rossolimo"),_("Moscow)
attack"),)),
+"rn1qkbnr/pp1bpppp/3p4/1Bp5/4P3/5N2/PPPP1PPP/RNBQK2R w KQkq - 2 4":
("B52", (_("Sicilian"),_("Canal-Sokolsky attack"),"3...Bd7",)),
+"r3kb1r/pp1qpppp/2np1n2/2p5/3PP3/2P2N2/PP3PPP/RNBQ1RK1 b kq d3 0 7":
("B52", (_("Sicilian"),_("Canal-Sokolsky attack"),_("Bronstein gambit"),)),
+"rn2kbnr/pp1qpppp/3p4/2p5/2P1P3/5N2/PP1P1PPP/RNBQK2R b KQkq c3 0 5":
("B52", (_("Sicilian"),_("Canal-Sokolsky attack"),_("Sokolsky
variation"),)),
+"rnbqkbnr/pp2pppp/3p4/8/3QP3/5N2/PPP2PPP/RNB1KB1R b KQkq - 0 4": ("B53",
(_("Sicilian"),_("Chekhover variation"),)),
+"r1b1kbnr/pp1qpppp/2np4/1B6/3QP3/5N2/PPP2PPP/RNB1K2R w KQkq - 3 6":
("B53", (_("Sicilian"),_("Chekhover"),_("Zaitsev variation"),)),
+"rnbqkbnr/pp2pppp/3p4/8/3NP3/8/PPP2PPP/RNBQKB1R b KQkq - 0 4": ("B54",
(_("Sicilian"),)),
+"rnbqkb1r/pp2pppp/3p1n2/8/3NP3/5P2/PPP3PP/RNBQKB1R b KQkq - 0 5": ("B54",
(_("Sicilian"),_("Prins (Moscow) variation"),)),
+"rnbqkb1r/pp3ppp/3p1n2/1B2p3/3NP3/5P2/PPP3PP/RNBQK2R b KQkq - 1 6":
("B55", (_("Sicilian"),_("Prins variation"),_("Venice attack"),)),
+"rnbqkb1r/pp2pppp/3p1n2/8/3NP3/2N5/PPP2PPP/R1BQKB1R b KQkq - 2 5": ("B56",
(_("Sicilian"),)),
+"rnbqkb1r/pp3ppp/3p1n2/1B2p3/3NP3/2N5/PPP2PPP/R1BQK2R b KQkq - 1 6":
("B56", (_("Sicilian"),_("Venice attack"),)),
+"r1bqkb1r/pp2pppp/2np1n2/8/3NP3/2N5/PPP2PPP/R1BQKB1R w KQkq - 3 6":
("B56", (_("Sicilian"),)),
+"r1bqkb1r/pp2pppp/2np1n2/8/2BNP3/2N5/PPP2PPP/R1BQK2R b KQkq - 4 6":
("B57", (_("Sicilian"),_("Sozin"),_("not Scheveningen"),)),
+"r1bqkb1r/p3pp1p/2pp1np1/4P3/2B5/2N5/PPP2PPP/R1BQK2R b KQkq - 0 8":
("B57", (_("Sicilian"),_("Magnus Smith trap"),)),
+"r1b1kb1r/pp2pppp/1qnp1n2/8/2BNP3/2N5/PPP2PPP/R1BQK2R w KQkq - 5 7":
("B57", (_("Sicilian"),_("Sozin"),_("Benko variation"),)),
+"r1bqkb1r/pp2pppp/2np1n2/8/3NP3/2N5/PPP1BPPP/R1BQK2R b KQkq - 1 6":
("B58", (_("Sicilian"),_("Classical"),)),
+"r1bqkb1r/pp3ppp/2np1n2/4p3/3NP3/2N5/PPP1BPPP/R1BQK2R w KQkq e6 0 7":
("B58", (_("Sicilian"),_("Boleslavsky variation"),)),
+"r1bqkb1r/pp3ppp/2Np1n2/4p3/4P3/2N5/PPP1BPPP/R1BQK2R b KQkq - 0 7":
("B58", (_("Sicilian"),_("Boleslavsky"),_("Louma variation"),)),
+"r1bqkb1r/pp3ppp/2np1n2/4p3/4P3/1NN5/PPP1BPPP/R1BQK2R b KQkq - 1 7":
("B59", (_("Sicilian"),_("Boleslavsky variation"),"7.Nb3",)),
+"r1bqkb1r/pp2pppp/2np1n2/6B1/3NP3/2N5/PPP2PPP/R2QKB1R b KQkq - 4 6":
("B60", (_("Sicilian"),_("Richter-Rauzer"),)),
+"r1bqkb1r/pp2pp1p/2np1np1/6B1/3NP3/2N5/PPP2PPP/R2QKB1R w KQkq - 0 7":
("B60", (_("Sicilian"),_("Richter-Rauzer"),_("Bondarevsky variation"),)),
+"r2qkb1r/pp1bpppp/2np1n2/6B1/3NP3/2N5/PPP2PPP/R2QKB1R w KQkq - 5 7":
("B60", (_("Sicilian"),_("Richter-Rauzer"),_("Larsen variation"),)),
+"r2qkb1r/pp1bpppp/2np1n2/6B1/3NP3/2N5/PPPQ1PPP/R3KB1R b KQkq - 6 7":
("B61", (_("Sicilian"),_("Richter-Rauzer"),_("Larsen variation"),"7.Qd2",)),
+"r1bqkb1r/pp3ppp/2nppn2/6B1/3NP3/2N5/PPP2PPP/R2QKB1R w KQkq - 0 7":
("B62", (_("Sicilian"),_("Richter-Rauzer"),"6...e6",)),
+"r1bqkb1r/pp3ppp/2nppn2/6B1/4P3/1NN5/PPP2PPP/R2QKB1R b KQkq - 1 7":
("B62", (_("Sicilian"),_("Richter-Rauzer"),_("Podvebrady variation"),)),
+"r1bqkb1r/pp3ppp/2nppn2/1B4B1/3NP3/2N5/PPP2PPP/R2QK2R b KQkq - 1 7":
("B62", (_("Sicilian"),_("Richter-Rauzer"),_("Margate (Alekhine)
variation"),)),
+"r1bqkb1r/pp3ppp/2Nppn2/6B1/4P3/2N5/PPP2PPP/R2QKB1R b KQkq - 0 7": ("B62",
(_("Sicilian"),_("Richter-Rauzer"),_("Richter attack"),)),
+"r1bqkb1r/pp3ppp/2nppn2/6B1/3NP3/2NQ4/PPP2PPP/R3KB1R b KQkq - 1 7":
("B62", (_("Sicilian"),_("Richter-Rauzer"),_("Keres variation"),)),
+"r1bqkb1r/pp3ppp/2nppn2/6B1/3NP3/2N5/PPPQ1PPP/R3KB1R b KQkq - 1 7":
("B63", (_("Sicilian"),_("Richter-Rauzer"),_("Rauzer attack"),)),
+"r1bqk2r/pp2bppp/2nppn2/6B1/3NP3/2N5/PPPQ1PPP/R3KB1R w KQkq - 2 8":
("B63", (_("Sicilian"),_("Richter-Rauzer"),_("Rauzer attack"),"7...Be7",)),
+"r1bq1rk1/pp2bppp/2nppn2/6B1/3NPP2/2N5/PPPQ2PP/2KR1B1R b - f3 0 9":
("B64", (_("Sicilian"),_("Richter-Rauzer"),_("Rauzer attack"),"7...Be7
defense","9.f4",)),
+"r1bq1rk1/pp2bppp/2np1n2/4p1B1/3NPP2/2N5/PPPQ2PP/2KR1B1R w - - 0 10":
("B64", (_("Sicilian"),_("Richter-Rauzer"),_("Rauzer attack"),_("Geller
variation"),)),
+"r1bq1rk1/pp2bppp/3ppn2/6B1/3nPP2/2N5/PPPQ2PP/2KR1B1R w - - 0 10": ("B65",
(_("Sicilian"),_("Richter-Rauzer"),_("Rauzer attack"),"7...Be7
defense","9...Nxd4",)),
+"r1bq1rk1/pp2bppp/3ppn2/6B1/3QPP2/2N5/PPP3PP/2KR1B1R b - - 0 10": ("B65",
(_("Sicilian"),_("Richter-Rauzer"),_("Rauzer attack"),"7...Be7
defense","9...Nxd4",)),
+"r1bqkb1r/1p3ppp/p1nppn2/6B1/3NP3/2N5/PPPQ1PPP/R3KB1R w KQkq - 0 8":
("B66", (_("Sicilian"),_("Richter-Rauzer"),_("Rauzer attack"),"7...a6",)),
+"r2qkb1r/1p1b1ppp/p1nppn2/6B1/3NP3/2N5/PPPQ1PPP/2KR1B1R w kq - 1 9":
("B67", (_("Sicilian"),_("Richter-Rauzer"),_("Rauzer attack"),"7...a6
defense","8...Bd7",)),
+"r2qk2r/1p1bbppp/p1nppn2/6B1/3NPP2/2N5/PPPQ2PP/2KR1B1R w kq - 1 10":
("B68", (_("Sicilian"),_("Richter-Rauzer"),_("Rauzer attack"),"7...a6
defense","9...Be7",)),
+"r2qk2r/3bbppp/p1nppB2/1p6/4PP2/2N2N2/PPPQ2PP/2KR1B1R b kq - 0 11":
("B69", (_("Sicilian"),_("Richter-Rauzer"),_("Rauzer attack"),"7...a6
defense","11.Bxf6",)),
+"rnbqkb1r/pp2pp1p/3p1np1/8/3NP3/2N5/PPP2PPP/R1BQKB1R w KQkq - 0 6":
("B70", (_("Sicilian"),_("Dragon variation"),)),
+"rnbqkb1r/pp2pp1p/3p1np1/8/3NPP2/2N5/PPP3PP/R1BQKB1R b KQkq f3 0 6":
("B71", (_("Sicilian"),_("Dragon"),_("Levenfish variation"),)),
+"r1bqkb1r/pp1npp1p/3p1np1/8/3NPP2/2N5/PPP3PP/R1BQKB1R w KQkq - 1 7":
("B71", (_("Sicilian"),_("Dragon"),_("Levenfish; Flohr variation"),)),
+"rnbqkb1r/pp2pp1p/3p1np1/8/3NP3/2N1B3/PPP2PPP/R2QKB1R b KQkq - 1 6":
("B72", (_("Sicilian"),_("Dragon"),"6.Be3",)),
+"rnbqk2r/pp2ppbp/3p1np1/8/3NP3/2N1B3/PPP1BPPP/R2QK2R b KQkq - 3 7":
("B72", (_("Sicilian"),_("Dragon"),_("Classical attack"),)),
+"r1bqk2r/pp2ppbp/2np1np1/8/3NP3/2N1B3/PPPQBPPP/R3K2R b KQkq - 5 8":
("B72", (_("Sicilian"),_("Dragon"),_("Classical"),_("Amsterdam
variation"),)),
+"r1bq1rk1/pp2ppbp/2np1np1/8/3NP3/2N1B3/PPPQBPPP/2KR3R b - - 0 9": ("B72",
(_("Sicilian"),_("Dragon"),_("Classical"),_("Grigoriev variation"),)),
+"r1bqk2r/pp2ppbp/2np1np1/8/4P3/1NN1B3/PPP1BPPP/R2QK2R b KQkq - 5 8":
("B72", (_("Sicilian"),_("Dragon"),_("Classical"),_("Nottingham
variation"),)),
+"r1bqk2r/pp2ppbp/2np1np1/8/3NP3/2N1B3/PPP1BPPP/R2Q1RK1 b kq - 0 8":
("B73", (_("Sicilian"),_("Dragon"),_("Classical"),"8.O-O",)),
+"r1b2rk1/pp2ppbp/1qnp1np1/4P3/3N1P2/2N1B3/PPP1B1PP/R2Q1RK1 b - - 0 10":
("B73", (_("Sicilian"),_("Dragon"),_("Classical"),_("Zollner gambit"),)),
+"r1bq1rk1/pp2ppbp/2np1np1/8/3NP3/2N1B3/PPPQBPPP/R4RK1 b - - 1 9": ("B73",
(_("Sicilian"),_("Dragon"),_("Classical"),_("Richter variation"),)),
+"r1bq1rk1/pp2ppbp/2np1np1/8/4P3/1NN1B3/PPP1BPPP/R2Q1RK1 b - - 1 9":
("B74", (_("Sicilian"),_("Dragon"),_("Classical"),"9.Nb3",)),
+"r4rk1/pp2ppbp/3p1np1/q4P2/4P1P1/2N1B3/PPP1Q2P/R4RK1 b - g3 0 14": ("B74",
(_("Sicilian"),_("Dragon"),_("Classical"),_("Stockholm attack"),)),
+"r2q1rk1/pp2ppbp/3p1np1/n4P2/2b1P3/1NNBB3/PPP3PP/R2Q1RK1 b - - 2 12":
("B74", (_("Sicilian"),_("Dragon"),_("Classical"),_("Spielmann
variation"),)),
+"r2q1rk1/pp2ppbp/5np1/n2p1P2/4P3/1NNPB3/PP4PP/R2Q1RK1 w - - 0 14": ("B74",
(_("Sicilian"),_("Dragon"),_("Classical"),_("Bernard defense"),)),
+"r1q2rk1/pp2ppbp/2npbnp1/8/4PP2/1NN1B3/PPP1B1PP/R2Q1RK1 w - - 1 11":
("B74", (_("Sicilian"),_("Dragon"),_("Classical"),_("Reti-Tartakower
variation"),)),
+"r1bq1rk1/1p2ppbp/2np1np1/p7/4P3/1NN1B3/PPP1BPPP/R2Q1RK1 w - a6 0 10":
("B74", (_("Sicilian"),_("Dragon"),_("Classical"),_("Alekhine
variation"),)),
+"rnbqk2r/pp2ppbp/3p1np1/8/3NP3/2N1BP2/PPP3PP/R2QKB1R b KQkq - 0 7":
("B75", (_("Sicilian"),_("Dragon"),_("Yugoslav attack"),)),
+"rnbq1rk1/pp2ppbp/3p1np1/8/3NP3/2N1BP2/PPP3PP/R2QKB1R w KQ - 0 8": ("B76",
(_("Sicilian"),_("Dragon"),_("Yugoslav attack"),"7...O-O",)),
+"r1bq1rk1/pp2ppbp/2np1np1/8/3NP3/2N1BP2/PPPQ2PP/2KR1B1R b - - 0 9":
("B76", (_("Sicilian"),_("Dragon"),_("Yugoslav attack"),_("Rauser
variation"),)),
+"r1bq1rk1/pp2ppbp/2np1np1/8/2BNP3/2N1BP2/PPPQ2PP/R3K2R b KQ - 3 9":
("B77", (_("Sicilian"),_("Dragon"),_("Yugoslav attack"),"9.Bc4",)),
+"r1bq1rk1/1p2ppbp/2np1np1/p7/2BNP3/2N1BP2/PPPQ2PP/R3K2R w KQ a6 0 10":
("B77", (_("Sicilian"),_("Dragon"),_("Yugoslav attack"),_("Byrne
variation"),)),
+"r2q1rk1/pp1bppbp/2np1np1/8/2BNP3/2N1BP2/PPPQ2PP/R3K2R w KQ - 4 10":
("B77", (_("Sicilian"),_("Dragon"),_("Yugoslav attack"),"9...Bd7",)),
+"r2q1rk1/pp1bppbp/2np1np1/8/2BNP3/2N1BP2/PPPQ2PP/2KR3R b - - 0 10":
("B78", (_("Sicilian"),_("Dragon"),_("Yugoslav attack"),"10.O-O-O",)),
+"r1r3k1/pp1bppbp/2np1np1/q7/3NP2P/1BN1BP2/PPPQ2P1/2KR3R b - h3 0 12":
("B79", (_("Sicilian"),_("Dragon"),_("Yugoslav attack"),"12.h4",)),
+"rnbqkb1r/pp3ppp/3ppn2/8/3NP3/2N5/PPP2PPP/R1BQKB1R w KQkq - 0 6": ("B80",
(_("Sicilian"),_("Scheveningen variation"),)),
+"rnbqkb1r/1p3ppp/p2ppn2/8/3NP3/2N1B3/PPPQ1PPP/R3KB1R b KQkq - 1 7":
("B80", (_("Sicilian"),_("Scheveningen"),_("English variation"),)),
+"rnbqkb1r/pp3ppp/3ppn2/1B6/3NP3/2N5/PPP2PPP/R1BQK2R b KQkq - 1 6": ("B80",
(_("Sicilian"),_("Scheveningen"),_("Vitolins variation"),)),
+"rnbqkb1r/pp3ppp/3ppn2/8/3NP3/2N3P1/PPP2P1P/R1BQKB1R b KQkq - 0 6":
("B80", (_("Sicilian"),_("Scheveningen"),_("Fianchetto variation"),)),
+"rnbqkb1r/pp3ppp/3ppn2/8/3NP1P1/2N5/PPP2P1P/R1BQKB1R b KQkq g3 0 6":
("B81", (_("Sicilian"),_("Scheveningen"),_("Keres attack"),)),
+"rnbqkb1r/pp3ppp/3ppn2/8/3NPP2/2N5/PPP3PP/R1BQKB1R b KQkq f3 0 6": ("B82",
(_("Sicilian"),_("Scheveningen"),"6.f4",)),
+"r1bqk2r/pp2bppp/2nppn2/8/3NPP2/2N1BQ2/PPP3PP/R3KB1R b KQkq - 4 8":
("B82", (_("Sicilian"),_("Scheveningen"),_("Tal variation"),)),
+"rnbqkb1r/pp3ppp/3ppn2/8/3NP3/2N5/PPP1BPPP/R1BQK2R b KQkq - 1 6": ("B83",
(_("Sicilian"),_("Scheveningen"),"6.Be2",)),
+"r1bqkb1r/pp3ppp/2nppn2/8/3NP3/2N5/PPP1BPPP/R1BQK2R w KQkq - 2 7": ("B83",
(_("Sicilian"),_("Modern Scheveningen"),)),
+"r1bq1rk1/pp2bppp/2nppn2/8/3NPP2/2N1B3/PPP1B1PP/R2Q1RK1 b - f3 0 9":
("B83", (_("Sicilian"),_("Modern Scheveningen"),_("Main line"),)),
+"r2q1rk1/pp1bbppp/2nppn2/8/4PP2/1NN1B3/PPP1B1PP/R2Q1RK1 b - - 2 10":
("B83", (_("Sicilian"),_("Modern Scheveningen"),_("Main line with Nb3"),)),
+"rnbqkb1r/1p3ppp/p2ppn2/8/3NP3/2N5/PPP1BPPP/R1BQK2R w KQkq - 0 7": ("B84",
(_("Sicilian"),_("Scheveningen (Paulsen)"),_("Classical variation"),)),
+"r1bqkb1r/1p1n1ppp/p2ppn2/8/3NP3/2N5/PPP1BPPP/R1BQ1RK1 w kq - 1 8":
("B84", (_("Sicilian"),_("Scheveningen"),_("Classical"),_("Nd7 system"),)),
+"rnb1kb1r/1pq2ppp/p2ppn2/8/3NP3/2N5/PPP1BPPP/R1BQ1RK1 w kq - 1 8": ("B84",
(_("Sicilian"),_("Scheveningen (Paulsen)"),_("Classical variation"),)),
+"r1b1kb1r/1pq2ppp/p1nppn2/8/3NPP2/2N5/PPP1B1PP/R1BQ1RK1 w kq - 1 9":
("B85", (_("Sicilian"),_("Scheveningen"),_("Classical variation with ...Qc7
and ...Nc6"),)),
+"r1b1k2r/1pq1bppp/p1nppn2/8/P2NPP2/2N5/1PP1B1PP/R1BQ1R1K b kq a3 0 10":
("B85", (_("Sicilian"),_("Scheveningen"),_("Classical"),_("Maroczy
system"),)),
+"r1b1kb1r/1pq2ppp/p1nppn2/8/3NPP2/2N1B3/PPP1B1PP/R2Q1RK1 b kq - 2 9":
("B85", (_("Sicilian"),_("Scheveningen"),_("Classical"),)),
+"r1b2rk1/1pq1bppp/p1nppn2/8/3NPP2/2N1B3/PPP1B1PP/R3QRK1 w - - 0 11":
("B85", (_("Sicilian"),_("Scheveningen"),_("Classical Main line"),)),
+"rnbqkb1r/pp3ppp/3ppn2/8/2BNP3/2N5/PPP2PPP/R1BQK2R b KQkq - 1 6": ("B86",
(_("Sicilian"),_("Sozin attack"),)),
+"rnbqkb1r/5ppp/p2ppn2/1p6/3NP3/1BN5/PPP2PPP/R1BQK2R w KQkq b6 0 8":
("B87", (_("Sicilian"),_("Sozin with ...a6 and ...b5"),)),
+"r1bqkb1r/pp3ppp/2nppn2/8/2BNP3/2N5/PPP2PPP/R1BQK2R w KQkq - 2 7": ("B88",
(_("Sicilian"),_("Sozin"),_("Leonhardt variation"),)),
+"r1bq1rk1/pp2bppp/2nppn2/8/3NPP2/1BN1B3/PPP3PP/R2QK2R b KQ f3 0 9":
("B88", (_("Sicilian"),_("Sozin"),_("Fischer variation"),)),
+"r1bqkb1r/pp3ppp/2nppn2/8/2BNP3/2N1B3/PPP2PPP/R2QK2R b KQkq - 3 7":
("B89", (_("Sicilian"),_("Sozin"),"7.Be3",)),
+"r1bqk2r/pp2bppp/2nppn2/8/2BNP3/2N1B3/PPP1QPPP/R3K2R b KQkq - 5 8":
("B89", (_("Sicilian"),_("Velimirovic attack"),)),
+"rnbqkb1r/1p2pppp/p2p1n2/8/3NP3/2N5/PPP2PPP/R1BQKB1R w KQkq - 0 6":
("B90", (_("Sicilian"),_("Najdorf"),)),
+"rnbqkb1r/1p2pppp/p2p1n2/8/3NP3/2N4P/PPP2PP1/R1BQKB1R b KQkq - 0 6":
("B90", (_("Sicilian"),_("Najdorf"),_("Adams attack"),)),
+"rnbqkb1r/1p2pppp/p2p1n2/8/2BNP3/2N5/PPP2PPP/R1BQK2R b KQkq - 1 6":
("B90", (_("Sicilian"),_("Najdorf"),_("Lipnitzky attack"),)),
+"rnbqkb1r/1p2pppp/p2p1n2/8/3NP3/2N1B3/PPP2PPP/R2QKB1R b KQkq - 1 6":
("B90", (_("Sicilian"),_("Najdorf"),_("Byrne (English) attack"),)),
+"rnbqkb1r/1p2pppp/p2p1n2/8/3NP3/2N3P1/PPP2P1P/R1BQKB1R b KQkq - 0 6":
("B91", (_("Sicilian"),_("Najdorf"),_("Zagreb (Fianchetto) variation"),)),
+"rnbqkb1r/1p2pppp/p2p1n2/8/3NP3/2N5/PPP1BPPP/R1BQK2R b KQkq - 1 6":
("B92", (_("Sicilian"),_("Najdorf"),_("Opovcensky variation"),)),
+"rnbqkb1r/1p2pppp/p2p1n2/8/3NPP2/2N5/PPP3PP/R1BQKB1R b KQkq f3 0 6":
("B93", (_("Sicilian"),_("Najdorf"),"6.f4",)),
+"rnbqkb1r/1p2pppp/p2p1n2/6B1/3NP3/2N5/PPP2PPP/R2QKB1R b KQkq - 1 6":
("B94", (_("Sicilian"),_("Najdorf"),"6.Bg5",)),
+"r3kb1r/1b3ppp/p2ppn2/qpn1P1B1/3N4/1BN5/PPPQ1PPP/2KRR3 b kq - 0 12":
("B94", (_("Sicilian"),_("Najdorf"),_("Ivkov variation"),)),
+"rnbqkb1r/1p3ppp/p2ppn2/6B1/3NP3/2N5/PPP2PPP/R2QKB1R w KQkq - 0 7":
("B95", (_("Sicilian"),_("Najdorf"),"6...e6",)),
+"rnbqkb1r/1p3ppp/p2ppn2/6B1/3NPP2/2N5/PPP3PP/R2QKB1R b KQkq f3 0 7":
("B96", (_("Sicilian"),_("Najdorf"),"7.f4",)),
+"rnbqkb1r/5ppp/p2ppn2/1p4B1/3NPP2/2N5/PPP3PP/R2QKB1R w KQkq b6 0 8":
("B96", (_("Sicilian"),_("Najdorf"),_("Polugayevsky variation"),)),
+"rnb1kb1r/2q2ppp/p3pn2/1p2P1B1/3N4/2N5/PPP1Q1PP/R3KB1R b KQkq - 2 10":
("B96", (_("Sicilian"),_("Najdorf"),_("Polugayevsky"),_("Simagin
variation"),)),
+"rnb1kb1r/1p3ppp/pq1ppn2/6B1/3NPP2/2N5/PPP3PP/R2QKB1R w KQkq - 1 8":
("B97", (_("Sicilian"),_("Najdorf"),"7...Qb6",)),
+"rnb1kb1r/1p3ppp/p2ppn2/6B1/3NPP2/q1N5/P1PQ2PP/1R2KB1R w Kkq - 2 10":
("B97", (_("Sicilian"),_("Najdorf"),_("Poisoned pawn variation"),)),
+"rnbqk2r/1p2bppp/p2ppn2/6B1/3NPP2/2N5/PPP3PP/R2QKB1R w KQkq - 1 8":
("B98", (_("Sicilian"),_("Najdorf"),"7...Be7",)),
+"rnb1k2r/1pq1bpp1/p2ppn1p/8/3NPP1B/2N2Q2/PPP3PP/R3KB1R w KQkq - 2 10":
("B98", (_("Sicilian"),_("Najdorf"),_("Browne variation"),)),
+"rnbqk2r/1p2bp2/p2ppn1p/6p1/3NPP1B/2N2Q2/PPP3PP/R3KB1R w KQkq g6 0 10":
("B98", (_("Sicilian"),_("Najdorf"),_("Goteborg (Argentine) variation"),)),
+"rnb1k2r/1pq1bppp/p2ppn2/6B1/3NPP2/2N2Q2/PPP3PP/R3KB1R w KQkq - 3 9":
("B98", (_("Sicilian"),_("Najdorf variation"),)),
+"r1b1k2r/1pqnbppp/p2ppn2/6B1/3NPP2/2N2Q2/PPP3PP/2KR1B1R w kq - 1 10":
("B99", (_("Sicilian"),_("Najdorf"),"7...Be7 Main line",)),
+"rnbqkbnr/pppp1ppp/4p3/8/4P3/8/PPPP1PPP/RNBQKBNR w KQkq - 0 2": ("C00",
(_("French defense"),)),
+"rnbqkbnr/pppp1ppp/4p3/8/2P1P3/8/PP1P1PPP/RNBQKBNR b KQkq c3 0 2": ("C00",
(_("French defense"),_("Steiner variation"),)),
+"rnbqkbnr/pppp1ppp/4p3/8/4P3/1P6/P1PP1PPP/RNBQKBNR b KQkq - 0 2": ("C00",
(_("French"),_("Reti (Spielmann) variation"),)),
+"rnbqkbnr/pppp1ppp/4p3/4P3/8/8/PPPP1PPP/RNBQKBNR b KQkq - 0 2": ("C00",
(_("French"),_("Steinitz attack"),)),
+"rnbqkbnr/pppp1ppp/4p3/8/4PP2/8/PPPP2PP/RNBQKBNR b KQkq f3 0 2": ("C00",
(_("French"),_("Labourdonnais variation"),)),
+"rnbqkbnr/pppp1ppp/4p3/8/4P3/5N2/PPPP1PPP/RNBQKB1R b KQkq - 1 2": ("C00",
(_("French defense"),)),
+"rnbqkbnr/pp3ppp/4p3/2ppP3/1P6/5N2/P1PP1PPP/RNBQKB1R b KQkq b3 0 4":
("C00", (_("French"),_("Wing gambit"),)),
+"rnbqkbnr/pppp1ppp/4p3/8/4P3/2N5/PPPP1PPP/R1BQKBNR b KQkq - 1 2": ("C00",
(_("French defense"),)),
+"rnbqkbnr/ppp2ppp/4p3/3p4/4PP2/2N5/PPPP2PP/R1BQKBNR b KQkq f3 0 3":
("C00", (_("French"),_("Pelikan variation"),)),
+"rnbqkbnr/ppp2ppp/4p3/3p4/4P3/2N2N2/PPPP1PPP/R1BQKB1R b KQkq - 1 3":
("C00", (_("French"),_("Two knights variation"),)),
+"rnbqkbnr/pppp1ppp/4p3/8/4P3/8/PPPPQPPP/RNB1KBNR b KQkq - 1 2": ("C00",
(_("French"),_("Chigorin variation"),)),
+"rnbqkbnr/pppp1ppp/4p3/8/4P3/3P4/PPP2PPP/RNBQKBNR b KQkq - 0 2": ("C00",
(_("French"),_("King's Indian attack"),)),
+"r1bqkb1r/ppp2ppp/2n1pn2/3p4/4P3/3P1N2/PPPNBPPP/R1BQK2R b KQkq - 5 5":
("C00", (_("French"),_("Reversed Philidor formation"),)),
+"rnbqkbnr/pppp1ppp/4p3/8/3PP3/8/PPP2PPP/RNBQKBNR b KQkq d3 0 2": ("C00",
(_("French defense"),)),
+"rnbqkbnr/ppp2ppp/3pp3/8/3PP3/8/PPP2PPP/RNBQKBNR w KQkq - 0 3": ("C00",
(_("Lengfellner system"),)),
+"rnbqkbnr/1ppp1ppp/p3p3/8/3PP3/8/PPP2PPP/RNBQKBNR w KQkq - 0 3": ("C00",
(_("St. George defense"),)),
+"rnbqkbnr/ppp2ppp/4p3/3p4/3PP3/8/PPP2PPP/RNBQKBNR w KQkq d6 0 3": ("C00",
(_("French defense"),)),
+"rnbqkbnr/ppp2ppp/4p3/3p4/3PP3/3B4/PPP2PPP/RNBQK1NR b KQkq - 1 3": ("C00",
(_("French"),_("Schlechter variation"),)),
+"rnbqkbnr/ppp2ppp/4p3/3p4/3PP3/4B3/PPP2PPP/RN1QKBNR b KQkq - 1 3": ("C00",
(_("French"),_("Alapin variation"),)),
+"rnbqkbnr/ppp2ppp/4p3/3P4/3P4/8/PPP2PPP/RNBQKBNR b KQkq - 0 3": ("C01",
(_("French"),_("Exchange variation"),)),
+"rnbqkb1r/ppp2ppp/5n2/3p2B1/3P4/2N5/PPP2PPP/R2QKBNR b KQkq - 3 5": ("C01",
(_("French"),_("Exchange"),_("Svenonius variation"),)),
+"r1bqkb1r/ppp2ppp/2n2n2/3p2B1/3P4/2N5/PPP2PPP/R2QKBNR w KQkq - 4 6":
("C01", (_("French"),_("Exchange"),_("Bogolyubov variation"),)),
+"rnbqkbnr/ppp2ppp/4p3/3pP3/3P4/8/PPP2PPP/RNBQKBNR b KQkq - 0 3": ("C02",
(_("French"),_("Advance variation"),)),
+"rnbqkbnr/pp3ppp/4p3/2PpP3/8/8/PPP2PPP/RNBQKBNR b KQkq - 0 4": ("C02",
(_("French"),_("Advance"),_("Steinitz variation"),)),
+"rnbqkbnr/pp3ppp/4p3/2ppP3/3P2Q1/8/PPP2PPP/RNB1KBNR b KQkq - 1 4": ("C02",
(_("French"),_("Advance"),_("Nimzovich variation"),)),
+"rnbqkbnr/pp3ppp/4p3/2ppP3/3P4/5N2/PPP2PPP/RNBQKB1R b KQkq - 1 4": ("C02",
(_("French"),_("Advance"),_("Nimzovich system"),)),
+"rnbqkbnr/pp3ppp/4p3/2ppP3/3P4/2P5/PP3PPP/RNBQKBNR b KQkq - 0 4": ("C02",
(_("French"),_("Advance variation"),)),
+"rn2kbnr/pp1b1ppp/1q2p3/2ppP3/3P4/2P2N2/PP3PPP/RNBQKB1R w KQkq - 3 6":
("C02", (_("French"),_("Advance"),_("Wade variation"),)),
+"r1bqkbnr/pp3ppp/2n1p3/2ppP3/3P4/2P5/PP3PPP/RNBQKBNR w KQkq - 1 5":
("C02", (_("French"),_("Advance variation"),)),
+"r1bqkbnr/pp3ppp/2n1p3/2ppP3/3P4/2P2N2/PP3PPP/RNBQKB1R b KQkq - 2 5":
("C02", (_("French"),_("Advance"),_("Paulsen attack"),)),
+"r1b1kbnr/pp3ppp/1qn1p3/2ppP3/3P4/2PB1N2/PP3PPP/RNBQK2R b KQkq - 4 6":
("C02", (_("French"),_("Advance"),_("Milner-Barry gambit"),)),
+"r2qkbnr/pp1b1ppp/2n1p3/2ppP3/3P4/2P2N2/PP3PPP/RNBQKB1R w KQkq - 3 6":
("C02", (_("French"),_("Advance"),_("Euwe variation"),)),
+"rnbqkbnr/ppp2ppp/4p3/3p4/3PP3/8/PPPN1PPP/R1BQKBNR b KQkq - 1 3": ("C03",
(_("French"),_("Tarrasch"),)),
+"rnbqkbnr/ppp3pp/4p3/3p1p2/3PP3/8/PPPN1PPP/R1BQKBNR w KQkq f6 0 4":
("C03", (_("French"),_("Tarrasch"),_("Haberditz variation"),)),
+"r1bqkbnr/ppp2ppp/2n1p3/3p4/3PP3/8/PPPN1PPP/R1BQKBNR w KQkq - 2 4":
("C03", (_("French"),_("Tarrasch"),_("Guimard variation"),)),
+"r1bqkb1r/ppp2ppp/2n1pn2/3p4/3PP3/5N2/PPPN1PPP/R1BQKB1R w KQkq - 4 5":
("C04", (_("French"),_("Tarrasch"),_("Guimard Main line"),)),
+"rnbqkb1r/ppp2ppp/4pn2/3p4/3PP3/8/PPPN1PPP/R1BQKBNR w KQkq - 2 4": ("C05",
(_("French"),_("Tarrasch"),_("Closed variation"),)),
+"rnbqkb1r/p2n1ppp/1p2p3/2ppP3/3P4/2PB4/PP1N1PPP/R1BQK1NR w KQkq - 0 7":
("C05", (_("French"),_("Tarrasch"),_("Botvinnik variation"),)),
+"r1bqkb1r/pp1n1ppp/2n1p3/2ppP3/3P4/2PB4/PP1N1PPP/R1BQK1NR w KQkq - 1 7":
("C05", (_("French"),_("Tarrasch"),_("Closed variation"),)),
+"r1bqkb1r/pp1n1ppp/2n1p3/3pP3/3P4/3B4/PP1NNPPP/R1BQK2R b KQkq - 0 8":
("C06", (_("French"),_("Tarrasch"),_("Closed variation"),_("Main line"),)),
+"r1bqkb1r/pp3ppp/1nn1p3/3pP3/3P4/3B4/PP1NNPPP/R1BQK2R w KQkq - 1 9":
("C06", (_("French"),_("Tarrasch"),_("Leningrad variation"),)),
+"rnbqkbnr/pp3ppp/4p3/2pp4/3PP3/8/PPPN1PPP/R1BQKBNR w KQkq c6 0 4": ("C07",
(_("French"),_("Tarrasch"),_("Open variation"),)),
+"rnbqkbnr/pp3ppp/4p3/8/2Bp4/5N2/PPPN1PPP/R1BQK2R w KQkq - 2 7": ("C07",
(_("French"),_("Tarrasch"),_("Eliskases variation"),)),
+"rnbqkbnr/pp3ppp/8/2pp4/3P4/8/PPPN1PPP/R1BQKBNR w KQkq - 0 5": ("C08",
(_("French"),_("Tarrasch"),_("Open"),"4.ed ed",)),
+"r1bqkbnr/pp3ppp/2n5/2pp4/3P4/5N2/PPPN1PPP/R1BQKB1R w KQkq - 2 6": ("C09",
(_("French"),_("Tarrasch"),_("Open variation"),_("Main line"),)),
+"rnbqkbnr/ppp2ppp/4p3/3p4/3PP3/2N5/PPP2PPP/R1BQKBNR b KQkq - 1 3": ("C10",
(_("French"),_("Paulsen variation"),)),
+"rnbqkbnr/pp3ppp/4p3/2pp4/3PP3/2N5/PPP2PPP/R1BQKBNR w KQkq c6 0 4":
("C10", (_("French"),_("Marshall variation"),)),
+"rnbqkbnr/ppp2ppp/4p3/8/3Pp3/2N5/PPP2PPP/R1BQKBNR w KQkq - 0 4": ("C10",
(_("French"),_("Rubinstein variation"),)),
+"rn1qkbnr/ppp2ppp/2b1p3/8/3PN3/5N2/PPP2PPP/R1BQKB1R w KQkq - 3 6": ("C10",
(_("French"),_("Fort Knox variation"),)),
+"r1bqkbnr/pppn1ppp/4p3/8/3PN3/8/PPP2PPP/R1BQKBNR w KQkq - 1 5": ("C10",
(_("French"),_("Rubinstein variation"),)),
+"r1bqkb1r/ppp2ppp/4pn2/4N3/3P4/8/PPP2PPP/R1BQKB1R b KQkq - 1 7": ("C10",
(_("French"),_("Rubinstein"),_("Capablanca line"),)),
+"rnb1kbnr/ppp2ppp/4p3/3q4/3PN3/8/PPP2PPP/R1BQKBNR w KQkq - 1 5": ("C10",
(_("French"),_("Frere (Becker) variation"),)),
+"rnbqkb1r/ppp2ppp/4pn2/3p4/3PP3/2N5/PPP2PPP/R1BQKBNR w KQkq - 2 4":
("C11", (_("French defense"),)),
+"rnbqkb1r/ppp2ppp/4pn2/3p4/3PP3/2NB4/PPP2PPP/R1BQK1NR b KQkq - 3 4":
("C11", (_("French"),_("Swiss variation"),)),
+"rnbqkb1r/ppp2ppp/4pn2/3p4/3PP3/2N1B3/PPP2PPP/R2QKBNR b KQkq - 3 4":
("C11", (_("French"),_("Henneberger variation"),)),
+"rnbqkb1r/ppp2ppp/4pn2/3pP3/3P4/2N5/PPP2PPP/R1BQKBNR b KQkq - 0 4":
("C11", (_("French"),_("Steinitz variation"),)),
+"rnbqk2r/pp1n1ppp/4p3/2bpP3/5PQ1/2N5/PPP3PP/R1B1KBNR b KQkq - 1 7":
("C11", (_("French"),_("Steinitz"),_("Bradford attack"),)),
+"r1bqkb1r/pp1n1ppp/2n1p3/2PpP3/5P2/2N5/PPP3PP/R1BQKBNR w KQkq - 1 7":
("C11", (_("French"),_("Steinitz variation"),)),
+"r1bq1rk1/pp1n2pp/2n1pp2/2bpP3/5PQ1/P1N2N2/1PP3PP/R1B1KB1R w KQ - 0 10":
("C11", (_("French"),_("Steinitz"),_("Brodsky-Jones variation"),)),
+"rnbqkb1r/pp1n1ppp/4p3/2ppP3/3P1P2/2N2N2/PPP3PP/R1BQKB1R b KQkq - 1 6":
("C11", (_("French"),_("Steinitz variation"),)),
+"r1bqkb1r/pp1n1ppp/2n1p3/2ppP3/3P1P2/2N1BN2/PPP3PP/R2QKB1R b KQkq - 3 7":
("C11", (_("French"),_("Steinitz"),_("Boleslavsky variation"),)),
+"rnbqkb1r/pppn1ppp/4p3/3pP3/3P2Q1/2N5/PPP2PPP/R1B1KBNR b KQkq - 2 5":
("C11", (_("French"),_("Steinitz"),_("Gledhill attack"),)),
+"rnbqkb1r/ppp2ppp/4pn2/6B1/3Pp3/2N5/PPP2PPP/R2QKBNR w KQkq - 0 5": ("C11",
(_("French"),_("Burn variation"),)),
+"rnbqk2r/ppp2ppp/4pn2/3p2B1/1b1PP3/2N5/PPP2PPP/R2QKBNR w KQkq - 4 5":
("C12", (_("French"),_("MacCutcheon variation"),)),
+"rnb1k2r/ppp2p1p/4pp2/q7/1b1P4/2N5/PPPQ1PPP/R3KBNR w KQkq - 2 8": ("C12",
(_("French"),_("MacCutcheon"),_("Bogolyubov variation"),)),
+"rnbqk2r/ppp2ppp/4pn2/3pP1B1/1b1P4/2N5/PPP2PPP/R2QKBNR b KQkq - 0 5":
("C12", (_("French"),_("MacCutcheon"),_("Advance variation"),)),
+"rnbqk2r/ppp2pp1/4pP1p/3p2B1/1b1P4/2N5/PPP2PPP/R2QKBNR b KQkq - 0 6":
("C12", (_("French"),_("MacCutcheon"),_("Chigorin variation"),)),
+"rnbqk1r1/ppp2pP1/4p3/3p4/1b1P2Qp/2N5/PPP2PP1/R3KBNR b KQq - 1 9": ("C12",
(_("French"),_("MacCutcheon"),_("Grigoriev variation"),)),
+"rnbqk2r/ppp2pp1/4pn1p/3pP3/1b1P3B/2N5/PPP2PPP/R2QKBNR b KQkq - 1 6":
("C12", (_("French"),_("MacCutcheon"),_("Bernstein variation"),)),
+"rnbqk2r/ppp2pp1/4pn1p/3pP3/1b1P4/2N1B3/PPP2PPP/R2QKBNR b KQkq - 1 6":
("C12", (_("French"),_("MacCutcheon"),_("Janowski variation"),)),
+"rnbqk2r/ppp2pp1/4pn1p/3pP3/1b1P4/2N5/PPP2PPP/R1BQKBNR b KQkq - 1 6":
("C12", (_("French"),_("MacCutcheon"),_("Dr. Olland (Dutch) variation"),)),
+"rnbqk2r/pppn1pp1/4p2p/3pP3/1b1P4/2N5/PPPB1PPP/R2QKBNR w KQkq - 2 7":
("C12", (_("French"),_("MacCutcheon"),_("Tartakower variation"),)),
+"rnbqk2r/ppp2pp1/4pn1p/3pP3/3P4/2b5/PPPB1PPP/R2QKBNR w KQkq - 0 7":
("C12", (_("French"),_("MacCutcheon"),_("Lasker variation"),)),
+"rnbq1k1r/ppp2pp1/4p2p/3pP3/3Pn1Q1/2P5/P1P2PPP/R1B1KBNR b KQ - 4 9":
("C12", (_("French"),_("MacCutcheon"),_("Duras variation"),)),
+"rnbqk2r/ppp2p2/4p1pp/3pP3/3Pn1Q1/2P5/P1PB1PPP/R3KBNR w KQkq - 0 9":
("C12", (_("French"),_("MacCutcheon"),_("Lasker variation"),"8...g6",)),
+"rnbqk2r/ppp1bppp/4pn2/3p2B1/3PP3/2N5/PPP2PPP/R2QKBNR w KQkq - 4 5":
("C13", (_("French"),_("Classical"),)),
+"rnbqk2r/ppp1bppp/4pB2/3p4/3PP3/2N5/PPP2PPP/R2QKBNR b KQkq - 0 5": ("C13",
(_("French"),_("Classical"),_("Anderssen variation"),)),
+"rnbqk2r/ppp1bppp/4p3/3pP3/3P2Q1/2N5/PPP2PPP/R3KBNR b KQkq - 2 7": ("C13",
(_("French"),_("Classical"),_("Anderssen-Richter variation"),)),
+"rnbqk1nr/ppp1bppp/4p3/3pP1B1/3P4/2N5/PPP2PPP/R2QKBNR w KQkq - 1 6":
("C13", (_("French"),_("Classical"),_("Vistaneckis (Nimzovich)
variation"),)),
+"rnbqk1nr/p1p1bppp/1p2p3/3pP3/3P4/2N1B3/PPP2PPP/R2QKBNR w KQkq - 0 7":
("C13", (_("French"),_("Classical"),_("Frankfurt variation"),)),
+"rnbqk2r/ppp1bppp/4p3/3pP1B1/3Pn3/2N5/PPP2PPP/R2QKBNR w KQkq - 1 6":
("C13", (_("French"),_("Classical"),_("Tartakower variation"),)),
+"rnbqk2r/pppnbppp/4p3/3pP1B1/3P3P/2N5/PPP2PP1/R2QKBNR b KQkq h3 0 6":
("C13", (_("French"),_("Albin-Alekhine-Chatard attack"),)),
+"rnbqk2r/1ppnbppp/p3p3/3pP1B1/3P3P/2N5/PPP2PP1/R2QKBNR w KQkq - 0 7":
("C13", (_("French"),_("Albin-Alekhine-Chatard attack"),_("Maroczy
variation"),)),
+"rnbqk2r/pp1nbppp/4p3/2ppP1B1/3P3P/2N5/PPP2PP1/R2QKBNR w KQkq c6 0 7":
("C13", (_("French"),_("Albin-Alekhine-Chatard attack"),_("Breyer
variation"),)),
+"rnbqk2r/pppnb1pp/4pp2/3pP1B1/3P3P/2N5/PPP2PP1/R2QKBNR w KQkq - 0 7":
("C13", (_("French"),_("Albin-Alekhine-Chatard attack"),_("Teichmann
variation"),)),
+"rnbq1rk1/pppnbppp/4p3/3pP1B1/3P3P/2N5/PPP2PP1/R2QKBNR w KQ - 0 7":
("C13", (_("French"),_("Albin-Alekhine-Chatard attack"),_("Spielmann
variation"),)),
+"rnb1k2r/pppnqppp/4p3/3pP3/3P4/2N5/PPP2PPP/R2QKBNR w KQkq - 0 7": ("C14",
(_("French"),_("Classical variation"),)),
+"rnb1k2r/pppnqppp/4p3/3pP3/3P4/2NB4/PPP2PPP/R2QK1NR b KQkq - 1 7": ("C14",
(_("French"),_("Classical"),_("Tarrasch variation"),)),
+"rnb1k2r/pppnqppp/4p3/3pP3/3P4/2N5/PPPQ1PPP/R3KBNR b KQkq - 1 7": ("C14",
(_("French"),_("Classical"),_("Rubinstein variation"),)),
+"rnb1k2r/pppnqppp/4p3/1N1pP3/3P4/8/PPP2PPP/R2QKBNR b KQkq - 1 7": ("C14",
(_("French"),_("Classical"),_("Alapin variation"),)),
+"rnb1k2r/pppnqppp/4p3/3pP3/3P2Q1/2N5/PPP2PPP/R3KBNR b KQkq - 1 7": ("C14",
(_("French"),_("Classical"),_("Pollock variation"),)),
+"rnb1k2r/pppnqppp/4p3/3pP3/3P1P2/2N5/PPP3PP/R2QKBNR b KQkq f3 0 7":
("C14", (_("French"),_("Classical"),_("Steinitz variation"),)),
+"r1b2rk1/pp1nqppp/2n1p3/3pP3/2pP1P2/2N2N2/PPPQ2PP/2KR1B1R w - - 0 11":
("C14", (_("French"),_("Classical"),_("Stahlberg variation"),)),
+"rnbqk1nr/ppp2ppp/4p3/3p4/1b1PP3/2N5/PPP2PPP/R1BQKBNR w KQkq - 2 4":
("C15", (_("French"),_("Winawer (Nimzovich) variation"),)),
+"rnb1k1nr/pp3ppp/4p3/2pq4/1b1P4/2NB4/PPPB1PPP/R2QK1NR b KQkq - 1 6":
("C15", (_("French"),_("Winawer"),_("Kondratiyev variation"),)),
+"rnbqk1nr/ppp2ppp/4p3/3p4/1b1PP3/2N5/PPPB1PPP/R2QKBNR b KQkq - 3 4":
("C15", (_("French"),_("Winawer"),_("fingerslip variation"),)),
+"rnbqk1nr/ppp2ppp/4p3/3p4/1b1PP3/2N5/PPP1NPPP/R1BQKB1R b KQkq - 3 4":
("C15", (_("French"),_("Winawer"),_("Alekhine (Maroczy) gambit"),)),
+"r1bq1rk1/ppp1bppp/2n1pn2/8/3PN3/P5N1/1PP1BPPP/R1BQK2R w KQ - 2 9":
("C15", (_("French"),_("Winawer"),_("Alekhine gambit"),_("Alatortsev
variation"),)),
+"rnbqk1nr/ppp2ppp/4p3/8/3Pp3/P1b5/1PP1NPPP/R1BQKB1R w KQkq - 0 6": ("C15",
(_("French"),_("Winawer"),_("Alekhine gambit"),)),
+"r1bqk1nr/ppp2ppp/2n1p3/8/3Pp3/P1N5/1PP2PPP/R1BQKB1R w KQkq - 1 7":
("C15", (_("French"),_("Winawer"),_("Alekhine gambit"),_("Kan
variation"),)),
+"rnbqk1nr/ppp2ppp/4p3/3pP3/1b1P4/2N5/PPP2PPP/R1BQKBNR b KQkq - 0 4":
("C16", (_("French"),_("Winawer"),_("Advance variation"),)),
+"rnb1k1nr/pppq1ppp/4p3/3pP3/1b1P4/2N5/PPP2PPP/R1BQKBNR w KQkq - 1 5":
("C16", (_("French"),_("Winawer"),_("Petrosian variation"),)),
+"rnbqk1nr/pp3ppp/4p3/2ppP3/1b1P4/2N5/PPP2PPP/R1BQKBNR w KQkq c6 0 5":
("C17", (_("French"),_("Winawer"),_("Advance variation"),)),
+"rnbqk1nr/pp3ppp/4p3/2ppP3/1b1P4/2N5/PPPB1PPP/R2QKBNR b KQkq - 1 5":
("C17", (_("French"),_("Winawer"),_("Advance"),_("Bogolyubov variation"),)),
+"rnbqk1nr/pp3ppp/4p3/2ppP3/1b1P2Q1/2N5/PPP2PPP/R1B1KBNR b KQkq - 1 5":
("C17", (_("French"),_("Winawer"),_("Advance"),_("Russian variation"),)),
+"rnbqk1nr/pp3ppp/4p3/2ppP3/1b1P4/P1N5/1PP2PPP/R1BQKBNR b KQkq - 0 5":
("C17", (_("French"),_("Winawer"),_("Advance"),"5.a3",)),
+"rnbqk1nr/pp3ppp/4p3/3pP3/1P6/2p2N2/1PP2PPP/R1BQKB1R b KQkq - 1 7":
("C17", (_("French"),_("Winawer"),_("Advance"),_("Rauzer variation"),)),
+"rnbqk1nr/pp3ppp/4p3/2ppP3/3P4/P1P5/2P2PPP/R1BQKBNR b KQkq - 0 6": ("C18",
(_("French"),_("Winawer"),_("Advance variation"),)),
+"rnb1k1nr/ppq2ppp/4p3/2ppP3/3P4/P1P5/2P2PPP/R1BQKBNR w KQkq - 1 7":
("C18", (_("French"),_("Winawer"),_("Classical variation"),)),
+"rnbqk2r/pp2nppp/4p3/2ppP3/3P4/P1P5/2P2PPP/R1BQKBNR w KQkq - 1 7": ("C19",
(_("French"),_("Winawer"),_("Advance"),"6...Ne7",)),
+"rnbqk2r/pp2nppp/4p3/2ppP3/P2P4/2P5/2P2PPP/R1BQKBNR b KQkq - 0 7": ("C19",
(_("French"),_("Winawer"),_("Advance"),_("Smyslov variation"),)),
+"rnbqk2r/pp2nppp/4p3/2ppP3/3P4/P1P2N2/2P2PPP/R1BQKB1R b KQkq - 2 7":
("C19", (_("French"),_("Winawer"),_("Advance"),_("positional Main line"),)),
+"rnbqk2r/pp2nppp/4p3/2ppP3/3P2Q1/P1P5/2P2PPP/R1B1KBNR b KQkq - 2 7":
("C19", (_("French"),_("Winawer"),_("Advance"),_("poisoned pawn
variation"),)),
+"rnb1k1r1/ppq1np1Q/4p3/3pP3/3p4/P1P5/2P2PPP/R1BK1BNR b q - 1 10": ("C19",
(_("French"),_("Winawer"),_("Advance"),_("poisoned pawn"),_("Euwe-Gligoric
variation"),)),
+"rnb1k1r1/ppq1np1Q/4p3/3pP3/3p4/P1P5/2P1NPPP/R1B1KB1R b KQq - 1 10":
("C19", (_("French"),_("Winawer"),_("Advance"),_("poisoned
pawn"),_("Konstantinopolsky variation"),)),
+"rnbqkbnr/pppp1ppp/8/4p3/4P3/8/PPPP1PPP/RNBQKBNR w KQkq e6 0 2": ("C20",
(_("King's pawn game"),)),
+"rnbqkbnr/pppp1ppp/8/4p3/4P3/3P4/PPP2PPP/RNBQKBNR b KQkq - 0 2": ("C20",
(_("KP"),_("Indian Opening"),)),
+"rnbqkbnr/pppp1ppp/8/4p3/4P3/P7/1PPP1PPP/RNBQKBNR b KQkq - 0 2": ("C20",
(_("KP"),_("Mengarini's Opening"),)),
+"rnbqkbnr/pppp1ppp/8/4p3/4P3/5P2/PPPP2PP/RNBQKBNR b KQkq - 0 2": ("C20",
(_("KP"),_("King's head Opening"),)),
+"rnbqkbnr/pppp1ppp/8/4p2Q/4P3/8/PPPP1PPP/RNB1KBNR b KQkq - 1 2": ("C20",
(_("KP"),_("Patzer Opening"),)),
+"rnbqkbnr/pppp1ppp/8/4p3/4P3/5Q2/PPPP1PPP/RNB1KBNR b KQkq - 1 2": ("C20",
(_("KP"),_("Napoleon's Opening"),)),
+"rnbqkbnr/pppp1ppp/8/4p3/4P3/2P5/PP1P1PPP/RNBQKBNR b KQkq - 0 2": ("C20",
(_("KP"),_("Lopez Opening"),)),
+"rnbqkbnr/pppp1ppp/8/4p3/4P3/8/PPPPNPPP/RNBQKB1R b KQkq - 1 2": ("C20",
(_("Alapin's Opening"),)),
+"rnbqkbnr/pppp1ppp/8/8/3pP3/8/PPP2PPP/RNBQKBNR w KQkq - 0 3": ("C21",
(_("Centre game"),)),
+"rnbqkbnr/p2p1ppp/8/1pp5/2BpP3/5N2/PPP2PPP/RNBQK2R w KQkq b6 0 5": ("C21",
(_("Centre game"),_("Kieseritsky variation"),)),
+"rnbqkbnr/pppp1ppp/8/8/3pPP2/8/PPP3PP/RNBQKBNR b KQkq f3 0 3": ("C21",
(_("Halasz gambit"),)),
+"rnbqkbnr/pppp1ppp/8/8/3pP3/2P5/PP3PPP/RNBQKBNR b KQkq - 0 3": ("C21",
(_("Danish gambit"),)),
+"rnb1kbnr/ppppqppp/8/8/2B1P3/8/PB3PPP/RN1QK1NR w KQkq - 1 6": ("C21",
(_("Danish gambit"),_("Collijn defense"),)),
+"rnbqkbnr/ppp2ppp/8/3p4/2B1P3/8/PB3PPP/RN1QK1NR w KQkq d6 0 6": ("C21",
(_("Danish gambit"),_("Schlechter defense"),)),
+"rnbqkbnr/ppp2ppp/8/3p4/3pP3/2P5/PP3PPP/RNBQKBNR w KQkq d6 0 4": ("C21",
(_("Danish gambit"),_("Soerensen defense"),)),
+"rnbqkbnr/pppp1ppp/8/8/3QP3/8/PPP2PPP/RNB1KBNR b KQkq - 0 3": ("C21",
(_("Centre game"),)),
+"r1bqkbnr/pppp1ppp/2n5/8/3QP3/8/PPP2PPP/RNB1KBNR w KQkq - 1 4": ("C22",
(_("Centre game"),)),
+"r1bqkbnr/pppp1ppp/2n5/8/4P3/4Q3/PPP2PPP/RNB1KBNR b KQkq - 2 4": ("C22",
(_("Centre game"),_("Paulsen attack"),)),
+"r1bqk1nr/ppppbppp/2n5/8/4P3/2P1Q3/PP3PPP/RNB1KBNR w KQkq - 1 6": ("C22",
(_("Centre game"),_("Charousek variation"),)),
+"r1bqkbnr/pppp2pp/2n5/5p2/4P3/4Q3/PPP2PPP/RNB1KBNR w KQkq f6 0 5": ("C22",
(_("Centre game"),_("l'Hermet variation"),)),
+"r1bqkb1r/pppp1ppp/2n2n2/8/4P3/4Q3/PPP2PPP/RNB1KBNR w KQkq - 3 5": ("C22",
(_("Centre game"),_("Berger variation"),)),
+"r1bqr1k1/ppp2ppp/2np1n2/8/1bB1P3/2N1Q2N/PPPB1PPP/2KR3R b - - 1 9":
("C22", (_("Centre game"),_("Kupreichik variation"),)),
+"r1bqkbnr/pppp1ppp/2n5/8/2Q1P3/8/PPP2PPP/RNB1KBNR b KQkq - 2 4": ("C22",
(_("Centre game"),_("Hall variation"),)),
+"rnbqkbnr/pppp1ppp/8/4p3/2B1P3/8/PPPP1PPP/RNBQK1NR b KQkq - 1 2": ("C23",
(_("Bishop's Opening"),)),
+"rnbqkbnr/pp1p1ppp/2p5/4p3/2B1P3/8/PPPP1PPP/RNBQK1NR w KQkq - 0 3":
("C23", (_("Bishop's Opening"),_("Philidor counter-attack"),)),
+"r2qkbnr/pp3ppp/8/3pn3/8/8/PPP1NPPP/RNBQK2R b KQkq - 1 8": ("C23",
(_("Bishop's Opening"),_("Lisitsyn variation"),)),
+"rnbqkbnr/pppp2pp/8/4pp2/2B1P3/8/PPPP1PPP/RNBQK1NR w KQkq f6 0 3": ("C23",
(_("Bishop's Opening"),_("Calabrese counter-gambit"),)),
+"rnbqkbnr/pppp2pp/8/4pp2/2B1P3/3P4/PPP2PPP/RNBQK1NR b KQkq - 0 3": ("C23",
(_("Bishop's Opening"),_("Calabrese counter-gambit"),_("Jaenisch
variation"),)),
+"rnbqk1nr/pppp1ppp/8/2b1p3/2B1P3/8/PPPP1PPP/RNBQK1NR w KQkq - 2 3":
("C23", (_("Bishop's Opening"),_("Classical variation"),)),
+"r1bqk2r/pppp1ppp/2n2n2/2b1p3/2B1PP2/2P5/PP1PQ1PP/RNB1K1NR b KQkq f3 0 5":
("C23", (_("Bishop's Opening"),_("Lopez gambit"),)),
+"rnbqk1nr/pppp1ppp/8/2b1p3/2B1P3/2P5/PP1P1PPP/RNBQK1NR b KQkq - 0 3":
("C23", (_("Bishop's Opening"),_("Philidor variation"),)),
+"rnbq1rk1/ppp2ppp/5P2/2b4Q/2pp4/2P5/PP3PPP/RNB1K1NR w KQ - 0 8": ("C23",
(_("Bishop's Opening"),_("Pratt variation"),)),
+"rnbqk1nr/ppp2ppp/8/2bpp3/2B1P3/2P5/PP1P1PPP/RNBQK1NR w KQkq d6 0 4":
("C23", (_("Bishop's Opening"),_("Lewis counter-gambit"),)),
+"rnb1k1nr/pppp1ppp/8/2b1p1q1/2B1P3/2P5/PP1P1PPP/RNBQK1NR w KQkq - 1 4":
("C23", (_("Bishop's Opening"),_("del Rio variation"),)),
+"rnbqk1nr/pppp1ppp/8/2b1p3/2BPP3/8/PPP2PPP/RNBQK1NR b KQkq d3 0 3":
("C23", (_("Bishop's Opening"),_("Lewis gambit"),)),
+"rnbqk1nr/pppp1ppp/8/2b1p3/1PB1P3/8/P1PP1PPP/RNBQK1NR b KQkq b3 0 3":
("C23", (_("Bishop's Opening"),_("Wing gambit"),)),
+"rnbqk1nr/pppp1ppp/8/4p3/1bB1PP2/8/P1PP2PP/RNBQK1NR b KQkq f3 0 4":
("C23", (_("Bishop's Opening"),_("MacDonnell double gambit"),)),
+"rnbqk1nr/pppp1ppp/8/8/2BPP2b/5N2/P1P4p/RNBQ1R1K b kq - 1 9": ("C23",
(_("Bishop's Opening"),_("Four pawns' gambit"),)),
+"rnbqkb1r/pppp1ppp/5n2/4p3/2B1P3/8/PPPP1PPP/RNBQK1NR w KQkq - 2 3":
("C24", (_("Bishop's Opening"),_("Berlin defense"),)),
+"rnbqkb1r/pppp1ppp/5n2/4p3/2B1PP2/8/PPPP2PP/RNBQK1NR b KQkq f3 0 3":
("C24", (_("Bishop's Opening"),_("Greco gambit"),)),
+"rnbqkb1r/pppp1ppp/5n2/4p3/2BPP3/8/PPP2PPP/RNBQK1NR b KQkq d3 0 3":
("C24", (_("Bishop's Opening"),_("Ponziani gambit"),)),
+"rnbqkb1r/pppp1ppp/5n2/8/2BpP3/5N2/PPP2PPP/RNBQK2R b KQkq - 1 4": ("C24",
(_("Bishop's Opening"),_("Urusov gambit"),)),
+"rnb1k2r/ppp1qppp/5n2/3P4/1bBp4/2P2N2/PP3PPP/RNBQK2R w KQkq - 1 7":
("C24", (_("Bishop's Opening"),_("Urusov gambit"),_("Panov variation"),)),
+"rnbqkbnr/pppp1ppp/8/4p3/4P3/2N5/PPPP1PPP/R1BQKBNR b KQkq - 1 2": ("C25",
(_("Vienna game"),)),
+"rnbqk2r/pppp1ppp/5n2/4p3/1b2P1Q1/2N5/PPPP1PPP/R1B1KBNR w KQkq - 4 4":
("C25", (_("Vienna"),_("Zhuravlev countergambit"),)),
+"r1bqkbnr/pppp1ppp/2n5/4p3/4P3/2N5/PPPP1PPP/R1BQKBNR w KQkq - 2 3":
("C25", (_("Vienna game"),_("Max Lange defense"),)),
+"r1bqkbnr/pppp1ppp/2n5/4p3/4P3/2N3P1/PPPP1P1P/R1BQKBNR b KQkq - 0 3":
("C25", (_("Vienna"),_("Paulsen variation"),)),
+"r1bqkbnr/pppp1ppp/2n5/4p3/3PP3/2N5/PPP2PPP/R1BQKBNR b KQkq d3 0 3":
("C25", (_("Vienna"),_("Fyfe gambit"),)),
+"r1bqkbnr/pppp1ppp/2n5/4p3/4PP2/2N5/PPPP2PP/R1BQKBNR b KQkq f3 0 3":
("C25", (_("Vienna gambit"),)),
+"r1bqkbnr/pppp1ppp/2n5/8/3PPp2/2N5/PPP3PP/R1BQKBNR b KQkq d3 0 4": ("C25",
(_("Vienna"),_("Steinitz gambit"),)),
+"r1b1kbnr/ppp2ppp/2n5/3p4/3PPp1q/2N5/PPP1K1PP/R1BQ1BNR w kq d6 0 6":
("C25", (_("Vienna"),_("Steinitz gambit"),_("Zukertort defense"),)),
+"r1b1kbnr/p1pp1ppp/1pn5/8/3PPp1q/2N5/PPP1K1PP/R1BQ1BNR w kq - 0 6":
("C25", (_("Vienna"),_("Steinitz gambit"),_("Fraser-Minckwitz
variation"),)),
+"r1bqkbnr/pppp1ppp/2n5/8/4Pp2/2N2N2/PPPP2PP/R1BQKB1R b KQkq - 1 4":
("C25", (_("Vienna gambit"),)),
+"r1bqkbnr/pppp1p1p/2n5/6N1/4PppP/2N5/PPPP2P1/R1BQKB1R b KQkq - 1 6":
("C25", (_("Vienna"),_("Hamppe-Allgaier gambit"),)),
+"r1bqkbnr/ppp2p1p/2np4/6N1/4PppP/2N5/PPPP2P1/R1BQKB1R w KQkq - 0 7":
("C25", (_("Vienna"),_("Hamppe-Allgaier gambit"),_("Alapin variation"),)),
+"r1bqkbnr/pppp1p1p/2n5/8/2B1Ppp1/2N2N2/PPPP2PP/R1BQ1RK1 b kq - 0 6":
("C25", (_("Vienna"),_("Hamppe-Muzio gambit"),)),
+"r1b1kbnr/pppp1p1p/5q2/4n3/2B1PQ2/2N5/PPPP2PP/R1B2RK1 w kq - 1 9": ("C25",
(_("Vienna"),_("Hamppe-Muzio"),_("Dubois variation"),)),
+"r1bqkbnr/pppp1p1p/2n5/6p1/3PPp2/2N2N2/PPP3PP/R1BQKB1R b KQkq d3 0 5":
("C25", (_("Vienna"),_("Pierce gambit"),)),
+"r2qkbnr/ppp2p1p/2P5/8/2BP1pb1/2N2p2/PPP3PP/R1BQ1RK1 b kq - 0 9": ("C25",
(_("Vienna"),_("Pierce gambit"),_("Rushmere attack"),)),
+"rnbqkb1r/pppp1ppp/5n2/4p3/4P3/2N5/PPPP1PPP/R1BQKBNR w KQkq - 2 3":
("C26", (_("Vienna"),_("Falkbeer variation"),)),
+"rnbqkb1r/pppp1ppp/5n2/4p3/4P3/P1N5/1PPP1PPP/R1BQKBNR b KQkq - 0 3":
("C26", (_("Vienna"),_("Mengarini variation"),)),
+"rnbqkb1r/pppp1ppp/5n2/4p3/4P3/2N3P1/PPPP1P1P/R1BQKBNR b KQkq - 0 3":
("C26", (_("Vienna"),_("Paulsen-Mieses variation"),)),
+"rnbqkb1r/pppp1ppp/5n2/4p3/2B1P3/2N5/PPPP1PPP/R1BQK1NR b KQkq - 3 3":
("C26", (_("Vienna game"),)),
+"rnbqkb1r/pppp1ppp/8/4p3/2B1n3/2N5/PPPP1PPP/R1BQK1NR w KQkq - 0 4":
("C27", (_("Vienna game"),)),
+"N1bk1b1r/p2pq2p/1pnn2p1/3Qpp2/8/1B6/PPPP1PPP/R1B1K1NR w KQ - 0 11":
("C27", (_("Vienna"),_("`Frankenstein-Dracula' variation"),)),
+"r1bqkb1r/pppp1ppp/2nn4/4p2Q/3P4/1BN5/PPP2PPP/R1B1K1NR b KQkq d3 0 6":
("C27", (_("Vienna"),_("Adams' gambit"),)),
+"rnbqk2r/ppppbppp/3n4/4p2Q/8/1BN5/PPPP1PPP/R1B1K1NR w KQkq - 4 6": ("C27",
(_("Vienna game"),)),
+"r1bqk2r/ppppbppp/2nn4/4N2Q/8/1BN5/PPPP1PPP/R1B1K2R b KQkq - 0 7": ("C27",
(_("Vienna"),_("Alekhine variation"),)),
+"rnbqkb1r/pppp1ppp/8/4p3/2B1n3/2N2N2/PPPP1PPP/R1BQK2R b KQkq - 1 4":
("C27", (_("Boden-Kieseritsky gambit"),)),
+"rnbqkb1r/ppp2ppp/8/3pp3/2B1n3/2N2N2/PPPP1PPP/R1BQK2R w KQkq d6 0 5":
("C27", (_("Boden-Kieseritsky gambit"),_("Lichtenhein defense"),)),
+"r1bqkb1r/pppp1ppp/2n2n2/4p3/2B1P3/2N5/PPPP1PPP/R1BQK1NR w KQkq - 4 4":
("C28", (_("Vienna game"),)),
+"rnbqkb1r/ppp2ppp/5n2/3pp3/4PP2/2N5/PPPP2PP/R1BQKBNR w KQkq d6 0 4":
("C29", (_("Vienna gambit"),)),
+"rn1qkb1r/ppp2ppp/8/3pP3/4n1b1/2N2N2/PPPPQ1PP/R1B1KB1R b KQkq - 3 6":
("C29", (_("Vienna gambit"),_("Kaufmann variation"),)),
+"rnbqk2r/ppp1bppp/8/3pP3/4n3/2N2N2/PPPP2PP/R1BQKB1R w KQkq - 2 6": ("C29",
(_("Vienna gambit"),_("Breyer variation"),)),
+"rnbqkb1r/ppp2ppp/8/3pP3/4n3/2N2Q2/PPPP2PP/R1B1KBNR b KQkq - 1 5": ("C29",
(_("Vienna gambit"),_("Paulsen attack"),)),
+"rnbqkb1r/ppp3pp/8/3pPp2/4n3/2N2Q2/PPPP2PP/R1B1KBNR w KQkq f6 0 6":
("C29", (_("Vienna gambit"),_("Bardeleben variation"),)),
+"rnbqkb1r/ppp3pp/8/3pPp2/3Pn3/2N2Q2/PPP3PP/R1B1KBNR b KQkq d3 0 6":
("C29", (_("Vienna gambit"),_("Heyde variation"),)),
+"rnbqkb1r/ppp2ppp/8/3pP3/4n3/2NP4/PPP3PP/R1BQKBNR b KQkq - 0 5": ("C29",
(_("Vienna gambit"),)),
+"rnb1kb1r/ppp2ppp/8/3NP2q/8/3P1Nn1/PPP4P/R1BQKB1R b KQkq - 0 8": ("C29",
(_("Vienna gambit"),_("Wurzburger trap"),)),
+"rnbqkb1r/ppp2ppp/5n2/3pp3/4PP2/2NP4/PPP3PP/R1BQKBNR b KQkq - 0 4":
("C29", (_("Vienna gambit"),_("Steinitz variation"),)),
+"rnbqkbnr/pppp1ppp/8/4p3/4PP2/8/PPPP2PP/RNBQKBNR b KQkq f3 0 2": ("C30",
(_("King's gambit"),)),
+"rnb1kbnr/ppppqppp/8/4p3/4PP2/6P1/PPPP3P/RNBQKBNR w KQkq - 1 4": ("C30",
(_("KGD"),_("Keene's defense"),)),
+"rnbqkbnr/pp1p1ppp/8/2p1p3/4PP2/8/PPPP2PP/RNBQKBNR w KQkq c6 0 3": ("C30",
(_("KGD"),_("Mafia defense"),)),
+"rnb1kbnr/pppp1ppp/5q2/4p3/4PP2/8/PPPP2PP/RNBQKBNR w KQkq - 1 3": ("C30",
(_("KGD"),_("Norwalde variation"),)),
+"rnb1k1nr/pppp1ppp/8/4p3/1bB1Pq2/2N2N2/PPPP2PP/R1BQK2R b KQkq - 3 5":
("C30", (_("KGD"),_("Norwalde variation"),_("Buecker gambit"),)),
+"rnbqk1nr/pppp1ppp/8/2b1p3/4PP2/8/PPPP2PP/RNBQKBNR w KQkq - 1 3": ("C30",
(_("KGD"),_("Classical variation"),)),
+"r2qk2r/ppp2ppp/2np1n2/2b5/2B1Pp2/2NP1Q1P/PPP3P1/R1B1K2R w KQkq - 0 9":
("C30", (_("KGD"),_("Classical"),_("Svenonius variation"),)),
+"r1bqk1nr/pppn1ppp/3p4/2b1p3/4PP2/2N2N2/PPPP2PP/R1BQKB1R w KQkq - 2 5":
("C30", (_("KGD"),_("Classical"),_("Hanham variation"),)),
+"rnbqk1nr/ppp2ppp/3p4/2b1p3/4PP2/2P2N2/PP1P2PP/RNBQKB1R b KQkq - 0 4":
("C30", (_("KGD"),_("Classical"),"4.c3",)),
+"rn1qk1nr/ppp2ppp/8/2b1p3/Q3P1b1/2P2N2/PP1P2PP/RNB1KB1R b KQkq - 1 6":
("C30", (_("KGD"),_("Classical"),_("Marshall attack"),)),
+"rnbqk1nr/ppp3pp/3p4/2b1pp2/4PP2/2P2N2/PP1P2PP/RNBQKB1R w KQkq f6 0 5":
("C30", (_("KGD"),_("Classical counter-gambit"),)),
+"rnbqk1nr/ppp3pp/8/2b2p2/2BpP3/2P2N2/PP4PP/RNBQK2R b KQkq - 1 7": ("C30",
(_("KGD"),_("Classical"),_("Reti variation"),)),
+"rnbqk1nr/ppp2ppp/3p4/2b1P3/4P3/5N2/PPPP2PP/RNBQKB1R b KQkq - 0 4":
("C30", (_("KGD"),_("Classical"),_("SOldatenkov variation"),)),
+"rnbqk1nr/ppp2ppp/3p4/2b1p3/1P2PP2/5N2/P1PP2PP/RNBQKB1R b KQkq b3 0 4":
("C30", (_("KGD"),_("Classical"),_("Heath variation"),)),
+"rnbqkb1r/pppp1ppp/5n2/4p3/4PP2/8/PPPP2PP/RNBQKBNR w KQkq - 1 3": ("C30",
(_("KGD"),"2...Nf6",)),
+"rnbqkbnr/ppp2ppp/8/3pp3/4PP2/8/PPPP2PP/RNBQKBNR w KQkq d6 0 3": ("C31",
(_("KGD"),_("Falkbeer counter-gambit"),)),
+"rnbqkbnr/ppp2ppp/8/3pp3/4PP2/5N2/PPPP2PP/RNBQKB1R b KQkq - 1 3": ("C31",
(_("KGD"),_("Falkbeer"),_("Tartakower variation"),)),
+"rnbqkbnr/ppp2ppp/8/3pp3/4PP2/2N5/PPPP2PP/R1BQKBNR b KQkq - 1 3": ("C31",
(_("KGD"),_("Falkbeer"),_("Milner-Barry variation"),)),
+"rnbqkbnr/ppp2ppp/8/3Pp3/5P2/8/PPPP2PP/RNBQKBNR b KQkq - 0 3": ("C31",
(_("KGD"),_("Falkbeer counter-gambit"),)),
+"rnbqkbnr/pp3ppp/2p5/3Pp3/5P2/8/PPPP2PP/RNBQKBNR w KQkq - 0 4": ("C31",
(_("KGD"),_("Nimzovich counter-gambit"),)),
+"rnbqkbnr/ppp2ppp/8/3P4/4pP2/8/PPPP2PP/RNBQKBNR w KQkq - 0 4": ("C31",
(_("KGD"),_("Falkbeer"),"3...e4",)),
+"rnbqkb1r/ppp2ppp/5n2/3P4/4pP2/2N5/PPPPQ1PP/R1B1KBNR b KQkq - 3 5":
("C31", (_("KGD"),_("Falkbeer"),_("Rubinstein variation"),)),
+"rnbqkbnr/ppp2ppp/8/1B1P4/4pP2/8/PPPP2PP/RNBQK1NR b KQkq - 1 4": ("C31",
(_("KGD"),_("Falkbeer"),_("Nimzovich variation"),)),
+"rnbqkbnr/ppp2ppp/8/3P4/4pP2/3P4/PPP3PP/RNBQKBNR b KQkq - 0 4": ("C31",
(_("KGD"),_("Falkbeer"),"4.d3",)),
+"rnbqk2r/ppp2ppp/5n2/3P4/1b3P2/2NPp3/PPPB2PP/R2QKBNR w KQkq - 0 7":
("C31", (_("KGD"),_("Falkbeer"),_("Morphy gambit"),)),
+"rnbqkb1r/ppp2ppp/5n2/3P4/4PP2/8/PPP3PP/RNBQKBNR b KQkq - 0 5": ("C32",
(_("KGD"),_("Falkbeer"),"5.de",)),
+"rnb1k2r/ppp2ppp/8/3q4/4nP2/8/PPPNQbPP/RNBK1B1R b kq - 1 9": ("C32",
(_("KGD"),_("Falkbeer"),_("Alapin variation"),)),
+"rn1qk2r/ppp2ppp/8/2bP1b2/4nP2/5N2/PPP1Q1PP/RNB1KB1R w KQkq - 4 8":
("C32", (_("KGD"),_("Falkbeer"),_("Main line"),"7...Bf5",)),
+"rn1q1rk1/ppp2ppp/8/2bP1b2/4nPP1/5N2/PPP1Q2P/RNB1KB1R w KQ - 0 9": ("C32",
(_("KGD"),_("Falkbeer"),_("Tarrasch variation"),)),
+"rnbqkb1r/ppp2ppp/8/3P4/4nP2/8/PPP1Q1PP/RNB1KBNR b KQkq - 1 6": ("C32",
(_("KGD"),_("Falkbeer"),_("Charousek gambit"),)),
+"rnb1kb1r/ppp3pp/8/3q1p2/4nPP1/8/PPPNQ2P/R1B1KBNR b KQkq g3 0 8": ("C32",
(_("KGD"),_("Falkbeer"),_("Charousek variation"),)),
+"rnbqkb1r/ppp2ppp/5n2/3P4/4pP2/3P4/PPPN2PP/R1BQKBNR b KQkq - 2 5": ("C32",
(_("KGD"),_("Falkbeer"),_("Keres variation"),)),
+"rnbqkb1r/ppp2ppp/5n2/3P4/4pP2/3P4/PPP1Q1PP/RNB1KBNR b KQkq - 2 5":
("C32", (_("KGD"),_("Falkbeer"),_("Reti variation"),)),
+"rnbqkbnr/pppp1ppp/8/8/4Pp2/8/PPPP2PP/RNBQKBNR w KQkq - 0 3": ("C33",
(_("King's gambit accepted"),)),
+"rnbqkbnr/pppp1ppp/8/8/4Pp2/8/PPPP1KPP/RNBQ1BNR b kq - 1 3": ("C33",
(_("KGA"),_("Tumbleweed gambit"),)),
+"rnbqkbnr/pppp1ppp/8/8/4Pp2/1P6/P1PP2PP/RNBQKBNR b KQkq - 0 3": ("C33",
(_("KGA"),_("Orsini gambit"),)),
+"rnbqkbnr/pppp1ppp/8/8/4Pp1P/8/PPPP2P1/RNBQKBNR b KQkq h3 0 3": ("C33",
(_("KGA"),_("Pawn's gambit (Stamma gambit)"),)),
+"rnbqkbnr/pppp1ppp/8/8/4Pp2/3B4/PPPP2PP/RNBQK1NR b KQkq - 1 3": ("C33",
(_("KGA"),_("Schurig gambit"),)),
+"rnbqkbnr/pppp1ppp/8/8/4Pp2/8/PPPPQ1PP/RNB1KBNR b KQkq - 1 3": ("C33",
(_("KGA"),_("Carrera (Basman) gambit"),)),
+"rnbqkbnr/pppp1ppp/8/8/3PPp2/8/PPP3PP/RNBQKBNR b KQkq d3 0 3": ("C33",
(_("KGA"),_("Villemson (Steinitz) gambit"),)),
+"rnbqkbnr/pppp1ppp/8/8/4Pp2/2N5/PPPP2PP/R1BQKBNR b KQkq - 1 3": ("C33",
(_("KGA"),_("Keres (Mason-Steinitz) gambit"),)),
+"rnbqkbnr/pppp1ppp/8/8/4Pp2/5Q2/PPPP2PP/RNB1KBNR b KQkq - 1 3": ("C33",
(_("KGA"),_("Breyer gambit"),)),
+"rnbqkbnr/pppp1ppp/8/8/4Pp2/8/PPPPB1PP/RNBQK1NR b KQkq - 1 3": ("C33",
(_("KGA"),_("Lesser Bishop's (Petroff-Jaenisch-Tartakower) gambit"),)),
+"rnbqkbnr/pppp1ppp/8/8/2B1Pp2/8/PPPP2PP/RNBQK1NR b KQkq - 1 3": ("C33",
(_("KGA"),_("Bishop's gambit"),)),
+"rnb1kbnr/ppp2p1p/8/3B2p1/4Pp1q/6P1/PPPP3P/RNBQ1KNR b kq - 0 6": ("C33",
(_("KGA"),_("Bishop's gambit"),_("Chigorin's attack"),)),
+"rnb1k1nr/pppp1ppp/8/2b5/2B1Pp1q/8/PPPP2PP/RNBQ1KNR w kq - 4 5": ("C33",
(_("KGA"),_("Bishop's gambit"),_("Greco variation"),)),
+"rnb1kbnr/pppp1p1p/8/6p1/2B1Pp1q/8/PPPP2PP/RNBQ1KNR w kq g6 0 5": ("C33",
(_("KGA"),_("Bishop's gambit"),_("Classical defense"),)),
+"rnb1k1nr/ppp2pbp/3p4/4P1p1/2BP1p1q/2N5/PPP3PP/R1BQ1KNR b kq - 0 7":
("C33", (_("KGA"),_("Bishop's gambit"),_("Grimm attack"),)),
+"rnb1k2r/ppppnpbp/8/6p1/2BPPp1q/2N5/PPP3PP/R1BQ1KNR w kq - 1 7": ("C33",
(_("KGA"),_("Bishop's gambit"),_("Classical defense"),)),
+"rnb1k2r/ppppnpbp/8/6p1/2BPPp1q/2N3P1/PPP4P/R1BQ1KNR b kq - 0 7": ("C33",
(_("KGA"),_("Bishop's gambit"),_("McDonnell attack"),)),
+"rnb1k1nr/pppp1pbp/8/6p1/2B1Pp1q/2N3P1/PPPP3P/R1BQ1KNR b kq - 0 6":
("C33", (_("KGA"),_("Bishop's gambit"),_("McDonnell attack"),)),
+"rnb1k1nr/pppp1pbp/8/6p1/2B1P2q/2N2Qp1/PPPP3P/R1B2KNR b kq - 1 7": ("C33",
(_("KGA"),_("Bishop's gambit"),_("Fraser variation"),)),
+"rnb1kbnr/pppp1p1p/8/6p1/2B1Pp1q/5Q2/PPPP2PP/RNB2KNR b kq - 1 5": ("C33",
(_("KGA"),_("Bishop's gambit"),_("Classical defense"),_("Cozio attack"),)),
+"r1b1kbnr/pppp1ppp/2n5/8/2B1Pp1q/8/PPPP2PP/RNBQ1KNR w kq - 4 5": ("C33",
(_("KGA"),_("Bishop's gambit"),_("Boden defense"),)),
+"rnb1kbnr/p1pp1ppp/8/1p6/2B1Pp1q/8/PPPP2PP/RNBQ1KNR w kq b6 0 5": ("C33",
(_("KGA"),_("Bishop's gambit"),_("Bryan counter-gambit"),)),
+"rnbqkbnr/p1pp1ppp/8/1p6/2B1Pp2/8/PPPP2PP/RNBQK1NR w KQkq b6 0 4": ("C33",
(_("KGA"),_("Bishop's gambit"),_("Bryan counter-gambit"),)),
+"rnbqkb1r/ppppnppp/8/8/2B1Pp2/8/PPPP2PP/RNBQK1NR w KQkq - 2 4": ("C33",
(_("KGA"),_("Bishop's gambit"),_("Steinitz defense"),)),
+"r1bqkbnr/pppp1ppp/2n5/8/2B1Pp2/8/PPPP2PP/RNBQK1NR w KQkq - 2 4": ("C33",
(_("KGA"),_("Bishop's gambit"),_("Maurian defense"),)),
+"rnbqkbnr/pp1p1ppp/2p5/8/2B1Pp2/8/PPPP2PP/RNBQK1NR w KQkq - 0 4": ("C33",
(_("KGA"),_("Bishop's gambit"),_("Ruy Lopez defense"),)),
+"rnbqkbnr/pppp2pp/8/5p2/2B1Pp2/8/PPPP2PP/RNBQK1NR w KQkq f6 0 4": ("C33",
(_("KGA"),_("Bishop's gambit"),_("Lopez-Gianutio counter-gambit"),)),
+"rnbk1bnr/pppp2pp/8/8/2B1pp1q/2N5/PPPPQ1PP/R1BK2NR w - - 2 7": ("C33",
(_("KGA"),_("Lopez-Gianutio counter-gambit"),_("Hein variation"),)),
+"rnbqkbnr/ppp2ppp/8/3p4/2B1Pp2/8/PPPP2PP/RNBQK1NR w KQkq d6 0 4": ("C33",
(_("KGA"),_("Bishop's gambit"),_("Bledow variation"),)),
+"rnb1kbnr/ppp2p1p/8/3B2p1/4Pp1q/6P1/PPPP3P/RNBQ1KNR b kq - 0 6": ("C33",
(_("KGA"),_("Bishop's gambit"),_("Gifford variation"),)),
+"rnb1k1nr/ppp2ppp/3b4/3B4/4Pp1q/8/PPPP2PP/RNBQ1KNR w kq - 3 6": ("C33",
(_("KGA"),_("Bishop's gambit"),_("Boren-Svenonius variation"),)),
+"rnbqkbnr/pp3ppp/2p5/3B4/4Pp2/8/PPPP2PP/RNBQK1NR w KQkq - 0 5": ("C33",
(_("KGA"),_("Bishop's gambit"),_("Anderssen variation"),)),
+"rnbqkb1r/ppp2ppp/5n2/3B4/4Pp2/8/PPPP2PP/RNBQK1NR w KQkq - 1 5": ("C33",
(_("KGA"),_("Bishop's gambit"),_("Morphy variation"),)),
+"rnbqkb1r/pppp1ppp/5n2/8/2B1Pp2/8/PPPP2PP/RNBQK1NR w KQkq - 2 4": ("C33",
(_("KGA"),_("Bishop's gambit"),_("Cozio (Morphy) defense"),)),
+"rnbqkb1r/pppp1ppp/5n2/8/2B1Pp2/2N5/PPPP2PP/R1BQK1NR b KQkq - 3 4":
("C33", (_("KGA"),_("Bishop's gambit"),_("Bogolyubov variation"),)),
+"rnbqk2r/pppp1ppp/5n2/4P3/1bB2p2/2N5/PPPP2PP/R1BQK1NR b KQkq - 0 5":
("C33", (_("KGA"),_("Bishop's gambit"),_("Paulsen attack"),)),
+"rnbqkb1r/pp1p1ppp/2p2n2/8/2B1Pp2/2N5/PPPP2PP/R1BQK1NR w KQkq - 0 5":
("C33", (_("KGA"),_("Bishop's gambit"),_("Jaenisch variation"),)),
+"rnbqkbnr/pppp1ppp/8/8/4Pp2/5N2/PPPP2PP/RNBQKB1R b KQkq - 1 3": ("C34",
(_("King's knight's gambit"),)),
+"rnbqkb1r/ppppnppp/8/8/4Pp2/5N2/PPPP2PP/RNBQKB1R w KQkq - 2 4": ("C34",
(_("KGA"),_("Bonsch-Osmolovsky variation"),)),
+"rnbqkbnr/pppp2pp/8/5p2/4Pp2/5N2/PPPP2PP/RNBQKB1R w KQkq f6 0 4": ("C34",
(_("KGA"),_("Gianutio counter-gambit"),)),
+"rnbqkbnr/ppp2ppp/3p4/8/4Pp2/5N2/PPPP2PP/RNBQKB1R w KQkq - 0 4": ("C34",
(_("KGA"),_("Fischer defense"),)),
+"rnbqkbnr/pppp1pp1/7p/8/4Pp2/5N2/PPPP2PP/RNBQKB1R w KQkq - 0 4": ("C34",
(_("KGA"),_("Becker defense"),)),
+"rnbqkb1r/pppp1ppp/5n2/8/4Pp2/5N2/PPPP2PP/RNBQKB1R w KQkq - 2 4": ("C34",
(_("KGA"),_("Schallop defense"),)),
+"rnbqk1nr/ppppbppp/8/8/4Pp2/5N2/PPPP2PP/RNBQKB1R w KQkq - 2 4": ("C35",
(_("KGA"),_("Cunningham defense"),)),
+"rnbqk1nr/pppp1ppp/8/8/2B1Pp1b/5NP1/PPPP3P/RNBQK2R b KQkq - 0 5": ("C35",
(_("KGA"),_("Cunningham"),_("Bertin gambit"),)),
+"rnbqk1nr/pppp1ppp/8/8/2B1P2b/5N2/PPPP3p/RNBQ1R1K b kq - 1 7": ("C35",
(_("KGA"),_("Cunningham"),_("Three pawns gambit"),)),
+"rnbqk2r/ppppbppp/5n2/8/2B1Pp2/5N2/PPPP2PP/RNBQK2R w KQkq - 4 5": ("C35",
(_("KGA"),_("Cunningham"),_("Euwe defense"),)),
+"rnbqkbnr/ppp2ppp/8/3p4/4Pp2/5N2/PPPP2PP/RNBQKB1R w KQkq d6 0 4": ("C36",
(_("KGA"),_("Abbazia defense (Classical defense"),_("Modern
defense[!])"),)),
+"rnbqkb1r/ppp2ppp/5n2/3P4/5p2/5N2/PPPP2PP/RNBQKB1R w KQkq - 1 5": ("C36",
(_("KGA"),_("Abbazia defense"),_("Modern variation"),)),
+"rnbqkb1r/p4ppp/2p5/3n4/2B2p2/5N2/PPPP2PP/RNBQK2R w KQkq - 2 8": ("C36",
(_("KGA"),_("Abbazia defense"),_("Botvinnik variation"),)),
+"rnbqkbnr/pppp1p1p/8/6p1/4Pp2/2N2N2/PPPP2PP/R1BQKB1R b KQkq - 1 4":
("C37", (_("KGA"),_("Quaade gambit"),)),
+"rnbqkbnr/pppp1p1p/8/6p1/3PPp2/5N2/PPP3PP/RNBQKB1R b KQkq d3 0 4": ("C37",
(_("KGA"),_("Rosentreter gambit"),)),
+"rnbqkbnr/pppp1p1p/8/4N3/3PPpp1/8/PPP3PP/RNBQKB1R b KQkq - 1 5": ("C37",
(_("KGA"),_("Soerensen gambit"),)),
+"rnbqkbnr/pppp1p1p/8/6p1/2B1Pp2/5N2/PPPP2PP/RNBQK2R b KQkq - 1 4": ("C37",
(_("KGA"),_("King's knight's gambit"),)),
+"r1bqkbnr/pppp1p1p/2n5/6p1/2B1Pp2/5N2/PPPP2PP/RNBQK2R w KQkq - 2 5":
("C37", (_("KGA"),_("Blachly gambit"),)),
+"rnbqkbnr/pppp1B1p/8/8/4Ppp1/5N2/PPPP2PP/RNBQK2R b KQkq - 0 5": ("C37",
(_("KGA"),_("Lolli gambit (wild Muzio gambit)"),)),
+"rnb2bnr/pppp1k1p/5q2/8/4Pp2/2N1BQ2/PPP3PP/R4RK1 b - - 3 10": ("C37",
(_("KGA"),_("Lolli gambit"),_("Young variation"),)),
+"rnbqkbnr/pppp1p1p/8/8/2BPPpp1/5N2/PPP3PP/RNBQK2R b KQkq d3 0 5": ("C37",
(_("KGA"),_("Ghulam Kassim gambit"),)),
+"rnbqkbnr/pppp1p1p/8/8/2B1Ppp1/2N2N2/PPPP2PP/R1BQK2R b KQkq - 1 5":
("C37", (_("KGA"),_("MacDonnell gambit"),)),
+"rnbqkbnr/pppp1p1p/8/4N3/2B1Ppp1/8/PPPP2PP/RNBQK2R b KQkq - 1 5": ("C37",
(_("KGA"),_("Salvio gambit"),)),
+"rnb1kb1r/pppp1p1p/7n/4N3/2BPP1pq/5p2/PPP3PP/RNBQ1K1R w kq - 0 8": ("C37",
(_("KGA"),_("Silberschmidt gambit"),)),
+"rnb1kb1r/ppp2p1p/3p3n/4N3/2BPPppq/8/PPP3PP/RNBQ1K1R w kq - 0 8": ("C37",
(_("KGA"),_("Salvio gambit"),_("Anderssen counter-attack"),)),
+"rnb1kbnr/pppp1p1p/8/4N3/2B1P1pq/5p2/PPPP2PP/RNBQ1K1R w kq - 0 7": ("C37",
(_("KGA"),_("Cochrane gambit"),)),
+"r1b1kbnr/pppp1p1p/2n5/4N3/2B1Pppq/8/PPPP2PP/RNBQ1K1R w kq - 4 7": ("C37",
(_("KGA"),_("Herzfeld gambit"),)),
+"rnbqkbnr/pppp1p1p/8/8/2B1Ppp1/5N2/PPPP2PP/RNBQ1RK1 b kq - 0 5": ("C37",
(_("KGA"),_("Muzio gambit"),)),
+"r1b1k2r/ppppnp1p/2n4b/4q3/2B2p2/2NP1Q2/PPPB2PP/4RRK1 b kq - 6 11":
("C37", (_("KGA"),_("Muzio gambit"),_("Paulsen variation"),)),
+"rnb1kbnr/pppp1B1p/8/4q3/5p2/5Q2/PPPP2PP/RNB2RK1 b kq - 0 8": ("C37",
(_("KGA"),_("double Muzio gambit"),)),
+"rnb1kbnr/ppppqp1p/8/8/2B1Pp2/5Q2/PPPP2PP/RNB2RK1 w kq - 1 7": ("C37",
(_("KGA"),_("Muzio gambit"),_("From defense"),)),
+"r1bqkbnr/pppp1p1p/2n5/8/2B1Pp2/5Q2/PPPP2PP/RNB2RK1 w kq - 1 7": ("C37",
(_("KGA"),_("Muzio gambit"),_("Holloway defense"),)),
+"rnb1kbnr/ppppqp1p/8/8/2B1Ppp1/5N2/PPPP2PP/RNBQ1RK1 w kq - 1 6": ("C37",
(_("KGA"),_("Muzio gambit"),_("Kling and Horwitz counter-attack"),)),
+"rnbqkbnr/ppp2p1p/8/3p4/2B1Ppp1/5N2/PPPP2PP/RNBQ1RK1 w kq d6 0 6": ("C37",
(_("KGA"),_("Muzio gambit"),_("Brentano defense"),)),
+"rnbqk1nr/pppp1pbp/8/6p1/2B1Pp2/5N2/PPPP2PP/RNBQK2R w KQkq - 2 5": ("C38",
(_("King's knight's gambit"),)),
+"rnbqk1nr/pppp1pbp/8/6p1/2B1Pp2/5N2/PPPP2PP/RNBQ1RK1 b kq - 0 5": ("C38",
(_("KGA"),_("Hanstein gambit"),)),
+"rnbqk1nr/pppp1pbp/8/6p1/2B1Pp1P/5N2/PPPP2P1/RNBQK2R b KQkq h3 0 5":
("C38", (_("KGA"),_("Philidor gambit"),)),
+"rnbqk1nb/pp3p2/2pp4/4N1p1/2BPPp2/2N5/PPP3P1/R1BQK3 b Qq - 1 10": ("C38",
(_("KGA"),_("Greco gambit"),)),
+"rnbqk1nr/ppp2pb1/3p3p/6p1/2BPPp1P/3Q1N2/PPP3P1/RNB1K2R b KQkq - 1 7":
("C38", (_("KGA"),_("Philidor gambit"),_("Schultz variation"),)),
+"rnbqkbnr/pppp1p1p/8/6p1/4Pp1P/5N2/PPPP2P1/RNBQKB1R b KQkq h3 0 4":
("C39", (_("King's knight's gambit"),)),
+"rnbqkbnr/pppp1p1p/8/6N1/4PppP/8/PPPP2P1/RNBQKB1R b KQkq - 1 5": ("C39",
(_("KGA"),_("Allgaier gambit"),)),
+"rnbq3r/pppp1k2/3b1n1p/8/4PQ1P/8/PPPP2P1/RNB1KB1R w KQ - 1 9": ("C39",
(_("KGA"),_("Allgaier"),_("Horny defense"),)),
+"rnbq1bnr/pppp1k2/7p/8/3PPppP/8/PPP3P1/RNBQKB1R b KQ d3 0 7": ("C39",
(_("KGA"),_("Allgaier"),_("ThorOld variation"),)),
+"rnbq1bnr/ppp3k1/7p/4B3/2BPp1pP/8/PPP3P1/RN1QK2R b KQ - 3 10": ("C39",
(_("KGA"),_("Allgaier"),_("Cook variation"),)),
***The diff for this file has been truncated for email.***
=======================================
--- /dev/null
+++ /lib/pychess/Utils/pgn2fen.py Wed Nov 30 08:58:02 2011
@@ -0,0 +1,38 @@
+import os
+import sys
+
+from pychess.Savers.pgn import load
+
+
+#
http://www.chessville.com/downloads_files/instructional_materials/ECO_Opening_Variations.zip
+if __name__ == '__main__':
+ pgnfile = sys.argv[1] if len(sys.argv) > 1 else ""
+ if os.path.isfile(pgnfile):
+ ecofile = file("eco.py", "w")
+ cf = load(open(pgnfile))
+ print >> ecofile, "eco_lookup = {"
+ for i, game in enumerate(cf.games):
+ model = cf.loadToModel(i, quick_parse=True)
+ fen = model.boards[-1].asFen()
+ eco = cf._getTag(i, "ECO")[:3]
+ names = ""
+
+ opening = cf._getTag(i, "Opening")
+ if opening is not None:
+ for tag in opening.split(', '):
+ if tag[0].isdigit():
+ names += '"%s",' % tag
+ else:
+ names += '_("%s"),' % tag
+
+ variation = cf._getTag(i, "Variation")
+ if variation is not None:
+ for tag in variation.split(', '):
+ if tag[0].isdigit():
+ names += '"%s",' % tag
+ else:
+ names += '_("%s"),' % tag
+ if names:
+ print >> ecofile, '"%s": ("%s", (%s)),' % (fen, eco, names)
+ print >> ecofile, "}"
+ ecofile.close()
=======================================
--- /dev/null
+++ /lib/pychess/Utils/pgn2fen.sh Wed Nov 30 08:58:02 2011
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+PYTHONPATH=~/pychess/lib/ python -3 -W ignore
~/pychess/lib/pychess/Utils/pgn2fen.py ECO.pgn
=======================================
--- /lib/pychess/Utils/GameModel.py Fri Oct 21 02:13:14 2011
+++ /lib/pychess/Utils/GameModel.py Wed Nov 30 08:58:02 2011
@@ -13,6 +13,7 @@
from pychess.System.protoopen import protoopen, protosave, isWriteable
from pychess.System.Log import log
from pychess.Utils.Move import Move, toSAN
+from pychess.Utils.eco import eco_lookup
from pychess.Variants.normal import NormalChess
from pychess.Variants import variants

@@ -93,6 +94,8 @@
"players_changed": (SIGNAL_RUN_FIRST, TYPE_NONE, ()),
# spectators_changed is emitted if the spectators list was changed.
"spectators_changed": (SIGNAL_RUN_FIRST, TYPE_NONE, ()),
+ # opening_changed is emitted if the move changed the opening.
+ "opening_changed": (SIGNAL_RUN_FIRST, TYPE_NONE, ()),
}

def __init__ (self, timemodel=None, variant=NormalChess):
@@ -188,6 +191,14 @@
assert self.status == WAITING_TO_START
self.spectators = spectators
self.emit("spectators_changed")
+
+ def setOpening(self):
+ if self.isMainlineBoard(self.ply):
+ opening = eco_lookup.get(self.getBoardAtPly(self.ply).asFen())
+ if opening is not None:
+ self.tags["ECO"] = opening[0]
+ self.tags["Opening"] = opening[1]
+ self.emit("opening_changed")


############################################################################
# Board
stuff #
@@ -507,7 +518,9 @@

if self.timemodel:
self.timemodel.tap()
-
+
+ self.setOpening()
+
self.checkStatus()

self.emit("game_changed")
=======================================
--- /sidepanel/annotationPanel.py Sat Jul 30 07:59:10 2011
+++ /sidepanel/annotationPanel.py Wed Nov 30 08:58:02 2011
@@ -64,6 +64,7 @@
glock_connect(self.boardview.model, "game_started",
self.game_started)
glock_connect(self.boardview.model, "game_ended", self.game_ended)
glock_connect(self.boardview.model, "moves_undoing",
self.moves_undoing)
+ glock_connect(self.boardview.model, "opening_changed",
self.opening_changed)
glock_connect(self.boardview.model, "players_changed",
self.players_changed)
self.boardview.connect("shown_changed", self.shown_changed)

@@ -425,15 +426,9 @@
result = gm.tags['Result']
buf.insert_with_tags_by_name(end_iter(), ' ' + result
+ '\n', "head2")

- eco = gm.tags.get('ECO')
- if eco:
- buf.insert_with_tags_by_name(end_iter(), eco, "head2")
-
text = ""
event = gm.tags['Event']
if event and event != "?":
- if eco:
- text += ', '
text += event

site = gm.tags['Site']
@@ -462,6 +457,14 @@
text += ', ' + game_date[:4]
buf.insert_with_tags_by_name(end_iter(), text, "head1")

+ eco = gm.tags.get('ECO')
+ if eco:
+ buf.insert_with_tags_by_name(end_iter(), "\n" + eco, "head2")
+ opening = gm.tags.get('Opening')
+ if opening:
+ opening = ", ".join(opening)
+ buf.insert_with_tags_by_name(end_iter(), " - " +
opening, "head2")
+
buf.insert(end_iter(), "\n\n")

# Update the entire notation tree
@@ -480,6 +483,9 @@
def game_ended(self, gamemodel, reason):
self.update()

+ def opening_changed(self, gamemodel):
+ self.update()
+
def players_changed (self, gamemodel):
for player in gamemodel.players:
self.name_changed(player)

==============================================================================
Revision: 58a31279708a
Author: gbtami
Date: Sun Dec 4 12:37:55 2011
Log: Change from dict to sqlite
http://code.google.com/p/pychess/source/detail?r=58a31279708a

Added:
/pgn2fen.py
/utilities/eco-da.py
/utilities/eco-de.py
/utilities/eco-es.py
/utilities/eco-hu.py
Deleted:
/lib/pychess/Utils/pgn2fen.py
/lib/pychess/Utils/pgn2fen.sh
Modified:
/lib/pychess/Utils/GameModel.py
/lib/pychess/Utils/eco.py
/sidepanel/annotationPanel.py

=======================================
--- /dev/null
+++ /pgn2fen.py Sun Dec 4 12:37:55 2011
@@ -0,0 +1,74 @@
+# English eco.pgn was converted from
+#
http://www.chessville.com/downloads_files/instructional_materials/ECO_Codes_With_Names_and_Moves.zip
+# others from wikipedia
+
+import os
+import sys
+import sqlite3
+
+from pychess.Savers.pgn import load
+from pychess.System.prefix import addDataPrefix
+
+path = os.path.join(addDataPrefix("eco.db"))
+conn = sqlite3.connect(path)
+
+if __name__ == '__main__':
+ c = conn.cursor()
+
+ c.execute("drop table if exists openings")
+ c.execute("create table openings(fen text, base integer, eco text,
lang text, name text)")
+
+ def feed(pgnfile, lang):
+ cf = load(open(pgnfile))
+ rows = []
+ old_eco = ""
+ for i, game in enumerate(cf.games):
+ model = cf.loadToModel(i, quick_parse=True)
+
+ eco = cf._getTag(i, "ECO")[:3]
+ name = ""
+
+ opening = cf._getTag(i, "Opening")
+ if opening is not None:
+ name += opening
+
+ variation = cf._getTag(i, "Variation")
+ if variation is not None:
+ if name:
+ name += ", "
+ name += variation
+
+ base = int(old_eco != eco)
+
+ if len(model.moves) == 0:
+ cu = conn.cursor()
+ cu.execute("select * from openings where eco=? and
lang='en' and base=1", (eco,))
+ res = cu.fetchone()
+ if res is not None:
+ fen = res[0]
+ else:
+ fen = model.boards[-1].asFen()
+
+ if name:
+ rows.append((fen, base, eco, lang, name))
+
+ old_eco = eco
+
+ c.executemany("insert into openings(fen, base, eco, lang, name)
values (?, ?, ?, ?, ?)", rows)
+ conn.commit()
+
+ # Several eco list contains only eco+name pairs, so
+ # we will use base ECO line move lists(FEN) from en eco.pgn
+ print "processing en eco.pgn"
+ feed("../../../lang/en/eco.pgn", "en")
+
+ for lang in [d for d in os.listdir("../../../lang") if
os.path.isdir("../../../lang/"+d)]:
+ if lang == "en":
+ continue
+
+ pgnfile = "../../../lang/%s/eco.pgn" % lang
+ if os.path.isfile(pgnfile):
+ print "processing %s eco.pgn" % lang
+ feed(pgnfile, lang)
+
+ conn.close()
=======================================
--- /dev/null
+++ /utilities/eco-da.py Sun Dec 4 12:37:55 2011
@@ -0,0 +1,83 @@
+# -*- coding: UTF-8 -*-
+
+# http://da.wikipedia.org/wiki/Skak%C3%A5bninger
+
+import xml.etree.ElementTree as ET
+
+
+def local2eng(text):
+ text = text.replace("0-0-0", "O-O-O").replace("0-0", "O-O")
+ text =
text.replace("T", "R").replace("D", "Q").replace("S", "N").replace("L", "B")
+ return text
+
+if __name__ == '__main__':
+
+ xhtml = "eco-da.html"
+ tree = ET.parse(xhtml)
+
+ # All xml tags are namespace prefixed in parsed tree !
+ ns = "{http://www.w3.org/1999/xhtml}"
+
+ ecofile = file("eco.pgn", "w")
+
+ rows = [c for c in tree.findall(".//%sli" % ns) if c.text and
c.text[0] in "ABCDE"]
+
+ eco_count = 0
+
+ # row.text is empty for A00
+ print >> ecofile, '[ECO "A00"]'
+ print >> ecofile, '[Opening "Irregulære åbninger"]'
+ print >> ecofile
+ print >> ecofile, '*'
+ print >> ecofile
+
+ eco_count += 1
+
+ for row in rows:
+ data = []
+
+ if row.text:
+ data.append(row.text[:3])
+ else:
+ continue
+
+ names = []
+
+ if len(row.text) > 4:
+ names.append(row.text[4:])
+
+ refs = row.findall("%sa" % ns)
+ for ref in refs:
+ names.append(ref.text)
+ if ref.tail:
+ names.append(ref.tail)
+ data.append(''.join(names))
+
+
+ print data
+
+ if data:
+ print >> ecofile, '[ECO "%s"]' % data[0]
+ print >> ecofile, '[Opening "%s"]' %
data[1].replace(u"\u2026", "...").encode("latin_1")
+ print >> ecofile
+ print >> ecofile, '*'
+ print >> ecofile
+
+ eco_count += 1
+
+ # row.text is empty for C11
+ if data[0] == "C10":
+ print >> ecofile, '[ECO "C11"]'
+ print >> ecofile, '[Opening "Fransk forsvar"]'
+ print >> ecofile
+ print >> ecofile, '*'
+ print >> ecofile
+
+ eco_count += 1
+
+ if data[0] == "E99":
+ break
+
+ print "%s lines" % eco_count
+
+ ecofile.close()
=======================================
--- /dev/null
+++ /utilities/eco-de.py Sun Dec 4 12:37:55 2011
@@ -0,0 +1,104 @@
+# -*- coding: UTF-8 -*-
+
+# http://de.wikipedia.org/wiki/ECO-Code
+
+import xml.etree.ElementTree as ET
+
+
+def local2eng(text):
+ text = text.replace("0-0-0", "O-O-O").replace("0-0", "O-O")
+ text =
text.replace("S", "N").replace("L", "B").replace("T", "R").replace("D", "Q")
+ return text
+
+if __name__ == '__main__':
+
+ xhtml = "eco-de.html"
+ tree = ET.parse(xhtml)
+
+ # All xml tags are namespace prefixed in parsed tree !
+ ns = "{http://www.w3.org/1999/xhtml}"
+
+ ecofile = file("eco.pgn", "w")
+
+ tables = [c for c in tree.findall(".//%stable" % ns) if c.get("class")
== "prettytable"]
+
+ eco_count = 0
+ for table in tables:
+ rows = [c for c in table.findall("%str" % ns)]
+
+ for row in rows:
+ cols = row.findall("%std" % ns)
+ data = []
+ for i, col in enumerate(cols):
+ if i == 0:
+ data.append(col.text)
+
+ elif i == 1:
+ moves = []
+ if col.text:
+ comment1 = col.text.find(" (")
+ comment2 = col.text.find(" ohne")
+ if comment1 != -1:
+ moves.append(col.text[:comment1])
+ elif comment2 != -1:
+ moves.append(col.text[:comment2])
+ else:
+ moves.append(col.text)
+ par = col.findall("%sp" % ns)
+ for p in par:
+ moves.append(p.text)
+ data.append(''.join(moves))
+
+ else:
+ names = []
+ if col.text:
+ names.append(col.text)
+ refs = col.findall("%sa" % ns)
+ for ref in refs:
+ names.append(ref.text)
+ if ref.tail:
+ names.append(ref.tail.rstrip())
+ par = col.findall("%sp" % ns)
+ for p in par:
+ if p.text:
+ names.append(p.text)
+ data.append(''.join(names))
+
+ # fix some incorrect lines
+ if data and data[0] == "A65":
+ data[1] = "1. d4 Nf6 2. c4 c5 3. d5 e6 4. Nc3 exd5 5. cxd5
d6 6. e4"
+ elif data and data[0] == "C50":
+ data[1] = "1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5"
+ elif data and data[0] == "C65":
+ data[1] = "1. e4 e5 2. Nf3 Nc6 3. Bb5 Nf6"
+ elif data and data[0] == "D00":
+ data[1] = "1. d4 d5"
+ elif data and data[0] == "D55":
+ data[1] = "1. d4 d5 2. c4 e6 3. Nc3 Nf6 4. Bg5 Be7 5. e3
O-O 6. Nf3"
+ elif data and data[0] == "E05":
+ data[1] = "1. d4 Nf6 2. c4 e6 3. g3 d5 4. Bg2 dxc4 5. Nf3
Be7"
+ elif data and data[0] == "E06":
+ data[1] = "1. d4 Nf6 2. c4 e6 3. g3 d5 4. Bg2 Be7 5. Nf3"
+ elif data and data[0] == "E07":
+ data[1] = "1. d4 Nf6 2. c4 e6 3. g3 d5 4. Bg2 Be7 5. Nf3
O-O 6. O-O Nbd7"
+ elif data and data[0] == "E08":
+ data[1] = "1. d4 Nf6 2. c4 e6 3. g3 d5 4. Bg2 Be7 5. Nf3
O-O 6. O-O Nbd7 7. Qc2"
+ elif data and data[0] == "E09":
+ data[1] = "1. d4 Nf6 2. c4 e6 3. g3 d5 4. Bg2 Be7 5. Nf3
O-O 6. O-O Nbd7 7. Qc2 c6 8. Nbd2"
+ elif data and data[0] == "E32":
+ data[1] = "1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. Qc2"
+
+ print data
+
+ if data:
+ print >> ecofile, '[ECO "%s"]' % data[0]
+ print >> ecofile, '[Opening "%s"]' %
data[2].replace(u"\u2026", "...").encode("latin_1")
+ print >> ecofile
+ print >> ecofile, '%s' % local2eng(data[1])
+ print >> ecofile
+
+ eco_count += 1
+
+ print "%s lines" % eco_count
+
+ ecofile.close()
=======================================
--- /dev/null
+++ /utilities/eco-es.py Sun Dec 4 12:37:55 2011
@@ -0,0 +1,73 @@
+# -*- coding: UTF-8 -*-
+
+# http://es.wikipedia.org/wiki/Anexo:Aperturas_de_ajedrez
+
+import xml.etree.ElementTree as ET
+
+
+def local2eng(text):
+ text = text.replace("0-0-0", "O-O-O").replace("0-0", "O-O")
+ text =
text.replace("R", "K").replace("T", "R").replace("D", "Q").replace("C", "N").replace("A", "B")
+ return text
+
+if __name__ == '__main__':
+
+ xhtml = "eco-es.html"
+ tree = ET.parse(xhtml)
+
+ # All xml tags are namespace prefixed in parsed tree !
+ ns = "{http://www.w3.org/1999/xhtml}"
+
+ ecofile = file("eco.pgn", "w")
+
+ rows = [c for c in tree.findall(".//%sli" % ns) if c.text and
c.text[0] in "ABCDE"]
+
+ eco_count = 0
+ for row in rows:
+ data = []
+
+ if row.text:
+ data.append(row.text[:3])
+ else:
+ continue
+
+ names = []
+
+ if len(row.text) > 4:
+ names.append(row.text[4:])
+
+ refs = row.findall("%sa" % ns)
+ for ref in refs:
+ names.append(ref.text)
+ if ref.tail:
+ names.append(ref.tail)
+ data.append(''.join(names))
+
+
+ print data
+
+ if data:
+ print >> ecofile, '[ECO "%s"]' % data[0]
+ print >> ecofile, '[Opening "%s"]' %
data[1].replace(u"\u2026", "...").encode("latin_1")
+ print >> ecofile
+ print >> ecofile, '*'
+ print >> ecofile
+
+ eco_count += 1
+
+ # row.text is empty for B50
+ if data[0] == "B49":
+ print >> ecofile, '[ECO "B50"]'
+ print >> ecofile, '[Opening "Siciliana"]'
+ print >> ecofile
+ print >> ecofile, '*'
+ print >> ecofile
+
+ eco_count += 1
+
+ if data[0] == "E99":
+ break
+
+ print "%s lines" % eco_count
+
+ ecofile.close()
=======================================
--- /dev/null
+++ /utilities/eco-hu.py Sun Dec 4 12:37:55 2011
@@ -0,0 +1,63 @@
+# -*- coding: UTF-8 -*-
+
+# http://hu.wikipedia.org/wiki/Sakkmegnyit%C3%A1sok_list%C3%A1ja
+
+import xml.etree.ElementTree as ET
+
+
+def local2eng(text):
+ text = text.replace("0-0-0", "O-O-O").replace("0-0", "O-O")
+ text =
text.replace("B", "R").replace("V", "Q").replace("H", "N").replace("F", "B")
+ return text
+
+if __name__ == '__main__':
+
+ xhtml = "eco-hu.html"
+ tree = ET.parse(xhtml)
+
+ # All xml tags are namespace prefixed in parsed tree !
+ ns = "{http://www.w3.org/1999/xhtml}"
+
+ ecofile = file("eco.pgn", "w")
+
+ rows = [c for c in tree.findall(".//%sli" % ns) if c.get("class") is
None]
+
+ eco_count = 0
+ for row in rows:
+ data = []
+
+ if row.text:
+ data.append(row.text[:3])
+ else:
+ continue
+
+ names = []
+
+ if len(row.text) > 4:
+ names.append(row.text[4:])
+
+ refs = row.findall("%sa" % ns)
+ for ref in refs:
+ names.append(ref.text)
+ if ref.tail:
+ names.append(ref.tail)
+ data.append(''.join(names))
+
+
+ print data
+
+ if data:
+ print >> ecofile, '[ECO "%s"]' % data[0]
+ print >> ecofile, '[Opening "%s"]' %
data[1].replace(u"\u2026", "...").replace(u"ő", u"ö").encode("latin_1")
+ print >> ecofile
+ print >> ecofile, '*'
+ print >> ecofile
+
+ eco_count += 1
+
+ if data[0] == "E99":
+ break
+
+ print "%s lines" % eco_count
+
+ ecofile.close()
=======================================
--- /lib/pychess/Utils/pgn2fen.py Wed Nov 30 08:58:02 2011
+++ /dev/null
@@ -1,38 +0,0 @@
-import os
-import sys
-
-from pychess.Savers.pgn import load
-
-
-#
http://www.chessville.com/downloads_files/instructional_materials/ECO_Opening_Variations.zip
-if __name__ == '__main__':
- pgnfile = sys.argv[1] if len(sys.argv) > 1 else ""
- if os.path.isfile(pgnfile):
- ecofile = file("eco.py", "w")
- cf = load(open(pgnfile))
- print >> ecofile, "eco_lookup = {"
- for i, game in enumerate(cf.games):
- model = cf.loadToModel(i, quick_parse=True)
- fen = model.boards[-1].asFen()
- eco = cf._getTag(i, "ECO")[:3]
- names = ""
-
- opening = cf._getTag(i, "Opening")
- if opening is not None:
- for tag in opening.split(', '):
- if tag[0].isdigit():
- names += '"%s",' % tag
- else:
- names += '_("%s"),' % tag
-
- variation = cf._getTag(i, "Variation")
- if variation is not None:
- for tag in variation.split(', '):
- if tag[0].isdigit():
- names += '"%s",' % tag
- else:
- names += '_("%s"),' % tag
- if names:
- print >> ecofile, '"%s": ("%s", (%s)),' % (fen, eco, names)
- print >> ecofile, "}"
- ecofile.close()
=======================================
--- /lib/pychess/Utils/pgn2fen.sh Wed Nov 30 08:58:02 2011
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-PYTHONPATH=~/pychess/lib/ python -3 -W ignore
~/pychess/lib/pychess/Utils/pgn2fen.py ECO.pgn
=======================================
--- /lib/pychess/Utils/GameModel.py Wed Nov 30 08:58:02 2011
+++ /lib/pychess/Utils/GameModel.py Sun Dec 4 12:37:55 2011
@@ -13,7 +13,7 @@
from pychess.System.protoopen import protoopen, protosave, isWriteable
from pychess.System.Log import log
from pychess.Utils.Move import Move, toSAN
-from pychess.Utils.eco import eco_lookup
+from pychess.Utils.eco import get_eco
from pychess.Variants.normal import NormalChess
from pychess.Variants import variants

@@ -194,7 +194,7 @@

def setOpening(self):
if self.isMainlineBoard(self.ply):
- opening = eco_lookup.get(self.getBoardAtPly(self.ply).asFen())
+ opening = get_eco(self.getBoardAtPly(self.ply).asFen())
if opening is not None:
self.tags["ECO"] = opening[0]
self.tags["Opening"] = opening[1]
=======================================
--- /lib/pychess/Utils/eco.py Wed Nov 30 08:58:02 2011
+++ /lib/pychess/Utils/eco.py Sun Dec 4 12:37:55 2011
@@ -1,2016 +1,21 @@
-eco_lookup = {
-"rnbqkbnr/pppppppp/8/8/1P6/8/P1PPPPPP/RNBQKBNR b KQkq b3 0 1": ("A00",
(_("Polish (Sokolsky) opening"),)),
-"rnbqkb1r/pppppppp/7n/8/1P6/8/P1PPPPPP/RNBQKBNR w KQkq - 1 2": ("A00",
(_("Polish"),_("Tuebingen variation"),)),
-"rnbqkbnr/pp1ppppp/2p5/8/1P6/8/P1PPPPPP/RNBQKBNR w KQkq - 0 2": ("A00",
(_("Polish"),_("Outflank variation"),)),
-"rnbqkbnr/pppppppp/8/8/8/6P1/PPPPPP1P/RNBQKBNR b KQkq - 0 1": ("A00",
(_("Benko's Opening"),)),
-"rnbqkbnr/ppppppp1/8/7p/8/6P1/PPPPPP1P/RNBQKBNR w KQkq h6 0 2": ("A00",
(_("Lasker simul special"),)),
-"rnbqkbnr/pppp1ppp/8/4p3/8/5NP1/PPPPPP1P/RNBQKB1R b KQkq - 1 2": ("A00",
(_("Benko's Opening"),_("reversed Alekhine"),)),
-"rnbqkbnr/pppppppp/8/8/6P1/8/PPPPPP1P/RNBQKBNR b KQkq g3 0 1": ("A00",
(_("Grob's attack"),)),
-"rnbqkbnr/pp2pppp/2p5/3p2P1/8/8/PPPPPPBP/RNBQK1NR b KQkq - 0 3": ("A00",
(_("Grob"),_("Spike attack"),)),
-"rn1qkbnr/ppp1pppp/8/3p4/2P3b1/8/PP1PPPBP/RNBQK1NR b KQkq c3 0 3": ("A00",
(_("Grob"),_("Fritz gambit"),)),
-"rn1qkbnr/ppp1pppp/8/8/2Pp2b1/8/PP1PPPBP/RNBQK1NR w KQkq - 0 4": ("A00",
(_("Grob"),_("Romford counter-gambit"),)),
-"rnbqkbnr/pppppppp/8/8/8/7P/PPPPPPP1/RNBQKBNR b KQkq - 0 1": ("A00",
(_("Clemenz (Mead's"),_("Basman's or de Klerk's) Opening"),)),
-"rnbqkbnr/pppp1ppp/8/4p3/8/P6P/1PPPPPP1/RNBQKBNR b KQkq - 0 2": ("A00",
(_("Global Opening"),)),
-"rnbqkbnr/pppppppp/8/8/8/7N/PPPPPPPP/RNBQKB1R b KQkq - 1 1": ("A00",
(_("Amar (Paris) Opening"),)),
-"rn1qkbnr/ppp2ppp/8/3p4/5p2/6PB/PPPPP2P/RNBQK2R w KQkq - 0 5": ("A00",
(_("Amar gambit"),)),
-"rnbqkbnr/pppppppp/8/8/8/2N5/PPPPPPPP/R1BQKBNR b KQkq - 1 1": ("A00",
(_("Dunst (Sleipner"),_("Heinrichsen) Opening"),)),
-"rnbqkbnr/pppp1ppp/8/4p3/8/2N5/PPPPPPPP/R1BQKBNR w KQkq e6 0 2": ("A00",
(_("Dunst (Sleipner-Heinrichsen) Opening"),)),
-"rnbqkbnr/pppp1ppp/8/4p3/8/P1N5/1PPPPPPP/R1BQKBNR b KQkq - 0 2": ("A00",
(_("Battambang Opening"),)),
-"r1bqkbnr/pp1ppppp/2n5/8/7Q/2N5/PPP1PPPP/R1B1KBNR b KQkq - 2 4": ("A00",
(_("Novosibirsk Opening"),)),
-"rnbqkbnr/pppppppp/8/8/8/P7/1PPPPPPP/RNBQKBNR b KQkq - 0 1": ("A00",
(_("Anderssen's Opening"),)),
-"rnbqkbnr/pppppppp/8/8/P7/8/1PPPPPPP/RNBQKBNR b KQkq a3 0 1": ("A00",
(_("Ware (Meadow Hay) Opening"),)),
-"rnbqkbnr/pppp1ppp/8/4p3/P6P/8/1PPPPPP1/RNBQKBNR b KQkq h3 0 2": ("A00",
(_("Crab Opening"),)),
-"rnbqkbnr/pppppppp/8/8/8/2P5/PP1PPPPP/RNBQKBNR b KQkq - 0 1": ("A00",
(_("Saragossa Opening"),)),
-"rnbqkbnr/pppppppp/8/8/8/3P4/PPP1PPPP/RNBQKBNR b KQkq - 0 1": ("A00",
(_("Mieses Opening"),)),
-"rnbqkbnr/pppp1ppp/8/4p3/8/3P4/PPP1PPPP/RNBQKBNR w KQkq e6 0 2": ("A00",
(_("Mieses Opening"),)),
-"rnbqkbnr/pppp1ppp/8/4p3/8/3P4/PPPNPPPP/R1BQKBNR b KQkq - 1 2": ("A00",
(_("Valencia Opening"),)),
-"r1bqkbnr/pp1ppppp/2n5/2p5/8/2NP2P1/PPP1PP1P/R1BQKBNR b KQkq - 0 3":
("A00", (_("Venezolana Opening"),)),
-"rnbqkbnr/pppppppp/8/8/8/4P3/PPPP1PPP/RNBQKBNR b KQkq - 0 1": ("A00",
(_("Van't Kruijs Opening"),)),
-"r1bqkb1r/ppp2ppp/2np1n2/4p3/2P5/1PN1P3/P2P1PPP/R1BQKBNR w KQkq - 1 5":
("A00", (_("Amsterdam attack"),)),
-"rnbqkbnr/pppppppp/8/8/8/5P2/PPPPP1PP/RNBQKBNR b KQkq - 0 1": ("A00",
(_("Gedult's Opening"),)),
-"rnbqkbnr/pppp1ppp/8/4p3/8/5P2/PPPPPKPP/RNBQ1BNR b kq - 1 2": ("A00",
(_("Hammerschlag (Fried fox/Pork chop Opening)"),)),
-"rnbqkbnr/pppppppp/8/8/7P/8/PPPPPPP1/RNBQKBNR b KQkq h3 0 1": ("A00",
(_("Anti-Borg (Desprez) Opening"),)),
-"rnbqkbnr/pppppppp/8/8/8/N7/PPPPPPPP/R1BQKBNR b KQkq - 1 1": ("A00",
(_("Durkin's attack"),)),
-"rnbqkbnr/pppppppp/8/8/8/1P6/P1PPPPPP/RNBQKBNR b KQkq - 0 1": ("A01",
(_("Nimzovich-Larsen attack"),)),
-"rnbqkbnr/pppp1ppp/8/4p3/8/1P6/P1PPPPPP/RNBQKBNR w KQkq e6 0 2": ("A01",
(_("Nimzovich-Larsen attack"),_("Modern variation"),)),
-"rnbqkb1r/pppppppp/5n2/8/8/1P6/P1PPPPPP/RNBQKBNR w KQkq - 1 2": ("A01",
(_("Nimzovich-Larsen attack"),_("Indian variation"),)),
-"rnbqkbnr/ppp1pppp/8/3p4/8/1P6/P1PPPPPP/RNBQKBNR w KQkq d6 0 2": ("A01",
(_("Nimzovich-Larsen attack"),_("Classical variation"),)),
-"rnbqkbnr/pp1ppppp/8/2p5/8/1P6/P1PPPPPP/RNBQKBNR w KQkq c6 0 2": ("A01",
(_("Nimzovich-Larsen attack"),_("English variation"),)),
-"rnbqkbnr/ppppp1pp/8/5p2/8/1P6/P1PPPPPP/RNBQKBNR w KQkq f6 0 2": ("A01",
(_("Nimzovich-Larsen attack"),_("Dutch variation"),)),
-"rnbqkbnr/p1pppppp/8/1p6/8/1P6/P1PPPPPP/RNBQKBNR w KQkq b6 0 2": ("A01",
(_("Nimzovich-Larsen attack"),_("Polish variation"),)),
-"rnbqkbnr/p1pppppp/1p6/8/8/1P6/P1PPPPPP/RNBQKBNR w KQkq - 0 2": ("A01",
(_("Nimzovich-Larsen attack"),_("Symmetrical variation"),)),
-"rnbqkbnr/pppppppp/8/8/5P2/8/PPPPP1PP/RNBQKBNR b KQkq f3 0 1": ("A02",
(_("Bird's Opening"),)),
-"rnbqkbnr/pppp1ppp/8/4p3/5P2/8/PPPPP1PP/RNBQKBNR w KQkq e6 0 2": ("A02",
(_("Bird"),_("From gambit"),)),
-"rnbqk1nr/ppp2p1p/3b4/6p1/8/5N2/PPPPP1PP/RNBQKB1R w KQkq g6 0 5": ("A02",
(_("Bird"),_("From gambit"),_("Lasker variation"),)),
-"rnbqk2r/ppp2ppp/3b3n/8/3P4/5N2/PPP1P1PP/RNBQKB1R b KQkq d3 0 5": ("A02",
(_("Bird"),_("From gambit"),_("Lipke variation"),)),
-"rnbqkb1r/ppppp1pp/5n2/8/4pPP1/2N5/PPPP3P/R1BQKBNR b KQkq g3 0 4": ("A02",
(_("Bird's Opening"),_("Swiss gambit"),)),
-"rnbqkbnr/pppppp1p/8/6p1/5P2/8/PPPPP1PP/RNBQKBNR w KQkq g6 0 2": ("A02",
(_("Bird"),_("Hobbs gambit"),)),
-"rnbqkbnr/ppp1pppp/8/3p4/5P2/8/PPPPP1PP/RNBQKBNR w KQkq d6 0 2": ("A03",
(_("Bird's Opening"),)),
-"rnbqkbnr/ppp1pppp/8/3p4/2P2P2/8/PP1PP1PP/RNBQKBNR b KQkq c3 0 2": ("A03",
(_("Mujannah Opening"),)),
-"rnbqkbnr/ppp1pppp/8/3p4/4PP2/8/PPPP2PP/RNBQKBNR b KQkq e3 0 2": ("A03",
(_("Bird's Opening"),_("Williams gambit"),)),
-"rnbqkb1r/pp2pppp/5n2/2pp4/5P2/4PN2/PPPP2PP/RNBQKB1R w KQkq c6 0 4":
("A03", (_("Bird's Opening"),_("Lasker variation"),)),
-"rnbqkbnr/pppppppp/8/8/8/5N2/PPPPPPPP/RNBQKB1R b KQkq - 1 1": ("A04",
(_("Reti Opening"),)),
-"rnbqkbnr/ppppp1pp/8/5p2/8/5N2/PPPPPPPP/RNBQKB1R w KQkq f6 0 2": ("A04",
(_("Reti v Dutch"),)),
-"rnbqkbnr/ppppp1pp/8/5p2/4P3/5N2/PPPP1PPP/RNBQKB1R b KQkq e3 0 2": ("A04",
(_("Reti"),_("Pirc-Lisitsin gambit"),)),
-"rnbqkb1r/ppppp1pp/5n2/5p2/4P3/3P1N2/PPP2PPP/RNBQKB1R b KQkq e3 0 3":
("A04", (_("Reti"),_("Lisitsin gambit deferred"),)),
-"rnbqkbnr/ppp1pppp/3p4/8/8/5N2/PPPPPPPP/RNBQKB1R w KQkq - 0 2": ("A04",
(_("Reti Opening"),)),
-"rn1qkbnr/ppp1pppp/3p4/8/4P1b1/5N2/PPPP1PPP/RNBQKB1R w KQkq - 1 3":
("A04", (_("Reti"),_("Wade defense"),)),
-"rnbqkbnr/pppppp1p/8/6p1/8/5N2/PPPPPPPP/RNBQKB1R w KQkq g6 0 2": ("A04",
(_("Reti"),_("Herrstroem gambit"),)),
-"rnbqkb1r/pppppppp/5n2/8/8/5N2/PPPPPPPP/RNBQKB1R w KQkq - 2 2": ("A05",
(_("Reti Opening"),)),
-"rnbqkb1r/p1pppppp/5n2/1p6/8/5NP1/PPPPPP1P/RNBQKB1R w KQkq b6 0 3":
("A05", (_("Reti"),_("King's Indian attack"),_("Spassky's variation"),)),
-"rnbqkb1r/pppppp1p/5np1/8/8/5NP1/PPPPPP1P/RNBQKB1R w KQkq - 0 3": ("A05",
(_("Reti"),_("King's Indian attack"),)),
-"rnbqkb1r/pppppp1p/5np1/8/1P6/5NP1/P1PPPP1P/RNBQKB1R b KQkq b3 0 3":
("A05", (_("Reti"),_("King's Indian attack"),_("Reti-Smyslov variation"),)),
-"rnbqkbnr/ppp1pppp/8/3p4/8/5N2/PPPPPPPP/RNBQKB1R w KQkq d6 0 2": ("A06",
(_("Reti Opening"),)),
-"rnbqkbnr/ppp1pppp/8/3p4/8/3P1N2/PPP1PPPP/RNBQKB1R b KQkq - 0 2": ("A06",
(_("Reti"),_("Old Indian attack"),)),
-"rnbqkbnr/ppp1pppp/8/3p4/1P6/5N2/P1PPPPPP/RNBQKB1R b KQkq b3 0 2": ("A06",
(_("Santasiere's folly"),)),
-"rnbqkbnr/ppp1pppp/8/3p4/4P3/5N2/PPPP1PPP/RNBQKB1R b KQkq e3 0 2": ("A06",
(_("Tennison (Lemberg"),_("Zukertort) gambit"),)),
-"rnbqkbnr/ppp1pppp/8/3p4/8/1P3N2/P1PPPPPP/RNBQKB1R b KQkq - 0 2": ("A06",
(_("Reti"),_("Nimzovich-Larsen attack"),)),
-"rnbqkbnr/ppp1pppp/8/3p4/8/5NP1/PPPPPP1P/RNBQKB1R b KQkq - 0 2": ("A07",
(_("Reti"),_("King's Indian attack (Barcza system)"),)),
-"rn1qkb1r/pp2pppp/2p2n2/3p4/6b1/5NP1/PPPPPPBP/RNBQ1RK1 w kq - 1 5":
("A07", (_("Reti"),_("King's Indian attack"),_("Yugoslav variation"),)),
-"r2qkbnr/pppnpppp/8/3p4/6b1/5NP1/PPPPPPBP/RNBQK2R w KQkq - 3 4": ("A07",
(_("Reti"),_("King's Indian attack"),_("Keres variation"),)),
-"rnbqkbnr/ppp1pp1p/6p1/3p4/8/5NP1/PPPPPP1P/RNBQKB1R w KQkq - 0 3": ("A07",
(_("Reti"),_("King's Indian attack"),)),
-"rnbqk2r/ppp1npbp/6p1/3pp3/8/3P1NP1/PPP1PPBP/RNBQ1RK1 w kq - 1 6": ("A07",
(_("Reti"),_("King's Indian attack"),_("Pachman system"),)),
-"rnbqkbnr/pp2pppp/8/2pp4/8/5NP1/PPPPPP1P/RNBQKB1R w KQkq c6 0 3": ("A07",
(_("Reti"),_("King's Indian attack (with ...c5)"),)),
-"rnbqkbnr/pp2pppp/8/2pp4/8/5NP1/PPPPPPBP/RNBQK2R b KQkq - 1 3": ("A08",
(_("Reti"),_("King's Indian attack"),)),
-"r1bq1rk1/pp2bppp/2n1pn2/2pp4/4P3/3P1NP1/PPPN1PBP/R1BQR1K1 b - - 1 8":
("A08", (_("Reti"),_("King's Indian attack"),_("French variation"),)),
-"rnbqkbnr/ppp1pppp/8/3p4/2P5/5N2/PP1PPPPP/RNBQKB1R b KQkq c3 0 2": ("A09",
(_("Reti Opening"),)),
-"rnbqkbnr/ppp1pppp/8/8/2Pp4/5N2/PP1PPPPP/RNBQKB1R w KQkq - 0 3": ("A09",
(_("Reti"),_("Advance variation"),)),
-"rnbqkbnr/ppp1pppp/8/8/2p5/5N2/PP1PPPPP/RNBQKB1R w KQkq - 0 3": ("A09",
(_("Reti accepted"),)),
-"rn1qkbnr/ppp1pppp/4b3/8/2p5/4PN2/PP1P1PPP/RNBQKB1R w KQkq - 1 4": ("A09",
(_("Reti accepted"),_("Keres variation"),)),
-"rnbqkbnr/pppppppp/8/8/2P5/8/PP1PPPPP/RNBQKBNR b KQkq c3 0 1": ("A10",
(_("English Opening"),)),
-"rnbqkbnr/pppppp1p/6p1/8/2P5/8/PP1PPPPP/RNBQKBNR w KQkq - 0 2": ("A10",
(_("English Opening"),)),
-"rnbqkbnr/pppp1p1p/6p1/4p3/2P1P3/8/PP1P1PPP/RNBQKBNR w KQkq e6 0 3":
("A10", (_("English"),_("Adorjan defense"),)),
-"rnbqkbnr/p1pppppp/8/1p6/2P5/8/PP1PPPPP/RNBQKBNR w KQkq b6 0 2": ("A10",
(_("English"),_("Jaenisch gambit"),)),
-"rnbqkbnr/ppppp1pp/8/5p2/2P5/8/PP1PPPPP/RNBQKBNR w KQkq f6 0 2": ("A10",
(_("English"),_("Anglo-Dutch defense"),)),
-"rnbqkbnr/pp1ppppp/2p5/8/2P5/8/PP1PPPPP/RNBQKBNR w KQkq - 0 2": ("A11",
(_("English"),_("Caro-Kann defensive system"),)),
-"rnbqkbnr/pp2pppp/2p5/3p4/2P5/1P3N2/P2PPPPP/RNBQKB1R b KQkq - 0 3":
("A12", (_("English"),_("Caro-Kann defensive system"),)),
-"rn1qkb1r/pp2pppp/2p2n2/3p4/2P3b1/1P3NP1/P2PPP1P/RNBQKB1R w KQkq - 1 5":
("A12", (_("English"),_("Torre defensive system"),)),
-"rn1qkb1r/pp2pppp/2p2n2/3p1b2/2P5/1P3NP1/P2PPP1P/RNBQKB1R w KQkq - 1 5":
("A12", (_("English"),_("London defensive system"),)),
-"rnbqkb1r/pp2pppp/2p2n2/3p4/2P5/1P3N2/PB1PPPPP/RN1QKB1R b KQkq - 2 4":
("A12", (_("English"),_("Caro-Kann defensive system"),)),
-"rnbqkb1r/pp2pp1p/2p2np1/3p4/2P5/1P3N2/PB1PPPPP/RN1QKB1R w KQkq - 0 5":
("A12", (_("English"),_("Bled variation"),)),
-"rn1qkb1r/pp2pppp/2p2n2/3p1b2/2P5/1P3N2/PB1PPPPP/RN1QKB1R w KQkq - 3 5":
("A12", (_("English"),_("New York (London) defensive system"),)),
-"rn1qkb1r/pp2pppp/2p2n2/3p4/2P3b1/1P3N2/PB1PPPPP/RN1QKB1R w KQkq - 3 5":
("A12", (_("English"),_("Capablanca's variation"),)),
-"rn1qkbnr/pp2pppp/2p5/3p4/2P3b1/1P3N2/P2PPPPP/RNBQKB1R w KQkq - 1 4":
("A12", (_("English"),_("Caro-Kann defensive system"),_("Bogoljubov
variation"),)),
-"rnbqkbnr/pppp1ppp/4p3/8/2P5/8/PP1PPPPP/RNBQKBNR w KQkq - 0 2": ("A13",
(_("English Opening"),)),
-"rnbqkb1r/2pp1ppp/p3pn2/1p6/2P5/5NP1/PP1PPPBP/RNBQK2R w KQkq b6 0 5":
("A13", (_("English"),_("Romanishin gambit"),)),
-"rnbqkbnr/ppp2ppp/4p3/3p4/2P5/5N2/PP1PPPPP/RNBQKB1R w KQkq d6 0 3":
("A13", (_("English Opening"),_("Agincourt variation"),)),
-"rnbqkb1r/pp3ppp/4pn2/2pp4/2P5/1P2PN2/PB1P1PPP/RN1QKB1R b KQkq - 0 5":
("A13", (_("English"),_("Wimpey system"),)),
-"rnbqkbnr/ppp2ppp/4p3/3p4/2P5/5NP1/PP1PPP1P/RNBQKB1R b KQkq - 0 3":
("A13", (_("English Opening"),_("Agincourt variation"),)),
-"rnbqkbnr/pp3ppp/2p1p3/3p4/2P5/5NP1/PP1PPP1P/RNBQKB1R w KQkq - 0 4":
("A13", (_("English"),_("Kurajica defense"),)),
-"rnbqkb1r/ppp2ppp/4pn2/3p4/2P5/5NP1/PP1PPP1P/RNBQKB1R w KQkq - 1 4":
("A13", (_("English"),_("Neo-Catalan"),)),
-"rnbqkb1r/ppp2ppp/4pn2/8/2p5/5NP1/PP1PPPBP/RNBQK2R w KQkq - 0 5": ("A13",
(_("English"),_("Neo-Catalan accepted"),)),
-"rnbqk2r/ppp1bppp/4pn2/3p4/2P5/5NP1/PP1PPPBP/RNBQ1RK1 b kq - 0 5": ("A14",
(_("English"),_("Neo-Catalan declined"),)),
-"r1bqk2r/pp2bppp/2n1p3/2pn4/8/2N2NP1/PP1PPPBP/R1BQ1RK1 w kq - 2 8":
("A14", (_("English"),_("Symmetrical"),_("Keres defense"),)),
-"rnbqkb1r/pppppppp/5n2/8/2P5/8/PP1PPPPP/RNBQKBNR w KQkq - 1 2": ("A15",
(_("English"),"1...Nf6 (Anglo-Indian defense)",)),
-"rnbqkb1r/pppppppp/5n2/8/1PP5/8/P2PPPPP/RNBQKBNR b KQkq b3 0 2": ("A15",
(_("English orang-utan"),)),
-"rnbqkb1r/pppppppp/5n2/8/2P5/5N2/PP1PPPPP/RNBQKB1R b KQkq - 2 2": ("A15",
(_("English Opening"),)),
-"rnbqkb1r/pppppppp/5n2/8/2P5/2N5/PP1PPPPP/R1BQKBNR b KQkq - 2 2": ("A16",
(_("English Opening"),)),
-"rnbqkb1r/ppp1pppp/5n2/3p4/2P5/2N5/PP1PPPPP/R1BQKBNR w KQkq d6 0 3":
("A16", (_("English"),_("Anglo-Gruenfeld defense"),)),
-"rnbqkb1r/ppp1pp1p/6p1/8/8/2n3P1/PP1PPPBP/R1BQK1NR w KQkq - 0 6": ("A16",
(_("English"),_("Anglo-Gruenfeld"),_("Smyslov defense"),)),
-"rnbqkb1r/ppp1pp1p/1n4p1/8/8/2N3P1/PP1PPPBP/R1BQK1NR w KQkq - 2 6":
("A16", (_("English"),_("Anglo-Gruenfeld"),_("Czech defense"),)),
-"rnbqkb1r/ppp1pppp/8/3n4/8/2N2N2/PP1PPPPP/R1BQKB1R b KQkq - 1 4": ("A16",
(_("English"),_("Anglo-Gruenfeld defense"),)),
-"rnbqk2r/ppp2pbp/6p1/3np3/8/2N2NP1/PP1PPPBP/R1BQK2R w KQkq e6 0 7":
("A16", (_("English"),_("Anglo-Gruenfeld defense"),_("Korchnoi
variation"),)),
-"rnbqkb1r/pppp1ppp/4pn2/8/2P5/2N5/PP1PPPPP/R1BQKBNR w KQkq - 0 3": ("A17",
(_("English Opening"),)),
-"rnbqkb1r/p1pp1ppp/1p2pn2/8/2P5/2N2N2/PP1PPPPP/R1BQKB1R w KQkq - 0 4":
("A17", (_("English"),_("Queens Indian formation"),)),
-"rn1qkb1r/pbpp1ppp/1p2pn2/8/2P1P3/2NB1N2/PP1P1PPP/R1BQK2R b KQkq - 2 5":
("A17", (_("English"),_("Queens Indian"),_("Romanishin variation"),)),
-"rnbqk2r/pppp1ppp/4pn2/8/1bP5/2N2N2/PP1PPPPP/R1BQKB1R w KQkq - 2 4":
("A17", (_("English"),_("Nimzo-English Opening"),)),
-"rnbqkb1r/pppp1ppp/4pn2/8/2P1P3/2N5/PP1P1PPP/R1BQKBNR b KQkq e3 0 3":
("A18", (_("English"),_("Mikenas-Carls variation"),)),
-"rnbqkb1r/ppp2ppp/4pn2/3pP3/2P5/2N5/PP1P1PPP/R1BQKBNR b KQkq - 0 4":
("A18", (_("English"),_("Mikenas-Carls"),_("Flohr variation"),)),
-"r1bqkb1r/pppp1ppp/2n1pn2/8/2P1P3/2N5/PP1P1PPP/R1BQKBNR w KQkq - 1 4":
("A18", (_("English"),_("Mikenas-Carls"),_("Kevitz variation"),)),
-"rnbqkb1r/pp1p1ppp/4pn2/2p5/2P1P3/2N5/PP1P1PPP/R1BQKBNR w KQkq c6 0 4":
("A19", (_("English"),_("Mikenas-Carls"),_("Sicilian variation"),)),
-"rnbqkbnr/pppp1ppp/8/4p3/2P5/8/PP1PPPPP/RNBQKBNR w KQkq e6 0 2": ("A20",
(_("English Opening"),)),
-"rnbqkbnr/pppp1ppp/8/4p3/2P5/5N2/PP1PPPPP/RNBQKB1R b KQkq - 1 2": ("A20",
(_("English"),_("Nimzovich variation"),)),
-"rnbqkbnr/pppp1ppp/8/8/2P1p3/5N2/PP1PPPPP/RNBQKB1R w KQkq - 0 3": ("A20",
(_("English"),_("Nimzovich"),_("Flohr variation"),)),
-"rnbqkbnr/pppp1ppp/8/4p3/2P5/2N5/PP1PPPPP/R1BQKBNR b KQkq - 1 2": ("A21",
(_("English Opening"),)),
-"r2qkbnr/ppp2ppp/2npb3/4p3/2P5/2N3P1/PP1PPPBP/R1BQK1NR w KQkq - 3 5":
("A21", (_("English"),_("Troeger defense"),)),
-"rnbqkbnr/pp3ppp/2pp4/4p3/2P5/2N3P1/PP1PPP1P/R1BQKBNR w KQkq - 0 4":
("A21", (_("English"),_("Keres variation"),)),
-"rnbqkbnr/ppp2ppp/3p4/4p3/2P5/2N2N2/PP1PPPPP/R1BQKB1R b KQkq - 1 3":
("A21", (_("English Opening"),)),
-"rn1qkbnr/ppp2ppp/3p4/4p3/2P3b1/2N2N2/PP1PPPPP/R1BQKB1R w KQkq - 2 4":
("A21", (_("English"),_("Smyslov defense"),)),
-"rnbqk1nr/pppp1ppp/8/4p3/1bP5/2N5/PP1PPPPP/R1BQKBNR w KQkq - 2 3": ("A21",
(_("English"),_("Kramnik-Shirov counterattack"),)),
-"rnbqkb1r/pppp1ppp/5n2/4p3/2P5/2N5/PP1PPPPP/R1BQKBNR w KQkq - 2 3":
("A22", (_("English Opening"),)),
-"rnbqkb1r/p1pp1ppp/5n2/1p4N1/2P1p3/2N5/PP1PPPPP/R1BQKB1R w KQkq b6 0 5":
("A22", (_("English"),_("Bellon gambit"),)),
-"rnbqkb1r/pppp1ppp/5n2/4p3/2P5/2N3P1/PP1PPP1P/R1BQKBNR b KQkq - 0 3":
("A22", (_("English"),_("Carls' Bremen system"),)),
-"rnbqkb1r/ppp2ppp/5n2/3pp3/2P5/2N3P1/PP1PPP1P/R1BQKBNR w KQkq d6 0 4":
("A22", (_("English"),_("Bremen"),_("reverse Dragon"),)),
-"rnbqk2r/pppp1ppp/5n2/4p3/1bP5/2N3P1/PP1PPP1P/R1BQKBNR w KQkq - 1 4":
("A22", (_("English"),_("Bremen"),_("Smyslov system"),)),
-"rnbqkb1r/pp1p1ppp/2p2n2/4p3/2P5/2N3P1/PP1PPP1P/R1BQKBNR w KQkq - 0 4":
("A23", (_("English"),_("Bremen system"),_("Keres variation"),)),
-"rnbqkb1r/pppp1p1p/5np1/4p3/2P5/2N3P1/PP1PPP1P/R1BQKBNR w KQkq - 0 4":
("A24", (_("English"),_("Bremen system with ...g6"),)),
-"r1bqkbnr/pppp1ppp/2n5/4p3/2P5/2N5/PP1PPPPP/R1BQKBNR w KQkq - 2 3":
("A25", (_("English"),_("Sicilian Reversed"),)),
-"r1bqk1nr/pppp1pbp/2n3p1/4p3/2P5/2N3P1/PP1PPPBP/R1BQK1NR w KQkq - 2 5":
("A25", (_("English"),_("Closed system"),)),
-"r1bqk2r/ppp2pbp/2np2pn/4p3/2P5/2N1P1P1/PP1PNPBP/R1BQK2R w KQkq - 2 7":
("A25", (_("English"),_("Closed"),_("Taimanov variation"),)),
-"r2qk1nr/ppp2pbp/2npb1p1/4p3/2P5/2N1P1P1/PP1PNPBP/R1BQK2R w KQkq - 2 7":
("A25", (_("English"),_("Closed"),_("Hort variation"),)),
-"r1bqk1nr/pppp1pbp/2n3p1/4p3/2P5/2N3P1/PP1PPPBP/1RBQK1NR b Kkq - 3 5":
("A25", (_("English"),_("Closed"),"5.Rb1",)),
-"r1bqk2r/pppp1pbp/2n3pn/4p3/2P5/2N3P1/PP1PPPBP/1RBQK1NR w Kkq - 4 6":
("A25", (_("English"),_("Closed"),"5.Rb1 Taimanov variation",)),
-"r1bqk1nr/pppp1pbp/2n3p1/4p3/2P5/2NP2P1/PP2PPBP/R1BQK1NR b KQkq - 0 5":
("A25", (_("English"),_("Closed system (without ...d6)"),)),
-"r1bqk1nr/ppp2pbp/2np2p1/4p3/2P5/2NP2P1/PP2PPBP/R1BQK1NR w KQkq - 0 6":
("A26", (_("English"),_("Closed system"),)),
-"r1bqk1nr/ppp2pbp/2np2p1/4p3/2P1P3/2NP2P1/PP3PBP/R1BQK1NR b KQkq e3 0 6":
("A26", (_("English"),_("Botvinnik system"),)),
-"r1bqkbnr/pppp1ppp/2n5/4p3/2P5/2N2N2/PP1PPPPP/R1BQKB1R b KQkq - 3 3":
("A27", (_("English"),_("Three knights system"),)),
-"r1bqkb1r/pppp1ppp/2n2n2/4p3/2P5/2N2N2/PP1PPPPP/R1BQKB1R w KQkq - 4 4":
("A28", (_("English"),_("Four knights system"),)),
-"r1bqk2r/pppp1pp1/5n1p/4n3/2PN3B/2P5/P3PPPP/R2QKB1R w KQkq - 1 9": ("A28",
(_("English"),_("Nenarokov variation"),)),
-"r1bqkb1r/pppp1ppp/2n2n2/8/2PPp3/2N2N2/PP2PPPP/R1BQKB1R w KQkq - 0 5":
("A28", (_("English"),_("Bradley Beach variation"),)),
-"r1bqkb1r/pppp1ppp/2n2n2/4p3/2P1P3/2N2N2/PP1P1PPP/R1BQKB1R b KQkq e3 0 4":
("A28", (_("English"),_("Four knights"),_("Nimzovich variation"),)),
-"r1bqkb1r/pppp1ppp/2n2n2/4p3/2P5/P1N2N2/1P1PPPPP/R1BQKB1R b KQkq - 0 4":
("A28", (_("English"),_("Four knights"),_("Marini variation"),)),
-"r1bqkb1r/pppp1ppp/2n2n2/4p3/2P5/2NP1N2/PP2PPPP/R1BQKB1R b KQkq - 0 4":
("A28", (_("English"),_("Four knights"),_("Capablanca variation"),)),
-"r1bqkb1r/pppp1ppp/2n2n2/4p3/2P5/2N1PN2/PP1P1PPP/R1BQKB1R b KQkq - 0 4":
("A28", (_("English"),_("Four knights"),"4.e3",)),
-"r1bqr1k1/pppp1ppp/2n2n2/3NpQ2/1bP5/4PN2/PP1P1PPP/R1B1KB1R b KQ - 3 7":
("A28", (_("English"),_("Four knights"),_("Stean variation"),)),
-"r1bqk2r/pppp1ppp/2n2n2/4p3/2P5/2b1PN2/PPQP1PPP/R1B1KB1R w KQkq - 0 6":
("A28", (_("English"),_("Four knights"),_("Romanishin variation"),)),
-"r1bqkb1r/pppp1ppp/2n2n2/4p3/2P5/2N2NP1/PP1PPP1P/R1BQKB1R b KQkq - 0 4":
("A29", (_("English"),_("Four knights"),_("kingside Fianchetto"),)),
-"rnbqkbnr/pp1ppppp/8/2p5/2P5/8/PP1PPPPP/RNBQKBNR w KQkq c6 0 2": ("A30",
(_("English"),_("Symmetrical variation"),)),
-"rn1qk2r/pb1pbppp/1p2pn2/2p5/2P5/2N2NP1/PP1PPPBP/R1BQ1RK1 w kq - 2 7":
("A30", (_("English"),_("Symmetrical"),_("hedgehog system"),)),
-"r2qk2r/1b1nbppp/pp1ppn2/8/2PQ4/1PN2NP1/P3PPBP/R1BR2K1 w kq - 1 11":
("A30", (_("English"),_("Symmetrical"),_("hedgehog"),_("flexible
formation"),)),
-"rnbqkb1r/pp1ppppp/5n2/2p5/2PP4/5N2/PP2PPPP/RNBQKB1R b KQkq d3 0 3":
("A31", (_("English"),_("Symmetrical"),_("Benoni formation"),)),
-"rnbqkb1r/pp1p1ppp/4pn2/8/2PN4/8/PP2PPPP/RNBQKB1R w KQkq - 0 5": ("A32",
(_("English"),_("Symmetrical variation"),)),
-"r1bqkb1r/pp1p1ppp/2n1pn2/8/2PN4/2N5/PP2PPPP/R1BQKB1R w KQkq - 2 6":
("A33", (_("English"),_("Symmetrical variation"),)),
-"r1b1kb1r/pp1p1ppp/1qn1pn2/8/2PN4/2N3P1/PP2PP1P/R1BQKB1R w KQkq - 1 7":
("A33", (_("English"),_("Symmetrical"),_("Geller variation"),)),
-"rnbqkbnr/pp1ppppp/8/2p5/2P5/2N5/PP1PPPPP/R1BQKBNR b KQkq - 1 2": ("A34",
(_("English"),_("Symmetrical variation"),)),
-"rnbqkb1r/pp2pppp/8/2pn4/8/2N2N2/PP1PPPPP/R1BQKB1R w KQkq - 0 5": ("A34",
(_("English"),_("Symmetrical"),_("Three knights system"),)),
-"rnbqkb1r/pp1ppppp/5n2/2p5/2P5/2N3P1/PP1PPP1P/R1BQKBNR b KQkq - 0 3":
("A34", (_("English"),_("Symmetrical variation"),)),
-"rnbqkb1r/ppn1pppp/8/2p5/8/2N3P1/PP1PPPBP/R1BQK1NR w KQkq - 2 6": ("A34",
(_("English"),_("Symmetrical"),_("Rubinstein system"),)),
-"r1bqkbnr/pp1ppppp/2n5/2p5/2P5/2N5/PP1PPPPP/R1BQKBNR w KQkq - 2 3":
("A35", (_("English"),_("Symmetrical variation"),)),
-"r1bqkb1r/pp1ppppp/2n2n2/2p5/2P5/2N2N2/PP1PPPPP/R1BQKB1R w KQkq - 4 4":
("A35", (_("English"),_("Symmetrical"),_("Four knights system"),)),
-"r1bqkbnr/pp1ppppp/2n5/2p5/2P5/2N3P1/PP1PPP1P/R1BQKBNR b KQkq - 0 3":
("A36", (_("English"),_("Symmetrical variation"),)),
-"r1bqk1nr/pp1pppbp/2n3p1/2p5/2P5/2N3P1/PP1PPPBP/R1BQK1NR w KQkq - 2 5":
("A36", (_("English"),_("ultra-Symmetrical variation"),)),
-"r1bqk1nr/pp1p1pbp/2n3p1/2p1p3/2P5/2N1P1P1/PP1P1PBP/R1BQK1NR w KQkq e6 0
6": ("A36", (_("English"),_("Symmetrical"),_("Botvinnik system
Reversed"),)),
-"r1bqk1nr/pp1pppbp/2n3p1/2p5/2P1P3/2N3P1/PP1P1PBP/R1BQK1NR b KQkq e3 0 5":
("A36", (_("English"),_("Symmetrical"),_("Botvinnik system"),)),
-"r1bqk1nr/pp1pppbp/2n3p1/2p5/2P5/2N2NP1/PP1PPPBP/R1BQK2R b KQkq - 3 5":
("A37", (_("English"),_("Symmetrical variation"),)),
-"r1bqk1nr/pp1p1pbp/2n3p1/2p1p3/2P5/2N2NP1/PP1PPPBP/R1BQK2R w KQkq e6 0 6":
("A37", (_("English"),_("Symmetrical"),_("Botvinnik system Reversed"),)),
-"r1bqk2r/pp1pppbp/2n2np1/2p5/2P5/2N2NP1/PP1PPPBP/R1BQK2R w KQkq - 4 6":
("A38", (_("English"),_("Symmetrical variation"),)),
-"r1bq1rk1/pp1pppbp/2n2np1/2p5/2P5/2NP1NP1/PP2PPBP/R1BQ1RK1 b - - 0 7":
("A38", (_("English"),_("Symmetrical"),_("Main line with d3"),)),
-"r1bq1rk1/pp1pppbp/2n2np1/2p5/2P5/1PN2NP1/P2PPPBP/R1BQ1RK1 b - - 0 7":
("A38", (_("English"),_("Symmetrical"),_("Main line with b3"),)),
-"r1bq1rk1/pp1pppbp/2n2np1/2p5/2PP4/2N2NP1/PP2PPBP/R1BQ1RK1 b - d3 0 7":
("A39", (_("English"),_("Symmetrical"),_("Main line with d4"),)),
-"rnbqkbnr/pppppppp/8/8/3P4/8/PPP1PPPP/RNBQKBNR b KQkq d3 0 1": ("A40",
(_("Queen's pawn"),)),
-"r1bqkbnr/pppppppp/2n5/8/3P4/8/PPP1PPPP/RNBQKBNR w KQkq - 1 2": ("A40",
(_("Queen's pawn"),_("Lundin (Kevitz-Mikenas) defense"),)),
-"rnbqkbnr/pppp1ppp/8/4p3/3P4/8/PPP1PPPP/RNBQKBNR w KQkq e6 0 2": ("A40",
(_("Queen's pawn"),_("Charlick (Englund) gambit"),)),
-"r1b1kb1r/ppppq1pp/2n2n2/3Q4/8/5N2/PPP1PPPP/RNB1KB1R w KQkq - 0 6":
("A40", (_("Queen's pawn"),_("Englund gambit"),)),
-"rnbqkbnr/p1pppppp/1p6/8/3P4/8/PPP1PPPP/RNBQKBNR w KQkq - 0 2": ("A40",
(_("Queen's pawn"),_("English defense"),)),
-"rnbqkbnr/p1pppppp/8/1p6/3P4/8/PPP1PPPP/RNBQKBNR w KQkq b6 0 2": ("A40",
(_("Polish defense"),)),
-"rnbqkbnr/pppp1ppp/4p3/8/3P4/8/PPP1PPPP/RNBQKBNR w KQkq - 0 2": ("A40",
(_("Queen's pawn"),)),
-"rnbqkbnr/p1pp1ppp/1p2p3/8/2PP4/8/PP2PPPP/RNBQKBNR w KQkq - 0 3": ("A40",
(_("Queen's pawn"),_("Keres defense"),)),
-"rnbqk1nr/pppp1ppp/4p3/8/1bPP4/8/PP2PPPP/RNBQKBNR w KQkq - 1 3": ("A40",
(_("Queen's pawn"),_("Franco-Indian (Keres) defense"),)),
-"rnbqkbnr/pppppp1p/6p1/8/3P4/8/PPP1PPPP/RNBQKBNR w KQkq - 0 2": ("A40",
(_("Modern defense"),)),
-"rnbqk1nr/pp1pp2p/6p1/2pP1p2/2P5/2P5/P3PPPP/R1BQKBNR w KQkq f6 0 6":
("A40", (_("Beefeater defense"),)),
-"rnbqkbnr/ppp1pppp/3p4/8/3P4/8/PPP1PPPP/RNBQKBNR w KQkq - 0 2": ("A41",
(_("Queen's Pawn"),)),
-"rn1qkbnr/ppp1pppp/3p4/8/3P2b1/5N2/PPP1PPPP/RNBQKB1R w KQkq - 2 3":
("A41", (_("Old Indian"),_("Tartakower (Wade) variation"),)),
-"rnbqkbnr/ppp1pppp/3p4/8/2PP4/8/PP2PPPP/RNBQKBNR b KQkq c3 0 2": ("A41",
(_("Old Indian defense"),)),
-"rnbqk1nr/ppp1ppbp/3p2p1/8/2PP4/2N5/PP2PPPP/R1BQKBNR w KQkq - 2 4":
("A41", (_("Modern defense"),)),
-"rn1qk1nr/ppp1ppbp/3p2p1/8/2PPP1b1/5N2/PP3PPP/RNBQKB1R w KQkq - 1 5":
("A41", (_("Robatsch defense"),_("Rossolimo variation"),)),
-"rnbqk1nr/ppp1ppbp/3p2p1/8/2PPP3/2N5/PP3PPP/R1BQKBNR b KQkq e3 0 4":
("A42", (_("Modern defense"),_("Averbakh system"),)),
-"rnb1k1nr/pp2ppbp/3p2p1/q1p5/2PPP3/2N2N2/PP3PPP/R1BQKB1R w KQkq - 2 6":
("A42", (_("Pterodactyl defense"),)),
-"rnbqk1nr/ppp1p1bp/3p2p1/5p2/2PPP3/2N5/PP3PPP/R1BQKBNR w KQkq f6 0 5":
("A42", (_("Modern defense"),_("Averbakh system"),_("Randspringer
variation"),)),
-"r1bqk1nr/ppp1ppbp/2np2p1/8/2PPP3/2N5/PP3PPP/R1BQKBNR w KQkq - 1 5":
("A42", (_("Modern defense"),_("Averbakh system"),_("Kotov variation"),)),
-"rnbqkbnr/pp1ppppp/8/2p5/3P4/8/PPP1PPPP/RNBQKBNR w KQkq c6 0 2": ("A43",
(_("Old Benoni defense"),)),
-"rnbqkbnr/pp1p1ppp/4p3/2pP4/4P3/8/PPP2PPP/RNBQKBNR b KQkq e3 0 3": ("A43",
(_("Old Benoni"),_("Franco-Benoni defense"),)),
-"rnbqkbnr/pp1pp1pp/8/2pP1p2/8/8/PPP1PPPP/RNBQKBNR w KQkq f6 0 3": ("A43",
(_("Old Benoni"),_("Mujannah formation"),)),
-"rnbqkb1r/pp1ppppp/5n2/2pP4/8/8/PPP1PPPP/RNBQKBNR w KQkq - 1 3": ("A43",
(_("Old Benoni defense"),)),
-"rnb1kb1r/pp1ppppp/5n2/q1pP4/8/2N5/PPP1PPPP/R1BQKBNR w KQkq - 3 4":
("A43", (_("Woozle defense"),)),
-"rnbqkb1r/pp1ppppp/5n2/2pP4/8/5N2/PPP1PPPP/RNBQKB1R b KQkq - 2 3": ("A43",
(_("Old Benoni defense"),)),
-"rnbqkb1r/pp1ppppp/5n2/3P4/2p5/5N2/PPP1PPPP/RNBQKB1R w KQkq - 0 4":
("A43", (_("Hawk (Habichd) defense"),)),
-"rnbqkbnr/pp2pppp/3p4/2pP4/8/8/PPP1PPPP/RNBQKBNR w KQkq - 0 3": ("A43",
(_("Old Benoni defense"),)),
-"rnbqkbnr/pp2pp1p/3p2p1/2pP4/8/2N5/PPP1PPPP/R1BQKBNR w KQkq - 0 4":
("A43", (_("Old Benoni"),_("Schmid's system"),)),
-"rnbqkbnr/pp1p1ppp/8/2pPp3/8/8/PPP1PPPP/RNBQKBNR w KQkq e6 0 3": ("A44",
(_("Old Benoni defense"),)),
-"rnbqkbnr/pp3ppp/3p4/2pPp3/4P3/8/PPP2PPP/RNBQKBNR w KQkq - 0 4": ("A44",
(_("Semi-Benoni (`blockade variation')"),)),
-"rnbqkb1r/pppppppp/5n2/8/3P4/8/PPP1PPPP/RNBQKBNR w KQkq - 1 2": ("A45",
(_("Queen's pawn game"),)),
-"rnbqkb1r/pppppppp/5n2/8/3P2P1/8/PPP1PP1P/RNBQKBNR b KQkq g3 0 2": ("A45",
(_("Queen's pawn"),_("Bronstein gambit"),)),
-"rnbqkb1r/pppppppp/5n2/8/3P1P2/8/PPP1P1PP/RNBQKBNR b KQkq f3 0 2": ("A45",
(_("Canard Opening"),)),
-"rnbqkb1r/pppppppp/5n2/8/3P4/5P2/PPP1P1PP/RNBQKBNR b KQkq - 0 2": ("A45",
(_("Paleface attack"),)),
-"rnbqkb1r/ppp1pppp/5n2/3p4/3PP3/5P2/PPP3PP/RNBQKBNR b KQkq e3 0 3":
("A45", (_("Blackmar-Diemer gambit"),)),
-"rnbqkb1r/ppp1pppp/5n2/3p4/3P2P1/5P2/PPP1P2P/RNBQKBNR b KQkq g3 0 3":
("A45", (_("Gedult attack"),)),
-"rnbqkb1r/pppppppp/5n2/6B1/3P4/8/PPP1PPPP/RN1QKBNR b KQkq - 2 2": ("A45",
(_("Trompowsky attack (Ruth"),_("Opovcensky Opening)"),)),
-"rnbqkb1r/pppppppp/5n2/8/3P4/5N2/PPP1PPPP/RNBQKB1R b KQkq - 2 2": ("A46",
(_("Queen's pawn game"),)),
-"rnbqkb1r/pppp1ppp/4pn2/6B1/3P4/5N2/PPP1PPPP/RN1QKB1R b KQkq - 1 3":
("A46", (_("Queen's pawn"),_("Torre attack"),)),
-"rnbqkb1r/pp1p1ppp/4pn2/2p3B1/3PP3/5N2/PPP2PPP/RN1QKB1R b KQkq e3 0 4":
("A46", (_("Queen's pawn"),_("Torre attack"),_("Wagner gambit"),)),
-"rnbqkb1r/pppp1ppp/4pn2/8/3P4/4PN2/PPP2PPP/RNBQKB1R b KQkq - 0 3": ("A46",
(_("Queen's pawn"),_("Yusupov-Rubinstein system"),)),
-"rnbqkb1r/pppppppp/8/8/3Pn3/5N2/PPP1PPPP/RNBQKB1R w KQkq - 3 3": ("A46",
(_("Doery defense"),)),
-"rnbqkb1r/p1pppppp/1p3n2/8/3P4/5N2/PPP1PPPP/RNBQKB1R w KQkq - 0 3":
("A47", (_("Queen's Indian defense"),)),
-"rn1qkb1r/pb1ppppp/1p3n2/2p5/3P4/5NP1/PPP1PPBP/RNBQK2R w KQkq c6 0 5":
("A47", (_("Queen's Indian"),_("Marienbad system"),)),
-"rn1qkb1r/pb1ppppp/1p3n2/8/2PQ4/5NP1/PP2PPBP/RNB1K2R b KQkq - 0 6":
("A47", (_("Queen's Indian"),_("Marienbad system"),_("Berg variation"),)),
-"rnbqkb1r/pppppp1p/5np1/8/3P4/5N2/PPP1PPPP/RNBQKB1R w KQkq - 0 3": ("A48",
(_("King's Indian"),_("East Indian defense"),)),
-"rnbqkb1r/pppppp1p/5np1/6B1/3P4/5N2/PPP1PPPP/RN1QKB1R b KQkq - 1 3":
("A48", (_("King's Indian"),_("Torre attack"),)),
-"rnbqkb1r/pppppp1p/5np1/8/3P1B2/5N2/PPP1PPPP/RN1QKB1R b KQkq - 1 3":
("A48", (_("King's Indian"),_("London system"),)),
-"rnbqkb1r/pppppp1p/5np1/8/3P4/5NP1/PPP1PP1P/RNBQKB1R b KQkq - 0 3":
("A49", (_("King's Indian"),_("Fianchetto without c4"),)),
-"rnbqkb1r/pppppppp/5n2/8/2PP4/8/PP2PPPP/RNBQKBNR b KQkq c3 0 2": ("A50",
(_("Queen's pawn game"),)),
-"r1bqkb1r/pppppppp/2n2n2/8/2PP4/8/PP2PPPP/RNBQKBNR w KQkq - 1 3": ("A50",
(_("Kevitz-Trajkovich defense"),)),
-"rnbqkb1r/p1pppppp/1p3n2/8/2PP4/8/PP2PPPP/RNBQKBNR w KQkq - 0 3": ("A50",
(_("Queen's Indian Accelerated"),)),
-"rnbqkb1r/pppp1ppp/5n2/4p3/2PP4/8/PP2PPPP/RNBQKBNR w KQkq e6 0 3": ("A51",
(_("Budapest defense declined"),)),
-"rnbqkb1r/pppp1ppp/8/4P3/2P1n3/8/PP2PPPP/RNBQKBNR w KQkq - 1 4": ("A51",
(_("Budapest"),_("Fajarowicz variation"),)),
-"rnbqkb1r/pppp1ppp/8/4P3/2P1n3/8/PPQ1PPPP/RNB1KBNR b KQkq - 2 4": ("A51",
(_("Budapest"),_("Fajarowicz"),_("Steiner variation"),)),
-"rnbqkb1r/pppp1ppp/8/4P3/2P3n1/8/PP2PPPP/RNBQKBNR w KQkq - 1 4": ("A52",
(_("Budapest defense"),)),
-"rnbqkb1r/pppp1ppp/8/4P3/2P3n1/5N2/PP2PPPP/RNBQKB1R b KQkq - 2 4": ("A52",
(_("Budapest"),_("Adler variation"),)),
-"rnbqkb1r/pppp1ppp/8/4P3/2P2Bn1/8/PP2PPPP/RN1QKBNR b KQkq - 2 4": ("A52",
(_("Budapest"),_("Rubinstein variation"),)),
-"rnbqkb1r/pppp1ppp/8/4P3/2P1P1n1/8/PP3PPP/RNBQKBNR b KQkq e3 0 4": ("A52",
(_("Budapest"),_("Alekhine variation"),)),
-"rnbqkb1r/pppp1ppp/2n5/8/2P1PP2/8/PP4PP/RNBQKBNR w KQkq - 1 6": ("A52",
(_("Budapest"),_("Alekhine"),_("Abonyi variation"),)),
-"rnbqkb1r/ppp2ppp/3p4/4P3/2P1P1n1/8/PP3PPP/RNBQKBNR w KQkq - 0 5": ("A52",
(_("Budapest"),_("Alekhine variation"),_("Balogh gambit"),)),
-"rnbqkb1r/ppp1pppp/3p1n2/8/2PP4/8/PP2PPPP/RNBQKBNR w KQkq - 0 3": ("A53",
(_("Old Indian defense"),)),
-"rn1qkb1r/ppp1pppp/3p1n2/5b2/2PP4/2N5/PP2PPPP/R1BQKBNR w KQkq - 2 4":
("A53", (_("Old Indian"),_("Janowski variation"),)),
-"rnbqkb1r/ppp2ppp/3p1n2/4p3/2PP4/2N5/PP2PPPP/R1BQKBNR w KQkq e6 0 4":
("A54", (_("Old Indian"),_("Ukrainian variation"),)),
-"r1bqkb1r/pppn1ppp/3p1n2/4p3/2PP4/2NBP3/PP3PPP/R1BQK1NR b KQkq - 2 5":
("A54", (_("Old Indian"),_("Dus-Khotimirsky variation"),)),
-"rnbqkb1r/ppp2ppp/3p1n2/4p3/2PP4/2N2N2/PP2PPPP/R1BQKB1R b KQkq - 1 4":
("A54", (_("Old Indian"),_("Ukrainian variation"),"4.Nf3",)),
-"r1bqkb1r/pppn1ppp/3p1n2/4p3/2PPP3/2N2N2/PP3PPP/R1BQKB1R b KQkq e3 0 5":
("A55", (_("Old Indian"),_("Main line"),)),
-"rnbqkb1r/pp1ppppp/5n2/2p5/2PP4/8/PP2PPPP/RNBQKBNR w KQkq c6 0 3": ("A56",
(_("Benoni defense"),)),
-"rnbqkb1r/pp2pppp/3p1n2/2pP4/2P5/8/PP2PPPP/RNBQKBNR w KQkq - 0 4": ("A56",
(_("Benoni defense"),_("Hromodka system"),)),
-"rnbqkb1r/pp1ppppp/8/2pP4/2P1n3/8/PP2PPPP/RNBQKBNR w KQkq - 1 4": ("A56",
(_("Vulture defense"),)),
-"rnbqkb1r/pp1p1ppp/5n2/2pPp3/2P5/8/PP2PPPP/RNBQKBNR w KQkq e6 0 4":
("A56", (_("Czech Benoni defense"),)),
-"rnbqkb1r/pp3p1p/3p1np1/2pPp3/2P1P3/2N5/PP3PPP/R1BQKBNR w KQkq - 0 6":
("A56", (_("Czech Benoni"),_("King's Indian system"),)),
-"rnbqkb1r/p2ppppp/5n2/1ppP4/2P5/8/PP2PPPP/RNBQKBNR w KQkq b6 0 4": ("A57",
(_("Benko gambit"),)),
-"rnbqkb1r/3ppppp/p4n2/1PpP4/8/8/PP2PPPP/RNBQKBNR w KQkq - 0 5": ("A57",
(_("Benko gambit half accepted"),)),
-"rnbqkb1r/3ppppp/p4n2/1PpP4/8/2N5/PP2PPPP/R1BQKBNR b KQkq - 1 5": ("A57",
(_("Benko gambit"),_("Zaitsev system"),)),
-"rnbqkb1r/4pppp/3p1n2/1NpP4/1pB1P3/8/PP3PPP/R1BQK1NR b KQkq - 1 8":
("A57", (_("Benko gambit"),_("Nescafe Frappe attack"),)),
-"rnbqkb1r/3ppppp/P4n2/2pP4/8/8/PP2PPPP/RNBQKBNR b KQkq - 0 5": ("A58",
(_("Benko gambit accepted"),)),
-"rn1qkb1r/4pp1p/b2p1np1/2pP4/8/2N5/PP1NPPPP/R1BQKB1R b KQkq - 1 8":
("A58", (_("Benko gambit"),_("Nd2 variation"),)),
-"rn1qkb1r/4pp1p/b2p1np1/2pP4/8/2N2NP1/PP2PP1P/R1BQKB1R b KQkq - 0 8":
("A58", (_("Benko gambit"),_("Fianchetto variation"),)),
-"rn1qkb1r/4pppp/b2p1n2/2pP4/4P3/2N5/PP3PPP/R1BQKBNR b KQkq e3 0 7":
("A59", (_("Benko gambit"),"7.e4",)),
-"rn1qkb1r/4pp1p/3p1np1/2pP4/4P3/2N5/PP2NPPP/R1BQ1K1R b kq - 1 9": ("A59",
(_("Benko gambit"),_("Ne2 variation"),)),
-"rn1qkb1r/4pp1p/3p1np1/2pP4/4P3/2N3P1/PP3P1P/R1BQ1KNR b kq - 0 9": ("A59",
(_("Benko gambit"),)),
-"rn1q1rk1/4ppbp/3p1np1/2pP4/4P3/2N2NP1/PP3PKP/R1BQ3R b - - 1 11": ("A59",
(_("Benko gambit"),_("Main line"),)),
-"rnbqkb1r/pp1p1ppp/4pn2/2pP4/2P5/8/PP2PPPP/RNBQKBNR w KQkq - 0 4": ("A60",
(_("Benoni defense"),)),
-"rnbqkb1r/pp3p1p/3p1np1/2pP4/8/2N2N2/PP2PPPP/R1BQKB1R w KQkq - 0 7":
("A61", (_("Benoni defense"),)),
-"rnbqkb1r/pp3p1p/3p1np1/2pP2B1/8/2N2N2/PP2PPPP/R2QKB1R b KQkq - 1 7":
("A61", (_("Benoni"),_("Uhlmann variation"),)),
-"rnbqkb1r/pp3p1p/3p1np1/2pP4/8/2N5/PP1NPPPP/R1BQKB1R b KQkq - 1 7":
("A61", (_("Benoni"),_("Nimzovich (knight's tour) variation"),)),
-"rnbqkb1r/pp3p1p/3p1np1/2pP4/8/2N2NP1/PP2PP1P/R1BQKB1R b KQkq - 0 7":
("A61", (_("Benoni"),_("Fianchetto variation"),)),
-"rnbq1rk1/pp3pbp/3p1np1/2pP4/8/2N2NP1/PP2PPBP/R1BQK2R w KQ - 0 9": ("A62",
(_("Benoni"),_("Fianchetto variation"),)),
-"r1bq1rk1/pp1n1pbp/3p1np1/2pP4/8/2N2NP1/PP2PPBP/R1BQ1RK1 w - - 1 10":
("A63", (_("Benoni"),_("Fianchetto"),"9...Nbd7",)),
-"r1bqr1k1/1p1n1pbp/p2p1np1/2pP4/P7/2N3P1/1P1NPPBP/R1BQ1RK1 w - - 1 12":
("A64", (_("Benoni"),_("Fianchetto"),"11...Re8",)),
-"rnbqkb1r/pp3ppp/3p1n2/2pP4/4P3/2N5/PP3PPP/R1BQKBNR b KQkq e3 0 6":
("A65", (_("Benoni"),"6.e4",)),
-"rnbqkb1r/pp3p1p/3p1np1/2pP4/4PP2/2N5/PP4PP/R1BQKBNR b KQkq f3 0 7":
("A66", (_("Benoni"),_("pawn storm variation"),)),
-"rnbqk2r/pp3pbp/3p1np1/2pPP3/5P2/2N5/PP4PP/R1BQKBNR b KQkq - 0 8": ("A66",
(_("Benoni"),_("Mikenas variation"),)),
-"rnbqk2r/pp3pbp/3p1np1/1BpP4/4PP2/2N5/PP4PP/R1BQK1NR b KQkq - 2 8":
("A67", (_("Benoni"),_("Taimanov variation"),)),
-"rnbq1rk1/pp3pbp/3p1np1/2pP4/4PP2/2N2N2/PP4PP/R1BQKB1R w KQ - 0 9":
("A68", (_("Benoni"),_("Four pawns attack"),)),
-"rnbqr1k1/pp3pbp/3p1np1/2pP4/4PP2/2N2N2/PP2B1PP/R1BQK2R w KQ - 2 10":
("A69", (_("Benoni"),_("Four pawns attack"),_("Main line"),)),
-"rnbqkb1r/pp3p1p/3p1np1/2pP4/4P3/2N2N2/PP3PPP/R1BQKB1R b KQkq - 1 7":
("A70", (_("Benoni"),_("Classical with e4 and Nf3"),)),
-"rnbqk2r/pp3pbp/3p1np1/2pP4/4P3/2N2N2/PP2BPPP/R1BQK2R b KQkq - 3 8":
("A70", (_("Benoni"),_("Classical without 9.O-O"),)),
-"rnbqk2r/pp3pbp/3p1np1/2pP2B1/4P3/2N2N2/PP3PPP/R2QKB1R b KQkq - 3 8":
("A71", (_("Benoni"),_("Classical"),"8.Bg5",)),
-"rnbq1rk1/pp3pbp/3p1np1/2pP4/4P3/2N2N2/PP2BPPP/R1BQK2R w KQ - 0 9":
("A72", (_("Benoni"),_("Classical without 9.O-O"),)),
-"rnbq1rk1/pp3pbp/3p1np1/2pP4/4P3/2N2N2/PP2BPPP/R1BQ1RK1 b - - 0 9":
("A73", (_("Benoni"),_("Classical"),"9.O-O",)),
-"rnbq1rk1/1p3pbp/p2p1np1/2pP4/P3P3/2N2N2/1P2BPPP/R1BQ1RK1 b - a3 0 10":
("A74", (_("Benoni"),_("Classical"),"9...a6","10.a4",)),
-"rn1q1rk1/1p3pbp/p2p1np1/2pP4/P3P1b1/2N2N2/1P2BPPP/R1BQ1RK1 w - - 1 11":
("A75", (_("Benoni"),_("Classical with ...a6 and 10...Bg4"),)),
-"rnbqr1k1/pp3pbp/3p1np1/2pP4/4P3/2N2N2/PP2BPPP/R1BQ1RK1 w - - 1 10":
("A76", (_("Benoni"),_("Classical"),"9...Re8",)),
-"rnbqr1k1/pp3pbp/3p1np1/2pP4/4P3/2N5/PP1NBPPP/R1BQ1RK1 b - - 2 10":
("A77", (_("Benoni"),_("Classical"),"9...Re8","10.Nd2",)),
-"r1bqr1k1/pp3pbp/n2p1np1/2pP4/4P3/2N5/PP1NBPPP/R1BQ1RK1 w - - 3 11":
("A78", (_("Benoni"),_("Classical with ...Re8 and ...Na6"),)),
-"r1bqr1k1/pp3pbp/n2p1np1/2pP4/4P3/2N2P2/PP1NB1PP/R1BQ1RK1 b - - 0 11":
("A79", (_("Benoni"),_("Classical"),"11.f3",)),
-"rnbqkbnr/ppppp1pp/8/5p2/3P4/8/PPP1PPPP/RNBQKBNR w KQkq f6 0 2": ("A80",
(_("Dutch"),)),
-"rnbqkb1r/ppppp1pp/5n2/5p2/3P2P1/2N5/PPP1PP1P/R1BQKBNR b KQkq g3 0 3":
("A80", (_("Dutch"),_("Spielmann gambit"),)),
-"rnbqkbnr/ppppp1pp/8/5p2/3P4/3Q4/PPP1PPPP/RNB1KBNR b KQkq - 1 2": ("A80",
(_("Dutch"),_("Manhattan (Alapin"),_("Ulvestad) variation"),)),
-"rnbqkbnr/pppp2pp/4p3/5p2/3P2P1/3Q4/PPP1PP1P/RNB1KBNR b KQkq g3 0 3":
("A80", (_("Dutch"),_("Von Pretzel gambit"),)),
-"rnbqkbnr/ppppp1pp/8/5p2/3P4/7P/PPP1PPP1/RNBQKBNR b KQkq - 0 2": ("A80",
(_("Dutch"),_("Korchnoi attack"),)),
-"rnbqkbnr/ppppp1pp/8/5p2/3P2P1/8/PPP1PP1P/RNBQKBNR b KQkq g3 0 2": ("A80",
(_("Dutch"),_("Krejcik gambit"),)),
-"rnbqkbnr/ppppp1pp/8/5pB1/3P4/8/PPP1PPPP/RN1QKBNR b KQkq - 1 2": ("A80",
(_("Dutch"),"2.Bg5 variation",)),
-"rnbqkbnr/ppppp1pp/8/5p2/3P4/6P1/PPP1PP1P/RNBQKBNR b KQkq - 0 2": ("A81",
(_("Dutch defense"),)),
-"rnbqkb1r/pppp2pp/4pn2/5p2/3P4/6PN/PPP1PPBP/RNBQK2R b KQkq - 1 4": ("A81",
(_("Dutch defense"),_("Blackburne variation"),)),
-"rnbqkb1r/ppppp2p/5np1/5p2/3P4/6P1/PPP1PPBP/RNBQK1NR w KQkq - 0 4":
("A81", (_("Dutch defense"),)),
-"rnbqk2r/pp1pp1bp/2p3pn/5p2/3P4/5NP1/PPP1PPBP/RNBQ1RK1 w kq - 1 6":
("A81", (_("Dutch"),_("Leningrad"),_("Basman system"),)),
-"rnbqk1nr/ppppp1bp/6p1/5p2/3P4/6PN/PPP1PPBP/RNBQK2R b KQkq - 3 4": ("A81",
(_("Dutch"),_("Leningrad"),_("Karlsbad variation"),)),
-"rnbqkbnr/ppppp1pp/8/5p2/3PP3/8/PPP2PPP/RNBQKBNR b KQkq e3 0 2": ("A82",
(_("Dutch"),_("Staunton gambit"),)),
-"rnbqkbnr/ppp1p1pp/3p4/5p2/3PP3/8/PPP2PPP/RNBQKBNR w KQkq - 0 3": ("A82",
(_("Dutch"),_("Balogh defense"),)),
-"rnbqkbnr/ppppp1pp/8/8/3Pp3/8/PPP2PPP/RNBQKBNR w KQkq - 0 3": ("A82",
(_("Dutch"),_("Staunton gambit"),)),
-"rnbqkb1r/ppppp1pp/5n2/8/3Pp1P1/2N5/PPP2P1P/R1BQKBNR b KQkq g3 0 4":
("A82", (_("Dutch"),_("Staunton gambit"),_("Tartakower variation"),)),
-"rnbqkb1r/ppppp1pp/5n2/6B1/3Pp3/2N5/PPP2PPP/R2QKBNR b KQkq - 3 4": ("A83",
(_("Dutch"),_("Staunton gambit"),_("Staunton's line"),)),
-"rnbqkb1r/ppppp2p/5np1/6B1/3Pp2P/2N5/PPP2PP1/R2QKBNR b KQkq h3 0 5":
("A83", (_("Dutch"),_("Staunton gambit"),_("Alekhine variation"),)),
-"rnbqkb1r/ppppp2p/5np1/6B1/3Pp3/2N2P2/PPP3PP/R2QKBNR b KQkq - 0 5":
("A83", (_("Dutch"),_("Staunton gambit"),_("Lasker variation"),)),
-"rnbqkb1r/pp1pp1pp/2p2n2/6B1/3Pp3/2N5/PPP2PPP/R2QKBNR w KQkq - 0 5":
("A83", (_("Dutch"),_("Staunton gambit"),_("Chigorin variation"),)),
-"rnbqkb1r/p1ppp1pp/1p3n2/6B1/3Pp3/2N5/PPP2PPP/R2QKBNR w KQkq - 0 5":
("A83", (_("Dutch"),_("Staunton gambit"),_("Nimzovich variation"),)),
-"rnbqkbnr/ppppp1pp/8/5p2/2PP4/8/PP2PPPP/RNBQKBNR b KQkq c3 0 2": ("A84",
(_("Dutch defense"),)),
-"rnbqkb1r/ppppp2p/6pn/5p2/2PP4/2N5/PP2PPPP/R1BQKBNR w KQkq - 2 4": ("A84",
(_("Dutch defense"),_("Bladel variation"),)),
-"rnbqkbnr/pppp2pp/4p3/5p2/2PP4/8/PP2PPPP/RNBQKBNR w KQkq - 0 3": ("A84",
(_("Dutch defense"),)),
-"rnbqkbnr/pppp2pp/4p3/5p2/2PP4/2N5/PP2PPPP/R1BQKBNR b KQkq - 1 3": ("A84",
(_("Dutch defense"),_("Rubinstein variation"),)),
-"rnbqkbnr/pppp2pp/4p3/5p2/2PPP3/8/PP3PPP/RNBQKBNR b KQkq e3 0 3": ("A84",
(_("Dutch"),_("Staunton gambit deferred"),)),
-"rnbqkb1r/ppppp1pp/5n2/5p2/2PP4/8/PP2PPPP/RNBQKBNR w KQkq - 1 3": ("A84",
(_("Dutch defense"),)),
-"rnbqkb1r/ppppp1pp/5n2/5p2/2PP4/2N5/PP2PPPP/R1BQKBNR b KQkq - 2 3":
("A85", (_("Dutch with c4 & Nc3"),)),
-"rnbqkb1r/ppppp1pp/5n2/5p2/2PP4/6P1/PP2PP1P/RNBQKBNR b KQkq - 0 3":
("A86", (_("Dutch with c4 & g3"),)),
-"rnb1kb1r/ppq1p1pp/2pp1n2/5p2/2PP4/2N3P1/PP2PPBP/R1BQK1NR w KQkq - 2 6":
("A86", (_("Dutch"),_("Hort-Antoshin system"),)),
-"rnbqkb1r/ppppp2p/5np1/5p2/2PP4/6P1/PP2PP1P/RNBQKBNR w KQkq - 0 4":
("A86", (_("Dutch"),_("Leningrad variation"),)),
-"rnbqk2r/ppppp1bp/5np1/5p2/2PP4/5NP1/PP2PPBP/RNBQK2R b KQkq - 3 5":
("A87", (_("Dutch"),_("Leningrad"),_("Main variation"),)),
-"rnbq1rk1/pp2p1bp/2pp1np1/5p2/2PP4/2N2NP1/PP2PPBP/R1BQ1RK1 w - - 0 8":
("A88", (_("Dutch"),_("Leningrad"),_("Main variation with c6"),)),
-"r1bq1rk1/ppp1p1bp/2np1np1/5p2/2PP4/2N2NP1/PP2PPBP/R1BQ1RK1 w - - 2 8":
("A89", (_("Dutch"),_("Leningrad"),_("Main variation with Nc6"),)),
-"rnbqkb1r/pppp2pp/4pn2/5p2/2PP4/6P1/PP2PPBP/RNBQK1NR b KQkq - 1 4":
("A90", (_("Dutch defense"),)),
-"rnbqk2r/pppp2pp/4pn2/5p2/1bPP4/6P1/PP2PPBP/RNBQK1NR w KQkq - 2 5":
("A90", (_("Dutch defense"),_("Dutch-Indian (Nimzo-Dutch) variation"),)),
-"rnbqk2r/ppppb1pp/4pn2/5p2/2PP4/6P1/PP1BPPBP/RN1QK1NR w KQkq - 4 6":
("A90", (_("Dutch-Indian"),_("Alekhine variation"),)),
-"rnbqk2r/ppppb1pp/4pn2/5p2/2PP4/6P1/PP2PPBP/RNBQK1NR w KQkq - 2 5":
("A91", (_("Dutch defense"),)),
-"rnbq1rk1/ppppb1pp/4pn2/5p2/2PP4/5NP1/PP2PPBP/RNBQK2R w KQ - 0 6": ("A92",
(_("Dutch defense"),)),
-"rnbq1rk1/ppppb1pp/4p3/5p2/2PPn3/5NP1/PP2PPBP/RNBQ1RK1 w - - 1 7": ("A92",
(_("Dutch defense"),_("Alekhine variation"),)),
-"rnbq1rk1/ppp1b1pp/4pn2/3p1p2/2PP4/5NP1/PP2PPBP/RNBQ1RK1 w - d6 0 7":
("A92", (_("Dutch"),_("Stonewall variation"),)),
-"rnbq1rk1/ppp1b1pp/4pn2/3p1p2/2PP4/2N2NP1/PP2PPBP/R1BQ1RK1 b - - 1 7":
("A92", (_("Dutch"),_("Stonewall with Nc3"),)),
-"rnbq1rk1/ppp1b1pp/4pn2/3p1p2/2PP4/1P3NP1/P3PPBP/RNBQ1RK1 b - - 0 7":
("A93", (_("Dutch"),_("Stonewall"),_("Botwinnik variation"),)),
-"rnbq1rk1/pp2b1pp/2p1pn2/3p1p2/2PP4/BP3NP1/P3PPBP/RN1Q1RK1 b - - 1 8":
("A94", (_("Dutch"),_("Stonewall with Ba3"),)),
-"rnbq1rk1/pp2b1pp/2p1pn2/3p1p2/2PP4/2N2NP1/PP2PPBP/R1BQ1RK1 w - - 0 8":
("A95", (_("Dutch"),_("Stonewall with Nc3"),)),
-"rnb1qrk1/pp2b1pp/2p1pn2/3p1pB1/2PP4/2N2NP1/PPQ1PPBP/R4RK1 b - - 3 9":
("A95", (_("Dutch"),_("Stonewall: Chekhover variation"),)),
-"rnbq1rk1/ppp1b1pp/3ppn2/5p2/2PP4/5NP1/PP2PPBP/RNBQ1RK1 w - - 0 7":
("A96", (_("Dutch"),_("Classical variation"),)),
-"rnb1qrk1/ppp1b1pp/3ppn2/5p2/2PP4/2N2NP1/PP2PPBP/R1BQ1RK1 w - - 2 8":
("A97", (_("Dutch"),_("Ilyin-Genevsky variation"),)),
-"rnb1qrk1/ppp1b1pp/3ppn2/5p2/2PP4/2N2NP1/PP2PPBP/R1BQR1K1 b - - 3 8":
("A97", (_("Dutch"),_("Ilyin-Genevsky"),_("Winter variation"),)),
-"rnb1qrk1/ppp1b1pp/3ppn2/5p2/2PP4/2N2NP1/PPQ1PPBP/R1B2RK1 b - - 3 8":
("A98", (_("Dutch"),_("Ilyin-Genevsky variation with Qc2"),)),
-"rnb1qrk1/ppp1b1pp/3ppn2/5p2/2PP4/1PN2NP1/P3PPBP/R1BQ1RK1 b - - 0 8":
("A99", (_("Dutch"),_("Ilyin-Genevsky variation with b3"),)),
-"rnbqkbnr/pppppppp/8/8/4P3/8/PPPP1PPP/RNBQKBNR b KQkq e3 0 1": ("B00",
(_("King's pawn Opening"),)),
-"rnbqkb1r/ppppp2p/5ppn/8/2PPP3/8/PP3PPP/RNBQKBNR w KQkq - 0 4": ("B00",
(_("Hippopotamus defense"),)),
-"rnbqkbnr/1ppppppp/8/p7/4P3/8/PPPP1PPP/RNBQKBNR w KQkq a6 0 2": ("B00",
(_("Corn stalk defense"),)),
-"r1bqkbnr/pppppppp/n7/8/4P3/8/PPPP1PPP/RNBQKBNR w KQkq - 1 2": ("B00",
(_("Lemming defense"),)),
-"rnbqkbnr/ppppp1pp/8/5p2/4P3/8/PPPP1PPP/RNBQKBNR w KQkq f6 0 2": ("B00",
(_("Fred"),)),
-"rnbqkbnr/ppppp1pp/5p2/8/4P3/8/PPPP1PPP/RNBQKBNR w KQkq - 0 2": ("B00",
(_("Barnes defense"),)),
-"rnbq1bnr/pppppkpp/5p2/8/3PP3/8/PPP2PPP/RNBQKBNR w KQ - 1 3": ("B00",
(_("Fried fox defense"),)),
-"rnbqkbnr/ppppppp1/7p/8/4P3/8/PPPP1PPP/RNBQKBNR w KQkq - 0 2": ("B00",
(_("Carr's defense"),)),
-"rnbqkbnr/pppppp1p/8/6p1/4P3/8/PPPP1PPP/RNBQKBNR w KQkq g6 0 2": ("B00",
(_("Reversed Grob (Borg/Basman defense/macho Grob)"),)),
-"rnbqkbnr/1ppppppp/p7/8/4P3/8/PPPP1PPP/RNBQKBNR w KQkq - 0 2": ("B00",
(_("St. George (Baker) defense"),)),
-"rnbqkbnr/p1pppppp/1p6/8/4P3/8/PPPP1PPP/RNBQKBNR w KQkq - 0 2": ("B00",
(_("Owen defense"),)),
-"rn1qkbnr/p1pppppp/bp6/8/3PP3/8/PPP2PPP/RNBQKBNR w KQkq - 1 3": ("B00",
(_("Guatemala defense"),)),
-"r1bqkbnr/pppppppp/2n5/8/4P3/8/PPPP1PPP/RNBQKBNR w KQkq - 1 2": ("B00",
(_("KP"),_("Nimzovich defense"),)),
-"r1bqkbnr/pppppppp/2n5/8/3PP3/2P5/P4PPP/RNBQKBNR b KQkq d3 0 4": ("B00",
(_("KP"),_("Nimzovich defense"),_("Wheeler gambit"),)),
-"r1bqkbnr/pppppppp/2n5/8/4P3/5N2/PPPP1PPP/RNBQKB1R b KQkq - 2 2": ("B00",
(_("KP"),_("Nimzovich defense"),)),
-"r1bqkbnr/ppppp1pp/2n5/5p2/4P3/5N2/PPPP1PPP/RNBQKB1R w KQkq f6 0 3":
("B00", (_("KP"),_("Colorado counter"),)),
-"r1bqkbnr/pppppppp/2n5/8/3PP3/8/PPP2PPP/RNBQKBNR b KQkq d3 0 2": ("B00",
(_("KP"),_("Nimzovich defense"),)),
-"r1b1kbnr/ppp1pppp/2n5/3q4/3P4/2N5/PPP2PPP/R1BQKBNR b KQkq - 1 4": ("B00",
(_("KP"),_("Nimzovich defense"),_("Marshall gambit"),)),
-"r1bqkbnr/ppp1pppp/2n5/3p4/3PP3/2N5/PPP2PPP/R1BQKBNR b KQkq - 1 3":
("B00", (_("KP"),_("Nimzovich defense"),_("Bogolyubov variation"),)),
-"r1bqkbnr/ppppp1pp/2n2p2/8/3PP3/8/PPP2PPP/RNBQKBNR w KQkq - 0 3": ("B00",
(_("KP"),_("Neo-Mongoloid defense"),)),
-"rnbqkbnr/ppp1pppp/8/3p4/4P3/8/PPPP1PPP/RNBQKBNR w KQkq d6 0 2": ("B01",
(_("Scandinavian (centre counter) defense"),)),
-"rn2kb1r/ppp1pppp/5n2/q7/3P2b1/2N2N1P/PPP2PP1/R1BQKB1R b KQkq - 0 6":
("B01", (_("Scandinavian defense"),_("Lasker variation"),)),
-"rn2kb1r/ppp1pppp/5n2/q4b2/3P4/2N2N2/PPP2PPP/R1BQKB1R w KQkq - 3 6":
("B01", (_("Scandinavian defense"),)),
-"rn2kb1r/pp2pppp/2p2n2/q3Nb2/3P2P1/2N5/PPP2P1P/R1BQKB1R b KQkq g3 0 7":
("B01", (_("Scandinavian defense"),_("Gruenfeld variation"),)),
-"rnb1kbnr/ppp2ppp/8/q3p3/3P4/2N5/PPP2PPP/R1BQKBNR w KQkq e6 0 5": ("B01",
(_("Scandinavian"),_("Anderssen counter-attack"),)),
-"r1b1k1nr/ppp2ppp/2n5/q3P3/1b6/2N2N2/PPPB1PPP/R2QKB1R b KQkq - 4 7":
("B01", (_("Scandinavian"),_("Anderssen counter-attack Orthodox attack"),)),
-"rnb1kbnr/ppp2ppp/8/q3p3/3P4/2N2N2/PPP2PPP/R1BQKB1R b KQkq - 1 5": ("B01",
(_("Scandinavian"),_("Anderssen counter-attack"),_("Goteborg system"),)),
-"rn2kbnr/ppp2ppp/8/q3p3/3P2b1/2N2N2/PPP2PPP/R1BQKB1R w KQkq - 2 6":
("B01", (_("Scandinavian"),_("Anderssen counter-attack"),_("Collijn
variation"),)),
-"rnb1kbnr/ppp1pppp/8/q7/1P6/2N5/P1PP1PPP/R1BQKBNR b KQkq b3 0 4": ("B01",
(_("Scandinavian"),_("Mieses-Kotrvc gambit"),)),
-"rnb1kbnr/ppp1pppp/3q4/8/8/2N5/PPPP1PPP/R1BQKBNR w KQkq - 2 4": ("B01",
(_("Scandinavian"),_("Pytel-Wade variation"),)),
-"rnbqkb1r/ppp1pppp/5n2/3P4/8/8/PPPP1PPP/RNBQKBNR w KQkq - 1 3": ("B01",
(_("Scandinavian defense"),)),
-"rnbqkb1r/ppp2ppp/4pn2/3P4/2P5/8/PP1P1PPP/RNBQKBNR w KQkq - 0 4": ("B01",
(_("Scandinavian"),_("Icelandic gambit"),)),
-"rnbqkb1r/pp2pppp/2p2n2/3P4/2P5/8/PP1P1PPP/RNBQKBNR w KQkq - 0 4": ("B01",
(_("Scandinavian gambit"),)),
-"rnbqkb1r/ppp1pppp/5n2/3P4/3P4/8/PPP2PPP/RNBQKBNR b KQkq d3 0 3": ("B01",
(_("Scandinavian defense"),)),
-"rnbqkb1r/ppp1pppp/8/3n4/3P4/8/PPP2PPP/RNBQKBNR w KQkq - 0 4": ("B01",
(_("Scandinavian"),_("Marshall variation"),)),
-"rnbqkb1r/ppp1pppp/8/8/1nPP4/8/PP3PPP/RNBQKBNR w KQkq - 1 5": ("B01",
(_("Scandinavian"),_("Kiel variation"),)),
-"rnbqkb1r/ppp1pp1p/5np1/3P4/3P4/8/PPP2PPP/RNBQKBNR w KQkq - 0 4": ("B01",
(_("Scandinavian"),_("Richter variation"),)),
-"rnbqkb1r/pppppppp/5n2/8/4P3/8/PPPP1PPP/RNBQKBNR w KQkq - 1 2": ("B02",
(_("Alekhine's defense"),)),
-"rnbqkb1r/ppp1pppp/5n2/3p4/4P3/2N5/PPPP1PPP/R1BQKBNR w KQkq d6 0 3":
("B02", (_("Alekhine's defense"),_("Scandinavian variation"),)),
-"rnbqkb1r/pppnpppp/4P3/3p4/8/2N5/PPPP1PPP/R1BQKBNR b KQkq - 0 4": ("B02",
(_("Alekhine's defense"),_("Spielmann variation"),)),
-"rnbqkb1r/pppppppp/5n2/8/4P3/3P4/PPP2PPP/RNBQKBNR b KQkq - 0 2": ("B02",
(_("Alekhine's defense"),_("Maroczy variation"),)),
-"rnbqkb1r/pppppppp/5n2/8/2B1P3/8/PPPP1PPP/RNBQK1NR b KQkq - 2 2": ("B02",
(_("Alekhine's defense"),_("Krejcik variation"),)),
-"rnbqkb1r/pppppppp/8/4P3/4n3/8/PPPP1PPP/RNBQKBNR w KQkq - 1 3": ("B02",
(_("Alekhine's defense"),_("Mokele Mbembe (Buecker) variation"),)),
-"rnbqkbnr/pppppppp/8/4P3/8/8/PPPP1PPP/RNBQKBNR w KQkq - 1 3": ("B02",
(_("Alekhine's defense"),_("Brooklyn defense"),)),
-"rnbqkb1r/pppppppp/8/3nP3/8/8/PPPP1PPP/RNBQKBNR w KQkq - 1 3": ("B02",
(_("Alekhine's defense"),)),
-"rnbqkb1r/pp1ppppp/1n6/2p1P3/8/1B1P4/PPP2PPP/RNBQK1NR b KQkq - 0 5":
("B02", (_("Alekhine's defense"),_("Kmoch variation"),)),
-"rnbqkb1r/pppppppp/8/3nP3/8/2N5/PPPP1PPP/R1BQKBNR b KQkq - 2 3": ("B02",
(_("Alekhine's defense"),_("Saemisch attack"),)),
-"rnbqkb1r/pppppppp/8/3nP3/8/1P6/P1PP1PPP/RNBQKBNR b KQkq - 0 3": ("B02",
(_("Alekhine's defense"),_("Welling variation"),)),
-"rnbqkb1r/pppppppp/8/3nP3/2P5/8/PP1P1PPP/RNBQKBNR b KQkq c3 0 3": ("B02",
(_("Alekhine's defense"),)),
-"rnbqkb1r/pppppppp/1n6/4P3/2P5/1P6/P2P1PPP/RNBQKBNR b KQkq - 0 4": ("B02",
(_("Alekhine's defense"),_("Steiner variation"),)),
-"rnbqkb1r/pppppppp/1n6/2P1P3/8/8/PP1P1PPP/RNBQKBNR b KQkq - 0 4": ("B02",
(_("Alekhine's defense"),_("Two pawns' (Lasker's) attack"),)),
-"rnbqkb1r/ppp2ppp/3pp3/2PnP3/2B5/2N5/PP1P1PPP/R1BQK1NR w KQkq - 0 7":
("B02", (_("Alekhine's defense"),_("Two pawns' attack"),_("Mikenas
variation"),)),
-"rnbqkb1r/pppppppp/8/3nP3/3P4/8/PPP2PPP/RNBQKBNR b KQkq d3 0 3": ("B03",
(_("Alekhine's defense"),)),
-"rnbqkb1r/p1pppppp/8/1p1nP3/3P4/8/PPP2PPP/RNBQKBNR w KQkq b6 0 4": ("B03",
(_("Alekhine's defense"),_("O'Sullivan gambit"),)),
-"rnbqkb1r/ppp1pppp/3p4/3nP3/3P4/8/PPP2PPP/RNBQKBNR w KQkq - 0 4": ("B03",
(_("Alekhine's defense"),)),
-"rnbqkb1r/ppp1pppp/3p4/3nP3/2BP4/8/PPP2PPP/RNBQK1NR b KQkq - 1 4": ("B03",
(_("Alekhine's defense"),_("Balogh variation"),)),
-"rnbqkb1r/ppp1pppp/3p4/3nP3/2PP4/8/PP3PPP/RNBQKBNR b KQkq c3 0 4": ("B03",
(_("Alekhine's defense"),)),
-"rnbqkb1r/ppp1pppp/1n1P4/8/2PP4/8/PP3PPP/RNBQKBNR b KQkq - 0 5": ("B03",
(_("Alekhine's defense"),_("Exchange variation"),)),
-"r2q1rk1/pp2ppbp/1nnp2p1/5b2/2PP1B2/2N2N1P/PP2BPP1/R2Q1RK1 b - - 4 11":
("B03", (_("Alekhine's defense"),_("Exchange"),_("Karpov variation"),)),
-"rnbqkb1r/ppp1pppp/1n1p4/4P3/2PP1P2/8/PP4PP/RNBQKBNR b KQkq f3 0 5":
("B03", (_("Alekhine's defense"),_("Four pawns attack"),)),
-"rn1q1rk1/ppp1b1pp/1n2pp2/4Pb2/2PP4/2N2N2/PP2B1PP/R1BQ1RK1 w - - 0 11":
("B03", (_("Alekhine's defense"),_("Four pawns attack"),_("Korchnoi
variation"),)),
-"r1bqkb1r/ppp1pppp/1nn5/4P3/2PP4/8/PP4PP/RNBQKBNR w KQkq - 1 7": ("B03",
(_("Alekhine's defense"),_("Four pawns attack"),"6...Nc6",)),
-"r2qkb1r/ppp1p1pp/1nn1p3/2P5/3P2b1/5N2/PP4PP/RNBQKB1R b KQkq - 0 9":
("B03", (_("Alekhine's defense"),_("Four pawns attack"),_("Ilyin-Genevsky
var."),)),
-"r1bqkb1r/ppp1pppp/1nn5/4P3/2PP4/4B3/PP4PP/RN1QKBNR b KQkq - 2 7": ("B03",
(_("Alekhine's defense"),_("Four pawns attack"),"7.Be3",)),
-"2kr3r/pppqbppp/1nn1p3/4Pb2/2PP4/2N1BN2/PP2B1PP/R2Q1RK1 w - - 1 12":
("B03", (_("Alekhine's defense"),_("Four pawns attack"),_("Tartakower
variation"),)),
-"rnbqkb1r/ppp1pp1p/1n1p4/4P1p1/2PP1P2/8/PP4PP/RNBQKBNR w KQkq g6 0 6":
("B03", (_("Alekhine's defense"),_("Four pawns attack"),_("Planinc
variation"),)),
-"rnbqkb1r/ppp1pp1p/1n1p2p1/4P3/2PP1P2/8/PP4PP/RNBQKBNR w KQkq - 0 6":
("B03", (_("Alekhine's defense"),_("Four pawns attack"),_("Fianchetto
variation"),)),
-"rn1qkb1r/ppp1pppp/1n1p4/4Pb2/2PP1P2/8/PP4PP/RNBQKBNR w KQkq - 1 6":
("B03", (_("Alekhine's defense"),_("Four pawns attack"),_("Trifunovic
variation"),)),
-"rnbqkb1r/ppp1pppp/3p4/3nP3/3P4/5N2/PPP2PPP/RNBQKB1R b KQkq - 1 4":
("B04", (_("Alekhine's defense"),_("Modern variation"),)),
-"rnbqkb1r/ppp1pppp/8/3np3/3P4/5N2/PPP2PPP/RNBQKB1R w KQkq - 0 5": ("B04",
(_("Alekhine's defense"),_("Modern"),_("Larsen variation"),)),
-"rnbqkb1r/ppp1pppp/1n1p4/4P3/3P4/5N2/PPP2PPP/RNBQKB1R w KQkq - 2 5":
("B04", (_("Alekhine's defense"),_("Modern"),_("Schmid variation"),)),
-"rnbqkb1r/ppp1pp1p/3p2p1/3nP3/3P4/5N2/PPP2PPP/RNBQKB1R w KQkq - 0 5":
("B04", (_("Alekhine's defense"),_("Modern"),_("Fianchetto variation"),)),
-"rnbqk2r/ppp1ppbp/1n1p2p1/4P3/P2P4/1B3N2/1PP2PPP/RNBQK2R b KQkq a3 0 7":
("B04", (_("Alekhine's defense"),_("Modern"),_("Keres variation"),)),
-"rn1qkb1r/ppp1pppp/3p4/3nP3/3P2b1/5N2/PPP2PPP/RNBQKB1R w KQkq - 2 5":
("B05", (_("Alekhine's defense"),_("Modern variation"),"4...Bg4",)),
-"rn1qkb1r/pp2pppp/2pp4/3nP3/3P2b1/5N2/PPP1BPPP/RNBQK2R w KQkq - 0 6":
("B05", (_("Alekhine's defense"),_("Modern"),_("Flohr variation"),)),
-"rn1qkb1r/ppp1pppp/3p4/3nP3/3P2b1/5N1P/PPP2PP1/RNBQKB1R b KQkq - 0 5":
("B05", (_("Alekhine's defense"),_("Modern"),_("Panov variation"),)),
-"rn1qkb1r/ppp1pppp/3p4/3nP3/2PP2b1/5N2/PP3PPP/RNBQKB1R b KQkq c3 0 5":
("B05", (_("Alekhine's defense"),_("Modern"),_("Alekhine variation"),)),
-"rn1qkb1r/ppp1pppp/1n1p4/3PP3/2P3b1/5N2/PP3PPP/RNBQKB1R b KQkq - 0 6":
("B05", (_("Alekhine's defense"),_("Modern"),_("Vitolins attack"),)),
-"rnbqkbnr/pppppp1p/6p1/8/4P3/8/PPPP1PPP/RNBQKBNR w KQkq - 0 2": ("B06",
(_("Robatsch (Modern) defense"),)),
-"rnbqkb1r/ppppppnp/6p1/4P3/3P2P1/8/PPP2P1P/RNBQKBNR w KQkq - 1 5": ("B06",
(_("Norwegian defense"),)),
-"rnbqk1nr/ppppppbp/6p1/8/3PP3/8/PPP2PPP/RNBQKBNR w KQkq - 1 3": ("B06",
(_("Robatsch (Modern) defense"),)),
-"rnbqk1nr/ppppppbp/6p1/8/3PPP2/8/PPP3PP/RNBQKBNR b KQkq f3 0 3": ("B06",
(_("Robatsch defense"),_("Three pawns attack"),)),
-"rnbqk1nr/ppppppbp/6p1/8/3PP3/2N5/PPP2PPP/R1BQKBNR b KQkq - 2 3": ("B06",
(_("Robatsch defense"),)),
-"rnbqk1nr/pp2ppb1/2p3p1/3pP2p/3P1P2/2N5/PPP3PP/R1BQKBNR w KQkq h6 0 6":
("B06", (_("Robatsch defense"),_("Gurgenidze variation"),)),
-"rnbqk1nr/ppp1ppbp/3p2p1/8/3PP3/2N5/PPP2PPP/R1BQKBNR w KQkq - 0 4":
("B06", (_("Robatsch (Modern) defense"),)),
-"rnbqk1nr/ppp1ppbp/3p2p1/8/3PP3/2N2N2/PPP2PPP/R1BQKB1R b KQkq - 1 4":
("B06", (_("Robatsch defense"),_("Two knights variation"),)),
-"rnbqk1nr/pp2ppbp/2pp2p1/8/3PP3/2N2N2/PPP2PPP/R1BQKB1R w KQkq - 0 5":
("B06", (_("Robatsch defense"),_("Two knights"),_("Suttles variation"),)),
-"rnbqk1nr/ppp1ppbp/3p2p1/8/3PPP2/2N5/PPP3PP/R1BQKBNR b KQkq f3 0 4":
("B06", (_("Robatsch defense"),_("Pseudo-Austrian attack"),)),
-"rnbqkb1r/ppp1pppp/3p1n2/8/3PP3/2N5/PPP2PPP/R1BQKBNR b KQkq - 2 3":
("B07", (_("Pirc defense"),)),
-"rnbqkb1r/pp2pppp/2pp1n2/8/3PP3/2N5/PPP2PPP/R1BQKBNR w KQkq - 0 4":
("B07", (_("Pirc"),_("Ufimtsev-Pytel variation"),)),
-"rnbqkb1r/ppp1pp1p/3p1np1/8/3PP3/2N5/PPP2PPP/R1BQKBNR w KQkq - 0 4":
("B07", (_("Pirc defense"),)),
-"rnbqkb1r/pp2pp1p/2pp1np1/8/3PP3/2N1B3/PPPQ1PPP/R3KBNR b KQkq - 1 5":
("B07", (_("Pirc"),"150 attack",)),
-"rnbqkb1r/ppp1pp1p/3p1np1/8/3PP3/2N3P1/PPP2P1P/R1BQKBNR b KQkq - 0 4":
("B07", (_("Pirc"),_("Sveshnikov system"),)),
-"rnbqkb1r/ppp1pp1p/3p1np1/8/2BPP3/2N5/PPP2PPP/R1BQK1NR b KQkq - 1 4":
("B07", (_("Pirc"),_("Holmov system"),)),
-"rnbqkb1r/ppp1pp1p/3p1np1/6B1/3PP3/2N5/PPP2PPP/R2QKBNR b KQkq - 1 4":
("B07", (_("Pirc"),_("Byrne variation"),)),
-"rnbqkb1r/ppp1pp1p/3p1np1/8/3PP3/2N5/PPP1BPPP/R1BQK1NR b KQkq - 1 4":
("B07", (_("Pirc defense"),)),
-"rnbqk2r/ppp1ppbp/3p1np1/8/3PP1P1/2N5/PPP1BP1P/R1BQK1NR b KQkq g3 0 5":
("B07", (_("Pirc"),_("Chinese variation"),)),
-"rnbqk2r/ppp1ppbp/3p1np1/8/3PP2P/2N5/PPP1BPP1/R1BQK1NR b KQkq h3 0 5":
("B07", (_("Pirc"),_("bayonet (Mariotti) attack"),)),
-"rnbqk1nr/ppp1ppbp/3p2p1/8/3PP3/2P2N2/PP3PPP/RNBQKB1R b KQkq - 0 4":
("B07", (_("Robatsch defense"),_("Geller's system"),)),
-"rnbqkb1r/ppp1pp1p/3p1np1/8/3PP3/2N2N2/PPP2PPP/R1BQKB1R b KQkq - 1 4":
("B08", (_("Pirc"),_("Classical (Two knights) system"),)),
-"rnbqk2r/ppp1ppbp/3p1np1/8/3PP3/2N2N2/PPP2PPP/R1BQKB1R w KQkq - 2 5":
("B08", (_("Pirc"),_("Classical (Two knights) system"),)),
-"rnbqk2r/ppp1ppbp/3p1np1/8/3PP3/2N2N1P/PPP2PP1/R1BQKB1R b KQkq - 0 5":
("B08", (_("Pirc"),_("Classical"),_("h3 system"),)),
-"rnbqk2r/ppp1ppbp/3p1np1/8/3PP3/2N2N2/PPP1BPPP/R1BQK2R b KQkq - 3 5":
("B08", (_("Pirc"),_("Classical system"),"5.Be2",)),
-"rnbqkb1r/ppp1pp1p/3p1np1/8/3PPP2/2N5/PPP3PP/R1BQKBNR b KQkq f3 0 4":
("B09", (_("Pirc"),_("Austrian attack"),)),
-"rnbq1rk1/ppp1ppbp/3p1np1/8/3PPP2/2N2N2/PPP3PP/R1BQKB1R w KQ - 0 6":
("B09", (_("Pirc"),_("Austrian attack"),)),
-"rnbq1rk1/ppp1ppbp/3p1np1/4P3/3P1P2/2N2N2/PPP3PP/R1BQKB1R b KQ - 0 6":
("B09", (_("Pirc"),_("Austrian attack"),"6.e5",)),
-"rnbq1rk1/ppp1ppbp/3p1np1/8/3PPP2/2N1BN2/PPP3PP/R2QKB1R b KQ - 1 6":
("B09", (_("Pirc"),_("Austrian attack"),"6.Be3",)),
-"rnbq1rk1/ppp1ppbp/3p1np1/8/3PPP2/2NB1N2/PPP3PP/R1BQK2R b KQ - 1 6":
("B09", (_("Pirc"),_("Austrian attack"),"6.Bd3",)),
-"rnbqk2r/pp2ppbp/3p1np1/2p5/3PPP2/2N2N2/PPP3PP/R1BQKB1R w KQkq c6 0 6":
("B09", (_("Pirc"),_("Austrian attack"),_("Dragon formation"),)),
-"rnbqk2r/ppp1ppbp/3p1np1/8/2BPPP2/2N5/PPP3PP/R1BQK1NR b KQkq - 2 5":
("B09", (_("Pirc"),_("Austrian attack"),_("Ljubojevic variation"),)),
-"rnbqkbnr/pp1ppppp/2p5/8/4P3/8/PPPP1PPP/RNBQKBNR w KQkq - 0 2": ("B10",
(_("Caro-Kann defense"),)),
-"rnbqkbnr/pp1ppppp/2p5/8/2B1P3/8/PPPP1PPP/RNBQK1NR b KQkq - 1 2": ("B10",
(_("Caro-Kann"),_("Hillbilly attack"),)),
-"rnbqkbnr/pp1ppppp/2p5/8/2P1P3/8/PP1P1PPP/RNBQKBNR b KQkq c3 0 2": ("B10",
(_("Caro-Kann"),_("Anti-Caro-Kann defense"),)),
-"rnbqkbnr/pp2pppp/2p5/3p4/2P1P3/8/PP1P1PPP/RNBQKBNR w KQkq d6 0 3":
("B10", (_("Caro-Kann"),_("Anti-anti-Caro-Kann defense"),)),
-"rnbqkbnr/pp1ppppp/2p5/8/4P3/3P4/PPP2PPP/RNBQKBNR b KQkq - 0 2": ("B10",
(_("Caro-Kann"),_("Closed (Breyer) variation"),)),
-"rnbqkbnr/pp1ppppp/2p5/8/4P3/2N5/PPPP1PPP/R1BQKBNR b KQkq - 1 2": ("B10",
(_("Caro-Kann defense"),)),
-"rnbqkbnr/pp2pppp/2p5/3p4/4P3/2N2Q2/PPPP1PPP/R1B1KBNR b KQkq - 1 3":
("B10", (_("Caro-Kann"),_("GOldman (Spielmann) variation"),)),
-"rnbqkbnr/pp2pppp/2p5/3p4/4P3/2N2N2/PPPP1PPP/R1BQKB1R b KQkq - 1 3":
("B10", (_("Caro-Kann"),_("Two knights variation"),)),
-"rn1qkbnr/pp2pppp/2p5/3p4/4P1b1/2N2N2/PPPP1PPP/R1BQKB1R w KQkq - 2 4":
("B11", (_("Caro-Kann"),_("Two knights"),"3...Bg4",)),
-"rnbqkbnr/pp1ppppp/2p5/8/3PP3/8/PPP2PPP/RNBQKBNR b KQkq d3 0 2": ("B12",
(_("Caro-Kann defense"),)),
-"r1bqkbnr/ppnppppp/2p5/8/3PP3/2N5/PPP2PPP/R1BQKBNR w KQkq - 3 4": ("B12",
(_("de Bruycker defense"),)),
-"rnbqkb1r/pp1ppppp/2p2n2/8/3PP3/8/PPP2PPP/RNBQKBNR w KQkq - 1 3": ("B12",
(_("Caro-Masi defense"),)),
-"rnbqkbnr/pp2pppp/2p5/3p4/3PP3/8/PPP2PPP/RNBQKBNR w KQkq d6 0 3": ("B12",
(_("Caro-Kann defense"),)),
-"rnbqkbnr/pp2pppp/2p5/3p4/3PP3/5P2/PPP3PP/RNBQKBNR b KQkq - 0 3": ("B12",
(_("Caro-Kann"),_("Tartakower (fantasy) variation"),)),
-"rnbqkbnr/pp2pppp/2p5/3p4/3PP3/8/PPPN1PPP/R1BQKBNR b KQkq - 1 3": ("B12",
(_("Caro-Kann"),"3.Nd2",)),
-"rnb1kbnr/pp2pppp/1qp5/3p4/3PP3/8/PPPN1PPP/R1BQKBNR w KQkq - 2 4": ("B12",
(_("Caro-Kann"),_("Edinburgh variation"),)),
-"rnbqkbnr/pp2pppp/2p5/3pP3/3P4/8/PPP2PPP/RNBQKBNR b KQkq - 0 3": ("B12",
(_("Caro-Kann"),_("Advance variation"),)),
-"rn1qkbnr/pp3ppp/2p1p3/3pPb2/3P4/2P5/PP2BPPP/RNBQK1NR b KQkq - 1 5":
("B12", (_("Caro-Kann"),_("Advance"),_("Short variation"),)),
-"rnbqkbnr/pp2pppp/2p5/3P4/3P4/8/PPP2PPP/RNBQKBNR b KQkq - 0 3": ("B13",
(_("Caro-Kann"),_("Exchange variation"),)),
-"r1bqkb1r/pp2pppp/2n2n2/3p4/3P1B2/2PB4/PP3PPP/RN1QK1NR b KQkq - 2 6":
("B13", (_("Caro-Kann"),_("Exchange"),_("Rubinstein variation"),)),
-"rnbqkbnr/pp2pppp/8/3p4/2PP4/8/PP3PPP/RNBQKBNR b KQkq c3 0 4": ("B13",
(_("Caro-Kann"),_("Panov-Botvinnik attack"),)),
-"rnbqkb1r/pp2pppp/5n2/2Pp4/3P4/8/PP3PPP/RNBQKBNR b KQkq - 0 5": ("B13",
(_("Caro-Kann"),_("Panov-Botvinnik"),_("Gunderam attack"),)),
-"rnbqkb1r/pp2pppp/5n2/3p4/2PP4/2N5/PP3PPP/R1BQKBNR b KQkq - 2 5": ("B13",
(_("Caro-Kann"),_("Panov-Botvinnik attack"),)),
-"r1bqkb1r/pp2pppp/5n2/n2P2B1/2p5/2N5/PP3PPP/R2QKBNR w KQkq - 1 8": ("B13",
(_("Caro-Kann"),_("Panov-Botvinnik"),_("Herzog defense"),)),
-"r1bqkb1r/pp3ppp/2n1pn2/3p2B1/2PP4/2N5/PP3PPP/R2QKBNR w KQkq - 0 7":
("B13", (_("Caro-Kann"),_("Panov-Botvinnik"),_("normal variation"),)),
-"r1b1kb1r/pp2pppp/2n2n2/q2p2B1/2PP4/2N5/PP3PPP/R2QKBNR w KQkq - 5 7":
("B13", (_("Caro-Kann"),_("Panov-Botvinnik"),_("Czerniak variation"),)),
-"r1b1kb1r/pp2pppp/1qn2n2/3p2B1/2PP4/2N5/PP3PPP/R2QKBNR w KQkq - 5 7":
("B13", (_("Caro-Kann"),_("Panov-Botvinnik"),_("Reifir (Spielmann)
variation"),)),
-"rnbqkb1r/pp3ppp/4pn2/3p4/2PP4/2N5/PP3PPP/R1BQKBNR w KQkq - 0 6": ("B14",
(_("Caro-Kann"),_("Panov-Botvinnik attack"),"5...e6",)),
-"rnbqkb1r/pp2pp1p/5np1/3p4/2PP4/2N5/PP3PPP/R1BQKBNR w KQkq - 0 6": ("B14",
(_("Caro-Kann"),_("Panov-Botvinnik attack"),"5...g6",)),
-"rnbqkbnr/pp2pppp/2p5/3p4/3PP3/2N5/PPP2PPP/R1BQKBNR b KQkq - 1 3": ("B15",
(_("Caro-Kann defense"),)),
-"rnbqkbnr/p3pppp/2p5/1p1p4/3PP3/2N5/PPP2PPP/R1BQKBNR w KQkq b6 0 4":
("B15", (_("Caro-Kann"),_("Gurgenidze counter-attack"),)),
-"rnbqkbnr/pp2pp1p/2p3p1/3p4/3PP3/2N5/PPP2PPP/R1BQKBNR w KQkq - 0 4":
("B15", (_("Caro-Kann"),_("Gurgenidze system"),)),
-"rnbqkbnr/pp2pppp/2p5/8/3Pp3/2N2P2/PPP3PP/R1BQKBNR b KQkq - 0 4": ("B15",
(_("Caro-Kann"),_("Rasa-Studier gambit"),)),
-"rnbqkbnr/pp2pppp/2p5/8/3PN3/8/PPP2PPP/R1BQKBNR b KQkq - 0 4": ("B15",
(_("Caro-Kann defense"),)),
-"rnbqkb1r/pp2pppp/2p2n2/8/3PN3/3B4/PPP2PPP/R1BQK1NR b KQkq - 2 5": ("B15",
(_("Caro-Kann"),_("Alekhine gambit"),)),
-"rnbqkb1r/pp3ppp/2p2p2/8/3P4/8/PPP2PPP/R1BQKBNR w KQkq - 0 6": ("B15",
(_("Caro-Kann"),_("Tartakower (Nimzovich) variation"),)),
-"rnbqkb1r/pp3ppp/2p2p2/8/2BP4/8/PPP2PPP/R1BQK1NR b KQkq - 1 6": ("B15",
(_("Caro-Kann"),_("Forgacs variation"),)),
-"rnbqkb1r/pp2pp1p/2p2p2/8/3P4/8/PPP2PPP/R1BQKBNR w KQkq - 0 6": ("B16",
(_("Caro-Kann"),_("Bronstein-Larsen variation"),)),
-"r1bqkbnr/pp1npppp/2p5/8/3PN3/8/PPP2PPP/R1BQKBNR w KQkq - 1 5": ("B17",
(_("Caro-Kann"),_("Steinitz variation"),)),
-"rn1qkbnr/pp2pppp/2p5/5b2/3PN3/8/PPP2PPP/R1BQKBNR w KQkq - 1 5": ("B18",
(_("Caro-Kann"),_("Classical variation"),)),
-"rn1qkbnr/pp2pppp/2p3b1/8/3P4/6NN/PPP2PPP/R1BQKB1R b KQkq - 4 6": ("B18",
(_("Caro-Kann"),_("Classical"),_("Flohr variation"),)),
-"rn1qkbnr/pp2pppp/2p3b1/8/3P1P2/6N1/PPP3PP/R1BQKBNR b KQkq f3 0 6":
("B18", (_("Caro-Kann"),_("Classical"),_("Maroczy attack"),)),
-"rn1qkbnr/pp2pppp/2p3b1/8/3P3P/6N1/PPP2PP1/R1BQKBNR b KQkq h3 0 6":
("B18", (_("Caro-Kann"),_("Classical"),"6.h4",)),
-"r2qkbnr/pp1nppp1/2p3bp/8/3P3P/5NN1/PPP2PP1/R1BQKB1R w KQkq - 2 8":
("B19", (_("Caro-Kann"),_("Classical"),"7...Nd7",)),
-"r2qkbnr/pp1nppp1/2p3bp/7P/3P4/5NN1/PPP2PP1/R1BQKB1R b KQkq - 0 8":
("B19", (_("Caro-Kann"),_("Classical"),_("Spassky variation"),)),
-"rnbqkbnr/pp1ppppp/8/2p5/4P3/8/PPPP1PPP/RNBQKBNR w KQkq c6 0 2": ("B20",
(_("Sicilian defense"),)),
-"r1bqkbnr/pp2ppp1/2np4/2p4p/2P1P3/2N3P1/PP1P1P1P/R1BQKBNR w KQkq h6 0 5":
("B20", (_("Sicilian"),_("Gloria variation"),)),
-"rnbqkbnr/pp1ppppp/8/2p5/4P3/6P1/PPPP1P1P/RNBQKBNR b KQkq - 0 2": ("B20",
(_("Sicilian"),_("Steinitz variation"),)),
-"rnbqkbnr/pp1ppppp/8/2p5/1P2P3/8/P1PP1PPP/RNBQKBNR b KQkq b3 0 2": ("B20",
(_("Sicilian"),_("wing gambit"),)),
-"rnbqkbnr/pp1ppppp/8/8/1pP1P3/8/P2P1PPP/RNBQKBNR b KQkq c3 0 3": ("B20",
(_("Sicilian"),_("wing gambit"),_("Santasiere variation"),)),
-"rnbqkbnr/pp1ppppp/8/8/1p2P3/P7/2PP1PPP/RNBQKBNR b KQkq - 0 3": ("B20",
(_("Sicilian"),_("wing gambit"),_("Marshall variation"),)),
-"rnb1kbnr/pp2pppp/8/3q4/1p6/P7/1BPP1PPP/RN1QKBNR b KQkq - 1 5": ("B20",
(_("Sicilian"),_("wing gambit"),_("Marienbad variation"),)),
-"rnbqkbnr/pp1ppppp/8/8/4P3/p7/2PP1PPP/RNBQKBNR w KQkq - 0 4": ("B20",
(_("Sicilian"),_("wing gambit"),_("Carlsbad variation"),)),
-"rnbqkbnr/pp1ppppp/8/2p5/4P3/8/PPPPNPPP/RNBQKB1R b KQkq - 1 2": ("B20",
(_("Sicilian"),_("Keres variation (2.Ne2)"),)),
-"rnbqkbnr/pp1ppppp/8/2p5/4PP2/8/PPPP2PP/RNBQKBNR b KQkq f3 0 2": ("B21",
(_("Sicilian"),_("Grand Prix attack"),)),
-"rnbqkbnr/pp1ppppp/8/2p5/3PP3/8/PPP2PPP/RNBQKBNR b KQkq d3 0 2": ("B21",
(_("Sicilian"),_("Smith-Morra gambit"),)),
-"rnbqkbnr/pp1p1ppp/8/4p3/3pP3/2P2N2/PP3PPP/RNBQKB1R b KQkq - 0 4": ("B21",
(_("Sicilian"),_("Andreaschek gambit"),)),
-"rnbqkbnr/pp1ppppp/8/8/3pP3/2P5/PP3PPP/RNBQKBNR b KQkq - 0 3": ("B21",
(_("Sicilian"),_("Smith-Morra gambit"),)),
-"2bqkbnr/r4ppp/p1npp3/1p6/4P3/1BN2N2/PP2QPPP/R1B2RK1 w k - 2 10": ("B21",
(_("Sicilian"),_("Smith-Morra gambit"),_("Chicago defense"),)),
-"rnbqkbnr/pp1ppppp/8/2p5/4P3/2P5/PP1P1PPP/RNBQKBNR b KQkq - 0 2": ("B22",
(_("Sicilian"),_("Alapin's variation (2.c3)"),)),
-"r1bqkb1r/pp1ppppp/2n5/2pnP3/8/N1P2N2/PP1P1PPP/R1BQKB1R b KQkq - 4 5":
("B22", (_("Sicilian"),"2.c3",_("Heidenfeld variation"),)),
-"rnbqkbnr/pp1ppppp/8/2p5/4P3/2N5/PPPP1PPP/R1BQKBNR b KQkq - 1 2": ("B23",
(_("Sicilian"),_("Closed"),)),
-"rnbqkbnr/pp3ppp/4p3/2pp4/4P3/2N3P1/PPPP1P1P/R1BQKBNR w KQkq d6 0 4":
("B23", (_("Sicilian"),_("Closed"),_("Korchnoi variation"),)),
-"r1bqkbnr/pp1ppppp/2n5/2p5/4P3/2N5/PPPP1PPP/R1BQKBNR w KQkq - 2 3":
("B23", (_("Sicilian"),_("Closed"),"2...Nc6",)),
-"r1bqkbnr/pp1ppppp/2n5/2p5/4P3/2N5/PPPPNPPP/R1BQKB1R b KQkq - 3 3":
("B23", (_("Sicilian"),_("chameleon variation"),)),
-"r1bqkbnr/pp1ppppp/2n5/2p5/4PP2/2N5/PPPP2PP/R1BQKBNR b KQkq f3 0 3":
("B23", (_("Sicilian"),_("Grand Prix attack"),)),
-"r1bqk1nr/pp1p1pbp/2n1p1p1/2p2P2/2B1P3/2N2N2/PPPP2PP/R1BQK2R b KQkq - 0
6": ("B23", (_("Sicilian"),_("Grand Prix attack"),_("Schofman
variation"),)),
-"r1bqkbnr/pp1ppppp/2n5/2p5/4P3/2N3P1/PPPP1P1P/R1BQKBNR b KQkq - 0 3":
("B24", (_("Sicilian"),_("Closed"),)),
-"r1bqk1nr/pp1p1pbp/4p1p1/2p5/3nP3/3PB1P1/PPP1NPBP/R2QK1NR b KQkq - 3 7":
("B24", (_("Sicilian"),_("Closed"),_("Smyslov variation"),)),
-"r1bqk1nr/pp2ppbp/2np2p1/2p5/4P3/2NP2P1/PPP2PBP/R1BQK1NR w KQkq - 0 6":
("B25", (_("Sicilian"),_("Closed"),)),
-"r1bqk1nr/pp3pbp/2np2p1/2p1p3/4P3/2NP2P1/PPP1NPBP/R1BQK2R w KQkq e6 0 7":
("B25", (_("Sicilian"),_("Closed"),"6.Ne2 e5 (Botvinnik)",)),
-"r1bqk1nr/pp2ppbp/2np2p1/2p5/4PP2/2NP2P1/PPP3BP/R1BQK1NR b KQkq f3 0 6":
("B25", (_("Sicilian"),_("Closed"),"6.f4",)),
-"r1bqk1nr/pp3pbp/2np2p1/2p1p3/4PP2/2NP2P1/PPP3BP/R1BQK1NR w KQkq e6 0 7":
("B25", (_("Sicilian"),_("Closed"),"6.f4 e5 (Botvinnik)",)),
-"r1bqk1nr/pp2ppbp/2np2p1/2p5/4P3/2NPB1P1/PPP2PBP/R2QK1NR b KQkq - 1 6":
("B26", (_("Sicilian"),_("Closed"),"6.Be3",)),
-"rnbqkbnr/pp1ppppp/8/2p5/4P3/5N2/PPPP1PPP/RNBQKB1R b KQkq - 1 2": ("B27",
(_("Sicilian defense"),)),
-"rnb1kbnr/pp1ppppp/8/q1p5/4P3/5N2/PPPP1PPP/RNBQKB1R w KQkq - 2 3": ("B27",
(_("Sicilian"),_("Stiletto (Althouse) variation"),)),
-"rnb1kbnr/ppqppppp/8/2p5/4P3/5N2/PPPP1PPP/RNBQKB1R w KQkq - 2 3": ("B27",
(_("Sicilian"),_("Quinteros variation"),)),
-"rnbqkbnr/p2ppppp/1p6/2p5/4P3/5N2/PPPP1PPP/RNBQKB1R w KQkq - 0 3": ("B27",
(_("Sicilian"),_("Katalimov variation"),)),
-"rnbqkbnr/pp1ppp1p/6p1/2p5/4P3/5N2/PPPP1PPP/RNBQKB1R w KQkq - 0 3":
("B27", (_("Sicilian"),_("Hungarian variation"),)),
-"rnbqk1nr/pp1ppp1p/6pb/2p5/2P1P3/5N2/PP1P1PPP/RNBQKB1R w KQkq - 1 4":
("B27", (_("Sicilian"),_("Acton extension"),)),
-"rnbqkbnr/1p1ppppp/p7/2p5/4P3/5N2/PPPP1PPP/RNBQKB1R w KQkq - 0 3": ("B28",
(_("Sicilian"),_("O'Kelly variation"),)),
-"rnbqkb1r/pp1ppppp/5n2/2p5/4P3/5N2/PPPP1PPP/RNBQKB1R w KQkq - 2 3":
("B29", (_("Sicilian"),_("Nimzovich-Rubinstein variation"),)),
-"r1bqkb1r/pp1p1ppp/2n5/2ppP3/3P4/5N2/PPP2PPP/R1BQKB1R w KQkq - 1 7":
("B29", (_("Sicilian"),_("Nimzovich-Rubinstein; Rubinstein
counter-gambit"),)),
-"r1bqkbnr/pp1ppppp/2n5/2p5/4P3/5N2/PPPP1PPP/RNBQKB1R w KQkq - 2 3":
("B30", (_("Sicilian defense"),)),
-"r1bqkbnr/pp1ppppp/2n5/1Bp5/4P3/5N2/PPPP1PPP/RNBQK2R b KQkq - 3 3":
("B30", (_("Sicilian"),_("Nimzovich-Rossolimo attack (without ...d6)"),)),
-"r1bqkbnr/pp1ppp1p/2n3p1/1Bp5/4P3/5N2/PPPP1PPP/RNBQK2R w KQkq - 0 4":
("B31", (_("Sicilian"),_("Nimzovich-Rossolimo attack
(with ...g6"),_("without ...d6)"),)),
-"r1bqk1nr/pp1p1pbp/2n3p1/1Bp1p3/1P2P3/5N2/P1PP1PPP/RNBQR1K1 b kq b3 0 6":
("B31", (_("Sicilian"),_("Nimzovich-Rossolimo attack"),_("Gurgenidze
variation"),)),
-"r1bqkbnr/pp1ppppp/2n5/2p5/3PP3/5N2/PPP2PPP/RNBQKB1R b KQkq d3 0 3":
("B32", (_("Sicilian defense"),)),
-"r1b1kbnr/ppqppppp/2n5/8/3NP3/8/PPP2PPP/RNBQKB1R w KQkq - 1 5": ("B32",
(_("Sicilian"),_("Flohr variation"),)),
-"r1bqkbnr/pp2pppp/2n5/3p4/3NP3/8/PPP2PPP/RNBQKB1R w KQkq d6 0 5": ("B32",
(_("Sicilian"),_("Nimzovich variation"),)),
-"r1bqkbnr/pp1p1ppp/2n5/4p3/3NP3/8/PPP2PPP/RNBQKB1R w KQkq e6 0 5": ("B32",
(_("Sicilian"),_("Labourdonnais-Loewenthal variation"),)),
-"r1bqkbnr/pp3ppp/2np4/1N2p3/4P3/8/PPP2PPP/RNBQKB1R w KQkq - 0 6": ("B32",
(_("Sicilian"),_("Labourdonnais-Loewenthal (Kalashnikov) variation"),)),
-"r1bqkb1r/pp1ppppp/2n2n2/8/3NP3/8/PPP2PPP/RNBQKB1R w KQkq - 1 5": ("B33",
(_("Sicilian defense"),)),
-"r1bqkb1r/pp1p1ppp/2n2n2/4p3/3NP3/2N5/PPP2PPP/R1BQKB1R w KQkq e6 0 6":
("B33", (_("Sicilian"),_("Pelikan (Lasker/Sveshnikov) variation"),)),
-"r2qkb1r/1p3ppp/p1npbn2/4p1B1/4P3/N1N5/PPP2PPP/R2QKB1R w KQkq - 2 9":
("B33", (_("Sicilian"),_("Pelikan"),_("Bird variation"),)),
-"r1bqkb1r/5ppp/p1np1n2/1p2p1B1/4P3/N1N5/PPP2PPP/R2QKB1R w KQkq b6 0 9":
("B33", (_("Sicilian"),_("Pelikan"),_("Chelyabinsk variation"),)),
-"r1bqkb1r/5p1p/p1np4/1p1Npp2/4P3/N7/PPP2PPP/R2QKB1R w KQkq - 0 11":
("B33", (_("Sicilian"),_("Sveshnikov variation"),)),
-"r1bqkbnr/pp1ppp1p/2N3p1/8/4P3/8/PPP2PPP/RNBQKB1R b KQkq - 0 5": ("B34",
(_("Sicilian"),_("Accelerated Fianchetto"),_("Exchange variation"),)),
-"r1bqkbnr/pp1ppp1p/2n3p1/8/3NP3/2N5/PPP2PPP/R1BQKB1R b KQkq - 1 5":
("B34", (_("Sicilian"),_("Accelerated Fianchetto"),_("Modern variation"),)),
-"r1bqk2r/pp1pppbp/2n2np1/8/2BNP3/2N1B3/PPP2PPP/R2QK2R b KQkq - 5 7":
("B35", (_("Sicilian"),_("Accelerated Fianchetto"),_("Modern variation with
Bc4"),)),
-"r1bqkbnr/pp1ppp1p/2n3p1/8/2PNP3/8/PP3PPP/RNBQKB1R b KQkq c3 0 5": ("B36",
(_("Sicilian"),_("Accelerated Fianchetto"),_("Maroczy bind"),)),
-"r1bqkb1r/pp2pp1p/3p1np1/8/2PQP3/2N5/PP3PPP/R1B1KB1R w KQkq - 0 8":
("B36", (_("Sicilian"),_("Accelerated Fianchetto"),_("Gurgenidze
variation"),)),
-"r1bqk1nr/pp1pppbp/2n3p1/8/2PNP3/8/PP3PPP/RNBQKB1R w KQkq - 1 6": ("B37",
(_("Sicilian"),_("Accelerated Fianchetto"),_("Maroczy bind"),"5...Bg7",)),
-"r1bqk2r/pp2ppbp/2np2pn/8/2P1P3/8/PPN1BPPP/RNBQK2R w KQkq - 2 8": ("B37",
(_("Sicilian"),_("Accelerated Fianchetto"),_("Simagin variation"),)),
-"r1bqk1nr/pp1pppbp/2n3p1/8/2PNP3/4B3/PP3PPP/RN1QKB1R b KQkq - 2 6":
("B38", (_("Sicilian"),_("Accelerated Fianchetto"),_("Maroczy
bind"),"6.Be3",)),
-"r1bqk2r/pp1pppbp/2n3p1/8/2PNP1n1/2N1B3/PP3PPP/R2QKB1R w KQkq - 5 8":
("B39", (_("Sicilian"),_("Accelerated Fianchetto"),_("Breyer variation"),)),
-"rnbqkbnr/pp1p1ppp/4p3/2p5/4P3/5N2/PPPP1PPP/RNBQKB1R w KQkq - 0 3":
("B40", (_("Sicilian defense"),)),
-"rnbqkbnr/pp3ppp/4p3/2pp4/3PP3/5N2/PPP2PPP/RNBQKB1R w KQkq d6 0 4":
("B40", (_("Sicilian"),_("Marshall variation"),)),
-"rnbqkbnr/pp1p1ppp/4p3/8/3pP3/5N2/PPP2PPP/RNBQKB1R w KQkq - 0 4": ("B40",
(_("Sicilian defense"),)),
-"rnbqkb1r/pp1p1ppp/4pn2/8/3NP3/8/PPP2PPP/RNBQKB1R w KQkq - 1 5": ("B40",
(_("Sicilian"),_("Anderssen variation"),)),
-"rnbqk2r/pp1p1ppp/4pn2/8/1b1NP3/2N5/PPP2PPP/R1BQKB1R w KQkq - 3 6":
("B40", (_("Sicilian"),_("Pin variation (Sicilian counter-attack)"),)),
-"rnbqk2r/pp1p1ppp/5n2/4p3/1b1NP3/2NB4/PPP2PPP/R1BQK2R w KQkq - 0 7":
("B40", (_("Sicilian"),_("Pin"),_("Jaffe variation"),)),
-"rnbqk2r/pp1p1ppp/4pn2/4P3/1b1N4/2N5/PPP2PPP/R1BQKB1R b KQkq - 0 6":
("B40", (_("Sicilian"),_("Pin"),_("Koch variation"),)),
-"rnbqkbnr/1p1p1ppp/p3p3/8/3NP3/8/PPP2PPP/RNBQKB1R w KQkq - 0 5": ("B41",
(_("Sicilian"),_("Kan variation"),)),
-"rnbqkbnr/1p1p1ppp/p3p3/8/2PNP3/8/PP3PPP/RNBQKB1R b KQkq c3 0 5": ("B41",
(_("Sicilian"),_("Kan"),_("Maroczy bind (Reti variation)"),)),
-"r1bqk2r/1p1p1ppp/p1n1pn2/8/1bPNP3/2N5/PPB2PPP/R1BQK2R b KQkq - 6 8":
("B41", (_("Sicilian"),_("Kan"),_("Maroczy bind - Bronstein variation"),)),
-"rnbqkbnr/1p1p1ppp/p3p3/8/3NP3/3B4/PPP2PPP/RNBQK2R b KQkq - 1 5": ("B42",
(_("Sicilian"),_("Kan"),"5.Bd3",)),
-"rnbqkb1r/1p3p1p/p2ppnp1/8/2PNP3/3B4/PP3PPP/RNBQ1RK1 w kq - 0 8": ("B42",
(_("Sicilian"),_("Kan"),_("Gipslis variation"),)),
-"rnbqk1nr/1p1p1ppp/p3p3/2b5/3NP3/3B4/PPP2PPP/RNBQK2R w KQkq - 2 6":
("B42", (_("Sicilian"),_("Kan"),_("Polugaievsky variation"),)),
-"rnbqkbnr/1p1p1p1p/p3p1p1/8/3NP3/3B4/PPP2PPP/RNBQK2R w KQkq - 0 6":
("B42", (_("Sicilian"),_("Kan"),_("Swiss cheese variation"),)),
-"rnbqkbnr/1p1p1ppp/p3p3/8/3NP3/2N5/PPP2PPP/R1BQKB1R b KQkq - 1 5": ("B43",
(_("Sicilian"),_("Kan"),"5.Nc3",)),
-"r1bqkbnr/pp1p1ppp/2n1p3/8/3NP3/8/PPP2PPP/RNBQKB1R w KQkq - 1 5": ("B44",
(_("Sicilian defense"),)),
-"r1bqkbnr/pp1p1ppp/2n1p3/1N6/4P3/8/PPP2PPP/RNBQKB1R b KQkq - 2 5": ("B44",
(_("Sicilian"),_("Szen (`anti-Taimanov') variation"),)),
-"r1bq1rk1/4bppp/ppnppn2/8/2P1P3/N1N5/PP2BPPP/R1BQ1RK1 w - - 0 11": ("B44",
(_("Sicilian"),_("Szen"),_("hedgehog variation"),)),
-"r1bqkb1r/1p3ppp/p1n1pn2/3p4/2P1P3/N1N5/PP3PPP/R1BQKB1R w KQkq - 0 9":
("B44", (_("Sicilian"),_("Szen variation"),_("Dely-Kasparov gambit"),)),
-"r1bqkbnr/pp1p1ppp/2n1p3/8/3NP3/2N5/PPP2PPP/R1BQKB1R b KQkq - 2 5":
("B45", (_("Sicilian"),_("Taimanov variation"),)),
-"r1bqk2r/pp1p1ppp/2nNpn2/8/1b2P3/2N5/PPP2PPP/R1BQKB1R b KQkq - 6 7":
("B45", (_("Sicilian"),_("Taimanov"),_("American attack"),)),
-"r1bqkbnr/1p1p1ppp/p1n1p3/8/3NP3/2N5/PPP2PPP/R1BQKB1R w KQkq - 0 6":
("B46", (_("Sicilian"),_("Taimanov variation"),)),
-"r1b1kbnr/ppqp1ppp/2n1p3/8/3NP3/2N5/PPP2PPP/R1BQKB1R w KQkq - 3 6":
("B47", (_("Sicilian"),_("Taimanov (Bastrikov) variation"),)),
-"r1b1kbnr/ppqp1ppp/2n1p3/8/3NP3/2N1B3/PPP2PPP/R2QKB1R b KQkq - 4 6":
("B48", (_("Sicilian"),_("Taimanov variation"),)),
-"r1b1kbnr/1pqp1ppp/p1n1p3/8/3NP3/2N1B3/PPP1BPPP/R2QK2R b KQkq - 1 7":
("B49", (_("Sicilian"),_("Taimanov variation"),)),
-"rnbqkbnr/pp2pppp/3p4/2p5/4P3/5N2/PPPP1PPP/RNBQKB1R w KQkq - 0 3": ("B50",
(_("Sicilian"),)),
-"rnbqkbnr/pp2pppp/3p4/2p5/1P2P3/5N2/P1PP1PPP/RNBQKB1R b KQkq b3 0 3":
("B50", (_("Sicilian"),_("wing gambit deferred"),)),
-"rnbqkbnr/pp2pppp/3p4/1Bp5/4P3/5N2/PPPP1PPP/RNBQK2R b KQkq - 1 3": ("B51",
(_("Sicilian"),_("Canal-Sokolsky (Nimzovich-Rossolimo"),_("Moscow)
attack"),)),
-"rn1qkbnr/pp1bpppp/3p4/1Bp5/4P3/5N2/PPPP1PPP/RNBQK2R w KQkq - 2 4":
("B52", (_("Sicilian"),_("Canal-Sokolsky attack"),"3...Bd7",)),
-"r3kb1r/pp1qpppp/2np1n2/2p5/3PP3/2P2N2/PP3PPP/RNBQ1RK1 b kq d3 0 7":
("B52", (_("Sicilian"),_("Canal-Sokolsky attack"),_("Bronstein gambit"),)),
-"rn2kbnr/pp1qpppp/3p4/2p5/2P1P3/5N2/PP1P1PPP/RNBQK2R b KQkq c3 0 5":
("B52", (_("Sicilian"),_("Canal-Sokolsky attack"),_("Sokolsky
variation"),)),
-"rnbqkbnr/pp2pppp/3p4/8/3QP3/5N2/PPP2PPP/RNB1KB1R b KQkq - 0 4": ("B53",
(_("Sicilian"),_("Chekhover variation"),)),
-"r1b1kbnr/pp1qpppp/2np4/1B6/3QP3/5N2/PPP2PPP/RNB1K2R w KQkq - 3 6":
("B53", (_("Sicilian"),_("Chekhover"),_("Zaitsev variation"),)),
-"rnbqkbnr/pp2pppp/3p4/8/3NP3/8/PPP2PPP/RNBQKB1R b KQkq - 0 4": ("B54",
(_("Sicilian"),)),
-"rnbqkb1r/pp2pppp/3p1n2/8/3NP3/5P2/PPP3PP/RNBQKB1R b KQkq - 0 5": ("B54",
(_("Sicilian"),_("Prins (Moscow) variation"),)),
-"rnbqkb1r/pp3ppp/3p1n2/1B2p3/3NP3/5P2/PPP3PP/RNBQK2R b KQkq - 1 6":
("B55", (_("Sicilian"),_("Prins variation"),_("Venice attack"),)),
-"rnbqkb1r/pp2pppp/3p1n2/8/3NP3/2N5/PPP2PPP/R1BQKB1R b KQkq - 2 5": ("B56",
(_("Sicilian"),)),
-"rnbqkb1r/pp3ppp/3p1n2/1B2p3/3NP3/2N5/PPP2PPP/R1BQK2R b KQkq - 1 6":
("B56", (_("Sicilian"),_("Venice attack"),)),
-"r1bqkb1r/pp2pppp/2np1n2/8/3NP3/2N5/PPP2PPP/R1BQKB1R w KQkq - 3 6":
("B56", (_("Sicilian"),)),
-"r1bqkb1r/pp2pppp/2np1n2/8/2BNP3/2N5/PPP2PPP/R1BQK2R b KQkq - 4 6":
("B57", (_("Sicilian"),_("Sozin"),_("not Scheveningen"),)),
-"r1bqkb1r/p3pp1p/2pp1np1/4P3/2B5/2N5/PPP2PPP/R1BQK2R b KQkq - 0 8":
("B57", (_("Sicilian"),_("Magnus Smith trap"),)),
-"r1b1kb1r/pp2pppp/1qnp1n2/8/2BNP3/2N5/PPP2PPP/R1BQK2R w KQkq - 5 7":
("B57", (_("Sicilian"),_("Sozin"),_("Benko variation"),)),
-"r1bqkb1r/pp2pppp/2np1n2/8/3NP3/2N5/PPP1BPPP/R1BQK2R b KQkq - 1 6":
("B58", (_("Sicilian"),_("Classical"),)),
-"r1bqkb1r/pp3ppp/2np1n2/4p3/3NP3/2N5/PPP1BPPP/R1BQK2R w KQkq e6 0 7":
("B58", (_("Sicilian"),_("Boleslavsky variation"),)),
-"r1bqkb1r/pp3ppp/2Np1n2/4p3/4P3/2N5/PPP1BPPP/R1BQK2R b KQkq - 0 7":
("B58", (_("Sicilian"),_("Boleslavsky"),_("Louma variation"),)),
-"r1bqkb1r/pp3ppp/2np1n2/4p3/4P3/1NN5/PPP1BPPP/R1BQK2R b KQkq - 1 7":
("B59", (_("Sicilian"),_("Boleslavsky variation"),"7.Nb3",)),
-"r1bqkb1r/pp2pppp/2np1n2/6B1/3NP3/2N5/PPP2PPP/R2QKB1R b KQkq - 4 6":
("B60", (_("Sicilian"),_("Richter-Rauzer"),)),
-"r1bqkb1r/pp2pp1p/2np1np1/6B1/3NP3/2N5/PPP2PPP/R2QKB1R w KQkq - 0 7":
("B60", (_("Sicilian"),_("Richter-Rauzer"),_("Bondarevsky variation"),)),
-"r2qkb1r/pp1bpppp/2np1n2/6B1/3NP3/2N5/PPP2PPP/R2QKB1R w KQkq - 5 7":
("B60", (_("Sicilian"),_("Richter-Rauzer"),_("Larsen variation"),)),
-"r2qkb1r/pp1bpppp/2np1n2/6B1/3NP3/2N5/PPPQ1PPP/R3KB1R b KQkq - 6 7":
("B61", (_("Sicilian"),_("Richter-Rauzer"),_("Larsen variation"),"7.Qd2",)),
-"r1bqkb1r/pp3ppp/2nppn2/6B1/3NP3/2N5/PPP2PPP/R2QKB1R w KQkq - 0 7":
("B62", (_("Sicilian"),_("Richter-Rauzer"),"6...e6",)),
-"r1bqkb1r/pp3ppp/2nppn2/6B1/4P3/1NN5/PPP2PPP/R2QKB1R b KQkq - 1 7":
("B62", (_("Sicilian"),_("Richter-Rauzer"),_("Podvebrady variation"),)),
-"r1bqkb1r/pp3ppp/2nppn2/1B4B1/3NP3/2N5/PPP2PPP/R2QK2R b KQkq - 1 7":
("B62", (_("Sicilian"),_("Richter-Rauzer"),_("Margate (Alekhine)
variation"),)),
-"r1bqkb1r/pp3ppp/2Nppn2/6B1/4P3/2N5/PPP2PPP/R2QKB1R b KQkq - 0 7": ("B62",
(_("Sicilian"),_("Richter-Rauzer"),_("Richter attack"),)),
-"r1bqkb1r/pp3ppp/2nppn2/6B1/3NP3/2NQ4/PPP2PPP/R3KB1R b KQkq - 1 7":
("B62", (_("Sicilian"),_("Richter-Rauzer"),_("Keres variation"),)),
-"r1bqkb1r/pp3ppp/2nppn2/6B1/3NP3/2N5/PPPQ1PPP/R3KB1R b KQkq - 1 7":
("B63", (_("Sicilian"),_("Richter-Rauzer"),_("Rauzer attack"),)),
-"r1bqk2r/pp2bppp/2nppn2/6B1/3NP3/2N5/PPPQ1PPP/R3KB1R w KQkq - 2 8":
("B63", (_("Sicilian"),_("Richter-Rauzer"),_("Rauzer attack"),"7...Be7",)),
-"r1bq1rk1/pp2bppp/2nppn2/6B1/3NPP2/2N5/PPPQ2PP/2KR1B1R b - f3 0 9":
("B64", (_("Sicilian"),_("Richter-Rauzer"),_("Rauzer attack"),"7...Be7
defense","9.f4",)),
-"r1bq1rk1/pp2bppp/2np1n2/4p1B1/3NPP2/2N5/PPPQ2PP/2KR1B1R w - - 0 10":
("B64", (_("Sicilian"),_("Richter-Rauzer"),_("Rauzer attack"),_("Geller
variation"),)),
-"r1bq1rk1/pp2bppp/3ppn2/6B1/3nPP2/2N5/PPPQ2PP/2KR1B1R w - - 0 10": ("B65",
(_("Sicilian"),_("Richter-Rauzer"),_("Rauzer attack"),"7...Be7
defense","9...Nxd4",)),
-"r1bq1rk1/pp2bppp/3ppn2/6B1/3QPP2/2N5/PPP3PP/2KR1B1R b - - 0 10": ("B65",
(_("Sicilian"),_("Richter-Rauzer"),_("Rauzer attack"),"7...Be7
defense","9...Nxd4",)),
-"r1bqkb1r/1p3ppp/p1nppn2/6B1/3NP3/2N5/PPPQ1PPP/R3KB1R w KQkq - 0 8":
("B66", (_("Sicilian"),_("Richter-Rauzer"),_("Rauzer attack"),"7...a6",)),
-"r2qkb1r/1p1b1ppp/p1nppn2/6B1/3NP3/2N5/PPPQ1PPP/2KR1B1R w kq - 1 9":
("B67", (_("Sicilian"),_("Richter-Rauzer"),_("Rauzer attack"),"7...a6
defense","8...Bd7",)),
-"r2qk2r/1p1bbppp/p1nppn2/6B1/3NPP2/2N5/PPPQ2PP/2KR1B1R w kq - 1 10":
("B68", (_("Sicilian"),_("Richter-Rauzer"),_("Rauzer attack"),"7...a6
defense","9...Be7",)),
-"r2qk2r/3bbppp/p1nppB2/1p6/4PP2/2N2N2/PPPQ2PP/2KR1B1R b kq - 0 11":
("B69", (_("Sicilian"),_("Richter-Rauzer"),_("Rauzer attack"),"7...a6
defense","11.Bxf6",)),
-"rnbqkb1r/pp2pp1p/3p1np1/8/3NP3/2N5/PPP2PPP/R1BQKB1R w KQkq - 0 6":
("B70", (_("Sicilian"),_("Dragon variation"),)),
-"rnbqkb1r/pp2pp1p/3p1np1/8/3NPP2/2N5/PPP3PP/R1BQKB1R b KQkq f3 0 6":
("B71", (_("Sicilian"),_("Dragon"),_("Levenfish variation"),)),
-"r1bqkb1r/pp1npp1p/3p1np1/8/3NPP2/2N5/PPP3PP/R1BQKB1R w KQkq - 1 7":
("B71", (_("Sicilian"),_("Dragon"),_("Levenfish; Flohr variation"),)),
-"rnbqkb1r/pp2pp1p/3p1np1/8/3NP3/2N1B3/PPP2PPP/R2QKB1R b KQkq - 1 6":
("B72", (_("Sicilian"),_("Dragon"),"6.Be3",)),
-"rnbqk2r/pp2ppbp/3p1np1/8/3NP3/2N1B3/PPP1BPPP/R2QK2R b KQkq - 3 7":
("B72", (_("Sicilian"),_("Dragon"),_("Classical attack"),)),
-"r1bqk2r/pp2ppbp/2np1np1/8/3NP3/2N1B3/PPPQBPPP/R3K2R b KQkq - 5 8":
("B72", (_("Sicilian"),_("Dragon"),_("Classical"),_("Amsterdam
variation"),)),
-"r1bq1rk1/pp2ppbp/2np1np1/8/3NP3/2N1B3/PPPQBPPP/2KR3R b - - 0 9": ("B72",
(_("Sicilian"),_("Dragon"),_("Classical"),_("Grigoriev variation"),)),
-"r1bqk2r/pp2ppbp/2np1np1/8/4P3/1NN1B3/PPP1BPPP/R2QK2R b KQkq - 5 8":
("B72", (_("Sicilian"),_("Dragon"),_("Classical"),_("Nottingham
variation"),)),
-"r1bqk2r/pp2ppbp/2np1np1/8/3NP3/2N1B3/PPP1BPPP/R2Q1RK1 b kq - 0 8":
("B73", (_("Sicilian"),_("Dragon"),_("Classical"),"8.O-O",)),
-"r1b2rk1/pp2ppbp/1qnp1np1/4P3/3N1P2/2N1B3/PPP1B1PP/R2Q1RK1 b - - 0 10":
("B73", (_("Sicilian"),_("Dragon"),_("Classical"),_("Zollner gambit"),)),
-"r1bq1rk1/pp2ppbp/2np1np1/8/3NP3/2N1B3/PPPQBPPP/R4RK1 b - - 1 9": ("B73",
(_("Sicilian"),_("Dragon"),_("Classical"),_("Richter variation"),)),
-"r1bq1rk1/pp2ppbp/2np1np1/8/4P3/1NN1B3/PPP1BPPP/R2Q1RK1 b - - 1 9":
("B74", (_("Sicilian"),_("Dragon"),_("Classical"),"9.Nb3",)),
-"r4rk1/pp2ppbp/3p1np1/q4P2/4P1P1/2N1B3/PPP1Q2P/R4RK1 b - g3 0 14": ("B74",
(_("Sicilian"),_("Dragon"),_("Classical"),_("Stockholm attack"),)),
-"r2q1rk1/pp2ppbp/3p1np1/n4P2/2b1P3/1NNBB3/PPP3PP/R2Q1RK1 b - - 2 12":
("B74", (_("Sicilian"),_("Dragon"),_("Classical"),_("Spielmann
variation"),)),
-"r2q1rk1/pp2ppbp/5np1/n2p1P2/4P3/1NNPB3/PP4PP/R2Q1RK1 w - - 0 14": ("B74",
(_("Sicilian"),_("Dragon"),_("Classical"),_("Bernard defense"),)),
-"r1q2rk1/pp2ppbp/2npbnp1/8/4PP2/1NN1B3/PPP1B1PP/R2Q1RK1 w - - 1 11":
("B74", (_("Sicilian"),_("Dragon"),_("Classical"),_("Reti-Tartakower
variation"),)),
-"r1bq1rk1/1p2ppbp/2np1np1/p7/4P3/1NN1B3/PPP1BPPP/R2Q1RK1 w - a6 0 10":
("B74", (_("Sicilian"),_("Dragon"),_("Classical"),_("Alekhine
variation"),)),
-"rnbqk2r/pp2ppbp/3p1np1/8/3NP3/2N1BP2/PPP3PP/R2QKB1R b KQkq - 0 7":
("B75", (_("Sicilian"),_("Dragon"),_("Yugoslav attack"),)),
-"rnbq1rk1/pp2ppbp/3p1np1/8/3NP3/2N1BP2/PPP3PP/R2QKB1R w KQ - 0 8": ("B76",
(_("Sicilian"),_("Dragon"),_("Yugoslav attack"),"7...O-O",)),
-"r1bq1rk1/pp2ppbp/2np1np1/8/3NP3/2N1BP2/PPPQ2PP/2KR1B1R b - - 0 9":
("B76", (_("Sicilian"),_("Dragon"),_("Yugoslav attack"),_("Rauser
variation"),)),
-"r1bq1rk1/pp2ppbp/2np1np1/8/2BNP3/2N1BP2/PPPQ2PP/R3K2R b KQ - 3 9":
("B77", (_("Sicilian"),_("Dragon"),_("Yugoslav attack"),"9.Bc4",)),
-"r1bq1rk1/1p2ppbp/2np1np1/p7/2BNP3/2N1BP2/PPPQ2PP/R3K2R w KQ a6 0 10":
("B77", (_("Sicilian"),_("Dragon"),_("Yugoslav attack"),_("Byrne
variation"),)),
-"r2q1rk1/pp1bppbp/2np1np1/8/2BNP3/2N1BP2/PPPQ2PP/R3K2R w KQ - 4 10":
("B77", (_("Sicilian"),_("Dragon"),_("Yugoslav attack"),"9...Bd7",)),
-"r2q1rk1/pp1bppbp/2np1np1/8/2BNP3/2N1BP2/PPPQ2PP/2KR3R b - - 0 10":
("B78", (_("Sicilian"),_("Dragon"),_("Yugoslav attack"),"10.O-O-O",)),
-"r1r3k1/pp1bppbp/2np1np1/q7/3NP2P/1BN1BP2/PPPQ2P1/2KR3R b - h3 0 12":
("B79", (_("Sicilian"),_("Dragon"),_("Yugoslav attack"),"12.h4",)),
-"rnbqkb1r/pp3ppp/3ppn2/8/3NP3/2N5/PPP2PPP/R1BQKB1R w KQkq - 0 6": ("B80",
(_("Sicilian"),_("Scheveningen variation"),)),
-"rnbqkb1r/1p3ppp/p2ppn2/8/3NP3/2N1B3/PPPQ1PPP/R3KB1R b KQkq - 1 7":
("B80", (_("Sicilian"),_("Scheveningen"),_("English variation"),)),
-"rnbqkb1r/pp3ppp/3ppn2/1B6/3NP3/2N5/PPP2PPP/R1BQK2R b KQkq - 1 6": ("B80",
(_("Sicilian"),_("Scheveningen"),_("Vitolins variation"),)),
-"rnbqkb1r/pp3ppp/3ppn2/8/3NP3/2N3P1/PPP2P1P/R1BQKB1R b KQkq - 0 6":
("B80", (_("Sicilian"),_("Scheveningen"),_("Fianchetto variation"),)),
-"rnbqkb1r/pp3ppp/3ppn2/8/3NP1P1/2N5/PPP2P1P/R1BQKB1R b KQkq g3 0 6":
("B81", (_("Sicilian"),_("Scheveningen"),_("Keres attack"),)),
-"rnbqkb1r/pp3ppp/3ppn2/8/3NPP2/2N5/PPP3PP/R1BQKB1R b KQkq f3 0 6": ("B82",
(_("Sicilian"),_("Scheveningen"),"6.f4",)),
-"r1bqk2r/pp2bppp/2nppn2/8/3NPP2/2N1BQ2/PPP3PP/R3KB1R b KQkq - 4 8":
("B82", (_("Sicilian"),_("Scheveningen"),_("Tal variation"),)),
-"rnbqkb1r/pp3ppp/3ppn2/8/3NP3/2N5/PPP1BPPP/R1BQK2R b KQkq - 1 6": ("B83",
(_("Sicilian"),_("Scheveningen"),"6.Be2",)),
-"r1bqkb1r/pp3ppp/2nppn2/8/3NP3/2N5/PPP1BPPP/R1BQK2R w KQkq - 2 7": ("B83",
(_("Sicilian"),_("Modern Scheveningen"),)),
-"r1bq1rk1/pp2bppp/2nppn2/8/3NPP2/2N1B3/PPP1B1PP/R2Q1RK1 b - f3 0 9":
("B83", (_("Sicilian"),_("Modern Scheveningen"),_("Main line"),)),
-"r2q1rk1/pp1bbppp/2nppn2/8/4PP2/1NN1B3/PPP1B1PP/R2Q1RK1 b - - 2 10":
("B83", (_("Sicilian"),_("Modern Scheveningen"),_("Main line with Nb3"),)),
-"rnbqkb1r/1p3ppp/p2ppn2/8/3NP3/2N5/PPP1BPPP/R1BQK2R w KQkq - 0 7": ("B84",
(_("Sicilian"),_("Scheveningen (Paulsen)"),_("Classical variation"),)),
-"r1bqkb1r/1p1n1ppp/p2ppn2/8/3NP3/2N5/PPP1BPPP/R1BQ1RK1 w kq - 1 8":
("B84", (_("Sicilian"),_("Scheveningen"),_("Classical"),_("Nd7 system"),)),
-"rnb1kb1r/1pq2ppp/p2ppn2/8/3NP3/2N5/PPP1BPPP/R1BQ1RK1 w kq - 1 8": ("B84",
(_("Sicilian"),_("Scheveningen (Paulsen)"),_("Classical variation"),)),
-"r1b1kb1r/1pq2ppp/p1nppn2/8/3NPP2/2N5/PPP1B1PP/R1BQ1RK1 w kq - 1 9":
("B85", (_("Sicilian"),_("Scheveningen"),_("Classical variation with ...Qc7
and ...Nc6"),)),
-"r1b1k2r/1pq1bppp/p1nppn2/8/P2NPP2/2N5/1PP1B1PP/R1BQ1R1K b kq a3 0 10":
("B85", (_("Sicilian"),_("Scheveningen"),_("Classical"),_("Maroczy
system"),)),
-"r1b1kb1r/1pq2ppp/p1nppn2/8/3NPP2/2N1B3/PPP1B1PP/R2Q1RK1 b kq - 2 9":
("B85", (_("Sicilian"),_("Scheveningen"),_("Classical"),)),
-"r1b2rk1/1pq1bppp/p1nppn2/8/3NPP2/2N1B3/PPP1B1PP/R3QRK1 w - - 0 11":
("B85", (_("Sicilian"),_("Scheveningen"),_("Classical Main line"),)),
-"rnbqkb1r/pp3ppp/3ppn2/8/2BNP3/2N5/PPP2PPP/R1BQK2R b KQkq - 1 6": ("B86",
(_("Sicilian"),_("Sozin attack"),)),
-"rnbqkb1r/5ppp/p2ppn2/1p6/3NP3/1BN5/PPP2PPP/R1BQK2R w KQkq b6 0 8":
("B87", (_("Sicilian"),_("Sozin with ...a6 and ...b5"),)),
-"r1bqkb1r/pp3ppp/2nppn2/8/2BNP3/2N5/PPP2PPP/R1BQK2R w KQkq - 2 7": ("B88",
(_("Sicilian"),_("Sozin"),_("Leonhardt variation"),)),
-"r1bq1rk1/pp2bppp/2nppn2/8/3NPP2/1BN1B3/PPP3PP/R2QK2R b KQ f3 0 9":
("B88", (_("Sicilian"),_("Sozin"),_("Fischer variation"),)),
-"r1bqkb1r/pp3ppp/2nppn2/8/2BNP3/2N1B3/PPP2PPP/R2QK2R b KQkq - 3 7":
("B89", (_("Sicilian"),_("Sozin"),"7.Be3",)),
-"r1bqk2r/pp2bppp/2nppn2/8/2BNP3/2N1B3/PPP1QPPP/R3K2R b KQkq - 5 8":
("B89", (_("Sicilian"),_("Velimirovic attack"),)),
-"rnbqkb1r/1p2pppp/p2p1n2/8/3NP3/2N5/PPP2PPP/R1BQKB1R w KQkq - 0 6":
("B90", (_("Sicilian"),_("Najdorf"),)),
-"rnbqkb1r/1p2pppp/p2p1n2/8/3NP3/2N4P/PPP2PP1/R1BQKB1R b KQkq - 0 6":
("B90", (_("Sicilian"),_("Najdorf"),_("Adams attack"),)),
-"rnbqkb1r/1p2pppp/p2p1n2/8/2BNP3/2N5/PPP2PPP/R1BQK2R b KQkq - 1 6":
("B90", (_("Sicilian"),_("Najdorf"),_("Lipnitzky attack"),)),
-"rnbqkb1r/1p2pppp/p2p1n2/8/3NP3/2N1B3/PPP2PPP/R2QKB1R b KQkq - 1 6":
("B90", (_("Sicilian"),_("Najdorf"),_("Byrne (English) attack"),)),
-"rnbqkb1r/1p2pppp/p2p1n2/8/3NP3/2N3P1/PPP2P1P/R1BQKB1R b KQkq - 0 6":
("B91", (_("Sicilian"),_("Najdorf"),_("Zagreb (Fianchetto) variation"),)),
-"rnbqkb1r/1p2pppp/p2p1n2/8/3NP3/2N5/PPP1BPPP/R1BQK2R b KQkq - 1 6":
("B92", (_("Sicilian"),_("Najdorf"),_("Opovcensky variation"),)),
-"rnbqkb1r/1p2pppp/p2p1n2/8/3NPP2/2N5/PPP3PP/R1BQKB1R b KQkq f3 0 6":
("B93", (_("Sicilian"),_("Najdorf"),"6.f4",)),
-"rnbqkb1r/1p2pppp/p2p1n2/6B1/3NP3/2N5/PPP2PPP/R2QKB1R b KQkq - 1 6":
("B94", (_("Sicilian"),_("Najdorf"),"6.Bg5",)),
-"r3kb1r/1b3ppp/p2ppn2/qpn1P1B1/3N4/1BN5/PPPQ1PPP/2KRR3 b kq - 0 12":
("B94", (_("Sicilian"),_("Najdorf"),_("Ivkov variation"),)),
-"rnbqkb1r/1p3ppp/p2ppn2/6B1/3NP3/2N5/PPP2PPP/R2QKB1R w KQkq - 0 7":
("B95", (_("Sicilian"),_("Najdorf"),"6...e6",)),
-"rnbqkb1r/1p3ppp/p2ppn2/6B1/3NPP2/2N5/PPP3PP/R2QKB1R b KQkq f3 0 7":
("B96", (_("Sicilian"),_("Najdorf"),"7.f4",)),
-"rnbqkb1r/5ppp/p2ppn2/1p4B1/3NPP2/2N5/PPP3PP/R2QKB1R w KQkq b6 0 8":
("B96", (_("Sicilian"),_("Najdorf"),_("Polugayevsky variation"),)),
-"rnb1kb1r/2q2ppp/p3pn2/1p2P1B1/3N4/2N5/PPP1Q1PP/R3KB1R b KQkq - 2 10":
("B96", (_("Sicilian"),_("Najdorf"),_("Polugayevsky"),_("Simagin
variation"),)),
-"rnb1kb1r/1p3ppp/pq1ppn2/6B1/3NPP2/2N5/PPP3PP/R2QKB1R w KQkq - 1 8":
("B97", (_("Sicilian"),_("Najdorf"),"7...Qb6",)),
-"rnb1kb1r/1p3ppp/p2ppn2/6B1/3NPP2/q1N5/P1PQ2PP/1R2KB1R w Kkq - 2 10":
("B97", (_("Sicilian"),_("Najdorf"),_("Poisoned pawn variation"),)),
-"rnbqk2r/1p2bppp/p2ppn2/6B1/3NPP2/2N5/PPP3PP/R2QKB1R w KQkq - 1 8":
("B98", (_("Sicilian"),_("Najdorf"),"7...Be7",)),
-"rnb1k2r/1pq1bpp1/p2ppn1p/8/3NPP1B/2N2Q2/PPP3PP/R3KB1R w KQkq - 2 10":
("B98", (_("Sicilian"),_("Najdorf"),_("Browne variation"),)),
-"rnbqk2r/1p2bp2/p2ppn1p/6p1/3NPP1B/2N2Q2/PPP3PP/R3KB1R w KQkq g6 0 10":
("B98", (_("Sicilian"),_("Najdorf"),_("Goteborg (Argentine) variation"),)),
-"rnb1k2r/1pq1bppp/p2ppn2/6B1/3NPP2/2N2Q2/PPP3PP/R3KB1R w KQkq - 3 9":
("B98", (_("Sicilian"),_("Najdorf variation"),)),
-"r1b1k2r/1pqnbppp/p2ppn2/6B1/3NPP2/2N2Q2/PPP3PP/2KR1B1R w kq - 1 10":
("B99", (_("Sicilian"),_("Najdorf"),"7...Be7 Main line",)),
-"rnbqkbnr/pppp1ppp/4p3/8/4P3/8/PPPP1PPP/RNBQKBNR w KQkq - 0 2": ("C00",
(_("French defense"),)),
-"rnbqkbnr/pppp1ppp/4p3/8/2P1P3/8/PP1P1PPP/RNBQKBNR b KQkq c3 0 2": ("C00",
(_("French defense"),_("Steiner variation"),)),
-"rnbqkbnr/pppp1ppp/4p3/8/4P3/1P6/P1PP1PPP/RNBQKBNR b KQkq - 0 2": ("C00",
(_("French"),_("Reti (Spielmann) variation"),)),
-"rnbqkbnr/pppp1ppp/4p3/4P3/8/8/PPPP1PPP/RNBQKBNR b KQkq - 0 2": ("C00",
(_("French"),_("Steinitz attack"),)),
-"rnbqkbnr/pppp1ppp/4p3/8/4PP2/8/PPPP2PP/RNBQKBNR b KQkq f3 0 2": ("C00",
(_("French"),_("Labourdonnais variation"),)),
-"rnbqkbnr/pppp1ppp/4p3/8/4P3/5N2/PPPP1PPP/RNBQKB1R b KQkq - 1 2": ("C00",
(_("French defense"),)),
-"rnbqkbnr/pp3ppp/4p3/2ppP3/1P6/5N2/P1PP1PPP/RNBQKB1R b KQkq b3 0 4":
("C00", (_("French"),_("Wing gambit"),)),
-"rnbqkbnr/pppp1ppp/4p3/8/4P3/2N5/PPPP1PPP/R1BQKBNR b KQkq - 1 2": ("C00",
(_("French defense"),)),
-"rnbqkbnr/ppp2ppp/4p3/3p4/4PP2/2N5/PPPP2PP/R1BQKBNR b KQkq f3 0 3":
("C00", (_("French"),_("Pelikan variation"),)),
-"rnbqkbnr/ppp2ppp/4p3/3p4/4P3/2N2N2/PPPP1PPP/R1BQKB1R b KQkq - 1 3":
("C00", (_("French"),_("Two knights variation"),)),
-"rnbqkbnr/pppp1ppp/4p3/8/4P3/8/PPPPQPPP/RNB1KBNR b KQkq - 1 2": ("C00",
(_("French"),_("Chigorin variation"),)),
-"rnbqkbnr/pppp1ppp/4p3/8/4P3/3P4/PPP2PPP/RNBQKBNR b KQkq - 0 2": ("C00",
(_("French"),_("King's Indian attack"),)),
-"r1bqkb1r/ppp2ppp/2n1pn2/3p4/4P3/3P1N2/PPPNBPPP/R1BQK2R b KQkq - 5 5":
("C00", (_("French"),_("Reversed Philidor formation"),)),
-"rnbqkbnr/pppp1ppp/4p3/8/3PP3/8/PPP2PPP/RNBQKBNR b KQkq d3 0 2": ("C00",
(_("French defense"),)),
-"rnbqkbnr/ppp2ppp/3pp3/8/3PP3/8/PPP2PPP/RNBQKBNR w KQkq - 0 3": ("C00",
(_("Lengfellner system"),)),
-"rnbqkbnr/1ppp1ppp/p3p3/8/3PP3/8/PPP2PPP/RNBQKBNR w KQkq - 0 3": ("C00",
(_("St. George defense"),)),
-"rnbqkbnr/ppp2ppp/4p3/3p4/3PP3/8/PPP2PPP/RNBQKBNR w KQkq d6 0 3": ("C00",
(_("French defense"),)),
-"rnbqkbnr/ppp2ppp/4p3/3p4/3PP3/3B4/PPP2PPP/RNBQK1NR b KQkq - 1 3": ("C00",
(_("French"),_("Schlechter variation"),)),
-"rnbqkbnr/ppp2ppp/4p3/3p4/3PP3/4B3/PPP2PPP/RN1QKBNR b KQkq - 1 3": ("C00",
(_("French"),_("Alapin variation"),)),
-"rnbqkbnr/ppp2ppp/4p3/3P4/3P4/8/PPP2PPP/RNBQKBNR b KQkq - 0 3": ("C01",
(_("French"),_("Exchange variation"),)),
-"rnbqkb1r/ppp2ppp/5n2/3p2B1/3P4/2N5/PPP2PPP/R2QKBNR b KQkq - 3 5": ("C01",
(_("French"),_("Exchange"),_("Svenonius variation"),)),
-"r1bqkb1r/ppp2ppp/2n2n2/3p2B1/3P4/2N5/PPP2PPP/R2QKBNR w KQkq - 4 6":
("C01", (_("French"),_("Exchange"),_("Bogolyubov variation"),)),
-"rnbqkbnr/ppp2ppp/4p3/3pP3/3P4/8/PPP2PPP/RNBQKBNR b KQkq - 0 3": ("C02",
(_("French"),_("Advance variation"),)),
-"rnbqkbnr/pp3ppp/4p3/2PpP3/8/8/PPP2PPP/RNBQKBNR b KQkq - 0 4": ("C02",
(_("French"),_("Advance"),_("Steinitz variation"),)),
-"rnbqkbnr/pp3ppp/4p3/2ppP3/3P2Q1/8/PPP2PPP/RNB1KBNR b KQkq - 1 4": ("C02",
(_("French"),_("Advance"),_("Nimzovich variation"),)),
-"rnbqkbnr/pp3ppp/4p3/2ppP3/3P4/5N2/PPP2PPP/RNBQKB1R b KQkq - 1 4": ("C02",
(_("French"),_("Advance"),_("Nimzovich system"),)),
-"rnbqkbnr/pp3ppp/4p3/2ppP3/3P4/2P5/PP3PPP/RNBQKBNR b KQkq - 0 4": ("C02",
(_("French"),_("Advance variation"),)),
-"rn2kbnr/pp1b1ppp/1q2p3/2ppP3/3P4/2P2N2/PP3PPP/RNBQKB1R w KQkq - 3 6":
("C02", (_("French"),_("Advance"),_("Wade variation"),)),
-"r1bqkbnr/pp3ppp/2n1p3/2ppP3/3P4/2P5/PP3PPP/RNBQKBNR w KQkq - 1 5":
("C02", (_("French"),_("Advance variation"),)),
-"r1bqkbnr/pp3ppp/2n1p3/2ppP3/3P4/2P2N2/PP3PPP/RNBQKB1R b KQkq - 2 5":
("C02", (_("French"),_("Advance"),_("Paulsen attack"),)),
-"r1b1kbnr/pp3ppp/1qn1p3/2ppP3/3P4/2PB1N2/PP3PPP/RNBQK2R b KQkq - 4 6":
("C02", (_("French"),_("Advance"),_("Milner-Barry gambit"),)),
-"r2qkbnr/pp1b1ppp/2n1p3/2ppP3/3P4/2P2N2/PP3PPP/RNBQKB1R w KQkq - 3 6":
("C02", (_("French"),_("Advance"),_("Euwe variation"),)),
-"rnbqkbnr/ppp2ppp/4p3/3p4/3PP3/8/PPPN1PPP/R1BQKBNR b KQkq - 1 3": ("C03",
(_("French"),_("Tarrasch"),)),
-"rnbqkbnr/ppp3pp/4p3/3p1p2/3PP3/8/PPPN1PPP/R1BQKBNR w KQkq f6 0 4":
("C03", (_("French"),_("Tarrasch"),_("Haberditz variation"),)),
-"r1bqkbnr/ppp2ppp/2n1p3/3p4/3PP3/8/PPPN1PPP/R1BQKBNR w KQkq - 2 4":
("C03", (_("French"),_("Tarrasch"),_("Guimard variation"),)),
-"r1bqkb1r/ppp2ppp/2n1pn2/3p4/3PP3/5N2/PPPN1PPP/R1BQKB1R w KQkq - 4 5":
("C04", (_("French"),_("Tarrasch"),_("Guimard Main line"),)),
-"rnbqkb1r/ppp2ppp/4pn2/3p4/3PP3/8/PPPN1PPP/R1BQKBNR w KQkq - 2 4": ("C05",
(_("French"),_("Tarrasch"),_("Closed variation"),)),
-"rnbqkb1r/p2n1ppp/1p2p3/2ppP3/3P4/2PB4/PP1N1PPP/R1BQK1NR w KQkq - 0 7":
("C05", (_("French"),_("Tarrasch"),_("Botvinnik variation"),)),
-"r1bqkb1r/pp1n1ppp/2n1p3/2ppP3/3P4/2PB4/PP1N1PPP/R1BQK1NR w KQkq - 1 7":
("C05", (_("French"),_("Tarrasch"),_("Closed variation"),)),
-"r1bqkb1r/pp1n1ppp/2n1p3/3pP3/3P4/3B4/PP1NNPPP/R1BQK2R b KQkq - 0 8":
("C06", (_("French"),_("Tarrasch"),_("Closed variation"),_("Main line"),)),
-"r1bqkb1r/pp3ppp/1nn1p3/3pP3/3P4/3B4/PP1NNPPP/R1BQK2R w KQkq - 1 9":
("C06", (_("French"),_("Tarrasch"),_("Leningrad variation"),)),
-"rnbqkbnr/pp3ppp/4p3/2pp4/3PP3/8/PPPN1PPP/R1BQKBNR w KQkq c6 0 4": ("C07",
(_("French"),_("Tarrasch"),_("Open variation"),)),
-"rnbqkbnr/pp3ppp/4p3/8/2Bp4/5N2/PPPN1PPP/R1BQK2R w KQkq - 2 7": ("C07",
(_("French"),_("Tarrasch"),_("Eliskases variation"),)),
-"rnbqkbnr/pp3ppp/8/2pp4/3P4/8/PPPN1PPP/R1BQKBNR w KQkq - 0 5": ("C08",
(_("French"),_("Tarrasch"),_("Open"),"4.ed ed",)),
-"r1bqkbnr/pp3ppp/2n5/2pp4/3P4/5N2/PPPN1PPP/R1BQKB1R w KQkq - 2 6": ("C09",
(_("French"),_("Tarrasch"),_("Open variation"),_("Main line"),)),
-"rnbqkbnr/ppp2ppp/4p3/3p4/3PP3/2N5/PPP2PPP/R1BQKBNR b KQkq - 1 3": ("C10",
(_("French"),_("Paulsen variation"),)),
-"rnbqkbnr/pp3ppp/4p3/2pp4/3PP3/2N5/PPP2PPP/R1BQKBNR w KQkq c6 0 4":
("C10", (_("French"),_("Marshall variation"),)),
-"rnbqkbnr/ppp2ppp/4p3/8/3Pp3/2N5/PPP2PPP/R1BQKBNR w KQkq - 0 4": ("C10",
(_("French"),_("Rubinstein variation"),)),
-"rn1qkbnr/ppp2ppp/2b1p3/8/3PN3/5N2/PPP2PPP/R1BQKB1R w KQkq - 3 6": ("C10",
(_("French"),_("Fort Knox variation"),)),
-"r1bqkbnr/pppn1ppp/4p3/8/3PN3/8/PPP2PPP/R1BQKBNR w KQkq - 1 5": ("C10",
(_("French"),_("Rubinstein variation"),)),
-"r1bqkb1r/ppp2ppp/4pn2/4N3/3P4/8/PPP2PPP/R1BQKB1R b KQkq - 1 7": ("C10",
(_("French"),_("Rubinstein"),_("Capablanca line"),)),
-"rnb1kbnr/ppp2ppp/4p3/3q4/3PN3/8/PPP2PPP/R1BQKBNR w KQkq - 1 5": ("C10",
(_("French"),_("Frere (Becker) variation"),)),
-"rnbqkb1r/ppp2ppp/4pn2/3p4/3PP3/2N5/PPP2PPP/R1BQKBNR w KQkq - 2 4":
("C11", (_("French defense"),)),
-"rnbqkb1r/ppp2ppp/4pn2/3p4/3PP3/2NB4/PPP2PPP/R1BQK1NR b KQkq - 3 4":
("C11", (_("French"),_("Swiss variation"),)),
-"rnbqkb1r/ppp2ppp/4pn2/3p4/3PP3/2N1B3/PPP2PPP/R2QKBNR b KQkq - 3 4":
("C11", (_("French"),_("Henneberger variation"),)),
-"rnbqkb1r/ppp2ppp/4pn2/3pP3/3P4/2N5/PPP2PPP/R1BQKBNR b KQkq - 0 4":
("C11", (_("French"),_("Steinitz variation"),)),
-"rnbqk2r/pp1n1ppp/4p3/2bpP3/5PQ1/2N5/PPP3PP/R1B1KBNR b KQkq - 1 7":
("C11", (_("French"),_("Steinitz"),_("Bradford attack"),)),
-"r1bqkb1r/pp1n1ppp/2n1p3/2PpP3/5P2/2N5/PPP3PP/R1BQKBNR w KQkq - 1 7":
("C11", (_("French"),_("Steinitz variation"),)),
-"r1bq1rk1/pp1n2pp/2n1pp2/2bpP3/5PQ1/P1N2N2/1PP3PP/R1B1KB1R w KQ - 0 10":
("C11", (_("French"),_("Steinitz"),_("Brodsky-Jones variation"),)),
-"rnbqkb1r/pp1n1ppp/4p3/2ppP3/3P1P2/2N2N2/PPP3PP/R1BQKB1R b KQkq - 1 6":
("C11", (_("French"),_("Steinitz variation"),)),
-"r1bqkb1r/pp1n1ppp/2n1p3/2ppP3/3P1P2/2N1BN2/PPP3PP/R2QKB1R b KQkq - 3 7":
("C11", (_("French"),_("Steinitz"),_("Boleslavsky variation"),)),
-"rnbqkb1r/pppn1ppp/4p3/3pP3/3P2Q1/2N5/PPP2PPP/R1B1KBNR b KQkq - 2 5":
("C11", (_("French"),_("Steinitz"),_("Gledhill attack"),)),
-"rnbqkb1r/ppp2ppp/4pn2/6B1/3Pp3/2N5/PPP2PPP/R2QKBNR w KQkq - 0 5": ("C11",
(_("French"),_("Burn variation"),)),
-"rnbqk2r/ppp2ppp/4pn2/3p2B1/1b1PP3/2N5/PPP2PPP/R2QKBNR w KQkq - 4 5":
("C12", (_("French"),_("MacCutcheon variation"),)),
-"rnb1k2r/ppp2p1p/4pp2/q7/1b1P4/2N5/PPPQ1PPP/R3KBNR w KQkq - 2 8": ("C12",
(_("French"),_("MacCutcheon"),_("Bogolyubov variation"),)),
-"rnbqk2r/ppp2ppp/4pn2/3pP1B1/1b1P4/2N5/PPP2PPP/R2QKBNR b KQkq - 0 5":
("C12", (_("French"),_("MacCutcheon"),_("Advance variation"),)),
-"rnbqk2r/ppp2pp1/4pP1p/3p2B1/1b1P4/2N5/PPP2PPP/R2QKBNR b KQkq - 0 6":
("C12", (_("French"),_("MacCutcheon"),_("Chigorin variation"),)),
-"rnbqk1r1/ppp2pP1/4p3/3p4/1b1P2Qp/2N5/PPP2PP1/R3KBNR b KQq - 1 9": ("C12",
(_("French"),_("MacCutcheon"),_("Grigoriev variation"),)),
-"rnbqk2r/ppp2pp1/4pn1p/3pP3/1b1P3B/2N5/PPP2PPP/R2QKBNR b KQkq - 1 6":
("C12", (_("French"),_("MacCutcheon"),_("Bernstein variation"),)),
-"rnbqk2r/ppp2pp1/4pn1p/3pP3/1b1P4/2N1B3/PPP2PPP/R2QKBNR b KQkq - 1 6":
("C12", (_("French"),_("MacCutcheon"),_("Janowski variation"),)),
-"rnbqk2r/ppp2pp1/4pn1p/3pP3/1b1P4/2N5/PPP2PPP/R1BQKBNR b KQkq - 1 6":
("C12", (_("French"),_("MacCutcheon"),_("Dr. Olland (Dutch) variation"),)),
-"rnbqk2r/pppn1pp1/4p2p/3pP3/1b1P4/2N5/PPPB1PPP/R2QKBNR w KQkq - 2 7":
("C12", (_("French"),_("MacCutcheon"),_("Tartakower variation"),)),
-"rnbqk2r/ppp2pp1/4pn1p/3pP3/3P4/2b5/PPPB1PPP/R2QKBNR w KQkq - 0 7":
("C12", (_("French"),_("MacCutcheon"),_("Lasker variation"),)),
-"rnbq1k1r/ppp2pp1/4p2p/3pP3/3Pn1Q1/2P5/P1P2PPP/R1B1KBNR b KQ - 4 9":
("C12", (_("French"),_("MacCutcheon"),_("Duras variation"),)),
-"rnbqk2r/ppp2p2/4p1pp/3pP3/3Pn1Q1/2P5/P1PB1PPP/R3KBNR w KQkq - 0 9":
("C12", (_("French"),_("MacCutcheon"),_("Lasker variation"),"8...g6",)),
-"rnbqk2r/ppp1bppp/4pn2/3p2B1/3PP3/2N5/PPP2PPP/R2QKBNR w KQkq - 4 5":
("C13", (_("French"),_("Classical"),)),
-"rnbqk2r/ppp1bppp/4pB2/3p4/3PP3/2N5/PPP2PPP/R2QKBNR b KQkq - 0 5": ("C13",
(_("French"),_("Classical"),_("Anderssen variation"),)),
-"rnbqk2r/ppp1bppp/4p3/3pP3/3P2Q1/2N5/PPP2PPP/R3KBNR b KQkq - 2 7": ("C13",
(_("French"),_("Classical"),_("Anderssen-Richter variation"),)),
-"rnbqk1nr/ppp1bppp/4p3/3pP1B1/3P4/2N5/PPP2PPP/R2QKBNR w KQkq - 1 6":
("C13", (_("French"),_("Classical"),_("Vistaneckis (Nimzovich)
variation"),)),
-"rnbqk1nr/p1p1bppp/1p2p3/3pP3/3P4/2N1B3/PPP2PPP/R2QKBNR w KQkq - 0 7":
("C13", (_("French"),_("Classical"),_("Frankfurt variation"),)),
-"rnbqk2r/ppp1bppp/4p3/3pP1B1/3Pn3/2N5/PPP2PPP/R2QKBNR w KQkq - 1 6":
("C13", (_("French"),_("Classical"),_("Tartakower variation"),)),
-"rnbqk2r/pppnbppp/4p3/3pP1B1/3P3P/2N5/PPP2PP1/R2QKBNR b KQkq h3 0 6":
("C13", (_("French"),_("Albin-Alekhine-Chatard attack"),)),
-"rnbqk2r/1ppnbppp/p3p3/3pP1B1/3P3P/2N5/PPP2PP1/R2QKBNR w KQkq - 0 7":
("C13", (_("French"),_("Albin-Alekhine-Chatard attack"),_("Maroczy
variation"),)),
-"rnbqk2r/pp1nbppp/4p3/2ppP1B1/3P3P/2N5/PPP2PP1/R2QKBNR w KQkq c6 0 7":
("C13", (_("French"),_("Albin-Alekhine-Chatard attack"),_("Breyer
variation"),)),
-"rnbqk2r/pppnb1pp/4pp2/3pP1B1/3P3P/2N5/PPP2PP1/R2QKBNR w KQkq - 0 7":
("C13", (_("French"),_("Albin-Alekhine-Chatard attack"),_("Teichmann
variation"),)),
-"rnbq1rk1/pppnbppp/4p3/3pP1B1/3P3P/2N5/PPP2PP1/R2QKBNR w KQ - 0 7":
("C13", (_("French"),_("Albin-Alekhine-Chatard attack"),_("Spielmann
variation"),)),
-"rnb1k2r/pppnqppp/4p3/3pP3/3P4/2N5/PPP2PPP/R2QKBNR w KQkq - 0 7": ("C14",
(_("French"),_("Classical variation"),)),
-"rnb1k2r/pppnqppp/4p3/3pP3/3P4/2NB4/PPP2PPP/R2QK1NR b KQkq - 1 7": ("C14",
(_("French"),_("Classical"),_("Tarrasch variation"),)),
-"rnb1k2r/pppnqppp/4p3/3pP3/3P4/2N5/PPPQ1PPP/R3KBNR b KQkq - 1 7": ("C14",
(_("French"),_("Classical"),_("Rubinstein variation"),)),
-"rnb1k2r/pppnqppp/4p3/1N1pP3/3P4/8/PPP2PPP/R2QKBNR b KQkq - 1 7": ("C14",
(_("French"),_("Classical"),_("Alapin variation"),)),
-"rnb1k2r/pppnqppp/4p3/3pP3/3P2Q1/2N5/PPP2PPP/R3KBNR b KQkq - 1 7": ("C14",
(_("French"),_("Classical"),_("Pollock variation"),)),
-"rnb1k2r/pppnqppp/4p3/3pP3/3P1P2/2N5/PPP3PP/R2QKBNR b KQkq f3 0 7":
("C14", (_("French"),_("Classical"),_("Steinitz variation"),)),
-"r1b2rk1/pp1nqppp/2n1p3/3pP3/2pP1P2/2N2N2/PPPQ2PP/2KR1B1R w - - 0 11":
("C14", (_("French"),_("Classical"),_("Stahlberg variation"),)),
-"rnbqk1nr/ppp2ppp/4p3/3p4/1b1PP3/2N5/PPP2PPP/R1BQKBNR w KQkq - 2 4":
("C15", (_("French"),_("Winawer (Nimzovich) variation"),)),
-"rnb1k1nr/pp3ppp/4p3/2pq4/1b1P4/2NB4/PPPB1PPP/R2QK1NR b KQkq - 1 6":
("C15", (_("French"),_("Winawer"),_("Kondratiyev variation"),)),
-"rnbqk1nr/ppp2ppp/4p3/3p4/1b1PP3/2N5/PPPB1PPP/R2QKBNR b KQkq - 3 4":
("C15", (_("French"),_("Winawer"),_("fingerslip variation"),)),
-"rnbqk1nr/ppp2ppp/4p3/3p4/1b1PP3/2N5/PPP1NPPP/R1BQKB1R b KQkq - 3 4":
("C15", (_("French"),_("Winawer"),_("Alekhine (Maroczy) gambit"),)),
-"r1bq1rk1/ppp1bppp/2n1pn2/8/3PN3/P5N1/1PP1BPPP/R1BQK2R w KQ - 2 9":
("C15", (_("French"),_("Winawer"),_("Alekhine gambit"),_("Alatortsev
variation"),)),
-"rnbqk1nr/ppp2ppp/4p3/8/3Pp3/P1b5/1PP1NPPP/R1BQKB1R w KQkq - 0 6": ("C15",
(_("French"),_("Winawer"),_("Alekhine gambit"),)),
-"r1bqk1nr/ppp2ppp/2n1p3/8/3Pp3/P1N5/1PP2PPP/R1BQKB1R w KQkq - 1 7":
("C15", (_("French"),_("Winawer"),_("Alekhine gambit"),_("Kan
variation"),)),
-"rnbqk1nr/ppp2ppp/4p3/3pP3/1b1P4/2N5/PPP2PPP/R1BQKBNR b KQkq - 0 4":
("C16", (_("French"),_("Winawer"),_("Advance variation"),)),
-"rnb1k1nr/pppq1ppp/4p3/3pP3/1b1P4/2N5/PPP2PPP/R1BQKBNR w KQkq - 1 5":
("C16", (_("French"),_("Winawer"),_("Petrosian variation"),)),
-"rnbqk1nr/pp3ppp/4p3/2ppP3/1b1P4/2N5/PPP2PPP/R1BQKBNR w KQkq c6 0 5":
("C17", (_("French"),_("Winawer"),_("Advance variation"),)),
-"rnbqk1nr/pp3ppp/4p3/2ppP3/1b1P4/2N5/PPPB1PPP/R2QKBNR b KQkq - 1 5":
("C17", (_("French"),_("Winawer"),_("Advance"),_("Bogolyubov variation"),)),
-"rnbqk1nr/pp3ppp/4p3/2ppP3/1b1P2Q1/2N5/PPP2PPP/R1B1KBNR b KQkq - 1 5":
("C17", (_("French"),_("Winawer"),_("Advance"),_("Russian variation"),)),
-"rnbqk1nr/pp3ppp/4p3/2ppP3/1b1P4/P1N5/1PP2PPP/R1BQKBNR b KQkq - 0 5":
("C17", (_("French"),_("Winawer"),_("Advance"),"5.a3",)),
-"rnbqk1nr/pp3ppp/4p3/3pP3/1P6/2p2N2/1PP2PPP/R1BQKB1R b KQkq - 1 7":
("C17", (_("French"),_("Winawer"),_("Advance"),_("Rauzer variation"),)),
-"rnbqk1nr/pp3ppp/4p3/2ppP3/3P4/P1P5/2P2PPP/R1BQKBNR b KQkq - 0 6": ("C18",
(_("French"),_("Winawer"),_("Advance variation"),)),
-"rnb1k1nr/ppq2ppp/4p3/2ppP3/3P4/P1P5/2P2PPP/R1BQKBNR w KQkq - 1 7":
("C18", (_("French"),_("Winawer"),_("Classical variation"),)),
-"rnbqk2r/pp2nppp/4p3/2ppP3/3P4/P1P5/2P2PPP/R1BQKBNR w KQkq - 1 7": ("C19",
(_("French"),_("Winawer"),_("Advance"),"6...Ne7",)),
-"rnbqk2r/pp2nppp/4p3/2ppP3/P2P4/2P5/2P2PPP/R1BQKBNR b KQkq - 0 7": ("C19",
(_("French"),_("Winawer"),_("Advance"),_("Smyslov variation"),)),
-"rnbqk2r/pp2nppp/4p3/2ppP3/3P4/P1P2N2/2P2PPP/R1BQKB1R b KQkq - 2 7":
("C19", (_("French"),_("Winawer"),_("Advance"),_("positional Main line"),)),
-"rnbqk2r/pp2nppp/4p3/2ppP3/3P2Q1/P1P5/2P2PPP/R1B1KBNR b KQkq - 2 7":
("C19", (_("French"),_("Winawer"),_("Advance"),_("poisoned pawn
variation"),)),
-"rnb1k1r1/ppq1np1Q/4p3/3pP3/3p4/P1P5/2P2PPP/R1BK1BNR b q - 1 10": ("C19",
(_("French"),_("Winawer"),_("Advance"),_("poisoned pawn"),_("Euwe-Gligoric
variation"),)),
-"rnb1k1r1/ppq1np1Q/4p3/3pP3/3p4/P1P5/2P1NPPP/R1B1KB1R b KQq - 1 10":
("C19", (_("French"),_("Winawer"),_("Advance"),_("poisoned
pawn"),_("Konstantinopolsky variation"),)),
-"rnbqkbnr/pppp1ppp/8/4p3/4P3/8/PPPP1PPP/RNBQKBNR w KQkq e6 0 2": ("C20",
(_("King's pawn game"),)),
-"rnbqkbnr/pppp1ppp/8/4p3/4P3/3P4/PPP2PPP/RNBQKBNR b KQkq - 0 2": ("C20",
(_("KP"),_("Indian Opening"),)),
-"rnbqkbnr/pppp1ppp/8/4p3/4P3/P7/1PPP1PPP/RNBQKBNR b KQkq - 0 2": ("C20",
(_("KP"),_("Mengarini's Opening"),)),
-"rnbqkbnr/pppp1ppp/8/4p3/4P3/5P2/PPPP2PP/RNBQKBNR b KQkq - 0 2": ("C20",
(_("KP"),_("King's head Opening"),)),
-"rnbqkbnr/pppp1ppp/8/4p2Q/4P3/8/PPPP1PPP/RNB1KBNR b KQkq - 1 2": ("C20",
(_("KP"),_("Patzer Opening"),)),
-"rnbqkbnr/pppp1ppp/8/4p3/4P3/5Q2/PPPP1PPP/RNB1KBNR b KQkq - 1 2": ("C20",
(_("KP"),_("Napoleon's Opening"),)),
-"rnbqkbnr/pppp1ppp/8/4p3/4P3/2P5/PP1P1PPP/RNBQKBNR b KQkq - 0 2": ("C20",
(_("KP"),_("Lopez Opening"),)),
-"rnbqkbnr/pppp1ppp/8/4p3/4P3/8/PPPPNPPP/RNBQKB1R b KQkq - 1 2": ("C20",
(_("Alapin's Opening"),)),
-"rnbqkbnr/pppp1ppp/8/8/3pP3/8/PPP2PPP/RNBQKBNR w KQkq - 0 3": ("C21",
(_("Centre game"),)),
-"rnbqkbnr/p2p1ppp/8/1pp5/2BpP3/5N2/PPP2PPP/RNBQK2R w KQkq b6 0 5": ("C21",
(_("Centre game"),_("Kieseritsky variation"),)),
-"rnbqkbnr/pppp1ppp/8/8/3pPP2/8/PPP3PP/RNBQKBNR b KQkq f3 0 3": ("C21",
(_("Halasz gambit"),)),
-"rnbqkbnr/pppp1ppp/8/8/3pP3/2P5/PP3PPP/RNBQKBNR b KQkq - 0 3": ("C21",
(_("Danish gambit"),)),
-"rnb1kbnr/ppppqppp/8/8/2B1P3/8/PB3PPP/RN1QK1NR w KQkq - 1 6": ("C21",
(_("Danish gambit"),_("Collijn defense"),)),
-"rnbqkbnr/ppp2ppp/8/3p4/2B1P3/8/PB3PPP/RN1QK1NR w KQkq d6 0 6": ("C21",
(_("Danish gambit"),_("Schlechter defense"),)),
-"rnbqkbnr/ppp2ppp/8/3p4/3pP3/2P5/PP3PPP/RNBQKBNR w KQkq d6 0 4": ("C21",
(_("Danish gambit"),_("Soerensen defense"),)),
-"rnbqkbnr/pppp1ppp/8/8/3QP3/8/PPP2PPP/RNB1KBNR b KQkq - 0 3": ("C21",
(_("Centre game"),)),
-"r1bqkbnr/pppp1ppp/2n5/8/3QP3/8/PPP2PPP/RNB1KBNR w KQkq - 1 4": ("C22",
(_("Centre game"),)),
-"r1bqkbnr/pppp1ppp/2n5/8/4P3/4Q3/PPP2PPP/RNB1KBNR b KQkq - 2 4": ("C22",
(_("Centre game"),_("Paulsen attack"),)),
-"r1bqk1nr/ppppbppp/2n5/8/4P3/2P1Q3/PP3PPP/RNB1KBNR w KQkq - 1 6": ("C22",
(_("Centre game"),_("Charousek variation"),)),
-"r1bqkbnr/pppp2pp/2n5/5p2/4P3/4Q3/PPP2PPP/RNB1KBNR w KQkq f6 0 5": ("C22",
(_("Centre game"),_("l'Hermet variation"),)),
-"r1bqkb1r/pppp1ppp/2n2n2/8/4P3/4Q3/PPP2PPP/RNB1KBNR w KQkq - 3 5": ("C22",
(_("Centre game"),_("Berger variation"),)),
-"r1bqr1k1/ppp2ppp/2np1n2/8/1bB1P3/2N1Q2N/PPPB1PPP/2KR3R b - - 1 9":
("C22", (_("Centre game"),_("Kupreichik variation"),)),
-"r1bqkbnr/pppp1ppp/2n5/8/2Q1P3/8/PPP2PPP/RNB1KBNR b KQkq - 2 4": ("C22",
(_("Centre game"),_("Hall variation"),)),
-"rnbqkbnr/pppp1ppp/8/4p3/2B1P3/8/PPPP1PPP/RNBQK1NR b KQkq - 1 2": ("C23",
(_("Bishop's Opening"),)),
-"rnbqkbnr/pp1p1ppp/2p5/4p3/2B1P3/8/PPPP1PPP/RNBQK1NR w KQkq - 0 3":
("C23", (_("Bishop's Opening"),_("Philidor counter-attack"),)),
-"r2qkbnr/pp3ppp/8/3pn3/8/8/PPP1NPPP/RNBQK2R b KQkq - 1 8": ("C23",
(_("Bishop's Opening"),_("Lisitsyn variation"),)),
-"rnbqkbnr/pppp2pp/8/4pp2/2B1P3/8/PPPP1PPP/RNBQK1NR w KQkq f6 0 3": ("C23",
(_("Bishop's Opening"),_("Calabrese counter-gambit"),)),
-"rnbqkbnr/pppp2pp/8/4pp2/2B1P3/3P4/PPP2PPP/RNBQK1NR b KQkq - 0 3": ("C23",
(_("Bishop's Opening"),_("Calabrese counter-gambit"),_("Jaenisch
variation"),)),
-"rnbqk1nr/pppp1ppp/8/2b1p3/2B1P3/8/PPPP1PPP/RNBQK1NR w KQkq - 2 3":
("C23", (_("Bishop's Opening"),_("Classical variation"),)),
-"r1bqk2r/pppp1ppp/2n2n2/2b1p3/2B1PP2/2P5/PP1PQ1PP/RNB1K1NR b KQkq f3 0 5":
("C23", (_("Bishop's Opening"),_("Lopez gambit"),)),
-"rnbqk1nr/pppp1ppp/8/2b1p3/2B1P3/2P5/PP1P1PPP/RNBQK1NR b KQkq - 0 3":
("C23", (_("Bishop's Opening"),_("Philidor variation"),)),
-"rnbq1rk1/ppp2ppp/5P2/2b4Q/2pp4/2P5/PP3PPP/RNB1K1NR w KQ - 0 8": ("C23",
(_("Bishop's Opening"),_("Pratt variation"),)),
-"rnbqk1nr/ppp2ppp/8/2bpp3/2B1P3/2P5/PP1P1PPP/RNBQK1NR w KQkq d6 0 4":
("C23", (_("Bishop's Opening"),_("Lewis counter-gambit"),)),
-"rnb1k1nr/pppp1ppp/8/2b1p1q1/2B1P3/2P5/PP1P1PPP/RNBQK1NR w KQkq - 1 4":
("C23", (_("Bishop's Opening"),_("del Rio variation"),)),
-"rnbqk1nr/pppp1ppp/8/2b1p3/2BPP3/8/PPP2PPP/RNBQK1NR b KQkq d3 0 3":
("C23", (_("Bishop's Opening"),_("Lewis gambit"),)),
-"rnbqk1nr/pppp1ppp/8/2b1p3/1PB1P3/8/P1PP1PPP/RNBQK1NR b KQkq b3 0 3":
("C23", (_("Bishop's Opening"),_("Wing gambit"),)),
-"rnbqk1nr/pppp1ppp/8/4p3/1bB1PP2/8/P1PP2PP/RNBQK1NR b KQkq f3 0 4":
("C23", (_("Bishop's Opening"),_("MacDonnell double gambit"),)),
-"rnbqk1nr/pppp1ppp/8/8/2BPP2b/5N2/P1P4p/RNBQ1R1K b kq - 1 9": ("C23",
(_("Bishop's Opening"),_("Four pawns' gambit"),)),
-"rnbqkb1r/pppp1ppp/5n2/4p3/2B1P3/8/PPPP1PPP/RNBQK1NR w KQkq - 2 3":
("C24", (_("Bishop's Opening"),_("Berlin defense"),)),
-"rnbqkb1r/pppp1ppp/5n2/4p3/2B1PP2/8/PPPP2PP/RNBQK1NR b KQkq f3 0 3":
("C24", (_("Bishop's Opening"),_("Greco gambit"),)),
-"rnbqkb1r/pppp1ppp/5n2/4p3/2BPP3/8/PPP2PPP/RNBQK1NR b KQkq d3 0 3":
("C24", (_("Bishop's Opening"),_("Ponziani gambit"),)),
-"rnbqkb1r/pppp1ppp/5n2/8/2BpP3/5N2/PPP2PPP/RNBQK2R b KQkq - 1 4": ("C24",
(_("Bishop's Opening"),_("Urusov gambit"),)),
-"rnb1k2r/ppp1qppp/5n2/3P4/1bBp4/2P2N2/PP3PPP/RNBQK2R w KQkq - 1 7":
("C24", (_("Bishop's Opening"),_("Urusov gambit"),_("Panov variation"),)),
-"rnbqkbnr/pppp1ppp/8/4p3/4P3/2N5/PPPP1PPP/R1BQKBNR b KQkq - 1 2": ("C25",
(_("Vienna game"),)),
-"rnbqk2r/pppp1ppp/5n2/4p3/1b2P1Q1/2N5/PPPP1PPP/R1B1KBNR w KQkq - 4 4":
("C25", (_("Vienna"),_("Zhuravlev countergambit"),)),
-"r1bqkbnr/pppp1ppp/2n5/4p3/4P3/2N5/PPPP1PPP/R1BQKBNR w KQkq - 2 3":
("C25", (_("Vienna game"),_("Max Lange defense"),)),
-"r1bqkbnr/pppp1ppp/2n5/4p3/4P3/2N3P1/PPPP1P1P/R1BQKBNR b KQkq - 0 3":
("C25", (_("Vienna"),_("Paulsen variation"),)),
-"r1bqkbnr/pppp1ppp/2n5/4p3/3PP3/2N5/PPP2PPP/R1BQKBNR b KQkq d3 0 3":
("C25", (_("Vienna"),_("Fyfe gambit"),)),
-"r1bqkbnr/pppp1ppp/2n5/4p3/4PP2/2N5/PPPP2PP/R1BQKBNR b KQkq f3 0 3":
("C25", (_("Vienna gambit"),)),
-"r1bqkbnr/pppp1ppp/2n5/8/3PPp2/2N5/PPP3PP/R1BQKBNR b KQkq d3 0 4": ("C25",
(_("Vienna"),_("Steinitz gambit"),)),
-"r1b1kbnr/ppp2ppp/2n5/3p4/3PPp1q/2N5/PPP1K1PP/R1BQ1BNR w kq d6 0 6":
("C25", (_("Vienna"),_("Steinitz gambit"),_("Zukertort defense"),)),
-"r1b1kbnr/p1pp1ppp/1pn5/8/3PPp1q/2N5/PPP1K1PP/R1BQ1BNR w kq - 0 6":
("C25", (_("Vienna"),_("Steinitz gambit"),_("Fraser-Minckwitz
variation"),)),
-"r1bqkbnr/pppp1ppp/2n5/8/4Pp2/2N2N2/PPPP2PP/R1BQKB1R b KQkq - 1 4":
("C25", (_("Vienna gambit"),)),
-"r1bqkbnr/pppp1p1p/2n5/6N1/4PppP/2N5/PPPP2P1/R1BQKB1R b KQkq - 1 6":
("C25", (_("Vienna"),_("Hamppe-Allgaier gambit"),)),
-"r1bqkbnr/ppp2p1p/2np4/6N1/4PppP/2N5/PPPP2P1/R1BQKB1R w KQkq - 0 7":
("C25", (_("Vienna"),_("Hamppe-Allgaier gambit"),_("Alapin variation"),)),
-"r1bqkbnr/pppp1p1p/2n5/8/2B1Ppp1/2N2N2/PPPP2PP/R1BQ1RK1 b kq - 0 6":
("C25", (_("Vienna"),_("Hamppe-Muzio gambit"),)),
-"r1b1kbnr/pppp1p1p/5q2/4n3/2B1PQ2/2N5/PPPP2PP/R1B2RK1 w kq - 1 9": ("C25",
(_("Vienna"),_("Hamppe-Muzio"),_("Dubois variation"),)),
-"r1bqkbnr/pppp1p1p/2n5/6p1/3PPp2/2N2N2/PPP3PP/R1BQKB1R b KQkq d3 0 5":
("C25", (_("Vienna"),_("Pierce gambit"),)),
-"r2qkbnr/ppp2p1p/2P5/8/2BP1pb1/2N2p2/PPP3PP/R1BQ1RK1 b kq - 0 9": ("C25",
(_("Vienna"),_("Pierce gambit"),_("Rushmere attack"),)),
-"rnbqkb1r/pppp1ppp/5n2/4p3/4P3/2N5/PPPP1PPP/R1BQKBNR w KQkq - 2 3":
("C26", (_("Vienna"),_("Falkbeer variation"),)),
-"rnbqkb1r/pppp1ppp/5n2/4p3/4P3/P1N5/1PPP1PPP/R1BQKBNR b KQkq - 0 3":
("C26", (_("Vienna"),_("Mengarini variation"),)),
-"rnbqkb1r/pppp1ppp/5n2/4p3/4P3/2N3P1/PPPP1P1P/R1BQKBNR b KQkq - 0 3":
("C26", (_("Vienna"),_("Paulsen-Mieses variation"),)),
-"rnbqkb1r/pppp1ppp/5n2/4p3/2B1P3/2N5/PPPP1PPP/R1BQK1NR b KQkq - 3 3":
("C26", (_("Vienna game"),)),
-"rnbqkb1r/pppp1ppp/8/4p3/2B1n3/2N5/PPPP1PPP/R1BQK1NR w KQkq - 0 4":
("C27", (_("Vienna game"),)),
-"N1bk1b1r/p2pq2p/1pnn2p1/3Qpp2/8/1B6/PPPP1PPP/R1B1K1NR w KQ - 0 11":
("C27", (_("Vienna"),_("`Frankenstein-Dracula' variation"),)),
-"r1bqkb1r/pppp1ppp/2nn4/4p2Q/3P4/1BN5/PPP2PPP/R1B1K1NR b KQkq d3 0 6":
("C27", (_("Vienna"),_("Adams' gambit"),)),
-"rnbqk2r/ppppbppp/3n4/4p2Q/8/1BN5/PPPP1PPP/R1B1K1NR w KQkq - 4 6": ("C27",
(_("Vienna game"),)),
-"r1bqk2r/ppppbppp/2nn4/4N2Q/8/1BN5/PPPP1PPP/R1B1K2R b KQkq - 0 7": ("C27",
(_("Vienna"),_("Alekhine variation"),)),
-"rnbqkb1r/pppp1ppp/8/4p3/2B1n3/2N2N2/PPPP1PPP/R1BQK2R b KQkq - 1 4":
("C27", (_("Boden-Kieseritsky gambit"),)),
-"rnbqkb1r/ppp2ppp/8/3pp3/2B1n3/2N2N2/PPPP1PPP/R1BQK2R w KQkq d6 0 5":
("C27", (_("Boden-Kieseritsky gambit"),_("Lichtenhein defense"),)),
-"r1bqkb1r/pppp1ppp/2n2n2/4p3/2B1P3/2N5/PPPP1PPP/R1BQK1NR w KQkq - 4 4":
("C28", (_("Vienna game"),)),
-"rnbqkb1r/ppp2ppp/5n2/3pp3/4PP2/2N5/PPPP2PP/R1BQKBNR w KQkq d6 0 4":
("C29", (_("Vienna gambit"),)),
-"rn1qkb1r/ppp2ppp/8/3pP3/4n1b1/2N2N2/PPPPQ1PP/R1B1KB1R b KQkq - 3 6":
("C29", (_("Vienna gambit"),_("Kaufmann variation"),)),
-"rnbqk2r/ppp1bppp/8/3pP3/4n3/2N2N2/PPPP2PP/R1BQKB1R w KQkq - 2 6": ("C29",
(_("Vienna gambit"),_("Breyer variation"),)),
-"rnbqkb1r/ppp2ppp/8/3pP3/4n3/2N2Q2/PPPP2PP/R1B1KBNR b KQkq - 1 5": ("C29",
(_("Vienna gambit"),_("Paulsen attack"),)),
-"rnbqkb1r/ppp3pp/8/3pPp2/4n3/2N2Q2/PPPP2PP/R1B1KBNR w KQkq f6 0 6":
("C29", (_("Vienna gambit"),_("Bardeleben variation"),)),
-"rnbqkb1r/ppp3pp/8/3pPp2/3Pn3/2N2Q2/PPP3PP/R1B1KBNR b KQkq d3 0 6":
("C29", (_("Vienna gambit"),_("Heyde variation"),)),
-"rnbqkb1r/ppp2ppp/8/3pP3/4n3/2NP4/PPP3PP/R1BQKBNR b KQkq - 0 5": ("C29",
(_("Vienna gambit"),)),
-"rnb1kb1r/ppp2ppp/8/3NP2q/8/3P1Nn1/PPP4P/R1BQKB1R b KQkq - 0 8": ("C29",
(_("Vienna gambit"),_("Wurzburger trap"),)),
-"rnbqkb1r/ppp2ppp/5n2/3pp3/4PP2/2NP4/PPP3PP/R1BQKBNR b KQkq - 0 4":
("C29", (_("Vienna gambit"),_("Steinitz variation"),)),
-"rnbqkbnr/pppp1ppp/8/4p3/4PP2/8/PPPP2PP/RNBQKBNR b KQkq f3 0 2": ("C30",
(_("King's gambit"),)),
-"rnb1kbnr/ppppqppp/8/4p3/4PP2/6P1/PPPP3P/RNBQKBNR w KQkq - 1 4": ("C30",
(_("KGD"),_("Keene's defense"),)),
-"rnbqkbnr/pp1p1ppp/8/2p1p3/4PP2/8/PPPP2PP/RNBQKBNR w KQkq c6 0 3": ("C30",
(_("KGD"),_("Mafia defense"),)),
-"rnb1kbnr/pppp1ppp/5q2/4p3/4PP2/8/PPPP2PP/RNBQKBNR w KQkq - 1 3": ("C30",
(_("KGD"),_("Norwalde variation"),)),
-"rnb1k1nr/pppp1ppp/8/4p3/1bB1Pq2/2N2N2/PPPP2PP/R1BQK2R b KQkq - 3 5":
("C30", (_("KGD"),_("Norwalde variation"),_("Buecker gambit"),)),
-"rnbqk1nr/pppp1ppp/8/2b1p3/4PP2/8/PPPP2PP/RNBQKBNR w KQkq - 1 3": ("C30",
(_("KGD"),_("Classical variation"),)),
-"r2qk2r/ppp2ppp/2np1n2/2b5/2B1Pp2/2NP1Q1P/PPP3P1/R1B1K2R w KQkq - 0 9":
("C30", (_("KGD"),_("Classical"),_("Svenonius variation"),)),
-"r1bqk1nr/pppn1ppp/3p4/2b1p3/4PP2/2N2N2/PPPP2PP/R1BQKB1R w KQkq - 2 5":
("C30", (_("KGD"),_("Classical"),_("Hanham variation"),)),
-"rnbqk1nr/ppp2ppp/3p4/2b1p3/4PP2/2P2N2/PP1P2PP/RNBQKB1R b KQkq - 0 4":
("C30", (_("KGD"),_("Classical"),"4.c3",)),
-"rn1qk1nr/ppp2ppp/8/2b1p3/Q3P1b1/2P2N2/PP1P2PP/RNB1KB1R b KQkq - 1 6":
("C30", (_("KGD"),_("Classical"),_("Marshall attack"),)),
-"rnbqk1nr/ppp3pp/3p4/2b1pp2/4PP2/2P2N2/PP1P2PP/RNBQKB1R w KQkq f6 0 5":
("C30", (_("KGD"),_("Classical counter-gambit"),)),
-"rnbqk1nr/ppp3pp/8/2b2p2/2BpP3/2P2N2/PP4PP/RNBQK2R b KQkq - 1 7": ("C30",
(_("KGD"),_("Classical"),_("Reti variation"),)),
-"rnbqk1nr/ppp2ppp/3p4/2b1P3/4P3/5N2/PPPP2PP/RNBQKB1R b KQkq - 0 4":
("C30", (_("KGD"),_("Classical"),_("SOldatenkov variation"),)),
-"rnbqk1nr/ppp2ppp/3p4/2b1p3/1P2PP2/5N2/P1PP2PP/RNBQKB1R b KQkq b3 0 4":
("C30", (_("KGD"),_("Classical"),_("Heath variation"),)),
-"rnbqkb1r/pppp1ppp/5n2/4p3/4PP2/8/PPPP2PP/RNBQKBNR w KQkq - 1 3": ("C30",
(_("KGD"),"2...Nf6",)),
-"rnbqkbnr/ppp2ppp/8/3pp3/4PP2/8/PPPP2PP/RNBQKBNR w KQkq d6 0 3": ("C31",
(_("KGD"),_("Falkbeer counter-gambit"),)),
-"rnbqkbnr/ppp2ppp/8/3pp3/4PP2/5N2/PPPP2PP/RNBQKB1R b KQkq - 1 3": ("C31",
(_("KGD"),_("Falkbeer"),_("Tartakower variation"),)),
-"rnbqkbnr/ppp2ppp/8/3pp3/4PP2/2N5/PPPP2PP/R1BQKBNR b KQkq - 1 3": ("C31",
(_("KGD"),_("Falkbeer"),_("Milner-Barry variation"),)),
-"rnbqkbnr/ppp2ppp/8/3Pp3/5P2/8/PPPP2PP/RNBQKBNR b KQkq - 0 3": ("C31",
(_("KGD"),_("Falkbeer counter-gambit"),)),
-"rnbqkbnr/pp3ppp/2p5/3Pp3/5P2/8/PPPP2PP/RNBQKBNR w KQkq - 0 4": ("C31",
(_("KGD"),_("Nimzovich counter-gambit"),)),
-"rnbqkbnr/ppp2ppp/8/3P4/4pP2/8/PPPP2PP/RNBQKBNR w KQkq - 0 4": ("C31",
(_("KGD"),_("Falkbeer"),"3...e4",)),
-"rnbqkb1r/ppp2ppp/5n2/3P4/4pP2/2N5/PPPPQ1PP/R1B1KBNR b KQkq - 3 5":
("C31", (_("KGD"),_("Falkbeer"),_("Rubinstein variation"),)),
-"rnbqkbnr/ppp2ppp/8/1B1P4/4pP2/8/PPPP2PP/RNBQK1NR b KQkq - 1 4": ("C31",
(_("KGD"),_("Falkbeer"),_("Nimzovich variation"),)),
-"rnbqkbnr/ppp2ppp/8/3P4/4pP2/3P4/PPP3PP/RNBQKBNR b KQkq - 0 4": ("C31",
(_("KGD"),_("Falkbeer"),"4.d3",)),
-"rnbqk2r/ppp2ppp/5n2/3P4/1b3P2/2NPp3/PPPB2PP/R2QKBNR w KQkq - 0 7":
("C31", (_("KGD"),_("Falkbeer"),_("Morphy gambit"),)),
-"rnbqkb1r/ppp2ppp/5n2/3P4/4PP2/8/PPP3PP/RNBQKBNR b KQkq - 0 5": ("C32",
(_("KGD"),_("Falkbeer"),"5.de",)),
-"rnb1k2r/ppp2ppp/8/3q4/4nP2/8/PPPNQbPP/RNBK1B1R b kq - 1 9": ("C32",
(_("KGD"),_("Falkbeer"),_("Alapin variation"),)),
-"rn1qk2r/ppp2ppp/8/2bP1b2/4nP2/5N2/PPP1Q1PP/RNB1KB1R w KQkq - 4 8":
("C32", (_("KGD"),_("Falkbeer"),_("Main line"),"7...Bf5",)),
-"rn1q1rk1/ppp2ppp/8/2bP1b2/4nPP1/5N2/PPP1Q2P/RNB1KB1R w KQ - 0 9": ("C32",
(_("KGD"),_("Falkbeer"),_("Tarrasch variation"),)),
-"rnbqkb1r/ppp2ppp/8/3P4/4nP2/8/PPP1Q1PP/RNB1KBNR b KQkq - 1 6": ("C32",
(_("KGD"),_("Falkbeer"),_("Charousek gambit"),)),
-"rnb1kb1r/ppp3pp/8/3q1p2/4nPP1/8/PPPNQ2P/R1B1KBNR b KQkq g3 0 8": ("C32",
(_("KGD"),_("Falkbeer"),_("Charousek variation"),)),
-"rnbqkb1r/ppp2ppp/5n2/3P4/4pP2/3P4/PPPN2PP/R1BQKBNR b KQkq - 2 5": ("C32",
(_("KGD"),_("Falkbeer"),_("Keres variation"),)),
-"rnbqkb1r/ppp2ppp/5n2/3P4/4pP2/3P4/PPP1Q1PP/RNB1KBNR b KQkq - 2 5":
("C32", (_("KGD"),_("Falkbeer"),_("Reti variation"),)),
-"rnbqkbnr/pppp1ppp/8/8/4Pp2/8/PPPP2PP/RNBQKBNR w KQkq - 0 3": ("C33",
(_("King's gambit accepted"),)),
-"rnbqkbnr/pppp1ppp/8/8/4Pp2/8/PPPP1KPP/RNBQ1BNR b kq - 1 3": ("C33",
(_("KGA"),_("Tumbleweed gambit"),)),
-"rnbqkbnr/pppp1ppp/8/8/4Pp2/1P6/P1PP2PP/RNBQKBNR b KQkq - 0 3": ("C33",
(_("KGA"),_("Orsini gambit"),)),
-"rnbqkbnr/pppp1ppp/8/8/4Pp1P/8/PPPP2P1/RNBQKBNR b KQkq h3 0 3": ("C33",
(_("KGA"),_("Pawn's gambit (Stamma gambit)"),)),
-"rnbqkbnr/pppp1ppp/8/8/4Pp2/3B4/PPPP2PP/RNBQK1NR b KQkq - 1 3": ("C33",
(_("KGA"),_("Schurig gambit"),)),
-"rnbqkbnr/pppp1ppp/8/8/4Pp2/8/PPPPQ1PP/RNB1KBNR b KQkq - 1 3": ("C33",
(_("KGA"),_("Carrera (Basman) gambit"),)),
-"rnbqkbnr/pppp1ppp/8/8/3PPp2/8/PPP3PP/RNBQKBNR b KQkq d3 0 3": ("C33",
(_("KGA"),_("Villemson (Steinitz) gambit"),)),
-"rnbqkbnr/pppp1ppp/8/8/4Pp2/2N5/PPPP2PP/R1BQKBNR b KQkq - 1 3": ("C33",
(_("KGA"),_("Keres (Mason-Steinitz) gambit"),)),
-"rnbqkbnr/pppp1ppp/8/8/4Pp2/5Q2/PPPP2PP/RNB1KBNR b KQkq - 1 3": ("C33",
(_("KGA"),_("Breyer gambit"),)),
-"rnbqkbnr/pppp1ppp/8/8/4Pp2/8/PPPPB1PP/RNBQK1NR b KQkq - 1 3": ("C33",
(_("KGA"),_("Lesser Bishop's (Petroff-Jaenisch-Tartakower) gambit"),)),
-"rnbqkbnr/pppp1ppp/8/8/2B1Pp2/8/PPPP2PP/RNBQK1NR b KQkq - 1 3": ("C33",
(_("KGA"),_("Bishop's gambit"),)),
-"rnb1kbnr/ppp2p1p/8/3B2p1/4Pp1q/6P1/PPPP3P/RNBQ1KNR b kq - 0 6": ("C33",
(_("KGA"),_("Bishop's gambit"),_("Chigorin's attack"),)),
-"rnb1k1nr/pppp1ppp/8/2b5/2B1Pp1q/8/PPPP2PP/RNBQ1KNR w kq - 4 5": ("C33",
(_("KGA"),_("Bishop's gambit"),_("Greco variation"),)),
-"rnb1kbnr/pppp1p1p/8/6p1/2B1Pp1q/8/PPPP2PP/RNBQ1KNR w kq g6 0 5": ("C33",
(_("KGA"),_("Bishop's gambit"),_("Classical defense"),)),
-"rnb1k1nr/ppp2pbp/3p4/4P1p1/2BP1p1q/2N5/PPP3PP/R1BQ1KNR b kq - 0 7":
("C33", (_("KGA"),_("Bishop's gambit"),_("Grimm attack"),)),
-"rnb1k2r/ppppnpbp/8/6p1/2BPPp1q/2N5/PPP3PP/R1BQ1KNR w kq - 1 7": ("C33",
(_("KGA"),_("Bishop's gambit"),_("Classical defense"),)),
-"rnb1k2r/ppppnpbp/8/6p1/2BPPp1q/2N3P1/PPP4P/R1BQ1KNR b kq - 0 7": ("C33",
(_("KGA"),_("Bishop's gambit"),_("McDonnell attack"),)),
-"rnb1k1nr/pppp1pbp/8/6p1/2B1Pp1q/2N3P1/PPPP3P/R1BQ1KNR b kq - 0 6":
("C33", (_("KGA"),_("Bishop's gambit"),_("McDonnell attack"),)),
-"rnb1k1nr/pppp1pbp/8/6p1/2B1P2q/2N2Qp1/PPPP3P/R1B2KNR b kq - 1 7": ("C33",
(_("KGA"),_("Bishop's gambit"),_("Fraser variation"),)),
-"rnb1kbnr/pppp1p1p/8/6p1/2B1Pp1q/5Q2/PPPP2PP/RNB2KNR b kq - 1 5": ("C33",
(_("KGA"),_("Bishop's gambit"),_("Classical defense"),_("Cozio attack"),)),
-"r1b1kbnr/pppp1ppp/2n5/8/2B1Pp1q/8/PPPP2PP/RNBQ1KNR w kq - 4 5": ("C33",
(_("KGA"),_("Bishop's gambit"),_("Boden defense"),)),
-"rnb1kbnr/p1pp1ppp/8/1p6/2B1Pp1q/8/PPPP2PP/RNBQ1KNR w kq b6 0 5": ("C33",
(_("KGA"),_("Bishop's gambit"),_("Bryan counter-gambit"),)),
-"rnbqkbnr/p1pp1ppp/8/1p6/2B1Pp2/8/PPPP2PP/RNBQK1NR w KQkq b6 0 4": ("C33",
(_("KGA"),_("Bishop's gambit"),_("Bryan counter-gambit"),)),
-"rnbqkb1r/ppppnppp/8/8/2B1Pp2/8/PPPP2PP/RNBQK1NR w KQkq - 2 4": ("C33",
(_("KGA"),_("Bishop's gambit"),_("Steinitz defense"),)),
-"r1bqkbnr/pppp1ppp/2n5/8/2B1Pp2/8/PPPP2PP/RNBQK1NR w KQkq - 2 4": ("C33",
(_("KGA"),_("Bishop's gambit"),_("Maurian defense"),)),
-"rnbqkbnr/pp1p1ppp/2p5/8/2B1Pp2/8/PPPP2PP/RNBQK1NR w KQkq - 0 4": ("C33",
(_("KGA"),_("Bishop's gambit"),_("Ruy Lopez defense"),)),
-"rnbqkbnr/pppp2pp/8/5p2/2B1Pp2/8/PPPP2PP/RNBQK1NR w KQkq f6 0 4": ("C33",
(_("KGA"),_("Bishop's gambit"),_("Lopez-Gianutio counter-gambit"),)),
-"rnbk1bnr/pppp2pp/8/8/2B1pp1q/2N5/PPPPQ1PP/R1BK2NR w - - 2 7": ("C33",
(_("KGA"),_("Lopez-Gianutio counter-gambit"),_("Hein variation"),)),
-"rnbqkbnr/ppp2ppp/8/3p4/2B1Pp2/8/PPPP2PP/RNBQK1NR w KQkq d6 0 4": ("C33",
(_("KGA"),_("Bishop's gambit"),_("Bledow variation"),)),
-"rnb1kbnr/ppp2p1p/8/3B2p1/4Pp1q/6P1/PPPP3P/RNBQ1KNR b kq - 0 6": ("C33",
(_("KGA"),_("Bishop's gambit"),_("Gifford variation"),)),
-"rnb1k1nr/ppp2ppp/3b4/3B4/4Pp1q/8/PPPP2PP/RNBQ1KNR w kq - 3 6": ("C33",
(_("KGA"),_("Bishop's gambit"),_("Boren-Svenonius variation"),)),
-"rnbqkbnr/pp3ppp/2p5/3B4/4Pp2/8/PPPP2PP/RNBQK1NR w KQkq - 0 5": ("C33",
(_("KGA"),_("Bishop's gambit"),_("Anderssen variation"),)),
-"rnbqkb1r/ppp2ppp/5n2/3B4/4Pp2/8/PPPP2PP/RNBQK1NR w KQkq - 1 5": ("C33",
(_("KGA"),_("Bishop's gambit"),_("Morphy variation"),)),
-"rnbqkb1r/pppp1ppp/5n2/8/2B1Pp2/8/PPPP2PP/RNBQK1NR w KQkq - 2 4": ("C33",
(_("KGA"),_("Bishop's gambit"),_("Cozio (Morphy) defense"),)),
-"rnbqkb1r/pppp1ppp/5n2/8/2B1Pp2/2N5/PPPP2PP/R1BQK1NR b KQkq - 3 4":
("C33", (_("KGA"),_("Bishop's gambit"),_("Bogolyubov variation"),)),
-"rnbqk2r/pppp1ppp/5n2/4P3/1bB2p2/2N5/PPPP2PP/R1BQK1NR b KQkq - 0 5":
("C33", (_("KGA"),_("Bishop's gambit"),_("Paulsen attack"),)),
-"rnbqkb1r/pp1p1ppp/2p2n2/8/2B1Pp2/2N5/PPPP2PP/R1BQK1NR w KQkq - 0 5":
("C33", (_("KGA"),_("Bishop's gambit"),_("Jaenisch variation"),)),
-"rnbqkbnr/pppp1ppp/8/8/4Pp2/5N2/PPPP2PP/RNBQKB1R b KQkq - 1 3": ("C34",
(_("King's knight's gambit"),)),
-"rnbqkb1r/ppppnppp/8/8/4Pp2/5N2/PPPP2PP/RNBQKB1R w KQkq - 2 4": ("C34",
(_("KGA"),_("Bonsch-Osmolovsky variation"),)),
-"rnbqkbnr/pppp2pp/8/5p2/4Pp2/5N2/PPPP2PP/RNBQKB1R w KQkq f6 0 4": ("C34",
(_("KGA"),_("Gianutio counter-gambit"),)),
-"rnbqkbnr/ppp2ppp/3p4/8/4Pp2/5N2/PPPP2PP/RNBQKB1R w KQkq - 0 4": ("C34",
(_("KGA"),_("Fischer defense"),)),
-"rnbqkbnr/pppp1pp1/7p/8/4Pp2/5N2/PPPP2PP/RNBQKB1R w KQkq - 0 4": ("C34",
(_("KGA"),_("Becker defense"),)),
-"rnbqkb1r/pppp1ppp/5n2/8/4Pp2/5N2/PPPP2PP/RNBQKB1R w KQkq - 2 4": ("C34",
(_("KGA"),_("Schallop defense"),)),
-"rnbqk1nr/ppppbppp/8/8/4Pp2/5N2/PPPP2PP/RNBQKB1R w KQkq - 2 4": ("C35",
(_("KGA"),_("Cunningham defense"),)),
-"rnbqk1nr/pppp1ppp/8/8/2B1Pp1b/5NP1/PPPP3P/RNBQK2R b KQkq - 0 5": ("C35",
(_("KGA"),_("Cunningham"),_("Bertin gambit"),)),
-"rnbqk1nr/pppp1ppp/8/8/2B1P2b/5N2/PPPP3p/RNBQ1R1K b kq - 1 7": ("C35",
(_("KGA"),_("Cunningham"),_("Three pawns gambit"),)),
-"rnbqk2r/ppppbppp/5n2/8/2B1Pp2/5N2/PPPP2PP/RNBQK2R w KQkq - 4 5": ("C35",
(_("KGA"),_("Cunningham"),_("Euwe defense"),)),
-"rnbqkbnr/ppp2ppp/8/3p4/4Pp2/5N2/PPPP2PP/RNBQKB1R w KQkq d6 0 4": ("C36",
(_("KGA"),_("Abbazia defense (Classical defense"),_("Modern
defense[!])"),)),
-"rnbqkb1r/ppp2ppp/5n2/3P4/5p2/5N2/PPPP2PP/RNBQKB1R w KQkq - 1 5": ("C36",
(_("KGA"),_("Abbazia defense"),_("Modern variation"),)),
-"rnbqkb1r/p4ppp/2p5/3n4/2B2p2/5N2/PPPP2PP/RNBQK2R w KQkq - 2 8": ("C36",
(_("KGA"),_("Abbazia defense"),_("Botvinnik variation"),)),
-"rnbqkbnr/pppp1p1p/8/6p1/4Pp2/2N2N2/PPPP2PP/R1BQKB1R b KQkq - 1 4":
("C37", (_("KGA"),_("Quaade gambit"),)),
-"rnbqkbnr/pppp1p1p/8/6p1/3PPp2/5N2/PPP3PP/RNBQKB1R b KQkq d3 0 4": ("C37",
(_("KGA"),_("Rosentreter gambit"),)),
-"rnbqkbnr/pppp1p1p/8/4N3/3PPpp1/8/PPP3PP/RNBQKB1R b KQkq - 1 5": ("C37",
(_("KGA"),_("Soerensen gambit"),)),
-"rnbqkbnr/pppp1p1p/8/6p1/2B1Pp2/5N2/PPPP2PP/RNBQK2R b KQkq - 1 4": ("C37",
(_("KGA"),_("King's knight's gambit"),)),
-"r1bqkbnr/pppp1p1p/2n5/6p1/2B1Pp2/5N2/PPPP2PP/RNBQK2R w KQkq - 2 5":
("C37", (_("KGA"),_("Blachly gambit"),)),
-"rnbqkbnr/pppp1B1p/8/8/4Ppp1/5N2/PPPP2PP/RNBQK2R b KQkq - 0 5": ("C37",
(_("KGA"),_("Lolli gambit (wild Muzio gambit)"),)),
-"rnb2bnr/pppp1k1p/5q2/8/4Pp2/2N1BQ2/PPP3PP/R4RK1 b - - 3 10": ("C37",
(_("KGA"),_("Lolli gambit"),_("Young variation"),)),
-"rnbqkbnr/pppp1p1p/8/8/2BPPpp1/5N2/PPP3PP/RNBQK2R b KQkq d3 0 5": ("C37",
(_("KGA"),_("Ghulam Kassim gambit"),)),
-"rnbqkbnr/pppp1p1p/8/8/2B1Ppp1/2N2N2/PPPP2PP/R1BQK2R b KQkq - 1 5":
("C37", (_("KGA"),_("MacDonnell gambit"),)),
-"rnbqkbnr/pppp1p1p/8/4N3/2B1Ppp1/8/PPPP2PP/RNBQK2R b KQkq - 1 5": ("C37",
(_("KGA"),_("Salvio gambit"),)),
-"rnb1kb1r/pppp1p1p/7n/4N3/2BPP1pq/5p2/PPP3PP/RNBQ1K1R w kq - 0 8": ("C37",
(_("KGA"),_("Silberschmidt gambit"),)),
-"rnb1kb1r/ppp2p1p/3p3n/4N3/2BPPppq/8/PPP3PP/RNBQ1K1R w kq - 0 8": ("C37",
(_("KGA"),_("Salvio gambit"),_("Anderssen counter-attack"),)),
-"rnb1kbnr/pppp1p1p/8/4N3/2B1P1pq/5p2/PPPP2PP/RNBQ1K1R w kq - 0 7": ("C37",
(_("KGA"),_("Cochrane gambit"),)),
-"r1b1kbnr/pppp1p1p/2n5/4N3/2B1Pppq/8/PPPP2PP/RNBQ1K1R w kq - 4 7": ("C37",
(_("KGA"),_("Herzfeld gambit"),)),
-"rnbqkbnr/pppp1p1p/8/8/2B1Ppp1/5N2/PPPP2PP/RNBQ1RK1 b kq - 0 5": ("C37",
(_("KGA"),_("Muzio gambit"),)),
-"r1b1k2r/ppppnp1p/2n4b/4q3/2B2p2/2NP1Q2/PPPB2PP/4RRK1 b kq - 6 11":
("C37", (_("KGA"),_("Muzio gambit"),_("Paulsen variation"),)),
-"rnb1kbnr/pppp1B1p/8/4q3/5p2/5Q2/PPPP2PP/RNB2RK1 b kq - 0 8": ("C37",
(_("KGA"),_("double Muzio gambit"),)),
-"rnb1kbnr/ppppqp1p/8/8/2B1Pp2/5Q2/PPPP2PP/RNB2RK1 w kq - 1 7": ("C37",
(_("KGA"),_("Muzio gambit"),_("From defense"),)),
-"r1bqkbnr/pppp1p1p/2n5/8/2B1Pp2/5Q2/PPPP2PP/RNB2RK1 w kq - 1 7": ("C37",
(_("KGA"),_("Muzio gambit"),_("Holloway defense"),)),
-"rnb1kbnr/ppppqp1p/8/8/2B1Ppp1/5N2/PPPP2PP/RNBQ1RK1 w kq - 1 6": ("C37",
(_("KGA"),_("Muzio gambit"),_("Kling and Horwitz counter-attack"),)),
-"rnbqkbnr/ppp2p1p/8/3p4/2B1Ppp1/5N2/PPPP2PP/RNBQ1RK1 w kq d6 0 6": ("C37",
(_("KGA"),_("Muzio gambit"),_("Brentano defense"),)),
-"rnbqk1nr/pppp1pbp/8/6p1/2B1Pp2/5N2/PPPP2PP/RNBQK2R w KQkq - 2 5": ("C38",
(_("King's knight's gambit"),)),
-"rnbqk1nr/pppp1pbp/8/6p1/2B1Pp2/5N2/PPPP2PP/RNBQ1RK1 b kq - 0 5": ("C38",
(_("KGA"),_("Hanstein gambit"),)),
-"rnbqk1nr/pppp1pbp/8/6p1/2B1Pp1P/5N2/PPPP2P1/RNBQK2R b KQkq h3 0 5":
("C38", (_("KGA"),_("Philidor gambit"),)),
-"rnbqk1nb/pp3p2/2pp4/4N1p1/2BPPp2/2N5/PPP3P1/R1BQK3 b Qq - 1 10": ("C38",
(_("KGA"),_("Greco gambit"),)),
-"rnbqk1nr/ppp2pb1/3p3p/6p1/2BPPp1P/3Q1N2/PPP3P1/RNB1K2R b KQkq - 1 7":
("C38", (_("KGA"),_("Philidor gambit"),_("Schultz variation"),)),
-"rnbqkbnr/pppp1p1p/8/6p1/4Pp1P/5N2/PPPP2P1/RNBQKB1R b KQkq h3 0 4":
("C39", (_("King's knight's gambit"),)),
-"rnbqkbnr/pppp1p1p/8/6N1/4PppP/8/PPPP2P1/RNBQKB1R b KQkq - 1 5": ("C39",
(_("KGA"),_("Allgaier gambit"),)),
-"rnbq3r/pppp1k2/3b1n1p/8/4PQ1P/8/PPPP2P1/RNB1KB1R w KQ - 1 9": ("C39",
(_("KGA"),_("Allgaier"),_("Horny defense"),)),
-"rnbq1bnr/pppp1k2/7p/8/3PPppP/8/PPP3P1/RNBQKB1R b KQ d3 0 7": ("C39",
(_("KGA"),_("Allgaier"),_("ThorOld variation"),)),
-"rnbq1bnr/ppp3k1/7p/4B3/2BPp1pP/8/PPP3P1/RN1QK2R b KQ - 3 10": ("C39",
(_("KGA"),_("Allgaier"),_("Cook variation"),)),
***The diff for this file has been truncated for email.***
=======================================
--- /sidepanel/annotationPanel.py Wed Nov 30 08:58:02 2011
+++ /sidepanel/annotationPanel.py Sun Dec 4 12:37:55 2011
@@ -462,8 +462,8 @@
buf.insert_with_tags_by_name(end_iter(), "\n" + eco, "head2")
opening = gm.tags.get('Opening')
if opening:
- opening = ", ".join(opening)
- buf.insert_with_tags_by_name(end_iter(), " - " +
opening, "head2")
+ buf.insert_with_tags_by_name(end_iter(), " - ", "head1")
+ buf.insert_with_tags_by_name(end_iter(), opening, "head2")

buf.insert(end_iter(), "\n\n")


==============================================================================
Revision: 80634769a2d2
Author: gbtami
Date: Sun Dec 4 12:40:44 2011
Log: Add some eco.pgn
http://code.google.com/p/pychess/source/detail?r=80634769a2d2

Added:
/lang/da/eco.pgn
/lang/de/eco.pgn
/lang/en/eco.pgn
/lang/es/eco.pgn
/lang/hu/eco.pgn

=======================================
--- /dev/null
+++ /lang/da/eco.pgn Sun Dec 4 12:40:44 2011
@@ -0,0 +1,2500 @@
+[ECO "A00"]
+[Opening "Irregulære åbninger"]
+
+*
+
+[ECO "A01"]
+[Opening "Nimzowitsch-Larsen angreb"]
+
+*
+
+[ECO "A02"]
+[Opening "Birds åbning"]
+
+*
+
+[ECO "A03"]
+[Opening "Birds åbning"]
+
+*
+
+[ECO "A04"]
+[Opening "Réti åbning"]
+
+*
+
+[ECO "A05"]
+[Opening "Réti åbning, 2..Sf6"]
+
+*
+
+[ECO "A06"]
+[Opening "Réti åbning, 2..d5"]
+
+*
+
+[ECO "A07"]
+[Opening "Réti åbning, Kongeindisk angreb (Barcza system)"]
+
+*
+
+[ECO "A08"]
+[Opening "Réti åbning, Kongeindisk angreb"]
+
+*
+
+[ECO "A09"]
+[Opening "Réti åbning, 2..d5 3. c4"]
+
+*
+
+[ECO "A10"]
+[Opening "Engelsk"]
+
+*
+
+[ECO "A11"]
+[Opening "Engelsk, Caro-Kann forsvar"]
+
+*
+
+[ECO "A12"]
+[Opening "Engelsk, Caro-Kann forsvar"]
+
+*
+
+[ECO "A13"]
+[Opening "Engelsk"]
+
+*
+
+[ECO "A14"]
+[Opening "Engelsk, Neo-Katalansk afslået"]
+
+*
+
+[ECO "A15"]
+[Opening "Engelsk, 1...Sf6 (Anglo-Indisk forsvar)"]
+
+*
+
+[ECO "A16"]
+[Opening "Engelsk"]
+
+*
+
+[ECO "A17"]
+[Opening "Engelsk"]
+
+*
+
+[ECO "A18"]
+[Opening "Engelsk, Mikenas-Carls variant"]
+
+*
+
+[ECO "A19"]
+[Opening "Engelsk, Mikenas-Carls, siciliansk variant"]
+
+*
+
+[ECO "A20"]
+[Opening "Engelsk"]
+
+*
+
+[ECO "A21"]
+[Opening "Engelsk"]
+
+*
+
+[ECO "A22"]
+[Opening "Engelsk"]
+
+*
+
+[ECO "A23"]
+[Opening "Engelsk, Bremen system, Keres variant"]
+
+*
+
+[ECO "A24"]
+[Opening "Engelsk, Bremen system med 3...g6"]
+
+*
+
+[ECO "A25"]
+[Opening "Engelsk, siciliansk med omvendte farver"]
+
+*
+
+[ECO "A26"]
+[Opening "Engelsk, lukkede system"]
+
+*
+
+[ECO "A27"]
+[Opening "Engelsk, trespringer-system"]
+
+*
+
+[ECO "A28"]
+[Opening "Engelsk, firspringer-system"]
+
+*
+
+[ECO "A29"]
+[Opening "Engelsk, firspringer-system, kongefianchetto"]
+
+*
+
+[ECO "A30"]
+[Opening "Engelsk, symmetrisk variant"]
+
+*
+
+[ECO "A31"]
+[Opening "Engelsk, symmetrisk, Benoni opstilling"]
+
+*
+
+[ECO "A32"]
+[Opening "Engelsk, symmetrisk"]
+
+*
+
+[ECO "A33"]
+[Opening "Engelsk, symmetrisk"]
+
+*
+
+[ECO "A34"]
+[Opening "Engelsk, symmetrisk"]
+
+*
+
+[ECO "A35"]
+[Opening "Engelsk, symmetrisk"]
+
+*
+
+[ECO "A36"]
+[Opening "Engelsk, symmetrisk"]
+
+*
+
+[ECO "A37"]
+[Opening "Engelsk, symmetrisk"]
+
+*
+
+[ECO "A38"]
+[Opening "Engelsk, symmetrisk"]
+
+*
+
+[ECO "A39"]
+[Opening "Engelsk, symmetrisk, hovedvariant med d4"]
+
+*
+
+[ECO "A40"]
+[Opening "Dronningebondespil"]
+
+*
+
+[ECO "A41"]
+[Opening "Dronningebondespil"]
+
+*
+
+[ECO "A42"]
+[Opening "Moderne forsvar, Averbakh system"]
+
+*
+
+[ECO "A43"]
+[Opening "Gammelt Benoni forsvar"]
+
+*
+
+[ECO "A44"]
+[Opening "Gammelt Benoni forsvar"]
+
+*
+
+[ECO "A45"]
+[Opening "Dronningebondespil"]
+
+*
+
+[ECO "A46"]
+[Opening "Dronningebondespil"]
+
+*
+
+[ECO "A47"]
+[Opening "Dronningeindisk forsvar"]
+
+*
+
+[ECO "A48"]
+[Opening "Kongeindisk, Øst-indisk forsvar"]
+
+*
+
+[ECO "A49"]
+[Opening "Kongeindisk, fianchetto uden c4"]
+
+*
+
+[ECO "A50"]
+[Opening "Dronningebondespil"]
+
+*
+
+[ECO "A51"]
+[Opening "Budapestergambit afslået"]
+
+*
+
+[ECO "A52"]
+[Opening "Budapestergambit"]
+
+*
+
+[ECO "A53"]
+[Opening "Gammelindisk forsvar"]
+
+*
+
+[ECO "A54"]
+[Opening "Gammelindisk, ukrainsk variant"]
+
+*
+
+[ECO "A55"]
+[Opening "Gammelindisk, hovedvariant"]
+
+*
+
+[ECO "A56"]
+[Opening "Benoni forsvar"]
+
+*
+
+[ECO "A57"]
+[Opening "Benkö gambit"]
+
+*
+
+[ECO "A58"]
+[Opening "Benkö gambit modtaget"]
+
+*
+
+[ECO "A59"]
+[Opening "Benkö gambit, 7. e4"]
+
+*
+
+[ECO "A60"]
+[Opening "Benoni forsvar"]
+
+*
+
+[ECO "A61"]
+[Opening "Benoni forsvar"]
+
+*
+
+[ECO "A62"]
+[Opening "Benoni, fianchetto variant"]
+
+*
+
+[ECO "A63"]
+[Opening "Benoni, fianchetto variant, 9...Sbd7"]
+
+*
+
+[ECO "A64"]
+[Opening "Benoni, fianchetto variant, 11...Te8"]
+
+*
+
+[ECO "A65"]
+[Opening "Benoni, 6. e4"]
+
+*
+
+[ECO "A66"]
+[Opening "Benoni, bondestorm-variant"]
+
+*
+
+[ECO "A67"]
+[Opening "Benoni, Taimanov variant"]
+
+*
+
+[ECO "A68"]
+[Opening "Benoni, firbonde-angreb"]
+
+*
+
+[ECO "A69"]
+[Opening "Benoni, firbonde-angreb, hovedvariant"]
+
+*
+
+[ECO "A70"]
+[Opening "Benoni, klassisk med e4 og Sf3"]
+
+*
+
+[ECO "A71"]
+[Opening "Benoni, klassisk, 8.Lg5"]
+
+*
+
+[ECO "A72"]
+[Opening "Benoni, klassisk uden 9. O-O"]
+
+*
+
+[ECO "A73"]
+[Opening "Benoni, klassisk, 9. O-O"]
+
+*
+
+[ECO "A74"]
+[Opening "Benoni, klassisk, 9...a6, 10. a4"]
+
+*
+
+[ECO "A75"]
+[Opening "Benoni, klassisk med ...a6 og 10...Lg4"]
+
+*
+
+[ECO "A76"]
+[Opening "Benoni, klassisk, 9...Te8"]
+
+*
+
+[ECO "A77"]
+[Opening "Benoni, klassisk, 9...Te8, 10.Sd2"]
+
+*
+
+[ECO "A78"]
+[Opening "Benoni, klassisk med ...Te8 og ...Sa6"]
+
+*
+
+[ECO "A79"]
+[Opening "Benoni, klassisk, 11. f3"]
+
+*
+
+[ECO "A80"]
+[Opening "Hollandsk åbning"]
+
+*
+
+[ECO "A81"]
+[Opening "Hollandsk forsvar"]
+
+*
+
+[ECO "A82"]
+[Opening "Hollandsk, Staunton gambit"]
+
+*
+
+[ECO "A83"]
+[Opening "Hollandsk, Staunton gambit, Stauntons linje"]
+
+*
+
+[ECO "A84"]
+[Opening "Hollandsk forsvar"]
+
+*
+
+[ECO "A85"]
+[Opening "Hollandsk med 2. c4 og 3. Sc3"]
+
+*
+
+[ECO "A86"]
+[Opening "Hollandsk med 2. c4 og 3. g3"]
+
+*
+
+[ECO "A87"]
+[Opening "Hollandsk, Leningrad, hovedvariant"]
+
+*
+
+[ECO "A88"]
+[Opening "Hollandsk, Leningrad, hovedvariant med 7...c6"]
+
+*
+
+[ECO "A89"]
+[Opening "Hollandsk, Leningrad, hovedvariant med Sc6"]
+
+*
+
+[ECO "A90"]
+[Opening "Hollandsk forsvar"]
+
+*
+
+[ECO "A91"]
+[Opening "Hollandsk forsvar"]
+
+*
+
+[ECO "A92"]
+[Opening "Hollandsk forsvar"]
+
+*
+
+[ECO "A93"]
+[Opening "Hollandsk, Stonewall, Botwinnik variant"]
+
+*
+
+[ECO "A94"]
+[Opening "Hollandsk, Stonewall med La3"]
+
+*
+
+[ECO "A95"]
+[Opening "Hollandsk, Stonewall med Sc3"]
+
+*
+
+[ECO "A96"]
+[Opening "Hollandsk, klassisk variant"]
+
+*
+
+[ECO "A97"]
+[Opening "Hollandsk, Ilyin-Genevsky variant"]
+
+*
+
+[ECO "A98"]
+[Opening "Hollandsk, Ilyin-Genevsky variant med Dc2"]
+
+*
+
+[ECO "A99"]
+[Opening "Hollandsk, Ilyin-Genevsky variant med b3"]
+
+*
+
+[ECO "B00"]
+[Opening "Kongebondespil"]
+
+*
+
+[ECO "B01"]
+[Opening "Skandinavisk"]
+
+*
+
+[ECO "B02"]
+[Opening "Aljechins forsvar"]
+
+*
+
+[ECO "B03"]
+[Opening "Aljechins forsvar"]
+
+*
+
+[ECO "B04"]
+[Opening "Aljechins forsvar, Moderne variant"]
+
+*
+
+[ECO "B05"]
+[Opening "Aljechins forsvar, Moderne variant, 4...Lg4"]
+
+*
+
+[ECO "B06"]
+[Opening "Robatsch (Moderne) forsvar"]
+
+*
+
+[ECO "B07"]
+[Opening "Pirc forsvar"]
+
+*
+
+[ECO "B08"]
+[Opening "Pirc, Klassisk (Tospringer-) system"]
+
+*
+
+[ECO "B09"]
+[Opening "Pirc, østrigsk angreb"]
+
+*
+
+[ECO "B10"]
+[Opening "Caro-Kann forsvar"]
+
+*
+
+[ECO "B11"]
+[Opening "Caro-Kann, Tospringer, 3...Lg4"]
+
+*
+
+[ECO "B12"]
+[Opening "Caro-Kann forsvar"]
+
+*
+
+[ECO "B13"]
+[Opening "Caro-Kann, Afbytningsvariant"]
+
+*
+
+[ECO "B14"]
+[Opening "Caro-Kann, Panov-Botvinnik angreb, 5...e6"]
+
+*
+
+[ECO "B15"]
+[Opening "Caro-Kann forsvar"]
+
+*
+
+[ECO "B16"]
+[Opening "Caro-Kann, Bronstein-Larsen variant"]
+
+*
+
+[ECO "B17"]
+[Opening "Caro-Kann, Steinitz variant"]
+
+*
+
+[ECO "B18"]
+[Opening "Caro-Kann, Klassisk variant"]
+
+*
+
+[ECO "B19"]
+[Opening "Caro-Kann, Klassisk, 7...Sd7"]
+
+*
+
+[ECO "B20"]
+[Opening "Siciliansk forsvar"]
+
+*
+
+[ECO "B21"]
+[Opening "Siciliansk, Grand Prix angreb og Smith-Morra Gambit"]
+
+*
+
+[ECO "B22"]
+[Opening "Siciliansk, Alapins variant (2. c3)"]
+
+*
+
+[ECO "B23"]
+[Opening "Siciliansk, Lukket"]
+
+*
+
+[ECO "B24"]
+[Opening "Siciliansk, Lukket"]
+
+*
+
+[ECO "B25"]
+[Opening "Siciliansk, Lukket"]
+
+*
+
+[ECO "B26"]
+[Opening "Siciliansk, Lukket, 6. Le3"]
+
+*
+
+[ECO "B27"]
+[Opening "Siciliansk forsvar"]
+
+*
+
+[ECO "B28"]
+[Opening "Siciliansk, O'Kelly variant"]
+
+*
+
+[ECO "B29"]
+[Opening "Siciliansk, Nimzowitsch-Rubinstein variant"]
+
+*
+
+[ECO "B30"]
+[Opening "Siciliansk forsvar"]
+
+*
+
+[ECO "B31"]
+[Opening "Siciliansk, Nimzowitsch-Rossolimo angreb (med ...g6,
uden ...d6)"]
+
+*
+
+[ECO "B32"]
+[Opening "Siciliansk forsvar"]
+
+*
+
+[ECO "B33"]
+[Opening "Siciliansk forsvar"]
+
+*
+
+[ECO "B34"]
+[Opening "Siciliansk, accelereret fianchetto, afbytningsvariant"]
+
+*
+
+[ECO "B35"]
+[Opening "Siciliansk, accelereret fianchetto, moderne variant med Lc4"]
+
+*
+
+[ECO "B36"]
+[Opening "Siciliansk, accelereret fianchetto, Maroczy binding"]
+
+*
+
+[ECO "B37"]
+[Opening "Siciliansk, accelereret fianchetto, Maroczy binding, 5...Lg7"]
+
+*
+
+[ECO "B38"]
+[Opening "Siciliansk, accelereret fianchetto, Maroczy binding, 6. Le3"]
+
+*
+
+[ECO "B39"]
+[Opening "Siciliansk, accelereret fianchetto, Breyer variant"]
+
+*
+
+[ECO "B40"]
+[Opening "Siciliansk forsvar"]
+
+*
+
+[ECO "B41"]
+[Opening "Siciliansk, Kan variant"]
+
+*
+
+[ECO "B42"]
+[Opening "Siciliansk, Kan, 5. Ld3"]
+
+*
+
+[ECO "B43"]
+[Opening "Siciliansk, Kan, 5. Sc3"]
+
+*
+
+[ECO "B44"]
+[Opening "Siciliansk forsvar"]
+
+*
+
+[ECO "B45"]
+[Opening "Siciliansk, Taimanov variant"]
+
+*
+
+[ECO "B46"]
+[Opening "Siciliansk, Taimanov variant"]
+
+*
+
+[ECO "B47"]
+[Opening "Siciliansk, Taimanov (Bastrikov) variant"]
+
+*
+
+[ECO "B48"]
+[Opening "Siciliansk, Taimanov variant"]
+
+*
+
+[ECO "B49"]
+[Opening "Siciliansk, Taimanov variant"]
+
+*
+
+[ECO "B50"]
+[Opening "Siciliansk"]
+
+*
+
+[ECO "B51"]
+[Opening "Siciliansk, Canal-Sokolsky (Nimzowitsch-Rossolimo, Moskva)
angreb"]
+
+*
+
+[ECO "B52"]
+[Opening "Siciliansk, Canal-Sokolsky angreb, 3...Ld7"]
+
+*
+
+[ECO "B53"]
+[Opening "Siciliansk, Chekhover variant"]
+
+*
+
+[ECO "B54"]
+[Opening "Siciliansk"]
+
+*
+
+[ECO "B55"]
+[Opening "Siciliansk, Prins variant, Venedig-angreb"]
+
+*
+
+[ECO "B56"]
+[Opening "Siciliansk"]
+
+*
+
+[ECO "B57"]
+[Opening "Siciliansk, Sozin (ikke Scheveningen)"]
+
+*
+
+[ECO "B58"]
+[Opening "Siciliansk, Klassisk"]
+
+*
+
+[ECO "B59"]
+[Opening "Siciliansk, Boleslavsky variant, 7. Sb3"]
+
+*
+
+[ECO "B60"]
+[Opening "Siciliansk, Richter-Rauzer"]
+
+*
+
+[ECO "B61"]
+[Opening "Siciliansk, Richter-Rauzer, Larsen variant, 7. Dd2"]
+
+*
+
+[ECO "B62"]
+[Opening "Siciliansk, Richter-Rauzer, 6...e6"]
+
+*
+
+[ECO "B63"]
+[Opening "Siciliansk, Richter-Rauzer, Rauzer angreb"]
+
+*
+
+[ECO "B64"]
+[Opening "Siciliansk, Richter-Rauzer, Rauzer angreb, 7...Le7 forsvar,
9.f4"]
+
+*
+
+[ECO "B65"]
+[Opening "Siciliansk, Richter-Rauzer, Rauzer angreb, 7...Le7 forsvar,
9...Sxd4"]
+
+*
+
+[ECO "B66"]
+[Opening "Siciliansk, Richter-Rauzer, Rauzer angreb, 7...a6"]
+
+*
+
+[ECO "B67"]
+[Opening "Siciliansk, Richter-Rauzer, Rauzer angreb, 7...a6 forsvar,
8...Ld7"]
+
+*
+
+[ECO "B68"]
+[Opening "Siciliansk, Richter-Rauzer, Rauzer angreb, 7...a6 forsvar,
9...Le7"]
+
+*
+
+[ECO "B69"]
+[Opening "Siciliansk, Richter-Rauzer, Rauzer angreb, 7...a6 forsvar,
11.Lxf6"]
+
+*
+
+[ECO "B70"]
+[Opening "Siciliansk, Dragevariant"]
+
+*
+
+[ECO "B71"]
+[Opening "Siciliansk, Dragevar., Löwenfisch variant"]
+
+*
+
+[ECO "B72"]
+[Opening "Siciliansk, Dragevar., 6. Le3"]
+
+*
+
+[ECO "B73"]
+[Opening "Siciliansk, Dragevar., klassisk, 8. O-O"]
+
+*
+
+[ECO "B74"]
+[Opening "Siciliansk, Dragevar., klassisk, 9. Sb3"]
+
+*
+
+[ECO "B75"]
+[Opening "Siciliansk, Dragevar., jugoslavisk angreb"]
+
+*
+
+[ECO "B76"]
+[Opening "Siciliansk, Dragevar., jugoslavisk angreb, 7...O-O"]
+
+*
+
+[ECO "B77"]
+[Opening "Siciliansk, Dragevar., jugoslavisk angreb, 9. Lc4"]
+
+*
+
+[ECO "B78"]
+[Opening "Siciliansk, Dragevar., jugoslavisk angreb, 10. O-O-O"]
+
+*
+
+[ECO "B79"]
+[Opening "Siciliansk, Dragevar., jugoslavisk angreb, 12. h4"]
+
+*
+
+[ECO "B80"]
+[Opening "Siciliansk, Scheveningen variant"]
+
+*
+
+[ECO "B81"]
+[Opening "Siciliansk, Scheveningen, Keres angreb"]
+
+*
+
+[ECO "B82"]
+[Opening "Siciliansk, Scheveningen, 6. f4"]
+
+*
+
+[ECO "B83"]
+[Opening "Siciliansk, Scheveningen, 6. Le2"]
+
+*
+
+[ECO "B84"]
+[Opening "Siciliansk, Scheveningen (Paulsen), klassisk variant"]
+
+*
+
+[ECO "B85"]
+[Opening "Siciliansk, Scheveningen, klassisk variant med ...Dc7
and ...Sc6"]
+
+*
+
+[ECO "B86"]
+[Opening "Siciliansk, Sozin angreb"]
+
+*
+
+[ECO "B87"]
+[Opening "Sozin med ...a6 og ...b5"]
+
+*
+
+[ECO "B88"]
+[Opening "Siciliansk, Sozin, Leonhardt variant"]
+
+*
+
+[ECO "B89"]
+[Opening "Siciliansk, Sozin, 7. Le3"]
+
+*
+
+[ECO "B90"]
+[Opening "Siciliansk, Najdorf"]
+
+*
+
+[ECO "B91"]
+[Opening "Siciliansk, Najdorf, Zagreb (fianchetto) variant"]
+
+*
+
+[ECO "B92"]
+[Opening "Siciliansk, Najdorf, Zagreb (fianchetto) variant"]
+
+*
+
+[ECO "B93"]
+[Opening "Siciliansk, Najdorf, 6. f4"]
+
+*
+
+[ECO "B94"]
+[Opening "Siciliansk, Najdorf, 6. Lg5"]
+
+*
+
+[ECO "B95"]
+[Opening "Siciliansk, Najdorf, 6...e6"]
+
+*
+
+[ECO "B96"]
+[Opening "Siciliansk, Najdorf, 7. f4"]
+
+*
+
+[ECO "B97"]
+[Opening "Siciliansk, Najdorf, 7...Db6"]
+
+*
+
+[ECO "B98"]
+[Opening "Siciliansk, Najdorf, 7...Le7"]
+
+*
+
+[ECO "B99"]
+[Opening "Siciliansk, Najdorf, 7...Se7 Hovedvariant"]
+
***The diff for this file has been truncated for email.***
=======================================
--- /dev/null
+++ /lang/de/eco.pgn Sun Dec 4 12:40:44 2011
@@ -0,0 +1,2532 @@
+[ECO "A00"]
+[Opening "seltene Eröffnungen wieOrang-Utan"]
+
+1. a3
+
+[ECO "A01"]
+[Opening "Larsen-Eröffnung"]
+
+1. b3
+
+[ECO "A02"]
+[Opening "Froms Gambit undBird-Eröffnung"]
+
+1. f4
+
+[ECO "A03"]
+[Opening "Bird-Eröffnung"]
+
+1. f4 d5
+
+[ECO "A04"]
+[Opening "Holländisches System"]
+
+1. Nf3
+
+[ECO "A05"]
+[Opening "Übergang in verschiedene Eröffnungen"]
+
+1. Nf3 Nf6
+
+[ECO "A06"]
+[Opening "Zukertort-Eröffnung"]
+
+1. Nf3 d5
+
+[ECO "A07"]
+[Opening "Königsfianchetto,Barcza-System"]
+
+1. Nf3 d5 2. g3
+
+[ECO "A08"]
+[Opening "Königsindisch im Anzug"]
+
+1. Nf3 d5 2. g3 c5 3. Bg2
+
+[ECO "A09"]
+[Opening "Reti-Eröffnung"]
+
+1. Nf3 d5 2. c4
+
+[ECO "A10"]
+[Opening "Abarten von Holländisch,Damenindisch undKönigsindisch (ohne d4)"]
+
+1. c4
+
+[ECO "A11"]
+[Opening "Reti-Eröffnung"]
+
+1. c4 c6
+
+[ECO "A12"]
+[Opening "Reti-Eröffnung (New Yorker System)"]
+
+1. c4 c6 2. Nf3 d5 3. b3
+
+[ECO "A13"]
+[Opening "Reti-Eröffnung"]
+
+1. c4 e6
+
+[ECO "A14"]
+[Opening "Reti-Eröffnung"]
+
+1. c4 e6 2. Nf3 d5 3. g3 Nf6 4. Bg2 Be7 5. O-O
+
+[ECO "A15"]
+[Opening "Englisch gegenKönigsfianchetto"]
+
+1. c4 Nf6
+
+[ECO "A16"]
+[Opening "Englisch"]
+
+1. c4 Nf6 2. Nc3
+
+[ECO "A17"]
+[Opening "Englisch"]
+
+1. c4 Nf6 2. Nc3 e6 3. Nf3 Bb4
+
+[ECO "A18"]
+[Opening "Englisch"]
+
+1. c4 Nf6 2. Nc3 e6 3. e4
+
+[ECO "A19"]
+[Opening "Englisch"]
+
+1. c4 Nf6 2. Nc3 e6 3. e4 c5
+
+[ECO "A20"]
+[Opening "Englisch"]
+
+1. c4 e5 2. Nf3
+
+[ECO "A21"]
+[Opening "Englisch"]
+
+1. c4 e5 2. Nc3 d6
+
+[ECO "A22"]
+[Opening "Englisch"]
+
+1. c4 e5 2. Nc3 Nf6 3. g3 Bb4
+
+[ECO "A23"]
+[Opening "Englisch"]
+
+1. c4 e5 2. Nc3 Nf6 3. g3 c6
+
+[ECO "A24"]
+[Opening "Englisch"]
+
+1. c4 e5 2. Nc3 Nf6 3. g3 g6 4. Bg2 Bg7 5. Nf3
+
+[ECO "A25"]
+[Opening "Englisch (Sizilianisch im Anzuge)"]
+
+1. c4 e5 2. Nc3 Nc6 3. g3 g6 4. Bg2 Bg7 5. e3
+
+[ECO "A26"]
+[Opening "Englisch (Sizilianisch im Anzuge)"]
+
+1. c4 e5 2. Nc3 Nc6 3. g3 g6 4. Bg2 Bg7 5. Nf3
+
+[ECO "A27"]
+[Opening "Englisch (Holländische Struktur)"]
+
+1. c4 e5 2. Nc3 Nc6 3. Nf3 f5
+
+[ECO "A28"]
+[Opening "Englisch (Vierspringer-Variante)"]
+
+1. c4 e5 2. Nc3 Nc6 3. Nf3 Nf6 4. d4
+
+[ECO "A29"]
+[Opening "Englisch (Vierspringer-Variante)"]
+
+1. c4 e5 2. Nc3 Nc6 3. Nf3 Nf6 4. g3
+
+[ECO "A30"]
+[Opening "Englische Symmetrievariante"]
+
+1. c4 c5 2. Nf3 Nf6 3. g3
+
+[ECO "A31"]
+[Opening "Englische Symmetrievariante"]
+
+1. c4 c5 2. Nf3 Nf6 3. d4 cxd4 4. Nxd4 e5 5. Nb5 d5 6. cxd5
+
+[ECO "A32"]
+[Opening "Englische Symmetrievariante"]
+
+1. c4 c5 2. Nf3 Nf6 3. d4 cxd4 4. Nxd4 e6 5. Nc3 Bb4 6. Ndb5
+
+[ECO "A33"]
+[Opening "Englische Symmetrievariante"]
+
+1. c4 c5 2. Nf3 Nf6 3. d4 cxd4 4. Nxd4 e6 5. Nc3 Nc6
+
+[ECO "A34"]
+[Opening "Englische Symmetrievariante"]
+
+1. c4 c5 2. Nc3 Nf6 3. g3 d5 4. cxd5 Nxd5 5. Bg2 Nc7 6. Nf3 Nc6 7. O-O e5
8. d3 Be7 9. Nd2
+
+[ECO "A35"]
+[Opening "Englische Symmetrievariante"]
+
+1. c4 c5 2. Nc3 Nc6 3. Nf3 g6 4. e3 Bg7 5. d4 d6 6. Be2 Nf6 7. d5
+
+[ECO "A36"]
+[Opening "Englische Symmetrievariante (Botwinnik-Variante)"]
+
+1. c4 c5 2. Nc3 Nc6 3. g3 g6 4. Bg2 Bg7 5. e4
+
+[ECO "A37"]
+[Opening "Englische Symmetrievariante"]
+
+1. c4 c5 2. Nc3 Nc6 3. g3 g6 4. Bg2 Bg7 5. Nf3 e5
+
+[ECO "A38"]
+[Opening "Englische Symmetrievariante"]
+
+1. c4 c5 2. Nc3 Nc6 3. g3 g6 4. Bg2 Bg7 5. Nf3 Nf6 6. O-O O-O 7. d3
+
+[ECO "A39"]
+[Opening "Englische Symmetrievariante"]
+
+1. c4 c5 2. Nc3 Nc6 3. g3 g6 4. Bg2 Bg7 5. Nf3 Nf6 6. O-O O-O 7. d4
+
+[ECO "A40"]
+[Opening "Englund-Gambit,Owen-Verteidigung,Känguru-Verteidigung,Moderne
Verteidigung,Horwitz-Verteidigung"]
+
+1. d4 e5
+
+[ECO "A41"]
+[Opening "unregelmäßige Systeme,Wade-Verteidigung"]
+
+1. d4 d6
+
+[ECO "A42"]
+[Opening "z. B. Moderne Verteidigung"]
+
+1. d4 d6 2. c4
+
+[ECO "A43"]
+[Opening "Alt-Benoni-Verteidigung"]
+
+1. d4 c5 2. d5 d6
+
+[ECO "A44"]
+[Opening "Alt-Benoni-Verteidigung"]
+
+1. d4 c5 2. d5 e5
+
+[ECO "A45"]
+[Opening "Damenbauernspiel (Trompowsky-Eröffnung)"]
+
+1. d4 Nf6 2. Bg5
+
+[ECO "A46"]
+[Opening "Damenbauernspiel (Torre-Angriff)"]
+
+1. d4 Nf6 2. Nf3 e6 3. Bg5
+
+[ECO "A47"]
+[Opening "Damenindischer Aufbau"]
+
+1. d4 Nf6 2. Nf3 b6 3. Nc3
+
+[ECO "A48"]
+[Opening "Königsindischer Aufbau"]
+
+1. d4 Nf6 2. Nf3 g6 3. Bg5
+
+[ECO "A49"]
+[Opening "Königsindischer Aufbau"]
+
+1. d4 Nf6 2. Nf3 g6 3. g3
+
+[ECO "A50"]
+[Opening "Damenindischer Aufbau"]
+
+1. d4 Nf6 2. c4 b6 3. Nc3
+
+[ECO "A51"]
+[Opening "Budapester Gambit,Fajarowicz-Gambit"]
+
+1. d4 Nf6 2. c4 e5 3. dxe5 Ne4
+
+[ECO "A52"]
+[Opening "Budapester Gambit (Hauptvariante)"]
+
+1. d4 Nf6 2. c4 e5 3. dxe5 Ng4 4. Bf4
+
+[ECO "A53"]
+[Opening "Altindische Verteidigung"]
+
+1. d4 Nf6 2. c4 d6
+
+[ECO "A54"]
+[Opening "Altindische Verteidigung"]
+
+1. d4 Nf6 2. c4 d6 3. Nc3 e5 4. Nf3
+
+[ECO "A55"]
+[Opening "Altindische Verteidigung"]
+
+1. d4 Nf6 2. c4 d6 3. Nc3 e5 4. Nf3 Nbd7 5. e4
+
+[ECO "A56"]
+[Opening "Benoni-Verteidigung"]
+
+1. d4 Nf6 2. c4 c5 3. d5
+
+[ECO "A57"]
+[Opening "Wolga-Gambit,Benkö-Gambit"]
+
+1. d4 Nf6 2. c4 c5 3. d5 b5 4. cxb5
+
+[ECO "A58"]
+[Opening "Wolga-Gambit,Benkö-Gambit"]
+
+1. d4 Nf6 2. c4 c5 3. d5 b5 4. cxb5 a6 5. bxa6
+
+[ECO "A59"]
+[Opening "Wolga-Gambit,Benkö-Gambit"]
+
+1. d4 Nf6 2. c4 c5 3. d5 b5 4. cxb5 a6 5. bxa6 Bxa6 6. Nc3 d6 7. e4
+
+[ECO "A60"]
+[Opening "Benoni"]
+
+1. d4 Nf6 2. c4 c5 3. d5 e6 4. Nc3 exd5 5. cxd5 d6 6. Nf3 Be7
+
+[ECO "A61"]
+[Opening "Moderne Benoni-Verteidigung"]
+
+1. d4 Nf6 2. c4 c5 3. d5 e6 4. Nc3 exd5 5. cxd5 d6 6. Nf3 g6
+
+[ECO "A62"]
+[Opening "Moderne Benoni-Verteidigung"]
+
+1. d4 Nf6 2. c4 c5 3. d5 e6 4. Nc3 exd5 5. cxd5 d6 6. Nf3 g6 7. g3 Bg7 8.
Bg2 O-O 9. O-O Na6
+
+[ECO "A63"]
+[Opening "Moderne Benoni-Verteidigung"]
+
+1. d4 Nf6 2. c4 c5 3. d5 e6 4. Nc3 exd5 5. cxd5 d6 6. Nf3 g6 7. g3 Bg7 8.
Bg2 O-O 9. O-O Nbd7 10. Nd2
+
+[ECO "A64"]
+[Opening "Moderne Benoni-Verteidigung"]
+
+1. d4 Nf6 2. c4 c5 3. d5 e6 4. Nc3 exd5 5. cxd5 d6 6. Nf3 g6 7. g3 Bg7 8.
Bg2 O-O 9. O-O Nbd7 10. Nd2 a6 11. a4 Re8
+
+[ECO "A65"]
+[Opening "Moderne Benoni-Verteidigung"]
+
+1. d4 Nf6 2. c4 c5 3. d5 e6 4. Nc3 exd5 5. cxd5 d6 6. e4
+
+[ECO "A66"]
+[Opening "Moderne Benoni-Verteidigung (Zentraler Angriff)"]
+
+1. d4 Nf6 2. c4 c5 3. d5 e6 4. Nc3 exd5 5. cxd5 d6 6. e4 g6 7. f4 Bg7
+
+[ECO "A67"]
+[Opening "Moderne Benoni-Verteidigung (Dreibauern-System)"]
+
+1. d4 Nf6 2. c4 c5 3. d5 e6 4. Nc3 exd5 5. cxd5 d6 6. e4 g6 7. f4 Bg7 8.
Bb5+
+
+[ECO "A68"]
+[Opening "Moderne Benoni-Verteidigung (Dreibauern-System)"]
+
+1. d4 Nf6 2. c4 c5 3. d5 e6 4. Nc3 exd5 5. cxd5 d6 6. e4 g6 7. f4 Bg7 8.
Nf3 O-O 9. Be2 Bg4
+
+[ECO "A69"]
+[Opening "Benoni-Verteidigung (Dreibauern-System)"]
+
+1. d4 Nf6 2. c4 c5 3. d5 e6 4. Nc3 exd5 5. cxd5 d6 6. e4 g6 7. f4 Bg7 8.
Nf3 O-O 9. Be2 Re8
+
+[ECO "A70"]
+[Opening "Moderne Benoni-Verteidigung (Hauptsystem)"]
+
+1. d4 Nf6 2. c4 c5 3. d5 e6 4. Nc3 exd5 5. cxd5 d6 6. e4 g6 7. Nf3 Bg7
+
+[ECO "A71"]
+[Opening "Moderne Benoni-Verteidigung (Hauptsystem mit 8.Lg5)"]
+
+1. d4 Nf6 2. c4 c5 3. d5 e6 4. Nc3 exd5 5. cxd5 d6 6. e4 g6 7. Nf3 Bg7 8.
Bg5
+
+[ECO "A72"]
+[Opening "Moderne Benoni-Verteidigung (Hauptsystem mit 9.Lg5)"]
+
+1. d4 Nf6 2. c4 c5 3. d5 e6 4. Nc3 exd5 5. cxd5 d6 6. e4 g6 7. Nf3 Bg7 8.
Be2 O-O 9. Bg5
+
+[ECO "A73"]
+[Opening "Moderne Benoni-Verteidigung (Hauptsystem)"]
+
+1. d4 Nf6 2. c4 c5 3. d5 e6 4. Nc3 exd5 5. cxd5 d6 6. e4 g6 7. Nf3 Bg7 8.
Be2 O-O 9. O-O Bg4
+
+[ECO "A74"]
+[Opening "Moderne Benoni-Verteidigung (Hauptsystem)"]
+
+1. d4 Nf6 2. c4 c5 3. d5 e6 4. Nc3 exd5 5. cxd5 d6 6. e4 g6 7. Nf3 Bg7 8.
Be2 O-O 9. O-O a6 10. a4 Nbd7
+
+[ECO "A75"]
+[Opening "Moderne Benoni-Verteidigung (Hauptsystem)"]
+
+1. d4 Nf6 2. c4 c5 3. d5 e6 4. Nc3 exd5 5. cxd5 d6 6. e4 g6 7. Nf3 Bg7 8.
Be2 O-O 9. O-O a6 10. a4 Bg4
+
+[ECO "A76"]
+[Opening "Moderne Benoni-Verteidigung (Hauptsystem)"]
+
+1. d4 Nf6 2. c4 c5 3. d5 e6 4. Nc3 exd5 5. cxd5 d6 6. e4 g6 7. Nf3 Bg7 8.
Be2 O-O 9. O-O Re8 10. Qc2
+
+[ECO "A77"]
+[Opening "Moderne Benoni-Verteidigung (Hauptsystem)"]
+
+1. d4 Nf6 2. c4 c5 3. d5 e6 4. Nc3 exd5 5. cxd5 d6 6. e4 g6 7. Nf3 Bg7 8.
Be2 O-O 9. O-O Re8 10. Nd2 a6
+
+[ECO "A78"]
+[Opening "Moderne Benoni-Verteidigung (Hauptsystem)"]
+
+1. d4 Nf6 2. c4 c5 3. d5 e6 4. Nc3 exd5 5. cxd5 d6 6. e4 g6 7. Nf3 Bg7 8.
Be2 O-O 9. O-O Re8 10. Nd2 Na6 11. Re1
+
+[ECO "A79"]
+[Opening "Moderne Benoni-Verteidigung (Hauptsystem)"]
+
+1. d4 Nf6 2. c4 c5 3. d5 e6 4. Nc3 exd5 5. cxd5 d6 6. e4 g6 7. Nf3 Bg7 8.
Be2 O-O 9. O-O Re8 10. Nd2 Na6 11. f3
+
+[ECO "A80"]
+[Opening "Holländische Verteidigung (kurz: Holländisch)"]
+
+1. d4 f5
+
+[ECO "A81"]
+[Opening "Holländisch"]
+
+1. d4 f5 2. g3
+
+[ECO "A82"]
+[Opening "Holländisch (Staunton-Gambit)"]
+
+1. d4 f5 2. e4
+
+[ECO "A83"]
+[Opening "Holländisch (Staunton-Gambit)"]
+
+1. d4 f5 2. e4 fxe4 3. Nc3 Nf6 4. Bg5
+
+[ECO "A84"]
+[Opening "Holländisch"]
+
+1. d4 f5 2. c4 Nf6
+
+[ECO "A85"]
+[Opening "Holländisch"]
+
+1. d4 f5 2. c4 Nf6 3. Nc3
+
+[ECO "A86"]
+[Opening "Holländisch (Leningrader Variante) mit Sh3"]
+
+1. d4 f5 2. c4 Nf6 3. g3 g6 4. Bg2 Bg7
+
+[ECO "A87"]
+[Opening "Holländisch (Leningrader Variante)"]
+
+1. d4 f5 2. c4 Nf6 3. g3 g6 4. Bg2 Bg7 5. Nf3 O-O 6. O-O d6 7. Nc3
+
+[ECO "A88"]
+[Opening "Holländisch (Leningrader Variante)"]
+
+1. d4 f5 2. c4 Nf6 3. g3 g6 4. Bg2 Bg7 5. Nf3 O-O 6. O-O d6 7. Nc3 c6
+
+[ECO "A89"]
+[Opening "Holländisch (Leningrader Variante)"]
+
+1. d4 f5 2. c4 Nf6 3. g3 g6 4. Bg2 Bg7 5. Nf3 O-O 6. O-O d6 7. Nc3 Nc6
+
+[ECO "A90"]
+[Opening "Holländisch (Klassisches Stonewall)"]
+
+1. d4 f5 2. c4 Nf6 3. g3 e6 4. Bg2 d5
+
+[ECO "A91"]
+[Opening "Holländisch (Klassisches System mit Abweichungen)"]
+
+1. d4 f5 2. c4 Nf6 3. g3 e6 4. Bg2 Be7 5. Nc3
+
+[ECO "A92"]
+[Opening "Holländisch (Stonewall-System)"]
+
+1. d4 f5 2. c4 Nf6 3. g3 e6 4. Bg2 Be7 5. Nf3 O-O 6. O-O
+
+[ECO "A93"]
+[Opening "Holländisch (Stonewall-System)"]
+
+1. d4 f5 2. c4 Nf6 3. g3 e6 4. Bg2 Be7 5. Nf3 O-O 6. O-O d5 7. b3 c6
+
+[ECO "A94"]
+[Opening "Holländisch (Stonewall-System)"]
+
+1. d4 f5 2. c4 Nf6 3. g3 e6 4. Bg2 Be7 5. Nf3 O-O 6. O-O d5 7. b3 c6 8. Ba3
+
+[ECO "A95"]
+[Opening "Holländisch (Stonewall-System)"]
+
+1. d4 f5 2. c4 Nf6 3. g3 e6 4. Bg2 Be7 5. Nf3 O-O 6. O-O d5 7. b3 c6 8. Qc2
+
+[ECO "A96"]
+[Opening "Holländisch (Hauptvariante),Iljin-Genewski-System"]
+
+1. d4 f5 2. c4 Nf6 3. g3 e6 4. Bg2 Be7 5. Nf3 O-O 6. O-O d6 7. Nc3
+
+[ECO "A97"]
+[Opening "Holländisch"]
+
+1. d4 f5 2. c4 Nf6 3. g3 e6 4. Bg2 Be7 5. Nf3 O-O 6. O-O d6 7. Nc3 Qe8 8.
Re1
+
+[ECO "A98"]
+[Opening "Holländisch"]
+
+1. d4 f5 2. c4 Nf6 3. g3 e6 4. Bg2 Be7 5. Nf3 O-O 6. O-O d6 7. Nc3 Qe8 8.
Qc2
+
+[ECO "A99"]
+[Opening "Holländisch"]
+
+1. d4 f5 2. c4 Nf6 3. g3 e6 4. Bg2 Be7 5. Nf3 O-O 6. O-O d6 7. Nc3 Qe8 8.
b3
+
+[ECO "B00"]
+[Opening "Owen-Verteidigung;Nimzowitsch-Verteidigung;Baker-Verteidigung"]
+
+1. e4 b6
+
+[ECO "B01"]
+[Opening "Skandinavische Verteidigung"]
+
+1. e4 d5
+
+[ECO "B02"]
+[Opening "Aljechin-Verteidigung (Jagdvariante)"]
+
+1. e4 Nf6 2. e5 Nd5 3. c4
+
+[ECO "B03"]
+[Opening "Aljechin-Verteidigung (Vierbauernvariante)"]
+
+1. e4 Nf6 2. e5 Nd5 3. d4 d6 4. c4
+
+[ECO "B04"]
+[Opening "Aljechin-Verteidigung (Moderne Variante)"]
+
+1. e4 Nf6 2. e5 Nd5 3. d4 d6 4. Nf3
+
+[ECO "B05"]
+[Opening "Aljechin-Verteidigung (Moderne Variante)"]
+
+1. e4 Nf6 2. e5 Nd5 3. d4 d6 4. Nf3 Bg4
+
+[ECO "B06"]
+[Opening "Moderne Verteidigung"]
+
+1. e4 g6 2. d4 Bg7
+
+[ECO "B07"]
+[Opening "Pirc-Ufimzew-Verteidigung,Jugoslawische Verteidigung"]
+
+1. e4 d6 2. d4 Nf6
+
+[ECO "B08"]
+[Opening "Pirc-Ufimzew-Verteidigung"]
+
+1. e4 d6 2. d4 Nf6 3. Nc3 g6 4. Nf3
+
+[ECO "B09"]
+[Opening "Pirc-Ufimzew-Verteidigung (Dreibauernangriff)"]
+
+1. e4 d6 2. d4 Nf6 3. Nc3 g6 4. f4
+
+[ECO "B10"]
+[Opening "Caro-Kann-Verteidigung"]
+
+1. e4 c6 2. Nf3 d5 3. Nc3 dxe4
+
+[ECO "B11"]
+[Opening "Caro-Kann-Verteidigung (Zweispringer-Variante)"]
+
+1. e4 c6 2. Nc3 d5 3. Nf3 Bg4
+
+[ECO "B12"]
+[Opening "Caro-Kann-Verteidigung (Vorstoßvariante)"]
+
+1. e4 c6 2. d4 d5 3. e5
+
+[ECO "B13"]
+[Opening "Caro-Kann-Verteidigung (Abtauschvariante)"]
+
+1. e4 c6 2. d4 d5 3. exd5 cxd5 4. Bd3 Nc6
+
+[ECO "B14"]
+[Opening "Caro-Kann-Verteidigung (Panow-Angriff)"]
+
+1. e4 c6 2. d4 d5 3. exd5 cxd5 4. c4 Nf6 5. Nc3 e6
+
+[ECO "B15"]
+[Opening "Caro-Kann-Verteidigung (Flohr-Variante)"]
+
+1. e4 c6 2. d4 d5 3. Nc3 dxe4 4. Nxe4 Nf6 5. Nxf6+ exf6
+
+[ECO "B16"]
+[Opening "Caro-Kann-Verteidigung (Nimzowitsch-Variante)"]
+
+1. e4 c6 2. d4 d5 3. Nc3 dxe4 4. Nxe4 Nf6 5. Nxf6+ gxf6
+
+[ECO "B17"]
+[Opening "Caro-Kann-Verteidigung (Hauptvariante)"]
+
+1. e4 c6 2. d4 d5 3. Nc3 dxe4 4. Nxe4 Nd7
+
+[ECO "B18"]
+[Opening "Caro-Kann-Verteidigung (Hauptvariante)"]
+
+1. e4 c6 2. d4 d5 3. Nc3 dxe4 4. Nxe4 Bf5 5. Ng3 Bg6 6. h4 h6 7. f4
+
+[ECO "B19"]
+[Opening "Caro-Kann-Verteidigung (Hauptvariante)"]
+
+1. e4 c6 2. d4 d5 3. Nc3 dxe4 4. Nxe4 Bf5 5. Ng3 Bg6 6. h4 h6 7. Nf3
+
+[ECO "B20"]
+[Opening "Sizilianische Verteidigung,Sizilianisch (seltene Züge)"]
+
+1. e4 c5 2. b4
+
+[ECO "B21"]
+[Opening "Sizilianisch (Morra-Gambit), (Sizilianisches Mittelgambit)"]
+
+1. e4 c5 2. d4 cxd4 3. c3
+
+[ECO "B22"]
+[Opening "Sizilianisch (Alapin-Variante)"]
+
+1. e4 c5 2. c3
+
+[ECO "B23"]
+[Opening "Grand-Prix-Angriff"]
+
+1. e4 c5 2. Nc3 Nc6 3. f4
+
+[ECO "B24"]
+[Opening "Sizilianisch, (geschlossenes System)"]
+
+1. e4 c5 2. Nc3 Nc6 3. g3 g6 4. Bg2 Bg7 5. d3
+
+[ECO "B25"]
+[Opening "Sizilianisch, (geschlossenes System)"]
+
+1. e4 c5 2. Nc3 Nc6 3. g3 g6 4. Bg2 Bg7 5. d3 d6 6. f4
+
+[ECO "B26"]
+[Opening "Sizilianisch, (geschlossenes System)"]
+
+1. e4 c5 2. Nc3 Nc6 3. g3 g6 4. Bg2 Bg7 5. d3 d6 6. Be3
+
+[ECO "B27"]
+[Opening "Sizilianisch (frühes Fianchetto) (Ungarische Variante)"]
+
+1. e4 c5 2. Nf3 g6
+
+[ECO "B28"]
+[Opening "Sizilianisch (O'Kelly-System)"]
+
+1. e4 c5 2. Nf3 a6
+
+[ECO "B29"]
+[Opening "Sizilianisch (Rubinstein-Variante)"]
+
+1. e4 c5 2. Nf3 Nf6
+
+[ECO "B30"]
+[Opening "Sizilianisch (Rossolimo-Variante)"]
+
+1. e4 c5 2. Nf3 Nc6 3. Bb5 e6
+
+[ECO "B31"]
+[Opening "Sizilianisch (Rossolimo-Variante)"]
+
+1. e4 c5 2. Nf3 Nc6 3. Bb5 g6
+
+[ECO "B32"]
+[Opening "Sizilianisch (Löwenthal-Variante), (Labourdonnais-Variante)"]
+
+1. e4 c5 2. Nf3 Nc6 3. d4 cxd4 4. Nxd4 e5
+
+[ECO "B33"]
+[Opening "Sizilianisch (Sweschnikow-Variante), (Lasker-Variante),
(Pelikan-Variante)"]
+
+1. e4 c5 2. Nf3 Nc6 3. d4 cxd4 4. Nxd4 e5 5. Ndb5 d6
+
+[ECO "B34"]
+[Opening "Sizilianisch (beschleunigte Drachenvariante, Simagin-Variante)"]
+
+1. e4 c5 2. Nf3 Nc6 3. d4 cxd4 4. Nxd4 g6 5. Nc3 Bg7
+
+[ECO "B35"]
+[Opening "Sizilianisch (beschleunigte Drachenvariante, Simagin-Variante)"]
+
+1. e4 c5 2. Nf3 Nc6 3. d4 cxd4 4. Nxd4 g6 5. Nc3 Bg7 6. Be3 Nf6 7. Bc4
+
+[ECO "B36"]
+[Opening "Sizilianisch (beschleunigte Drachenvariante, Maroczy-Aufbau)"]
+
+1. e4 c5 2. Nf3 Nc6 3. d4 cxd4 4. Nxd4 g6 5. c4 Nf6
+
+[ECO "B37"]
+[Opening "Sizilianisch (beschleunigte Drachenvariante, Maroczy-Aufbau)"]
+
+1. e4 c5 2. Nf3 Nc6 3. d4 cxd4 4. Nxd4 g6 5. c4 Bg7 6. Nc2
+
+[ECO "B38"]
+[Opening "Sizilianisch (beschleunigte Drachenvariante, Maroczy-Aufbau)"]
+
+1. e4 c5 2. Nf3 Nc6 3. d4 cxd4 4. Nxd4 g6 5. c4 Bg7 6. Be3 Nf6
+
+[ECO "B39"]
+[Opening "Sizilianisch (beschleunigte Drachenvariante, Maroczy-Aufbau)"]
+
+1. e4 c5 2. Nf3 Nc6 3. d4 cxd4 4. Nxd4 g6 5. c4 Bg7 6. Be3 Nf6 7. Nc3 Ng4
+
+[ECO "B40"]
+[Opening "Sizilianisch (Klassisches System) mit e7-e6"]
+
+1. e4 c5 2. Nf3 e6 3. d4 cxd4 4. Nxd4 Nf6
+
+[ECO "B41"]
+[Opening "Sizilianisch (Paulsen-Variante)"]
+
+1. e4 c5 2. Nf3 e6 3. d4 cxd4 4. Nxd4 a6 5. c4
+
+[ECO "B42"]
+[Opening "Sizilianisch (Paulsen-Variante)"]
+
+1. e4 c5 2. Nf3 e6 3. d4 cxd4 4. Nxd4 a6 5. Bd3
+
+[ECO "B43"]
+[Opening "Sizilianisch (Paulsen-Variante)"]
+
+1. e4 c5 2. Nf3 e6 3. d4 cxd4 4. Nxd4 a6 5. Nc3
+
+[ECO "B44"]
+[Opening "Sizilianisch (Paulsen-Taimanow-Variante)"]
+
+1. e4 c5 2. Nf3 e6 3. d4 cxd4 4. Nxd4 Nc6 5. Nb5
+
+[ECO "B45"]
+[Opening "Sizilianisch (Klassisches System)"]
+
+1. e4 c5 2. Nf3 e6 3. d4 cxd4 4. Nxd4 Nc6 5. Nc3 Nf6
+
+[ECO "B46"]
+[Opening "Sizilianisch (Paulsen-Taimanow-Variante)"]
+
+1. e4 c5 2. Nf3 e6 3. d4 cxd4 4. Nxd4 Nc6 5. Nc3 a6
+
+[ECO "B47"]
+[Opening "Sizilianisch (Paulsen-Taimanow-Variante)"]
+
+1. e4 c5 2. Nf3 e6 3. d4 cxd4 4. Nxd4 Nc6 5. Nc3 Qc7 6. g3
+
+[ECO "B48"]
+[Opening "Sizilianisch (Paulsen-Variante)"]
+
+1. e4 c5 2. Nf3 e6 3. d4 cxd4 4. Nxd4 Nc6 5. Nc3 Qc7 6. Be3 a6
+
+[ECO "B49"]
+[Opening "Sizilianisch (Paulsen-Variante)"]
+
+1. e4 c5 2. Nf3 e6 3. d4 cxd4 4. Nxd4 Nc6 5. Nc3 Qc7 6. Be3 a6 7. Be2
+
+[ECO "B50"]
+[Opening "Sizilianisch"]
+
+1. e4 c5 2. Nf3 d6 3. Nc3
+
+[ECO "B51"]
+[Opening "Sizilianisch (Rossolimo-Variante), (Moskauer System)"]
+
+1. e4 c5 2. Nf3 d6 3. Bb5+ Nc6
+
+[ECO "B52"]
+[Opening "Sizilianisch (Rossolimo-Variante)"]
+
+1. e4 c5 2. Nf3 d6 3. Bb5+ Bd7
+
+[ECO "B53"]
+[Opening "Sizilianisch (Ungarische Variante), (Tschechower-Variante)"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Qxd4
+
+[ECO "B54"]
+[Opening "Sizilianisch (Rauser-Variante), (Anti-Drachen-Variante)"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6
+
+[ECO "B55"]
+[Opening "Sizilianisch (Rauser-Variante), (Anti-Drachen-Variante)"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. f3 e5 6. Bb5+
+
+[ECO "B56"]
+[Opening "Sizilianisch Abweichung von Sosin- und Rauser-Variante"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 Nc6 6. Be3
+
+[ECO "B57"]
+[Opening "Sizilianisch (Sosin-Variante)"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 Nc6 6. Bc4
+
+[ECO "B58"]
+[Opening "Sizilianisch (Boleslawski-Variante)"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 Nc6 6. Be2 e5 7. Nf3
+
+[ECO "B59"]
+[Opening "Sizilianisch (Boleslawski-Variante)"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 Nc6 6. Be2 e5 7. Nb3
+
+[ECO "B60"]
+[Opening "Sizilianisch (Richter-Rauser-Variante)"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 Nc6 6. Bg5 Bd7
+
+[ECO "B61"]
+[Opening "Sizilianisch (Richter-Rauser-Variante)"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 Nc6 6. Bg5 Bd7 7. Qd2
+
+[ECO "B62"]
+[Opening "Sizilianisch (Richter-Rauser-Variante)"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 Nc6 6. Bg5 e6
+
+[ECO "B63"]
+[Opening "Sizilianisch (Richter-Rauser-Variante)"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 Nc6 6. Bg5 e6 7. Qd2
+
+[ECO "B64"]
+[Opening "Sizilianisch (Richter-Rauser-Variante)"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 Nc6 6. Bg5 e6 7. Qd2 Be7
8. O-O-O O-O 9. f4
+
+[ECO "B65"]
+[Opening "Sizilianisch (Richter-Rauser-Variante)"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 Nc6 6. Bg5 e6 7. Qd2 Be7
8. O-O-O O-O 9. f4 Nxd4 10. Qxd4
+
+[ECO "B66"]
+[Opening "Sizilianisch (Richter-Rauser-Variante)"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 Nc6 6. Bg5 e6 7. Qd2 a6
+
+[ECO "B67"]
+[Opening "Sizilianisch (Richter-Rauser-Variante)"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 Nc6 6. Bg5 e6 7. Qd2 a6
8. O-O-O Bd7
+
+[ECO "B68"]
+[Opening "Sizilianisch (Richter-Rauser-Variante)"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 Nc6 6. Bg5 e6 7. Qd2 a6
8. O-O-O Bd7 9. f4 Be7
+
+[ECO "B69"]
+[Opening "Sizilianisch (Richter-Rauser-Variante)"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 Nc6 6. Bg5 e6 7. Qd2 a6
8. O-O-O Bd7 9. f4 Be7 10. Nf3 b5 11. Bxf6
+
+[ECO "B70"]
+[Opening "Sizilianisch (Drachenvariante)"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 g6
+
+[ECO "B71"]
+[Opening "Sizilianisch (Drachenvariante)"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 g6 6. f4
+
+[ECO "B72"]
+[Opening "Sizilianisch (Drachenvariante)"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 g6 6. Be3 Bg7 7. Be2 Nc6
8. Nb3
+
+[ECO "B73"]
+[Opening "Sizilianisch (Drachenvariante)"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 g6 6. Be3 Bg7 7. Be2 Nc6
8. O-O O-O 9. Qd2
+
+[ECO "B74"]
+[Opening "Sizilianisch (Drachenvariante)"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 g6 6. Be3 Bg7 7. Be2 Nc6
8. O-O O-O 9. Nb3
+
+[ECO "B75"]
+[Opening "Sizilianisch (Moderne Drachenvariante)"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 g6 6. Be3 Bg7 7. f3 Nc6
+
+[ECO "B76"]
+[Opening "Sizilianisch (Moderne Drachenvariante)"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 g6 6. Be3 Bg7 7. f3 O-O
8. Qd2 Nc6
+
+[ECO "B77"]
+[Opening "Sizilianisch (Moderne Drachenvariante)"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 g6 6. Be3 Bg7 7. f3 O-O
8. Qd2 Nc6 9. Bc4 Bd7
+
+[ECO "B78"]
+[Opening "Sizilianisch (Moderne Drachenvariante)"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 g6 6. Be3 Bg7 7. f3 O-O
8. Qd2 Nc6 9. Bc4 Bd7 10. O-O-O Rc8
+
+[ECO "B79"]
+[Opening "Sizilianisch (Moderne Drachenvariante)"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 g6 6. Be3 Bg7 7. f3 O-O
8. Qd2 Nc6 9. Bc4 Bd7 10. O-O-O Qa5
+
+[ECO "B80"]
+[Opening "Sizilianisch (Scheveninger System)"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 e6 6. g3
+
+[ECO "B81"]
+[Opening "Sizilianisch (Keres-Angriff)"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 e6 6. g4
+
+[ECO "B82"]
+[Opening "Sizilianisch (Scheveninger System)"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 e6 6. f4
+
+[ECO "B83"]
+[Opening "Sizilianisch (Scheveninger System)"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 e6 6. Be2 Nc6
+
+[ECO "B84"]
+[Opening "Sizilianisch (Scheveninger System)"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 e6 6. Be2 a6 7. O-O Qc7
+
+[ECO "B85"]
+[Opening "Sizilianisch (Scheveninger System)"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 e6 6. Be2 a6 7. O-O Be7
+
+[ECO "B86"]
+[Opening "Sizilianisch (Sosin-Angriff), (Fischer-Variante)"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 e6 6. Bc4
+
+[ECO "B87"]
+[Opening "Sizilianisch (Sosin-Angriff)"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 e6 6. Bc4 a6 7. Bb3 b5
+
+[ECO "B88"]
+[Opening "Sizilianisch (Sosin-Angriff)"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 e6 6. Bc4 a6 7. Bb3
+
+[ECO "B89"]
+[Opening "Sizilianisch (Sosin-Angriff), (Velimirovic-Angriff)"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 e6 6. Bc4 Nc6 7. Be3
+
+[ECO "B90"]
+[Opening "Sizilianisch (Najdorf-Variante), Abweichungen"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 a6 6. Bc4
+
+[ECO "B91"]
+[Opening "Sizilianisch (Najdorf-Variante) mit 6. g3"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 a6 6. g3
+
+[ECO "B92"]
+[Opening "Sizilianisch (Najdorf-Variante), (Opocenský-System)"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 a6 6. Be2
+
+[ECO "B93"]
+[Opening "Sizilianisch (Najdorf-Variante) mit 6. f4"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 a6 6. f4
+
+[ECO "B94"]
+[Opening "Sizilianisch (Najdorf-Variante) mit 6. Lg5"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 a6 6. Bg5 Nbd7
+
+[ECO "B95"]
+[Opening "Sizilianisch (Najdorf-Variante) mit 6. Lg5"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 a6 6. Bg5 e6 7. Qf3
+
+[ECO "B96"]
+[Opening "Sizilianisch (Najdorf-Variante), (Polugajewski-System)"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 a6 6. Bg5 e6 7. f4 b5
+
+[ECO "B97"]
+[Opening "Sizilianisch (Najdorf-Variante) mit 7. ...Db6,("]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 a6 6. Bg5 e6 7. f4 Qb6
+
+[ECO "B98"]
+[Opening "Sizilianisch (Najdorf-Variante)"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 a6 6. Bg5 e6 7. f4 Be7
8.Qf3 Qc7
+
+[ECO "B99"]
+[Opening "Sizilianisch (Najdorf-Variante)"]
+
***The diff for this file has been truncated for email.***
=======================================
--- /dev/null
+++ /lang/en/eco.pgn Sun Dec 4 12:40:44 2011
@@ -0,0 +1,12131 @@
+[ECO "A00"]
+[Opening "Polish (Sokolsky) opening"]
+
+1. b4
+
+[ECO "A00"]
+[Opening "Polish"]
+[Variation "Tuebingen variation"]
+
+1. b4 Nh6
+
+[ECO "A00"]
+[Opening "Polish"]
+[Variation "Outflank variation"]
+
+1. b4 c6
+
+[ECO "A00"]
+[Opening "Benko's Opening"]
+
+1. g3
+
+[ECO "A00"]
+[Opening "Lasker simul special"]
+
+1. g3 h5
+
+[ECO "A00"]
+[Opening "Benko's Opening"]
+[Variation "reversed Alekhine"]
+
+1. g3 e5 2. Nf3
+
+[ECO "A00"]
+[Opening "Grob's attack"]
+
+1. g4
+
+[ECO "A00"]
+[Opening "Grob"]
+[Variation "Spike attack"]
+
+1. g4 d5 2. Bg2 c6 3. g5
+
+[ECO "A00"]
+[Opening "Grob"]
+[Variation "Fritz gambit"]
+
+1. g4 d5 2. Bg2 Bxg4 3. c4
+
+[ECO "A00"]
+[Opening "Grob"]
+[Variation "Romford counter-gambit"]
+
+1. g4 d5 2. Bg2 Bxg4 3. c4 d4
+
+[ECO "A00"]
+[Opening "Clemenz (Mead's, Basman's or de Klerk's) Opening"]
+
+1. h3
+
+[ECO "A00"]
+[Opening "Global Opening"]
+
+1. h3 e5 2. a3
+
+[ECO "A00"]
+[Opening "Amar (Paris) Opening"]
+
+1. Nh3
+
+[ECO "A00"]
+[Opening "Amar gambit"]
+
+1. Nh3 d5 2. g3 e5 3. f4 Bxh3 4. Bxh3 exf4
+
+[ECO "A00"]
+[Opening "Dunst (Sleipner, Heinrichsen) Opening"]
+
+1. Nc3
+
+[ECO "A00"]
+[Opening "Dunst (Sleipner-Heinrichsen) Opening"]
+
+1. Nc3 e5
+
+[ECO "A00"]
+[Opening "Battambang Opening"]
+
+1. Nc3 e5 2. a3
+
+[ECO "A00"]
+[Opening "Novosibirsk Opening"]
+
+1. Nc3 c5 2. d4 cxd4 3. Qxd4 Nc6 4. Qh4
+
+[ECO "A00"]
+[Opening "Anderssen's Opening"]
+
+1. a3
+
+[ECO "A00"]
+[Opening "Ware (Meadow Hay) Opening"]
+
+1. a4
+
+[ECO "A00"]
+[Opening "Crab Opening"]
+
+1. a4 e5 2. h4
+
+[ECO "A00"]
+[Opening "Saragossa Opening"]
+
+1. c3
+
+[ECO "A00"]
+[Opening "Mieses Opening"]
+
+1. d3
+
+[ECO "A00"]
+[Opening "Mieses Opening"]
+
+1. d3 e5
+
+[ECO "A00"]
+[Opening "Valencia Opening"]
+
+1. d3 e5 2. Nd2
+
+[ECO "A00"]
+[Opening "Venezolana Opening"]
+
+1. d3 c5 2. Nc3 Nc6 3. g3
+
+[ECO "A00"]
+[Opening "Van't Kruijs Opening"]
+
+1. e3
+
+[ECO "A00"]
+[Opening "Amsterdam attack"]
+
+1. e3 e5 2. c4 d6 3. Nc3 Nc6 4. b3 Nf6
+
+[ECO "A00"]
+[Opening "Gedult's Opening"]
+
+1. f3
+
+[ECO "A00"]
+[Opening "Hammerschlag (Fried fox/Pork chop Opening)"]
+
+1. f3 e5 2. Kf2
+
+[ECO "A00"]
+[Opening "Anti-Borg (Desprez) Opening"]
+
+1. h4
+
+[ECO "A00"]
+[Opening "Durkin's attack"]
+
+1. Na3
+
+[ECO "A01"]
+[Opening "Nimzovich-Larsen attack"]
+
+1. b3
+
+[ECO "A01"]
+[Opening "Nimzovich-Larsen attack"]
+[Variation "Modern variation"]
+
+1. b3 e5
+
+[ECO "A01"]
+[Opening "Nimzovich-Larsen attack"]
+[Variation "Indian variation"]
+
+1. b3 Nf6
+
+[ECO "A01"]
+[Opening "Nimzovich-Larsen attack"]
+[Variation "Classical variation"]
+
+1. b3 d5
+
+[ECO "A01"]
+[Opening "Nimzovich-Larsen attack"]
+[Variation "English variation"]
+
+1. b3 c5
+
+[ECO "A01"]
+[Opening "Nimzovich-Larsen attack"]
+[Variation "Dutch variation"]
+
+1. b3 f5
+
+[ECO "A01"]
+[Opening "Nimzovich-Larsen attack"]
+[Variation "Polish variation"]
+
+1. b3 b5
+
+[ECO "A01"]
+[Opening "Nimzovich-Larsen attack"]
+[Variation "Symmetrical variation"]
+
+1. b3 b6
+
+[ECO "A02"]
+[Opening "Bird's Opening"]
+
+1. f4
+
+[ECO "A02"]
+[Opening "Bird"]
+[Variation "From gambit"]
+
+1. f4 e5
+
+[ECO "A02"]
+[Opening "Bird"]
+[Variation "From gambit, Lasker variation"]
+
+1. f4 e5 2. fxe5 d6 3. exd6 Bxd6 4. Nf3 g5
+
+[ECO "A02"]
+[Opening "Bird"]
+[Variation "From gambit, Lipke variation"]
+
+1. f4 e5 2. fxe5 d6 3. exd6 Bxd6 4. Nf3 Nh6 5. d4
+
+[ECO "A02"]
+[Opening "Bird's Opening, Swiss gambit"]
+
+1. f4 f5 2. e4 fxe4 3. Nc3 Nf6 4. g4
+
+[ECO "A02"]
+[Opening "Bird"]
+[Variation "Hobbs gambit"]
+
+1. f4 g5
+
+[ECO "A03"]
+[Opening "Bird's Opening"]
+
+1. f4 d5
+
+[ECO "A03"]
+[Opening "Mujannah Opening"]
+
+1. f4 d5 2. c4
+
+[ECO "A03"]
+[Opening "Bird's Opening"]
+[Variation "Williams gambit"]
+
+1. f4 d5 2. e4
+
+[ECO "A03"]
+[Opening "Bird's Opening"]
+[Variation "Lasker variation"]
+
+1. f4 d5 2. Nf3 Nf6 3. e3 c5
+
+[ECO "A04"]
+[Opening "Reti Opening"]
+
+1. Nf3
+
+[ECO "A04"]
+[Opening "Reti v Dutch"]
+
+1. Nf3 f5
+
+[ECO "A04"]
+[Opening "Reti"]
+[Variation "Pirc-Lisitsin gambit"]
+
+1. Nf3 f5 2. e4
+
+[ECO "A04"]
+[Opening "Reti"]
+[Variation "Lisitsin gambit deferred"]
+
+1. Nf3 f5 2. d3 Nf6 3. e4
+
+[ECO "A04"]
+[Opening "Reti Opening"]
+
+1. Nf3 d6
+
+[ECO "A04"]
+[Opening "Reti"]
+[Variation "Wade defense"]
+
+1. Nf3 d6 2. e4 Bg4
+
+[ECO "A04"]
+[Opening "Reti"]
+[Variation "Herrstroem gambit"]
+
+1. Nf3 g5
+
+[ECO "A05"]
+[Opening "Reti Opening"]
+
+1. Nf3 Nf6
+
+[ECO "A05"]
+[Opening "Reti"]
+[Variation "King's Indian attack, Spassky's variation"]
+
+1. Nf3 Nf6 2. g3 b5
+
+[ECO "A05"]
+[Opening "Reti"]
+[Variation "King's Indian attack"]
+
+1. Nf3 Nf6 2. g3 g6
+
+[ECO "A05"]
+[Opening "Reti"]
+[Variation "King's Indian attack, Reti-Smyslov variation"]
+
+1. Nf3 Nf6 2. g3 g6 3. b4
+
+[ECO "A06"]
+[Opening "Reti Opening"]
+
+1. Nf3 d5
+
+[ECO "A06"]
+[Opening "Reti"]
+[Variation "Old Indian attack"]
+
+1. Nf3 d5 2. d3
+
+[ECO "A06"]
+[Opening "Santasiere's folly"]
+
+1. Nf3 d5 2. b4
+
+[ECO "A06"]
+[Opening "Tennison (Lemberg, Zukertort) gambit"]
+
+1. Nf3 d5 2. e4
+
+[ECO "A06"]
+[Opening "Reti"]
+[Variation "Nimzovich-Larsen attack"]
+
+1. Nf3 d5 2. b3
+
+[ECO "A07"]
+[Opening "Reti"]
+[Variation "King's Indian attack (Barcza system)"]
+
+1. Nf3 d5 2. g3
+
+[ECO "A07"]
+[Opening "Reti"]
+[Variation "King's Indian attack, Yugoslav variation"]
+
+1. Nf3 d5 2. g3 Nf6 3. Bg2 c6 4. O-O Bg4
+
+[ECO "A07"]
+[Opening "Reti"]
+[Variation "King's Indian attack, Keres variation"]
+
+1. Nf3 d5 2. g3 Bg4 3. Bg2 Nd7
+
+[ECO "A07"]
+[Opening "Reti"]
+[Variation "King's Indian attack"]
+
+1. Nf3 d5 2. g3 g6
+
+[ECO "A07"]
+[Opening "Reti"]
+[Variation "King's Indian attack, Pachman system"]
+
+1. Nf3 d5 2. g3 g6 3. Bg2 Bg7 4. O-O e5 5. d3 Ne7
+
+[ECO "A07"]
+[Opening "Reti"]
+[Variation "King's Indian attack (with ...c5)"]
+
+1. Nf3 d5 2. g3 c5
+
+[ECO "A08"]
+[Opening "Reti"]
+[Variation "King's Indian attack"]
+
+1. Nf3 d5 2. g3 c5 3. Bg2
+
+[ECO "A08"]
+[Opening "Reti"]
+[Variation "King's Indian attack, French variation"]
+
+1. Nf3 d5 2. g3 c5 3. Bg2 Nc6 4. O-O e6 5. d3 Nf6 6. Nbd2 Be7 7. e4 O-O 8.
+Re1
+
+[ECO "A09"]
+[Opening "Reti Opening"]
+
+1. Nf3 d5 2. c4
+
+[ECO "A09"]
+[Opening "Reti"]
+[Variation "Advance variation"]
+
+1. Nf3 d5 2. c4 d4
+
+[ECO "A09"]
+[Opening "Reti accepted"]
+
+1. Nf3 d5 2. c4 dxc4
+
+[ECO "A09"]
+[Opening "Reti accepted"]
+[Variation "Keres variation"]
+
+1. Nf3 d5 2. c4 dxc4 3. e3 Be6
+
+[ECO "A10"]
+[Opening "English Opening"]
+
+1. c4
+
+[ECO "A10"]
+[Opening "English Opening"]
+
+1. c4 g6
+
+[ECO "A10"]
+[Opening "English"]
+[Variation "Adorjan defense"]
+
+1. c4 g6 2. e4 e5
+
+[ECO "A10"]
+[Opening "English"]
+[Variation "Jaenisch gambit"]
+
+1. c4 b5
+
+[ECO "A10"]
+[Opening "English"]
+[Variation "Anglo-Dutch defense"]
+
+1. c4 f5
+
+[ECO "A11"]
+[Opening "English"]
+[Variation "Caro-Kann defensive system"]
+
+1. c4 c6
+
+[ECO "A12"]
+[Opening "English"]
+[Variation "Caro-Kann defensive system"]
+
+1. c4 c6 2. Nf3 d5 3. b3
+
+[ECO "A12"]
+[Opening "English"]
+[Variation "Torre defensive system"]
+
+1. c4 c6 2. Nf3 d5 3. b3 Nf6 4. g3 Bg4
+
+[ECO "A12"]
+[Opening "English"]
+[Variation "London defensive system"]
+
+1. c4 c6 2. Nf3 d5 3. b3 Nf6 4. g3 Bf5
+
+[ECO "A12"]
+[Opening "English"]
+[Variation "Caro-Kann defensive system"]
+
+1. c4 c6 2. Nf3 d5 3. b3 Nf6 4. Bb2
+
+[ECO "A12"]
+[Opening "English"]
+[Variation "Bled variation"]
+
+1. c4 c6 2. Nf3 d5 3. b3 Nf6 4. Bb2 g6
+
+[ECO "A12"]
+[Opening "English"]
+[Variation "New York (London) defensive system"]
+
+1. c4 c6 2. Nf3 d5 3. b3 Nf6 4. Bb2 Bf5
+
+[ECO "A12"]
+[Opening "English"]
+[Variation "Capablanca's variation"]
+
+1. c4 c6 2. Nf3 d5 3. b3 Nf6 4. Bb2 Bg4
+
+[ECO "A12"]
+[Opening "English"]
+[Variation "Caro-Kann defensive system, Bogoljubov variation"]
+
+1. c4 c6 2. Nf3 d5 3. b3 Bg4
+
+[ECO "A13"]
+[Opening "English Opening"]
+
+1. c4 e6
+
+[ECO "A13"]
+[Opening "English"]
+[Variation "Romanishin gambit"]
+
+1. c4 e6 2. Nf3 Nf6 3. g3 a6 4. Bg2 b5
+
+[ECO "A13"]
+[Opening "English Opening"]
+[Variation "Agincourt variation"]
+
+1. c4 e6 2. Nf3 d5
+
+[ECO "A13"]
+[Opening "English"]
+[Variation "Wimpey system"]
+
+1. c4 e6 2. Nf3 d5 3. b3 Nf6 4. Bb2 c5 5. e3
+
+[ECO "A13"]
+[Opening "English Opening"]
+[Variation "Agincourt variation"]
+
+1. c4 e6 2. Nf3 d5 3. g3
+
+[ECO "A13"]
+[Opening "English"]
+[Variation "Kurajica defense"]
+
+1. c4 e6 2. Nf3 d5 3. g3 c6
+
+[ECO "A13"]
+[Opening "English"]
+[Variation "Neo-Catalan"]
+
+1. c4 e6 2. Nf3 d5 3. g3 Nf6
+
+[ECO "A13"]
+[Opening "English"]
+[Variation "Neo-Catalan accepted"]
+
+1. c4 e6 2. Nf3 d5 3. g3 Nf6 4. Bg2 dxc4
+
+[ECO "A14"]
+[Opening "English"]
+[Variation "Neo-Catalan declined"]
+
+1. c4 e6 2. Nf3 d5 3. g3 Nf6 4. Bg2 Be7 5. O-O
+
+[ECO "A14"]
+[Opening "English"]
+[Variation "Symmetrical, Keres defense"]
+
+1. c4 e6 2. Nf3 d5 3. g3 Nf6 4. Bg2 Be7 5. O-O c5 6. cxd5 Nxd5 7. Nc3 Nc6
+
+[ECO "A15"]
+[Opening "English, 1...Nf6 (Anglo-Indian defense)"]
+
+1. c4 Nf6
+
+[ECO "A15"]
+[Opening "English orang-utan"]
+
+1. c4 Nf6 2. b4
+
+[ECO "A15"]
+[Opening "English Opening"]
+
+1. c4 Nf6 2. Nf3
+
+[ECO "A16"]
+[Opening "English Opening"]
+
+1. c4 Nf6 2. Nc3
+
+[ECO "A16"]
+[Opening "English"]
+[Variation "Anglo-Gruenfeld defense"]
+
+1. c4 Nf6 2. Nc3 d5
+
+[ECO "A16"]
+[Opening "English"]
+[Variation "Anglo-Gruenfeld, Smyslov defense"]
+
+1. c4 Nf6 2. Nc3 d5 3. cxd5 Nxd5 4. g3 g6 5. Bg2 Nxc3
+
+[ECO "A16"]
+[Opening "English"]
+[Variation "Anglo-Gruenfeld, Czech defense"]
+
+1. c4 Nf6 2. Nc3 d5 3. cxd5 Nxd5 4. g3 g6 5. Bg2 Nb6
+
+[ECO "A16"]
+[Opening "English"]
+[Variation "Anglo-Gruenfeld defense"]
+
+1. c4 Nf6 2. Nc3 d5 3. cxd5 Nxd5 4. Nf3
+
+[ECO "A16"]
+[Opening "English"]
+[Variation "Anglo-Gruenfeld defense, Korchnoi variation"]
+
+1. c4 Nf6 2. Nc3 d5 3. cxd5 Nxd5 4. Nf3 g6 5. g3 Bg7 6. Bg2 e5
+
+[ECO "A17"]
+[Opening "English Opening"]
+
+1. c4 Nf6 2. Nc3 e6
+
+[ECO "A17"]
+[Opening "English"]
+[Variation "Queens Indian formation"]
+
+1. c4 Nf6 2. Nc3 e6 3. Nf3 b6
+
+[ECO "A17"]
+[Opening "English"]
+[Variation "Queens Indian, Romanishin variation"]
+
+1. c4 Nf6 2. Nc3 e6 3. Nf3 b6 4. e4 Bb7 5. Bd3
+
+[ECO "A17"]
+[Opening "English"]
+[Variation "Nimzo-English Opening"]
+
+1. c4 Nf6 2. Nc3 e6 3. Nf3 Bb4
+
+[ECO "A18"]
+[Opening "English"]
+[Variation "Mikenas-Carls variation"]
+
+1. c4 Nf6 2. Nc3 e6 3. e4
+
+[ECO "A18"]
+[Opening "English"]
+[Variation "Mikenas-Carls, Flohr variation"]
+
+1. c4 Nf6 2. Nc3 e6 3. e4 d5 4. e5
+
+[ECO "A18"]
+[Opening "English"]
+[Variation "Mikenas-Carls, Kevitz variation"]
+
+1. c4 Nf6 2. Nc3 e6 3. e4 Nc6
+
+[ECO "A19"]
+[Opening "English"]
+[Variation "Mikenas-Carls, Sicilian variation"]
+
+1. c4 Nf6 2. Nc3 e6 3. e4 c5
+
+[ECO "A20"]
+[Opening "English Opening"]
+
+1. c4 e5
+
+[ECO "A20"]
+[Opening "English, Nimzovich variation"]
+
+1. c4 e5 2. Nf3
+
+[ECO "A20"]
+[Opening "English, Nimzovich, Flohr variation"]
+
+1. c4 e5 2. Nf3 e4
+
+[ECO "A21"]
+[Opening "English Opening"]
+
+1. c4 e5 2. Nc3
+
+[ECO "A21"]
+[Opening "English, Troeger defense"]
+
+1. c4 e5 2. Nc3 d6 3. g3 Be6 4. Bg2 Nc6
+
+[ECO "A21"]
+[Opening "English, Keres variation"]
+
+1. c4 e5 2. Nc3 d6 3. g3 c6
+
+[ECO "A21"]
+[Opening "English Opening"]
+
+1. c4 e5 2. Nc3 d6 3. Nf3
+
+[ECO "A21"]
+[Opening "English, Smyslov defense"]
+
+1. c4 e5 2. Nc3 d6 3. Nf3 Bg4
+
+[ECO "A21"]
+[Opening "English, Kramnik-Shirov counterattack"]
+
+1. c4 e5 2. Nc3 Bb4
+
+[ECO "A22"]
+[Opening "English Opening"]
+
+1. c4 e5 2. Nc3 Nf6
+
+[ECO "A22"]
+[Opening "English"]
+[Variation "Bellon gambit"]
+
+1. c4 e5 2. Nc3 Nf6 3. Nf3 e4 4. Ng5 b5
+
+[ECO "A22"]
+[Opening "English"]
+[Variation "Carls' Bremen system"]
+
+1. c4 e5 2. Nc3 Nf6 3. g3
+
+[ECO "A22"]
+[Opening "English"]
+[Variation "Bremen, reverse Dragon"]
+
+1. c4 e5 2. Nc3 Nf6 3. g3 d5
+
+[ECO "A22"]
+[Opening "English"]
+[Variation "Bremen, Smyslov system"]
+
+1. c4 e5 2. Nc3 Nf6 3. g3 Bb4
+
+[ECO "A23"]
+[Opening "English"]
+[Variation "Bremen system, Keres variation"]
+
+1. c4 e5 2. Nc3 Nf6 3. g3 c6
+
+[ECO "A24"]
+[Opening "English"]
+[Variation "Bremen system with ...g6"]
+
+1. c4 e5 2. Nc3 Nf6 3. g3 g6
+
+[ECO "A25"]
+[Opening "English"]
+[Variation "Sicilian Reversed"]
+
+1. c4 e5 2. Nc3 Nc6
+
+[ECO "A25"]
+[Opening "English"]
+[Variation "Closed system"]
+
+1. c4 e5 2. Nc3 Nc6 3. g3 g6 4. Bg2 Bg7
+
+[ECO "A25"]
+[Opening "English"]
+[Variation "Closed, Taimanov variation"]
+
+1. c4 e5 2. Nc3 Nc6 3. g3 g6 4. Bg2 Bg7 5. e3 d6 6. Nge2 Nh6
+
+[ECO "A25"]
+[Opening "English"]
+[Variation "Closed, Hort variation"]
+
+1. c4 e5 2. Nc3 Nc6 3. g3 g6 4. Bg2 Bg7 5. e3 d6 6. Nge2 Be6
+
+[ECO "A25"]
+[Opening "English"]
+[Variation "Closed, 5.Rb1"]
+
+1. c4 e5 2. Nc3 Nc6 3. g3 g6 4. Bg2 Bg7 5. Rb1
+
+[ECO "A25"]
+[Opening "English"]
+[Variation "Closed, 5.Rb1 Taimanov variation"]
+
+1. c4 e5 2. Nc3 Nc6 3. g3 g6 4. Bg2 Bg7 5. Rb1 Nh6
+
+[ECO "A25"]
+[Opening "English"]
+[Variation "Closed system (without ...d6)"]
+
+1. c4 e5 2. Nc3 Nc6 3. g3 g6 4. Bg2 Bg7 5. d3
+
+[ECO "A26"]
+[Opening "English"]
+[Variation "Closed system"]
+
+1. c4 e5 2. Nc3 Nc6 3. g3 g6 4. Bg2 Bg7 5. d3 d6
+
+[ECO "A26"]
+[Opening "English"]
+[Variation "Botvinnik system"]
+
+1. c4 e5 2. Nc3 Nc6 3. g3 g6 4. Bg2 Bg7 5. d3 d6 6. e4
+
+[ECO "A27"]
+[Opening "English"]
+[Variation "Three knights system"]
+
+1. c4 e5 2. Nc3 Nc6 3. Nf3
+
+[ECO "A28"]
+[Opening "English"]
+[Variation "Four knights system"]
+
+1. c4 e5 2. Nc3 Nc6 3. Nf3 Nf6
+
+[ECO "A28"]
+[Opening "English"]
+[Variation "Nenarokov variation"]
+
+1. c4 e5 2. Nc3 Nc6 3. Nf3 Nf6 4. d4 exd4 5. Nxd4 Bb4 6. Bg5 h6 7. Bh4
+Bxc3+ 8. bxc3 Ne5
+
+[ECO "A28"]
+[Opening "English"]
+[Variation "Bradley Beach variation"]
+
+1. c4 e5 2. Nc3 Nc6 3. Nf3 Nf6 4. d4 e4
+
+[ECO "A28"]
+[Opening "English"]
+[Variation "Four knights, Nimzovich variation"]
+
+1. c4 e5 2. Nc3 Nc6 3. Nf3 Nf6 4. e4
+
+[ECO "A28"]
+[Opening "English"]
+[Variation "Four knights, Marini variation"]
+
+1. c4 e5 2. Nc3 Nc6 3. Nf3 Nf6 4. a3
+
+[ECO "A28"]
+[Opening "English"]
+[Variation "Four knights, Capablanca variation"]
+
+1. c4 e5 2. Nc3 Nc6 3. Nf3 Nf6 4. d3
+
+[ECO "A28"]
+[Opening "English"]
+[Variation "Four knights, 4.e3"]
+
+1. c4 e5 2. Nc3 Nc6 3. Nf3 Nf6 4. e3
+
+[ECO "A28"]
+[Opening "English"]
+[Variation "Four knights, Stean variation"]
+
+1. c4 e5 2. Nc3 Nc6 3. Nf3 Nf6 4. e3 Bb4 5. Qc2 O-O 6. Nd5 Re8 7. Qf5
+
+[ECO "A28"]
+[Opening "English"]
+[Variation "Four knights, Romanishin variation"]
+
+1. c4 e5 2. Nc3 Nc6 3. Nf3 Nf6 4. e3 Bb4 5. Qc2 Bxc3
+
+[ECO "A29"]
+[Opening "English"]
+[Variation "Four knights, kingside Fianchetto"]
+
+1. c4 e5 2. Nc3 Nc6 3. Nf3 Nf6 4. g3
+
+[ECO "A30"]
+[Opening "English"]
+[Variation "Symmetrical variation"]
+
+1. c4 c5
+
+[ECO "A30"]
+[Opening "English"]
+[Variation "Symmetrical, hedgehog system"]
+
+1. c4 c5 2. Nf3 Nf6 3. g3 b6 4. Bg2 Bb7 5. O-O e6 6. Nc3 Be7
+
+[ECO "A30"]
+[Opening "English"]
+[Variation "Symmetrical, hedgehog, flexible formation"]
+
+1. c4 c5 2. Nf3 Nf6 3. g3 b6 4. Bg2 Bb7 5. O-O e6 6. Nc3 Be7 7. d4 cxd4 8.
+Qxd4 d6 9. Rd1 a6 10. b3 Nbd7
+
+[ECO "A31"]
+[Opening "English"]
+[Variation "Symmetrical, Benoni formation"]
+
+1. c4 c5 2. Nf3 Nf6 3. d4
+
+[ECO "A32"]
+[Opening "English"]
+[Variation "Symmetrical variation"]
+
+1. c4 c5 2. Nf3 Nf6 3. d4 cxd4 4. Nxd4 e6
+
+[ECO "A33"]
+[Opening "English"]
+[Variation "Symmetrical variation"]
+
+1. c4 c5 2. Nf3 Nf6 3. d4 cxd4 4. Nxd4 e6 5. Nc3 Nc6
+
+[ECO "A33"]
+[Opening "English"]
+[Variation "Symmetrical, Geller variation"]
+
+1. c4 c5 2. Nf3 Nf6 3. d4 cxd4 4. Nxd4 e6 5. Nc3 Nc6 6. g3 Qb6
+
+[ECO "A34"]
+[Opening "English"]
+[Variation "Symmetrical variation"]
+
+1. c4 c5 2. Nc3
+
+[ECO "A34"]
+[Opening "English"]
+[Variation "Symmetrical, Three knights system"]
+
+1. c4 c5 2. Nc3 Nf6 3. Nf3 d5 4. cxd5 Nxd5
+
+[ECO "A34"]
+[Opening "English"]
+[Variation "Symmetrical variation"]
+
+1. c4 c5 2. Nc3 Nf6 3. g3
+
+[ECO "A34"]
+[Opening "English"]
+[Variation "Symmetrical, Rubinstein system"]
+
+1. c4 c5 2. Nc3 Nf6 3. g3 d5 4. cxd5 Nxd5 5. Bg2 Nc7
+
+[ECO "A35"]
+[Opening "English"]
+[Variation "Symmetrical variation"]
+
+1. c4 c5 2. Nc3 Nc6
+
+[ECO "A35"]
+[Opening "English"]
+[Variation "Symmetrical, Four knights system"]
+
+1. c4 c5 2. Nc3 Nc6 3. Nf3 Nf6
+
+[ECO "A36"]
+[Opening "English"]
+[Variation "Symmetrical variation"]
+
+1. c4 c5 2. Nc3 Nc6 3. g3
+
+[ECO "A36"]
+[Opening "English"]
+[Variation "ultra-Symmetrical variation"]
+
+1. c4 c5 2. Nc3 Nc6 3. g3 g6 4. Bg2 Bg7
+
+[ECO "A36"]
+[Opening "English"]
+[Variation "Symmetrical, Botvinnik system Reversed"]
+
+1. c4 c5 2. Nc3 Nc6 3. g3 g6 4. Bg2 Bg7 5. e3 e5
+
+[ECO "A36"]
+[Opening "English"]
+[Variation "Symmetrical, Botvinnik system"]
+
+1. c4 c5 2. Nc3 Nc6 3. g3 g6 4. Bg2 Bg7 5. e4
+
+[ECO "A37"]
+[Opening "English"]
+[Variation "Symmetrical variation"]
+
+1. c4 c5 2. Nc3 Nc6 3. g3 g6 4. Bg2 Bg7 5. Nf3
+
+[ECO "A37"]
+[Opening "English"]
+[Variation "Symmetrical, Botvinnik system Reversed"]
+
+1. c4 c5 2. Nc3 Nc6 3. g3 g6 4. Bg2 Bg7 5. Nf3 e5
+
+[ECO "A38"]
+[Opening "English"]
+[Variation "Symmetrical variation"]
+
+1. c4 c5 2. Nc3 Nc6 3. g3 g6 4. Bg2 Bg7 5. Nf3 Nf6
+
+[ECO "A38"]
+[Opening "English"]
+[Variation "Symmetrical, Main line with d3"]
***The diff for this file has been truncated for email.***
=======================================
--- /dev/null
+++ /lang/es/eco.pgn Sun Dec 4 12:40:44 2011
@@ -0,0 +1,2500 @@
+[ECO "A00"]
+[Opening "Aperturas 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)"]
+
+*
+
+[ECO "A01"]
+[Opening "Apertura Larsen"]
+
+*
+
+[ECO "A02"]
+[Opening "Apertura Bird"]
+
+*
+
+[ECO "A03"]
+[Opening "Apertura Bird, 1...d5"]
+
+*
+
+[ECO "A04"]
+[Opening "Apertura Reti, 1. Cf3"]
+
+*
+
+[ECO "A05"]
+[Opening "Apertura Reti, 2...Cf6"]
+
+*
+
+[ECO "A06"]
+[Opening "Apertura Reti, 2...d5"]
+
+*
+
+[ECO "A07"]
+[Opening "Apertura Reti, Ataque indio de rey (sistema Barcza)"]
+
+*
+
+[ECO "A08"]
+[Opening "Apertura Reti, Ataque indio de rey"]
+
+*
+
+[ECO "A09"]
+[Opening "Apertura Reti, 2...d5 3.c4"]
+
+*
+
+[ECO "A10"]
+[Opening "Apertura inglesa"]
+
+*
+
+[ECO "A11"]
+[Opening "Inglesa, sistema defensivo Caro-Kann"]
+
+*
+
+[ECO "A12"]
+[Opening "Inglesa, sistema defensivo Caro-Kann"]
+
+*
+
+[ECO "A13"]
+[Opening "Apertura inglesa"]
+
+*
+
+[ECO "A14"]
+[Opening "Inglesa, declinada hacia Neo-Catalana"]
+
+*
+
+[ECO "A15"]
+[Opening "Inglesa, 1...Cf6 (Defensa Anglo-India)"]
+
+*
+
+[ECO "A16"]
+[Opening "Apertura inglesa"]
+
+*
+
+[ECO "A17"]
+[Opening "Apertura inglesa, Defensa Erizo"]
+
+*
+
+[ECO "A18"]
+[Opening "Inglesa, variante Mikenas-Carls"]
+
+*
+
+[ECO "A19"]
+[Opening "Inglesa, Mikenas-Carls, variante Siciliana"]
+
+*
+
+[ECO "A20"]
+[Opening "Apertura inglesa"]
+
+*
+
+[ECO "A21"]
+[Opening "Apertura inglesa"]
+
+*
+
+[ECO "A22"]
+[Opening "Apertura inglesa"]
+
+*
+
+[ECO "A23"]
+[Opening "Apertura inglesa, sistema Bremen, variante Keres"]
+
+*
+
+[ECO "A24"]
+[Opening "Apertura inglesa, sistema Bremen con 3...g6"]
+
+*
+
+[ECO "A25"]
+[Opening "Apertura inglesa, Siciliana invertida"]
+
+*
+
+[ECO "A26"]
+[Opening "Apertura inglesa, sistema cerrado"]
+
+*
+
+[ECO "A27"]
+[Opening "Apertura inglesa, sistema de los tres caballos"]
+
+*
+
+[ECO "A28"]
+[Opening "Apertura inglesa, sistema de los cuatro caballos"]
+
+*
+
+[ECO "A29"]
+[Opening "Apertura inglesa, cuatro caballos, fianchetto en flanco de rey"]
+
+*
+
+[ECO "A30"]
+[Opening "Apertura inglesa, variante simétrica"]
+
+*
+
+[ECO "A31"]
+[Opening "Apertura inglesa, simétrica, formación Benoni"]
+
+*
+
+[ECO "A32"]
+[Opening "Apertura inglesa, simétrica"]
+
+*
+
+[ECO "A33"]
+[Opening "Apertura inglesa, simétrica"]
+
+*
+
+[ECO "A34"]
+[Opening "Apertura inglesa, simétrica"]
+
+*
+
+[ECO "A35"]
+[Opening "Apertura inglesa, simétrica"]
+
+*
+
+[ECO "A36"]
+[Opening "Apertura inglesa, simétrica"]
+
+*
+
+[ECO "A37"]
+[Opening "Apertura inglesa, simétrica"]
+
+*
+
+[ECO "A38"]
+[Opening "Apertura inglesa, simétrica"]
+
+*
+
+[ECO "A39"]
+[Opening "Apertura inglesa, simétrica, línea principal con d4"]
+
+*
+
+[ECO "A40"]
+[Opening "Apertura de peón de dama (incluyendo Defensa inglesa, Gambito
Englund, Defensa del caballo de dama, Defensa polaca y Defensa Keres)"]
+
+*
+
+[ECO "A41"]
+[Opening "Apertura de peón de dama, Defensa Wade"]
+
+*
+
+[ECO "A42"]
+[Opening "Defensa moderna, sistema Averbakh también Defensa Wade"]
+
+*
+
+[ECO "A43"]
+[Opening "Old Benoni defence"]
+
+*
+
+[ECO "A44"]
+[Opening "Old Benoni defence"]
+
+*
+
+[ECO "A45"]
+[Opening "Apertura de peón de dama"]
+
+*
+
+[ECO "A46"]
+[Opening "Apertura de peón de dama"]
+
+*
+
+[ECO "A47"]
+[Opening "Defensa india de dama"]
+
+*
+
+[ECO "A48"]
+[Opening "India de rey, Defensa india de este"]
+
+*
+
+[ECO "A49"]
+[Opening "India de rey, fianchetto sin c4"]
+
+*
+
+[ECO "A50"]
+[Opening "Apertura de peón de dama, Tango de los caballos negros"]
+
+*
+
+[ECO "A51"]
+[Opening "Gambito Budapest no aceptado"]
+
+*
+
+[ECO "A52"]
+[Opening "Gambito Budapest"]
+
+*
+
+[ECO "A53"]
+[Opening "Defensa india antigua"]
+
+*
+
+[ECO "A54"]
+[Opening "India antigua, variante ucrainiana"]
+
+*
+
+[ECO "A55"]
+[Opening "India antigua, línea principal"]
+
+*
+
+[ECO "A56"]
+[Opening "Defensa Benoni"]
+
+*
+
+[ECO "A57"]
+[Opening "Gambito Benko"]
+
+*
+
+[ECO "A58"]
+[Opening "Gambito Benko aceptado"]
+
+*
+
+[ECO "A59"]
+[Opening "Gambito Benko, 7.e4"]
+
+*
+
+[ECO "A60"]
+[Opening "Defensa Benoni"]
+
+*
+
+[ECO "A61"]
+[Opening "Defensa Benoni"]
+
+*
+
+[ECO "A62"]
+[Opening "Benoni, variante del Fianchetto"]
+
+*
+
+[ECO "A63"]
+[Opening "Benoni, variante del Fianchetto, 9...Cbd7"]
+
+*
+
+[ECO "A64"]
+[Opening "Benoni, variante del Fianchetto, 11...Te8"]
+
+*
+
+[ECO "A65"]
+[Opening "Benoni, 6.e4"]
+
+*
+
+[ECO "A66"]
+[Opening "Benoni, variante tormenta de peones"]
+
+*
+
+[ECO "A67"]
+[Opening "Benoni, variante Taimanov"]
+
+*
+
+[ECO "A68"]
+[Opening "Benoni, ataque de los cuatro peones"]
+
+*
+
+[ECO "A69"]
+[Opening "Benoni, ataque de los cuatro peones, línea principal"]
+
+*
+
+[ECO "A70"]
+[Opening "Benoni, clásica con e4 y Cf3"]
+
+*
+
+[ECO "A71"]
+[Opening "Benoni, clásica, 8.Bg5"]
+
+*
+
+[ECO "A72"]
+[Opening "Benoni, clásica sint 9.O-O"]
+
+*
+
+[ECO "A73"]
+[Opening "Benoni, clásica, 9.O-O"]
+
+*
+
+[ECO "A74"]
+[Opening "Benoni, clásica, 9...a6, 10.a4"]
+
+*
+
+[ECO "A75"]
+[Opening "Benoni, clásica con...a6 y 10...Ag4"]
+
+*
+
+[ECO "A76"]
+[Opening "Benoni, clásica, 9...Te8"]
+
+*
+
+[ECO "A77"]
+[Opening "Benoni, clásica, 9...Te8, 10.Cd2"]
+
+*
+
+[ECO "A78"]
+[Opening "Benoni, clásica con ...Te8 y ...Ca6"]
+
+*
+
+[ECO "A79"]
+[Opening "Benoni, clásica, 11.f3"]
+
+*
+
+[ECO "A80"]
+[Opening "Defensa holandesa"]
+
+*
+
+[ECO "A81"]
+[Opening "Defensa holandesa"]
+
+*
+
+[ECO "A82"]
+[Opening "Holandesa, gambito Staunton, incluye también Defensa Balogh"]
+
+*
+
+[ECO "A83"]
+[Opening "Holandesa, gambito Staunton, variante Staunton"]
+
+*
+
+[ECO "A84"]
+[Opening "Defensa holandesa"]
+
+*
+
+[ECO "A85"]
+[Opening "Holandesa con 2.c4 y 3.Cc3"]
+
+*
+
+[ECO "A86"]
+[Opening "Holandesa con 2.c4 y 3.g3"]
+
+*
+
+[ECO "A87"]
+[Opening "Holandesa, Leningrad, variante principal"]
+
+*
+
+[ECO "A88"]
+[Opening "Holandesa, Leningrad, varante principal con 7...c6"]
+
+*
+
+[ECO "A89"]
+[Opening "Holandesa, Leningrad, variante principal con Cc6"]
+
+*
+
+[ECO "A90"]
+[Opening "Defensa holandesa"]
+
+*
+
+[ECO "A91"]
+[Opening "Defensa holandesa"]
+
+*
+
+[ECO "A92"]
+[Opening "Defensa holandesa"]
+
+*
+
+[ECO "A93"]
+[Opening "Holandesa, Stonewall, variante Botvinnik"]
+
+*
+
+[ECO "A94"]
+[Opening "Holandesa, Stonewall con Aa3"]
+
+*
+
+[ECO "A95"]
+[Opening "Holandesa, Stonewall con Cc3"]
+
+*
+
+[ECO "A96"]
+[Opening "Holandesa, variante clásica"]
+
+*
+
+[ECO "A97"]
+[Opening "Holandesa, variante Ilyin-Genevsky"]
+
+*
+
+[ECO "A98"]
+[Opening "Holandesa, variante Ilyin-Genevsky con Dc2"]
+
+*
+
+[ECO "A99"]
+[Opening "Holandesa, variante Ilyin-Genevsky con b3"]
+
+*
+
+[ECO "B00"]
+[Opening "Apertura de peón de rey sin 1... e5, 1... d5, 1... Cf6, 1... g6,
1... d6, 1... c6, 1... c5. (incluye Defensa Nimzowitsch, Defensa St.
George, Defensa Owen, Defensa hipopótamo, Defensa Fred y otras)"]
+
+*
+
+[ECO "B01"]
+[Opening "Defensa escandinava (Contradefensa central)"]
+
+*
+
+[ECO "B02"]
+[Opening "Defensa Alekhine"]
+
+*
+
+[ECO "B03"]
+[Opening "Defensa Alekhine 3.d4"]
+
+*
+
+[ECO "B04"]
+[Opening "Defensa Alekhine, variante moderna"]
+
+*
+
+[ECO "B05"]
+[Opening "Defensa Alekhine, variante moderna, 4...Ag4"]
+
+*
+
+[ECO "B06"]
+[Opening "Defensa Robatsch (Moderna), incluye Monkey's Bum"]
+
+*
+
+[ECO "B07"]
+[Opening "Defensa Pirc"]
+
+*
+
+[ECO "B08"]
+[Opening "Pirc, sistema clásico (dos caballos)"]
+
+*
+
+[ECO "B09"]
+[Opening "Pirc, ataque austríaco"]
+
+*
+
+[ECO "B10"]
+[Opening "Defensa Caro-Kann"]
+
+*
+
+[ECO "B11"]
+[Opening "Caro-Kann, dos caballos, 3...Ag4"]
+
+*
+
+[ECO "B12"]
+[Opening "Defensa Caro-Kann"]
+
+*
+
+[ECO "B13"]
+[Opening "Caro-Kann, variante del cambio"]
+
+*
+
+[ECO "B14"]
+[Opening "Caro-Kann, atque Panov-Botvinnik, 5...e6"]
+
+*
+
+[ECO "B15"]
+[Opening "Defensa Caro-Kann"]
+
+*
+
+[ECO "B16"]
+[Opening "Caro-Kann, variante Bronstein-Larsen"]
+
+*
+
+[ECO "B17"]
+[Opening "Caro-Kann, variante Steinitz"]
+
+*
+
+[ECO "B18"]
+[Opening "Caro-Kann, variante clásica"]
+
+*
+
+[ECO "B19"]
+[Opening "Caro-Kann, clásica, 7...Cd7"]
+
+*
+
+[ECO "B20"]
+[Opening "Defensa siciliana"]
+
+*
+
+[ECO "B21"]
+[Opening "Siciliana, ataque Grand Prix y Gambito Smith-Morra, incluyendo
la Trampa Siberiana"]
+
+*
+
+[ECO "B22"]
+[Opening "Defensa siciliana, variante Alapin (2.c3)"]
+
+*
+
+[ECO "B23"]
+[Opening "Siciliana, cerrada"]
+
+*
+
+[ECO "B24"]
+[Opening "Siciliana, cerrada"]
+
+*
+
+[ECO "B25"]
+[Opening "Siciliana, cerrada"]
+
+*
+
+[ECO "B26"]
+[Opening "Siciliana, cerrada, 6.Ae3"]
+
+*
+
+[ECO "B27"]
+[Opening "Defensa Siciliana"]
+
+*
+
+[ECO "B28"]
+[Opening "Siciliana, variante O'Kelly"]
+
+*
+
+[ECO "B29"]
+[Opening "Siciliana, variante Nimzovich-Rubinstein"]
+
+*
+
+[ECO "B30"]
+[Opening "Defensa Siciliana"]
+
+*
+
+[ECO "B31"]
+[Opening "Siciliana, ataque Nimzovich-Rossolimo (con ...g6, sin ...d6)"]
+
+*
+
+[ECO "B32"]
+[Opening "Defensa siciliana"]
+
+*
+
+[ECO "B33"]
+[Opening "Siciliana, variante Sveshnikov (Lasker-Pelikan)"]
+
+*
+
+[ECO "B34"]
+[Opening "Defensa siciliana, fianchetto acelerado, variante del cambio"]
+
+*
+
+[ECO "B35"]
+[Opening "Defensa siciliana, fianchetto acelerado, variante moderna con
Ac4"]
+
+*
+
+[ECO "B36"]
+[Opening "Defensa siciliana, fianchetto acelerado, variante Maróczy"]
+
+*
+
+[ECO "B37"]
+[Opening "Defensa siciliana, fianchetto acelerado, variante Maroczy,
5...Ag7"]
+
+*
+
+[ECO "B38"]
+[Opening "Defensa siciliana, fianchetto acelerado, variante Maroczy,
6.Ae3"]
+
+*
+
+[ECO "B39"]
+[Opening "Defensa siciliana, fianchetto acelerado, variante Breyer"]
+
+*
+
+[ECO "B40"]
+[Opening "Defensa Siciliana"]
+
+*
+
+[ECO "B41"]
+[Opening "Siciliana, variante Kan"]
+
+*
+
+[ECO "B42"]
+[Opening "Siciliana, Kan, 5.Ad3"]
+
+*
+
+[ECO "B43"]
+[Opening "Siciliana, Kan, 5.Cc3"]
+
+*
+
+[ECO "B44"]
+[Opening "Defensa Siciliana"]
+
+*
+
+[ECO "B45"]
+[Opening "Siciliana, variante Taimanov"]
+
+*
+
+[ECO "B46"]
+[Opening "Siciliana, variante Taimanov"]
+
+*
+
+[ECO "B47"]
+[Opening "Siciliana, variante Taimanov (Bastrikov)"]
+
+*
+
+[ECO "B48"]
+[Opening "Siciliana, variante Taimanov"]
+
+*
+
+[ECO "B49"]
+[Opening "Siciliana, variante Taimanov"]
+
+*
+
+[ECO "B50"]
+[Opening "Siciliana"]
+
+*
+
+[ECO "B51"]
+[Opening "Siciliana, ataque Canal-Sokolsky"]
+
+*
+
+[ECO "B52"]
+[Opening "Siciliana, ataque Canal-Sokolsky, 3...Ad7"]
+
+*
+
+[ECO "B53"]
+[Opening "Siciliana, variante Chekhover"]
+
+*
+
+[ECO "B54"]
+[Opening "Siciliana"]
+
+*
+
+[ECO "B55"]
+[Opening "Siciliana, Prins variation, Venice attack"]
+
+*
+
+[ECO "B56"]
+[Opening "Siciliana"]
+
+*
+
+[ECO "B57"]
+[Opening "Siciliana, Sozin (no Scheveningen) incluyendo Trampa Magnus
Smith"]
+
+*
+
+[ECO "B58"]
+[Opening "Siciliana, clásica"]
+
+*
+
+[ECO "B59"]
+[Opening "Siciliana, variante Boleslavsky, 7.Cb3"]
+
+*
+
+[ECO "B60"]
+[Opening "Siciliana, Richter-Rauzer"]
+
+*
+
+[ECO "B61"]
+[Opening "Siciliana, Richter-Rauzer, variante Larsen, 7.Dd2"]
+
+*
+
+[ECO "B62"]
+[Opening "Siciliana, Richter-Rauzer, 6...e6"]
+
+*
+
+[ECO "B63"]
+[Opening "Siciliana, Richter-Rauzer, ataque Rauzer"]
+
+*
+
+[ECO "B64"]
+[Opening "Siciliana, Richter-Rauzer, ataque Rauzer, defensa 7...Ae7, 9.f4"]
+
+*
+
+[ECO "B65"]
+[Opening "Siciliana, Richter-Rauzer, ataque Rauzer, defensa 7...Ae7 ,
9...Cxd4"]
+
+*
+
+[ECO "B66"]
+[Opening "Siciliana, Richter-Rauzer, ataque Rauzer, 7...a6"]
+
+*
+
+[ECO "B67"]
+[Opening "Siciliana, Richter-Rauzer, ataque Rauzer, defensa 7...a6,
8...Ad7"]
+
+*
+
+[ECO "B68"]
+[Opening "Siciliana, Richter-Rauzer, ataque Rauzer, defensa 7...a6,
9...Ae7"]
+
+*
+
+[ECO "B69"]
+[Opening "Siciliana, Richter-Rauzer, ataque Rauzer, defensa 7...a6,
11.Axf6"]
+
+*
+
+[ECO "B70"]
+[Opening "Siciliana, variante Dragón"]
+
+*
+
+[ECO "B71"]
+[Opening "Siciliana, Dragón, variante Levenfish"]
+
+*
+
+[ECO "B72"]
+[Opening "Siciliana, Dragón, 6.Ae3"]
+
+*
+
+[ECO "B73"]
+[Opening "Siciliana, Dragón, clásica, 8.O-O"]
+
+*
+
+[ECO "B74"]
+[Opening "Siciliana, Dragón, clásica, 9.Cb3"]
+
+*
+
+[ECO "B75"]
+[Opening "Siciliana, Dragón, ataque Yugoslavo"]
+
+*
+
+[ECO "B76"]
+[Opening "Siciliana, Dragón, ataque Yugoslavo, 7...O-O"]
+
+*
+
+[ECO "B77"]
+[Opening "Siciliana, Dragón, ataque Yugoslavo, 9.Ac4"]
+
+*
+
+[ECO "B78"]
+[Opening "Siciliana, Dragón, ataque Yugoslavo, 10.O-O-O]]"]
+
+*
+
+[ECO "B79"]
+[Opening "Siciliana, Dragón, ataque Yugoslavo, 12.h4]]"]
+
+*
+
+[ECO "B80"]
+[Opening "Siciliana, variante Scheveningen"]
+
+*
+
+[ECO "B81"]
+[Opening "Siciliana, Scheveningen, ataque Keres"]
+
+*
+
+[ECO "B82"]
+[Opening "Siciliana, Scheveningen, 6.f4"]
+
+*
+
+[ECO "B83"]
+[Opening "Siciliana, Scheveningen, 6.Ae2"]
+
+*
+
+[ECO "B84"]
+[Opening "Siciliana, Scheveningen (Paulsen), variante clásica"]
+
+*
+
+[ECO "B85"]
+[Opening "Siciliana, Scheveningen, variante clásica con ...Dc7 y ...Cc6"]
+
+*
+
+[ECO "B86"]
+[Opening "Siciliana, ataque Sozin"]
+
+*
+
+[ECO "B87"]
+[Opening "Sozin con ...a6 y ...b5"]
+
+*
+
+[ECO "B88"]
+[Opening "Siciliana, Sozin, variante Leonhardt"]
+
+*
+
+[ECO "B89"]
+[Opening "Siciliana, Sozin, 7.Ae3"]
+
+*
+
+[ECO "B90"]
+[Opening "Siciliana, Najdorf"]
+
+*
+
+[ECO "B91"]
+[Opening "Siciliana, Najdorf, variante Zagreb (Fianchetto)"]
+
+*
+
+[ECO "B92"]
+[Opening "Siciliana, Najdorf, variante Zagreb (Fianchetto)"]
+
+*
+
+[ECO "B93"]
+[Opening "Siciliana, Najdorf, 6.f4"]
+
+*
+
+[ECO "B94"]
+[Opening "Siciliana, Najdorf, 6.Ag5"]
+
+*
+
+[ECO "B95"]
+[Opening "Siciliana, Najdorf, 6...e6"]
+
+*
+
+[ECO "B96"]
+[Opening "Siciliana, Najdorf, 7.f4"]
+
+*
+
+[ECO "B97"]
+[Opening "Siciliana, Najdorf, 7...Db6 incluyendo variante del peón
envenenado"]
+
+*
+
+[ECO "B98"]
+[Opening "Siciliana, Najdorf, 7...Ae7"]
+
+*
+
+[ECO "B99"]
+[Opening "Siciliana, Najdorf, 7...Ae7 línea principal"]
+
***The diff for this file has been truncated for email.***
=======================================
--- /dev/null
+++ /lang/hu/eco.pgn Sun Dec 4 12:40:44 2011
@@ -0,0 +1,2500 @@
+[ECO "A00"]
+[Opening "Rendhagyó megnyitások (Anderssen-megnyitás, Amar-megnyitás,
Barnes-megnyitás, Benkö-megnyitás, Clemenz-megnyitás, Desprez-megnyitás,
Dunst-megnyitás, Durkin-megnyitás, Grob-támadás, Mieses-megnyitás,
Saragossa-megnyitás, Orangután-megnyitás, Van't Kruijs-megnyitás és
Ware-megnyitás)"]
+
+*
+
+[ECO "A01"]
+[Opening "Larsen-megnyitás"]
+
+*
+
+[ECO "A02"]
+[Opening "Bird-megnyitás"]
+
+*
+
+[ECO "A03"]
+[Opening "Bird megnyitása, 1...d5"]
+
+*
+
+[ECO "A04"]
+[Opening "Réti-megnyitás"]
+
+*
+
+[ECO "A05"]
+[Opening "Réti-megnyitás, 2...Hf6"]
+
+*
+
+[ECO "A06"]
+[Opening "Réti-megnyitás, 2...d5"]
+
+*
+
+[ECO "A07"]
+[Opening "Réti-megnyitás, Királyindiai támadás (Barcza-rendszer)"]
+
+*
+
+[ECO "A08"]
+[Opening "Réti-megnyitás, Királyindiai támadás"]
+
+*
+
+[ECO "A09"]
+[Opening "Réti-megnyitás, 2...d5 3.c4"]
+
+*
+
+[ECO "A10"]
+[Opening "Angol megnyitás"]
+
+*
+
+[ECO "A11"]
+[Opening "Angol, Caro-Kann védelem"]
+
+*
+
+[ECO "A12"]
+[Opening "Angol, Caro-Kann védelem"]
+
+*
+
+[ECO "A13"]
+[Opening "Angol megnyitás"]
+
+*
+
+[ECO "A14"]
+[Opening "Angol, elhárított újkatalán"]
+
+*
+
+[ECO "A15"]
+[Opening "Angol, 1...Hf6 (Anglo-indiai védelem)"]
+
+*
+
+[ECO "A16"]
+[Opening "Angol megnyitás"]
+
+*
+
+[ECO "A17"]
+[Opening "Angol megnyitás, sündisznó védelem"]
+
+*
+
+[ECO "A18"]
+[Opening "Angol megnyitás, Mikenas-Carls változat"]
+
+*
+
+[ECO "A19"]
+[Opening "Angol megnyitás, Mikenas-Carls, szicíliai változat"]
+
+*
+
+[ECO "A20"]
+[Opening "Angol megnyitás"]
+
+*
+
+[ECO "A21"]
+[Opening "Angol megnyitás"]
+
+*
+
+[ECO "A22"]
+[Opening "Angol megnyitás"]
+
+*
+
+[ECO "A23"]
+[Opening "Angol megnyitás, Brémai rendszer, Keres-változat"]
+
+*
+
+[ECO "A24"]
+[Opening "Angol megnyitás, Brémai rendszer 3...g6-tal"]
+
+*
+
+[ECO "A25"]
+[Opening "Angol megnyitás, fordított szicíliai"]
+
+*
+
+[ECO "A26"]
+[Opening "Angol megnyitás, zárt rendszer"]
+
+*
+
+[ECO "A27"]
+[Opening "Angol megnyitás, háromhuszáros rendszer"]
+
+*
+
+[ECO "A28"]
+[Opening "Angol megnyitás, négyhuszáros rendszer"]
+
+*
+
+[ECO "A29"]
+[Opening "Angol megnyitás, négy huszáros, királyszárnyi Fianchetto"]
+
+*
+
+[ECO "A30"]
+[Opening "Angol megnyitás, szimmetrikus változat"]
+
+*
+
+[ECO "A31"]
+[Opening "Angol megnyitás, szimmetrikus, Benoni változat"]
+
+*
+
+[ECO "A32"]
+[Opening "Angol megnyitás, szimmetrikus"]
+
+*
+
+[ECO "A33"]
+[Opening "Angol megnyitás, szimmetrikus"]
+
+*
+
+[ECO "A34"]
+[Opening "Angol megnyitás, szimmetrikus"]
+
+*
+
+[ECO "A35"]
+[Opening "Angol megnyitás, szimmetrikus"]
+
+*
+
+[ECO "A36"]
+[Opening "Angol megnyitás, , szimmetrikus"]
+
+*
+
+[ECO "A37"]
+[Opening "Angol megnyitás, szimmetrikus"]
+
+*
+
+[ECO "A38"]
+[Opening "Angol megnyitás, szimmetrikus"]
+
+*
+
+[ECO "A39"]
+[Opening "Angol megnyitás, szimmetrikus, d4-gyel"]
+
+*
+
+[ECO "A40"]
+[Opening "Vezérgyalog játék"]
+
+*
+
+[ECO "A41"]
+[Opening "Vezérgyalog játék"]
+
+*
+
+[ECO "A42"]
+[Opening "Modern védelem (sakk), Averbakh-rendszer"]
+
+*
+
+[ECO "A43"]
+[Opening "Óbenoni védelem"]
+
+*
+
+[ECO "A44"]
+[Opening "Óbenoni védelem"]
+
+*
+
+[ECO "A45"]
+[Opening "Vezérgyalogjáték"]
+
+*
+
+[ECO "A46"]
+[Opening "Vezérgyalogjáték"]
+
+*
+
+[ECO "A47"]
+[Opening "Vezérindiai védelem"]
+
+*
+
+[ECO "A48"]
+[Opening "Királyindiai védelem, kelet-indiai védelem"]
+
+*
+
+[ECO "A49"]
+[Opening "Királyindiai, Fianchetto c4 nélkül"]
+
+*
+
+[ECO "A50"]
+[Opening "Vezérgyalog játék"]
+
+*
+
+[ECO "A51"]
+[Opening "Elhárított Budapesti védelem"]
+
+*
+
+[ECO "A52"]
+[Opening "Budapesti védelem"]
+
+*
+
+[ECO "A53"]
+[Opening "Óindiai védelem"]
+
+*
+
+[ECO "A54"]
+[Opening "Óindiai, ukrán változat"]
+
+*
+
+[ECO "A55"]
+[Opening "Óindiai, föváltozat"]
+
+*
+
+[ECO "A56"]
+[Opening "Benoni védelem"]
+
+*
+
+[ECO "A57"]
+[Opening "Benkö-csel"]
+
+*
+
+[ECO "A58"]
+[Opening "Elfogadott Benkö-csel"]
+
+*
+
+[ECO "A59"]
+[Opening "Benkö csel, 7.e4"]
+
+*
+
+[ECO "A60"]
+[Opening "Benoni védelem"]
+
+*
+
+[ECO "A61"]
+[Opening "Benoni védelem"]
+
+*
+
+[ECO "A62"]
+[Opening "Benoni, Fianchetto változat"]
+
+*
+
+[ECO "A63"]
+[Opening "Benoni, Fianchetto változat, 9...Hbd7"]
+
+*
+
+[ECO "A64"]
+[Opening "Benoni, Fianchetto változat, 11...Re8"]
+
+*
+
+[ECO "A65"]
+[Opening "Benoni, 6.e4"]
+
+*
+
+[ECO "A66"]
+[Opening "Benoni, gyalogroham változat"]
+
+*
+
+[ECO "A67"]
+[Opening "Benoni, Tajmanov változat"]
+
+*
+
+[ECO "A68"]
+[Opening "Benoni, négygyalogos támadás"]
+
+*
+
+[ECO "A69"]
+[Opening "Benoni, négygyalogos támadás, föváltozat"]
+
+*
+
+[ECO "A70"]
+[Opening "Benoni, klasszikus, e4 és Hf3-mal"]
+
+*
+
+[ECO "A71"]
+[Opening "Benoni, klasszikus, 8.Bg5"]
+
+*
+
+[ECO "A72"]
+[Opening "Benoni, klasszikus, 9.O-O nélkül"]
+
+*
+
+[ECO "A73"]
+[Opening "Benoni, klasszikus, 9.O-O"]
+
+*
+
+[ECO "A74"]
+[Opening "Benoni, klasszikus, 9...a6, 10.a4"]
+
+*
+
+[ECO "A75"]
+[Opening "Benoni, klasszikus ...a6 és 10...Fg4-gyel"]
+
+*
+
+[ECO "A76"]
+[Opening "Benoni, klasszikus, 9...Be8"]
+
+*
+
+[ECO "A77"]
+[Opening "Benoni, klasszikus, 9...Be8, 10.Hd2"]
+
+*
+
+[ECO "A78"]
+[Opening "Benoni, klasszikus, Be8 és ...Ha6-tal"]
+
+*
+
+[ECO "A79"]
+[Opening "Benoni, klasszikus, 11.f3"]
+
+*
+
+[ECO "A80"]
+[Opening "Holland védelem"]
+
+*
+
+[ECO "A81"]
+[Opening "Holland védelem"]
+
+*
+
+[ECO "A82"]
+[Opening "Holland, Staunton-csel"]
+
+*
+
+[ECO "A83"]
+[Opening "Holland, Staunton-csel, Staunton-változat"]
+
+*
+
+[ECO "A84"]
+[Opening "Holland védelem"]
+
+*
+
+[ECO "A85"]
+[Opening "Holland védelem, 2.c4 és 3.Hc3"]
+
+*
+
+[ECO "A86"]
+[Opening "Holland védelem, 2.c4 és 3.g3"]
+
+*
+
+[ECO "A87"]
+[Opening "Holland védelem, leningrádi, fö változat"]
+
+*
+
+[ECO "A88"]
+[Opening "Holland védelem, leningrádi, fö változat 7...c6-tal"]
+
+*
+
+[ECO "A89"]
+[Opening "Holland védelem, leningrádi, fö változat Hc6-tal"]
+
+*
+
+[ECO "A90"]
+[Opening "Holland védelem"]
+
+*
+
+[ECO "A91"]
+[Opening "Holland védelem"]
+
+*
+
+[ECO "A92"]
+[Opening "Holland védelem"]
+
+*
+
+[ECO "A93"]
+[Opening "Holland védelem, Stonewall, Botwinnik-változat"]
+
+*
+
+[ECO "A94"]
+[Opening "Holland védelem, Dutch, Stonewall Ba3-mal"]
+
+*
+
+[ECO "A95"]
+[Opening "Holland védelem, Dutch, Stonewall Hc3-mal"]
+
+*
+
+[ECO "A96"]
+[Opening "Holland védelem, Dutch, klasszikus változat"]
+
+*
+
+[ECO "A97"]
+[Opening "Holland védelem, Ilyin-Genevsky változat"]
+
+*
+
+[ECO "A98"]
+[Opening "Holland védelem, Ilyin-Genevsky változat Vc2-vel"]
+
+*
+
+[ECO "A99"]
+[Opening "Holland védelem, Ilyin-Genevsky változat b3-mal"]
+
+*
+
+[ECO "B00"]
+[Opening "Királygyalog megnyitás - 1... e5, 1... d5, 1... Hf6, 1... g6,
1... d6, 1... c6, 1... c5 nélkül. (Benne a Nimzowitsch-védelem, a Szent
György-védelem, az Owen-védelem, a Víziló-védelem, a Fred-védelem és
mások.)"]
+
+*
+
+[ECO "B01"]
+[Opening "Skandináv védelem (Ellentámadás-a-centrumban-védelem)"]
+
+*
+
+[ECO "B02"]
+[Opening "Aljehin-védelem"]
+
+*
+
+[ECO "B03"]
+[Opening "Aljehin-védelem 3.d4"]
+
+*
+
+[ECO "B04"]
+[Opening "Aljehin-védelem, modern változat"]
+
+*
+
+[ECO "B05"]
+[Opening "Aljehin-védelem, modern változat, 4...Fg4"]
+
+*
+
+[ECO "B06"]
+[Opening "Robatsch (modern)-védelem, benne a Majomfenék"]
+
+*
+
+[ECO "B07"]
+[Opening "Pirc-védelem"]
+
+*
+
+[ECO "B08"]
+[Opening "Pirc, klasszikus (kétcsikós) rendszer"]
+
+*
+
+[ECO "B09"]
+[Opening "Pirc, osztrák támadás"]
+
+*
+
+[ECO "B10"]
+[Opening "Caro-Kann védelem"]
+
+*
+
+[ECO "B11"]
+[Opening "Caro-Kann, kétcsikós, 3...Fg4"]
+
+*
+
+[ECO "B12"]
+[Opening "Caro-Kann védelem"]
+
+*
+
+[ECO "B13"]
+[Opening "Caro-Kann, csereváltozat"]
+
+*
+
+[ECO "B14"]
+[Opening "Caro-Kann, Panov-Botvinnik-támadás, 5...e6"]
+
+*
+
+[ECO "B15"]
+[Opening "Caro-Kann védelem"]
+
+*
+
+[ECO "B16"]
+[Opening "Caro-Kann, Bronstein-Larsen-változat"]
+
+*
+
+[ECO "B17"]
+[Opening "Caro-Kann, Steinitz-változat"]
+
+*
+
+[ECO "B18"]
+[Opening "Caro-Kann, klasszikus változat"]
+
+*
+
+[ECO "B19"]
+[Opening "Caro-Kann, klasszikus, 7...Hd7"]
+
+*
+
+[ECO "B20"]
+[Opening "Sicilian defence"]
+
+*
+
+[ECO "B21"]
+[Opening "Szicíliai, Grand Prix-támadás és Smith-Morra-áldozat, benne a
Szibériai csapda"]
+
+*
+
+[ECO "B22"]
+[Opening "Szicíliai védelem, Alapin-változat (2.c3)"]
+
+*
+
+[ECO "B23"]
+[Opening "Szicíliai, zárt"]
+
+*
+
+[ECO "B24"]
+[Opening "Szicíliai, zárt"]
+
+*
+
+[ECO "B25"]
+[Opening "Szicíliai, zárt"]
+
+*
+
+[ECO "B26"]
+[Opening "Szicíliai, zárt, 6.Fe3"]
+
+*
+
+[ECO "B27"]
+[Opening "Szicíliai védelem"]
+
+*
+
+[ECO "B28"]
+[Opening "Szicíliai, O'Kelly-változat"]
+
+*
+
+[ECO "B29"]
+[Opening "Szicíliai, Nimzovich-Rubinstein-változat"]
+
+*
+
+[ECO "B30"]
+[Opening "Szicíliai védelem"]
+
+*
+
+[ECO "B31"]
+[Opening "Szicíliai, Nimzovich-Rossolimo-támadás (...g6-tal, ...d6
nélkül)"]
+
+*
+
+[ECO "B32"]
+[Opening "Szicíliai védelem"]
+
+*
+
+[ECO "B33"]
+[Opening "Szicíliai, Szvesnyikov (Lasker-Pelikan) változat"]
+
+*
+
+[ECO "B34"]
+[Opening "Szicíliai védelem, gyors fianchetto, csereváltozat"]
+
+*
+
+[ECO "B35"]
+[Opening "Szicíliai védelem, gyors fianchetto, modern változat Fc4-gyel"]
+
+*
+
+[ECO "B36"]
+[Opening "Szicíliai védelem, gyors fianchetto, Maróczy-kötés"]
+
+*
+
+[ECO "B37"]
+[Opening "Szicíliai védelem, gyors fianchetto, Maróczy-kötés, 5...Fg7"]
+
+*
+
+[ECO "B38"]
+[Opening "Szicíliai védelem, gyors fianchetto, Maróczy-kötés, 6.Fe3"]
+
+*
+
+[ECO "B39"]
+[Opening "Szicíliai védelem, gyors fianchetto, Breyer-változat"]
+
+*
+
+[ECO "B40"]
+[Opening "Szicíliai védelem"]
+
+*
+
+[ECO "B41"]
+[Opening "Szicíliai, Kan-változat"]
+
+*
+
+[ECO "B42"]
+[Opening "Szicíliai, Kan, 5.Fd3"]
+
+*
+
+[ECO "B43"]
+[Opening "Szicíliai, Kan, 5.Hh3"]
+
+*
+
+[ECO "B44"]
+[Opening "Szicíliai védelem"]
+
+*
+
+[ECO "B45"]
+[Opening "Szicíliai, Tajmanov-változat"]
+
+*
+
+[ECO "B46"]
+[Opening "Szicíliai, Tajmanov-változat"]
+
+*
+
+[ECO "B47"]
+[Opening "Szicíliai, Tajmanov (Basztrikov) változat"]
+
+*
+
+[ECO "B48"]
+[Opening "Szicíliai, Tajmanov-változat"]
+
+*
+
+[ECO "B49"]
+[Opening "Szicíliai, Tajmanov-változat"]
+
+*
+
+[ECO "B51"]
+[Opening "Szicíliai, Canal-Sokolsky-támadás"]
+
+*
+
+[ECO "B52"]
+[Opening "Szicíliai, Canal-Sokolsky-támadás, 3...Fd7"]
+
+*
+
+[ECO "B53"]
+[Opening "Szicíliai Sicilian, Chekhover-változat"]
+
+*
+
+[ECO "B54"]
+[Opening "Szicíliai"]
+
+*
+
+[ECO "B55"]
+[Opening "Szicíliai, Prins-változat, Velencei támadás"]
+
+*
+
+[ECO "B56"]
+[Opening "Szicíliai"]
+
+*
+
+[ECO "B57"]
+[Opening "Szicíliai, Sozin (a scheveningeni nem), beleértve: Magnus
Smith-csapda"]
+
+*
+
+[ECO "B58"]
+[Opening "Szicíliai, klasszikus"]
+
+*
+
+[ECO "B59"]
+[Opening "Szicíliai, Boleslavsky-változat, 7.Hb3"]
+
+*
+
+[ECO "B60"]
+[Opening "Szicíliai, Richter-Rauzer"]
+
+*
+
+[ECO "B61"]
+[Opening "Szicíliai, Richter-Rauzer, Larsen-változat, 7.Vd2"]
+
+*
+
+[ECO "B62"]
+[Opening "Szicíliai, Richter-Rauzer, 6...e6"]
+
+*
+
+[ECO "B63"]
+[Opening "Szicíliai, Richter-Rauzer, Rauzer-támadás"]
+
+*
+
+[ECO "B64"]
+[Opening "Szicíliai, Richter-Rauzer, Rauzer-támadás, 7...Fe7 védelem,
9.f4"]
+
+*
+
+[ECO "B65"]
+[Opening "Szicíliai, Richter-Rauzer, Rauzer-támadás, 7...Fe7 védelem,
9...Hxd4"]
+
+*
+
+[ECO "B66"]
+[Opening "Szicíliai Sicilian, Richter-Rauzer, Rauzer-támadás, 7...a6"]
+
+*
+
+[ECO "B67"]
+[Opening "Szicíliai Sicilian, Richter-Rauzer, Rauzer-támadás, 7...a6
védelem, 8...Fd7"]
+
+*
+
+[ECO "B68"]
+[Opening "Szicíliai Sicilian, Richter-Rauzer, Rauzer-támadás, 7...a6
védelem, 9...Fe7"]
+
+*
+
+[ECO "B69"]
+[Opening "Szicíliai Sicilian, Richter-Rauzer, Rauzer-támadás, 7...a6
védelem, 11.Fxf6"]
+
+*
+
+[ECO "B70"]
+[Opening "Szicíliai, sárkányváltozat"]
+
+*
+
+[ECO "B71"]
+[Opening "Szicíliai, sárkány, Levenfish-változat"]
+
+*
+
+[ECO "B72"]
+[Opening "Szicíliai, sárkány, 6.Fe3"]
+
+*
+
+[ECO "B73"]
+[Opening "Szicíliai, sárkány, klasszikus, 8.O-O"]
+
+*
+
+[ECO "B74"]
+[Opening "Szicíliai, sárkány, klasszikus, 9.Hb3"]
+
+*
+
+[ECO "B75"]
+[Opening "Szicíliai, sárkány, jugoszláv támadás"]
+
+*
+
+[ECO "B76"]
+[Opening "Szicíliai, sárkány, jugoszláv támadás, 7...O-O"]
+
+*
+
+[ECO "B77"]
+[Opening "Szicíliai, sárkány, jugoszláv támadás, 9.Fc4"]
+
+*
+
+[ECO "B78"]
+[Opening "Szicíliai, sárkány, jugoszláv támadás, 10.O-O-O"]
+
+*
+
+[ECO "B79"]
+[Opening "Szicíliai, sárkány, jugoszláv tamadás, 12.h4"]
+
+*
+
+[ECO "B80"]
+[Opening "Szicíliai védelem, scheveningeni változat"]
+
+*
+
+[ECO "B81"]
+[Opening "Szicíliai, scheveningeni, Keresz-támadás"]
+
+*
+
+[ECO "B82"]
+[Opening "Szicíliai, scheveningeni, 6.f4"]
+
+*
+
+[ECO "B83"]
+[Opening "Szicíliai, scheveningeni, 6.fe2"]
+
+*
+
+[ECO "B84"]
+[Opening "Szicíliai, scheveningeni (Paulsen), klasszikus változat"]
+
+*
+
+[ECO "B85"]
+[Opening "Szicíliai, scheveningeni, klasszikus változat ...Vc7-tel
és ...Hc6-tal"]
+
+*
+
+[ECO "B86"]
+[Opening "Szicíliai, Sozin-támadás"]
+
+*
+
+[ECO "B87"]
+[Opening "Sozin ...a6-tal és ...b5-tel"]
+
+*
+
+[ECO "B88"]
+[Opening "Szicíliai, Sozin, Leonhardt-változat"]
+
+*
+
+[ECO "B89"]
+[Opening "Szicíliai, Sozin, 7.Fe3"]
+
+*
+
+[ECO "B90"]
+[Opening "Szicíliai, Najdorf"]
+
+*
+
+[ECO "B91"]
+[Opening "Szicíliai, Najdorf, zágrábi (fianchetto) változat (6.g3)"]
+
+*
+
+[ECO "B92"]
+[Opening "Szicíliai, Najdorf, Opocensky-változat (6.Fe2)"]
+
+*
+
+[ECO "B93"]
+[Opening "Szicíliai, Najdorf, 6.f4"]
+
+*
+
+[ECO "B94"]
+[Opening "Szicíliai, Najdorf, 6.Fg5"]
+
+*
+
+[ECO "B95"]
+[Opening "Szicíliai, Najdorf, 6...e6"]
+
+*
+
+[ECO "B96"]
+[Opening "Szicíliai, Najdorf, 7.f4"]
+
+*
+
+[ECO "B97"]
+[Opening "Szicíliai, Najdorf, 7...Vb6 beleértve: Mérgezett gyalog
változat"]
+
+*
+
+[ECO "B98"]
+[Opening "Szicíliai, Najdorf, 7...Fe7"]
+
+*
+
+[ECO "B99"]
+[Opening "Szicíliai, Najdorf, 7...Fe7 Fö változat"]
+
+*
+
+[ECO "C00"]
+[Opening "Francia védelem"]
+
***The diff for this file has been truncated for email.***

==============================================================================
Revision: 6918b1d47639
Author: gbtami
Date: Sun Dec 4 13:06:43 2011
Log: Use pgn2fen.sh to prodece eco.db
http://code.google.com/p/pychess/source/detail?r=6918b1d47639

Added:
/pgn2fen.sh
Modified:
/pgn2fen.py

=======================================
--- /dev/null
+++ /pgn2fen.sh Sun Dec 4 13:06:43 2011
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+PYTHONPATH=./lib python -3 -W ignore pgn2fen.py
=======================================
--- /pgn2fen.py Sun Dec 4 12:37:55 2011
+++ /pgn2fen.py Sun Dec 4 13:06:43 2011
@@ -60,13 +60,13 @@
# Several eco list contains only eco+name pairs, so
# we will use base ECO line move lists(FEN) from en eco.pgn
print "processing en eco.pgn"
- feed("../../../lang/en/eco.pgn", "en")
-
- for lang in [d for d in os.listdir("../../../lang") if
os.path.isdir("../../../lang/"+d)]:
+ feed("lang/en/eco.pgn", "en")
+
+ for lang in [d for d in os.listdir("lang") if
os.path.isdir("lang/"+d)]:
if lang == "en":
continue

- pgnfile = "../../../lang/%s/eco.pgn" % lang
+ pgnfile = "lang/%s/eco.pgn" % lang
if os.path.isfile(pgnfile):
print "processing %s eco.pgn" % lang
feed(pgnfile, lang)

==============================================================================
Revision: 1b90f538f2f5
Author: gbtami
Date: Mon Dec 5 07:49:43 2011
Log: Merged with revision 79fa5c503501 from openings-endgames branch.
http://code.google.com/p/pychess/source/detail?r=1b90f538f2f5

Deleted:
/doc/pychess.System.tsqlite.html
/lib/pychess/System/tsqlite.py
/open.db
Modified:
/MANIFEST.in
/lib/pychess/Main.py
/lib/pychess/Players/PyChess.py
/lib/pychess/Players/UCIEngine.py
/lib/pychess/Utils/Board.py
/lib/pychess/Utils/book.py
/lib/pychess/Utils/lutils/LBoard.py
/lib/pychess/Utils/lutils/lmove.py
/setup.py
/testing/run_tests.py

=======================================
--- /doc/pychess.System.tsqlite.html Thu Nov 23 13:00:11 2006
+++ /dev/null
@@ -1,105 +0,0 @@
-
-<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html><head><title>Python: module pychess.System.tsqlite</title>
-</head><body bgcolor="#f0f0f8">
-
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
-<tr bgcolor="#7799ee">
-<td valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica,
arial">&nbsp;<br><big><big><strong><a href="pychess.html"><font
color="#ffffff">pychess</font></a>.<a href="pychess.System.html"><font
color="#ffffff">System</font></a>.tsqlite</strong></big></big></font></td
-><td align=right valign=bottom
-><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a
href="file:/home/thomas/Programmering/python/skak/svn/lib/pychess/System/tsqlite.py">/home/thomas/Programmering/python/skak/svn/lib/pychess/System/tsqlite.py</a></font></td></tr></table>
-
<p><tt>This&nbsp;is&nbsp;a&nbsp;threadsafe&nbsp;wrapper&nbsp;sqlite.<br>
-It&nbsp;is&nbsp;not&nbsp;classbased,&nbsp;so&nbsp;only&nbsp;one&nbsp;database&nbsp;can&nbsp;be&nbsp;open&nbsp;at&nbsp;a&nbsp;time</tt></p>
-<p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#aa55cc">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#fffff" face="helvetica,
arial"><big><strong>Modules</strong></big></font></td></tr>
-
-<tr><td
bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><table width="100%" summary="list"><tr><td width="25%"
valign=top><a href="Queue.html">Queue</a><br>
-<a href="os.html">os</a><br>
-</td><td width="25%" valign=top><a
href="pysqlite2.dbapi2.html">pysqlite2.dbapi2</a><br>
-<a href="thread.html">thread</a><br>
-</td><td width="25%" valign=top><a href="time.html">time</a><br>
-</td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#ee77aa">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica,
arial"><big><strong>Classes</strong></big></font></td></tr>
-
-<tr><td
bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><dl>
-<dt><font face="helvetica, arial"><a
href="threading.html#Thread">threading.Thread</a>(<a
href="threading.html#_Verbose">threading._Verbose</a>)
-</font></dt><dd>
-<dl>
-<dt><font face="helvetica, arial"><a
href="pychess.System.tsqlite.html#DbWrapper">DbWrapper</a>
-</font></dt></dl>
-</dd>
-</dl>
- <p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#ffc8d8">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#000000" face="helvetica, arial"><a name="DbWrapper">class
<strong>DbWrapper</strong></a>(<a
href="threading.html#Thread">threading.Thread</a>)</font></td></tr>
-
-<tr><td bgcolor="#ffc8d8"><tt>&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><dl><dt>Method resolution order:</dt>
-<dd><a href="pychess.System.tsqlite.html#DbWrapper">DbWrapper</a></dd>
-<dd><a href="threading.html#Thread">threading.Thread</a></dd>
-<dd><a href="threading.html#_Verbose">threading._Verbose</a></dd>
-<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
-</dl>
-<hr>
-Methods defined here:<br>
-<dl><dt><a name="DbWrapper-__init__"><strong>__init__</strong></a>(self,
path, nr)</dt></dl>
-
-<dl><dt><a name="DbWrapper-run"><strong>run</strong></a>(self)</dt></dl>
-
-<hr>
-Methods inherited from <a
href="threading.html#Thread">threading.Thread</a>:<br>
-<dl><dt><a
name="DbWrapper-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
-
-<dl><dt><a
name="DbWrapper-getName"><strong>getName</strong></a>(self)</dt></dl>
-
-<dl><dt><a
name="DbWrapper-isAlive"><strong>isAlive</strong></a>(self)</dt></dl>
-
-<dl><dt><a
name="DbWrapper-isDaemon"><strong>isDaemon</strong></a>(self)</dt></dl>
-
-<dl><dt><a name="DbWrapper-join"><strong>join</strong></a>(self,
timeout<font color="#909090">=None</font>)</dt></dl>
-
-<dl><dt><a name="DbWrapper-setDaemon"><strong>setDaemon</strong></a>(self,
daemonic)</dt></dl>
-
-<dl><dt><a name="DbWrapper-setName"><strong>setName</strong></a>(self,
name)</dt></dl>
-
-<dl><dt><a
name="DbWrapper-start"><strong>start</strong></a>(self)</dt></dl>
-
-<hr>
-Data and other attributes inherited from <a
href="threading.html#_Verbose">threading._Verbose</a>:<br>
-<dl><dt><strong>__dict__</strong> = &lt;dictproxy
object&gt;<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dl>
-
-<dl><dt><strong>__weakref__</strong> = &lt;attribute '__weakref__'
of '_Verbose'
objects&gt;<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dl>
-
-</td></tr></table></td></tr></table><p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#eeaa77">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica,
arial"><big><strong>Functions</strong></big></font></td></tr>
-
-<tr><td
bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><dl><dt><a
name="-close"><strong>close</strong></a>()</dt></dl>
- <dl><dt><a name="-connect"><strong>connect</strong></a>(path)</dt></dl>
- <dl><dt><a
name="-execSQL"><strong>execSQL</strong></a>(*queries)</dt></dl>
-</td></tr></table><p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#55aa55">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica,
arial"><big><strong>Data</strong></big></font></td></tr>
-
-<tr><td
bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><strong>END_CMD</strong> = 1<br>
-<strong>SQL_CMD</strong> = 0<br>
-<strong>qthreads</strong> = 0<br>
-<strong>sqlqueue</strong> = &lt;Queue.Queue instance&gt;</td></tr></table>
-</body></html>
=======================================
--- /lib/pychess/System/tsqlite.py Tue Nov 23 04:00:47 2010
+++ /dev/null
@@ -1,73 +0,0 @@
-""" This is a threadsafe wrapper sqlite.
- It is not classbased, so only one database can be open at a time """
-
-import sqlite3 as sqlite
-import Queue, time, os
-from threading import Thread
-
-sqlqueue = Queue.Queue()
-
-SQL_CMD, END_CMD = range(2)
-
-class DbWrapper(Thread):
- def __init__(self, path):
- Thread.__init__(self)
- self.setDaemon(True)
- self.path = path
-
- def run(self):
- con = sqlite.connect(self.path)
- cur = con.cursor()
- while True:
- cmd, queries, resultqueue = sqlqueue.get()
- # print "Conn %d -> %s -> %s" % (self.nr, cmd, queries)
- if cmd == SQL_CMD:
- commitneeded = False
- res = []
- for sql in queries:
- try:
- cur.execute(sql)
- except Exception, e:
- print sql
- raise e
- if not sql.upper().startswith("SELECT"):
- commitneeded = True
- res += cur.fetchall()
- if commitneeded: con.commit()
- resultqueue.put(res)
- else:
- # allow other threads to stop
- sqlqueue.put((cmd, queries, resultqueue))
- resultqueue.put(None)
- break
-
-def connect (path):
- wrap = DbWrapper(path)
- wrap.start()
-
-def close ():
- resultqueue = Queue.Queue()
- sqlqueue.put((END_CMD, [], resultqueue))
- resultqueue.get()
-
-def execSQL (*queries):
- resultqueue = Queue.Queue()
- sqlqueue.put((SQL_CMD, queries, resultqueue))
- return resultqueue.get()
-
-if __name__ == "__main__":
- dbname = "test.db"
- connect (dbname)
- execSQL ("drop table if exists people",
- "create table people (name_last, age integer)")
- # don't add connections before creating table
- connect (dbname)
- # insert one row
- execSQL ("insert into people (name_last, age) values ('Smith', 80)")
- # insert two rows in one transaction
- execSQL ("insert into people (name_last, age) values ('Jones', 55)",
- "insert into people (name_last, age) values ('Gruns', 25)")
- for name, age in execSQL ("select * from people"):
- print "%s: %d" % (name, age)
- close()
- os.remove(dbname)
=======================================
--- /open.db Fri Dec 1 08:58:18 2006
+++ /dev/null
Binary file, no diff available.
=======================================
--- /MANIFEST.in Tue May 31 04:06:24 2011
+++ /MANIFEST.in Mon Dec 5 07:49:43 2011
@@ -4,6 +4,6 @@
include sounds/*.ogg
include manpages/pychess.1.gz
include gtksourceview-1.0/language-specs/pgn.lang
-include open.db
+include pychess_book.bin
include pychess.desktop pychess.svg pychess.png
recursive-include lang *.po
=======================================
--- /lib/pychess/Main.py Sat Jul 2 17:24:33 2011
+++ /lib/pychess/Main.py Mon Dec 5 07:49:43 2011
@@ -11,7 +11,6 @@
from pychess.System.uistuff import POSITION_NONE, POSITION_CENTER,
POSITION_GOLDEN
from pychess.System.Log import log, start_thread_dump
from pychess.Utils.const import HINT, NAME, SPY
-from pychess.Utils import book # Kills pychess if no sqlite available
from pychess.widgets import newGameDialog
from pychess.widgets import tipOfTheDay
from pychess.widgets import LogDialog
=======================================
--- /lib/pychess/Players/PyChess.py Wed Jun 29 02:05:05 2011
+++ /lib/pychess/Players/PyChess.py Mon Dec 5 07:49:43 2011
@@ -76,27 +76,22 @@
return max(80-x,4)

def __getBestOpening (self):
- score = 0
- move = None
- for m, w, d, l in getOpenings(self.board):
- s = (w+d/3.0)*random.random()
- if not move or s > score:
- move = m
- score = s
- return move
+ totalWeight = 0
+ choice = None
+ for move, weight, histGames, histScore in getOpenings(self.board):
+ totalWeight += weight
+ if not move or random.randrange(totalWeight) < weight:
+ choice = move
+ return choice

def __go (self, worker):
""" Finds and prints the best move from the current position """

- # TODO: Length info should be put in the book.
- # Btw. 10 is not enough. Try 20
- #if len(self.board.history) < 14:
- movestr = self.__getBestOpening()
- if movestr:
- mvs = [parseSAN(self.board, movestr)]
-
- #if len(self.board.history) >= 14 or not movestr:
- if not movestr:
+ mv = self.__getBestOpening()
+ if mv:
+ mvs = [mv]
+
+ if not mv:

lsearch.skipPruneChance = self.skipPruneChance
lsearch.useegtb = self.useegtb
=======================================
--- /lib/pychess/Players/UCIEngine.py Sat Jul 2 10:04:30 2011
+++ /lib/pychess/Players/UCIEngine.py Mon Dec 5 07:49:43 2011
@@ -378,7 +378,7 @@
if self.board.asFen() == FEN_START:
commands.append("position startpos")
else:
- commands.append("position fen %s" %
self.board.asXFen())
+ commands.append("position fen %s" % self.board.asFen())
commands.append("go infinite")

if self.needBestmove:
@@ -393,7 +393,7 @@
self.readyForStop = True

def _startPonder (self):
- print >> self.engine, "position fen", self.board.asXFen(), \
+ print >> self.engine, "position fen", self.board.asFen(), \
"moves", toAN(self.board, self.pondermove,
short=True)
print >> self.engine, "go ponder wtime", self.wtime, \
"btime", self.btime, "winc", self.incr, "binc", self.incr
=======================================
--- /lib/pychess/Utils/Board.py Fri Jul 22 15:01:50 2011
+++ /lib/pychess/Utils/Board.py Mon Dec 5 07:49:43 2011
@@ -212,9 +212,6 @@
def asFen (self):
return self.board.asFen()

- def asXFen (self):
- return self.board.asFen(useXFen=True)
-
def __repr__ (self):
return str(self.board)

=======================================
--- /lib/pychess/Utils/book.py Wed Jun 29 02:05:05 2011
+++ /lib/pychess/Utils/book.py Mon Dec 5 07:49:43 2011
@@ -1,161 +1,53 @@
-
-################################################################################
-# This module is deprecated and uses no longer existing APIs.
-# After work has been made towards supporting general book formats, its
-# usefulness may also be disputed.
-################################################################################
-
-from pychess.System import tsqlite
-from pychess.System.ThreadPool import pool
-from pychess.System.prefix import addDataPrefix
+import os
+from ctypes import *
+
from pychess.Utils.const import *
-from time import time
-import atexit
-import os.path
-import re
-import sys
-
-
-path = os.path.join(addDataPrefix("open.db"))
-tsqlite.connect(path)
-
-atexit.register(tsqlite.close)
+from pychess.System.prefix import addDataPrefix
+from pychess.Utils.lutils.lmove import parsePolyglot
+
+# 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
+
+class BookEntry(BigEndianStructure):
+ _fields_ = [ ('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:
+ ('games', c_uint16), # the number of times it's been
tried
+ ('score', c_uint16) # 2 for each win, 1 for each draw
+ ]
+

def getOpenings (board):
- return tsqlite.execSQL (
- "select move,wins,draws,loses from openings where fen = '%s'" % \
-
fen(board))
-
-# # # CREATION # # #
-
-def stripBrackets (string):
- brackets = 0
- end = 0
- result = ""
- for i, c in enumerate(string):
- if c == '(':
- if brackets == 0:
- result += string[end:i]
- brackets += 1
- elif c == ')':
- brackets -= 1
- if brackets == 0:
- end = i+1
- result += string[end:]
- return result
-
-if __name__ == "__main__":
- MAXMOVES = 14
- PROFILE = False
- FILESMAX = 0
- from pychess.Utils.Move import movePool, parseSAN, toSAN
-
- tagre = re.compile(r"\[([a-zA-Z]+)[ \t]+\"(.+?)\"\]")
- movre = re.compile(r"([a-hxOKQRBN0-8+#=-]{2,7})\s")
- comre = re.compile(r"(?:\{.*?\})|(?:;.*?[\n\r])|(?:\$[0-9]+)",
re.DOTALL)
- resultDic = {"1-0":0, "1/2-1/2":1, "0-1":2}
-
-def load (file):
- files = []
- inTags = False
- for line in file:
- if FILESMAX and len(files) > FILESMAX: break
-
- line = line.lstrip()
- if not line: continue
- elif line.startswith("%"): continue
-
- if line.startswith("["):
- if not inTags:
- files.append(["",""])
- inTags = True
- files[-1][0] += line
-
- else:
- inTags = False
- files[-1][1] += line
-
- history = History(False)
- max = str(len(files))
- start = time()
- for i, myFile in enumerate(files):
- number = str(i).rjust(len(max))
- procent = ("%.1f%%" % (i/float(len(files))*100)).rjust(4)
- if i == 0:
- estimation = "N/A etr"
- speed = "N/A g/s"
- else:
- s = round((time()-start)/i*(len(files)-i))
- estimation = ("%d:%02d etr" % (s / 60, s % 60)).rjust(5)
- speed = "%.2f g/s" % (i/(time()-start))
- print "%s/%s: %s - %s (%s)" % (number, max, procent, estimation,
speed)
- try:
- tags = dict(tagre.findall(myFile[0]))
- if not tags["Result"] in ("1/2-1/2", "1-0", "0-1"):
- continue
- moves = comre.sub("", myFile[1])
- moves = stripBrackets(moves)
- moves = movre.findall(moves+" ")
- if moves[-1] in ("*", "1/2-1/2", "1-0", "0-1"):
- del moves[-1]
- except:
- # Could not parse game
- continue
-
- mcatch = []
- if MAXMOVES: moves = moves[:MAXMOVES]
- for move in moves:
- try:
- m = parseSAN(history,move)
- except:
- continue
- epd = fen(history[-1])
- res = resultDic[tags["Result"]]
- if epd.endswith("b"): res = 2-res
- history.add(m, False)
- yield epd, toSAN(history[-2], history[-1], history.moves[-1]),
res
- mcatch.append(m)
- history.reset(False)
- for move in mcatch:
- movePool.add(move)
- del mcatch[:]
-
-# We can't use boardhash for dbkeys, as the boardhashes vary for each time
Board.py is loaded.
-def fen (board):
- """ Returns a fenstring, only containing the two first fields, as the
book
- is build in a such way. In next book this should probably be
changed. """
- return " ".join(board.asFen().split(" ")[:2])
-
-def remake ():
- tsqlite.execSQL("drop table if exists openings")
- tsqlite.execSQL("create table openings( fen varchar(73), move
varchar(7), \
- wins int DEFAULT 0, draws int DEFAULT 0, loses int
DEFAULT 0)")
-
- resd = ["wins","draws","loses"]
-
- sql1 = "select * from openings WHERE fen = '%s' AND move = '%s'"
- sql2 = "UPDATE openings SET %s = %s+1 WHERE fen = '%s' AND move = '%s'"
- sql3 = "INSERT INTO openings (fen,move,%s) VALUES ('%s','%s',1)"
- def toDb (fenstr, move, res):
- if tsqlite.execSQL (sql1 % (fenstr, move)):
- tsqlite.execSQL (sql2 % (res, res, fenstr, move))
- else: tsqlite.execSQL (sql3 % (res, fenstr, move))
-
- for fenstr, move, score in load(open(sys.argv[1])):
- pool.start(toDb,fenstr, move, resd[score])
-
- for fen, move, w, l, d in tsqlite.execSQL ("select * from openings"):
- print fen.ljust(65), move.ljust(7), w, "\t", l, "\t", d
-
- tsqlite.close()
-
-if __name__ == "__main__":
- if not PROFILE:
- remake()
- else:
- import profile
- profile.run("remake()", "/tmp/pychessprofile")
- from pstats import Stats
- s = Stats("/tmp/pychessprofile")
- s.sort_stats("time")
- s.print_stats()
+ """ Return a tuple (move, weight, games, score) 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. """
+ path = os.path.join(addDataPrefix("pychess_book.bin"))
+ openings = list()
+ with open(path, "rb") as bookFile:
+ key = board.hash
+ entry = BookEntry()
+ # Find the first entry whose key is >= the position's hash
+ bookFile.seek(0, os.SEEK_END)
+ lo, hi = 0, bookFile.tell() / 16 - 1
+ if hi < 0:
+ return openings
+ while lo < hi:
+ mid = (lo + hi) / 2
+ bookFile.seek(mid * 16)
+ bookFile.readinto(entry)
+ if entry.key < key:
+ lo = mid + 1
+ else:
+ hi = mid
+
+ bookFile.seek(lo * 16)
+ while bookFile.readinto(entry) == 16:
+ if entry.key != key:
+ break
+ mv = parsePolyglot(board, entry.move)
+ openings.append( ( mv, entry.weight, entry.games, entry.score
) )
+ return openings
=======================================
--- /lib/pychess/Utils/lutils/LBoard.py Tue Jul 5 07:11:16 2011
+++ /lib/pychess/Utils/lutils/LBoard.py Mon Dec 5 07:49:43 2011
@@ -5,34 +5,10 @@
from ldata import *
from attack import isAttacked
from bitboard import *
+from PolyglotHash import *
from threading import RLock
from copy import deepcopy

-################################################################################
-# Zobrit hashing 32 bit
implementation #
-################################################################################
-
-from sys import maxint
-from random import randint
-
-pieceHashes = [[[0]*64 for i in range(7)] for j in range(2)]
-for color in WHITE, BLACK:
- for piece in PAWN, KNIGHT, BISHOP, ROOK, QUEEN, KING:
- for cord in range(64):
- pieceHashes[color][piece][cord] = randint(0, maxint)
-
-epHashes = []
-for cord in range(64):
- epHashes.append(randint(0, maxint))
-
-W_OOHash = randint(0, maxint)
-W_OOOHash = randint(0, maxint)
-B_OOHash = randint(0, maxint)
-B_OOOHash = randint(0, maxint)
-
-# Will be set each time black is on move
-colorHash = randint(0, maxint)
-
# 50 moves rule is not hashed, as it is so rarly used and would greatly
damage
# our transposition table.

@@ -54,15 +30,16 @@
self._reset()

def _reset (self):
+ """ Set board to empty on Black's turn (which Polyglot-hashes to
0) """
self.blocker = createBoard(0)

self.friends = [createBoard(0)]*2
self.kings = [-1]*2
self.boards = [[createBoard(0)]*7 for i in range(2)]

- self.enpassant = -1
- self.color = WHITE
- self.castling = B_OOO | B_OO | W_OOO | W_OO
+ self.enpassant = None
+ self.color = BLACK
+ self.castling = 0
self.hasCastled = [False, False]
self.fifty = 0

@@ -269,7 +246,6 @@
self.pawnhash ^= pieceHashes[color][PAWN][cord]
elif piece == KING:
self.kings[color] = cord
-
self.hash ^= pieceHashes[color][piece][cord]
self.arBoard[cord] = piece

@@ -315,11 +291,24 @@
self.castling = castling

def setEnpassant (self, epcord):
+ # Strip the square if there's no adjacent enemy pawn to make the
capture
+ if epcord != 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 != None:
- self.hash ^= epHashes[self.enpassant]
+ self.hash ^= epHashes[self.enpassant & 7]
if epcord != None:
- self.hash ^= epHashes[epcord]
+ self.hash ^= epHashes[epcord & 7]
self.enpassant = epcord

def applyMove (self, move):
@@ -401,69 +390,37 @@
self.fifty = 0

# Clear castle flags
+ castling = self.castling
if self.color == WHITE:
if fpiece == KING:
- if self.castling & W_OOO:
- self.hash ^= W_OOOHash
- self.castling &= ~W_OOO
-
- if self.castling & W_OO:
- self.hash ^= W_OOHash
- self.castling &= ~W_OO
-
+ castling &= ~W_OOO
+ castling &= ~W_OO
if fpiece == ROOK:
if fcord == self.ini_rooks[0][1]: #H1
- if self.castling & W_OO:
- self.hash ^= W_OOHash
- self.castling &= ~W_OO
-
+ castling &= ~W_OO
elif fcord == self.ini_rooks[0][0]: #A1
- if self.castling & W_OOO:
- self.hash ^= W_OOOHash
- self.castling &= ~W_OOO
-
+ castling &= ~W_OOO
if tpiece == ROOK:
if tcord == self.ini_rooks[1][1]: #H8
- if self.castling & B_OO:
- self.hash ^= B_OOHash
- self.castling &= ~B_OO
-
+ castling &= ~B_OO
elif tcord == self.ini_rooks[1][0]: #A8
- if self.castling & B_OOO:
- self.hash ^= B_OOOHash
- self.castling &= ~B_OOO
+ castling &= ~B_OOO
else:
if fpiece == KING:
- if self.castling & B_OOO:
- self.hash ^= B_OOOHash
- self.castling &= ~B_OOO
-
- if self.castling & B_OO:
- self.hash ^= B_OOHash
- self.castling &= ~B_OO
-
+ castling &= ~B_OOO
+ castling &= ~B_OO
if fpiece == ROOK:
if fcord == self.ini_rooks[1][1]: #H8
- if self.castling & B_OO:
- self.hash ^= B_OOHash
- self.castling &= ~B_OO
-
+ castling &= ~B_OO
elif fcord == self.ini_rooks[1][0]: #A8
- if self.castling & B_OOO:
- self.hash ^= B_OOOHash
- self.castling &= ~B_OOO
-
+ castling &= ~B_OOO
if tpiece == ROOK:
if tcord == self.ini_rooks[0][1]: #H1
- if self.castling & W_OO:
- self.hash ^= W_OOHash
- self.castling &= ~W_OO
-
+ castling &= ~W_OO
elif tcord == self.ini_rooks[0][0]: #A1
- if self.castling & W_OOO:
- self.hash ^= W_OOOHash
- self.castling &= ~W_OOO
-
+ castling &= ~W_OOO
+ self.setCastling(castling)
+
if not flag in PROMOTIONS:
if self.variant == FISCHERRANDOMCHESS:
if flag in (KING_CASTLE, QUEEN_CASTLE):
@@ -635,7 +592,7 @@
b += "\n"
return b

- def asFen (self, useXFen=False):
+ def asFen (self):
fenstr = []

rows = [self.arBoard[i:i+8] for i in range(0,64,8)][::-1]
@@ -669,16 +626,6 @@
if not self.enpassant:
fenstr.append("-")
else:
- fwdPawns = self.boards[self.color][PAWN]
- if self.color == WHITE:
- fwdPawns >>= 8
- else:
- fwdPawns <<= 8
- pawnTargets = (fwdPawns & ~fileBits[0]) << 1;
- pawnTargets |= (fwdPawns & ~fileBits[7]) >> 1;
- if useXFen and not pawnTargets & bitPosArray[self.enpassant]:
- fenstr.append("-")
- else:
fenstr.append(reprCord[self.enpassant])
fenstr.append(" ")

@@ -712,7 +659,7 @@
copy.hash = self.hash
copy.pawnhash = self.pawnhash

- # We don't need to deepcopy the tupples, as they are imutable
+ # We don't need to deepcopy the tuples, as they are imutable
copy.history = self.history[:]

copy.ini_kings = self.ini_kings[:]
=======================================
--- /lib/pychess/Utils/lutils/lmove.py Mon Jul 11 14:08:51 2011
+++ /lib/pychess/Utils/lutils/lmove.py Mon Dec 5 07:49:43 2011
@@ -523,3 +523,52 @@

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)
=======================================
--- /setup.py Wed Apr 13 00:10:55 2011
+++ /setup.py Mon Dec 5 07:49:43 2011
@@ -67,7 +67,7 @@
os.chdir(os.path.abspath(os.path.dirname(__file__)))

DATA_FILES = [("share/pychess",
-
["README", "AUTHORS", "ARTISTS", "DOCUMENTERS", "LICENSE", "TRANSLATORS", "open.db"])]
+
["README", "AUTHORS", "ARTISTS", "DOCUMENTERS", "LICENSE", "TRANSLATORS", "pychess_book.bin"])]

# UI
DATA_FILES += [("share/pychess/glade", glob('glade/*.glade'))]
=======================================
--- /testing/run_tests.py Thu Jun 2 06:58:35 2011
+++ /testing/run_tests.py Mon Dec 5 07:49:43 2011
@@ -1,7 +1,6 @@
import unittest

modules_to_test = (
- 'ficsmanagers',
"bitboard",
"draw",
"eval",
@@ -12,6 +11,8 @@
"movegen",
"pgn",
"zobrist",
+ "polyglot",
+ 'ficsmanagers',
'analysis',
)


==============================================================================
Revision: b1d3deaab564
Author: gbtami
Date: Mon Dec 5 09:12:25 2011
Log: Set opening after game changed
http://code.google.com/p/pychess/source/detail?r=b1d3deaab564

Modified:
/lib/pychess/Utils/GameModel.py

=======================================
--- /lib/pychess/Utils/GameModel.py Sun Dec 4 12:37:55 2011
+++ /lib/pychess/Utils/GameModel.py Mon Dec 5 09:12:25 2011
@@ -519,14 +519,15 @@
if self.timemodel:
self.timemodel.tap()

- self.setOpening()
-
self.checkStatus()

self.emit("game_changed")

for spectator in self.spectators.values():
spectator.putMove(self.boards[-1], self.moves[-1],
self.boards[-2])
+
+ self.setOpening()
+
finally:
log.debug("GameModel.run: releasing
self.applyingMoveLock\n")
self.applyingMoveLock.release()

==============================================================================
Revision: fe2e5ddfbe03
Author: gbtami
Date: Mon Dec 5 10:48:17 2011
Log: Better lang detection
http://code.google.com/p/pychess/source/detail?r=fe2e5ddfbe03

Modified:
/lib/pychess/Utils/GameModel.py
/lib/pychess/Utils/eco.py

=======================================
--- /lib/pychess/Utils/GameModel.py Mon Dec 5 09:12:25 2011
+++ /lib/pychess/Utils/GameModel.py Mon Dec 5 10:48:17 2011
@@ -193,6 +193,10 @@
self.emit("spectators_changed")

def setOpening(self):
+ # TODO: Is this correct for pychess_book.bin ?
+ if self.ply > 20:
+ return
+
if self.isMainlineBoard(self.ply):
opening = get_eco(self.getBoardAtPly(self.ply).asFen())
if opening is not None:
=======================================
--- /lib/pychess/Utils/eco.py Sun Dec 4 12:37:55 2011
+++ /lib/pychess/Utils/eco.py Mon Dec 5 10:48:17 2011
@@ -1,6 +1,6 @@
import os
import atexit
-import locale
+import gettext
import sqlite3

from pychess.System.prefix import addDataPrefix
@@ -10,8 +10,11 @@

atexit.register(conn.close)

-lang = locale.getdefaultlocale()[0][:2]
-
+mofile = gettext.find('pychess')
+if mofile is None:
+ lang = "en"
+else:
+ lang = mofile.split(os.sep)[-3]

def get_eco(fen):
cur = conn.cursor()

==============================================================================
Revision: 4ee9f3295cc4
Author: gbtami
Date: Mon Dec 5 13:55:13 2011
Log: Use polyglot hash instead of FEN
http://code.google.com/p/pychess/source/detail?r=4ee9f3295cc4

Modified:
/lib/pychess/Utils/GameModel.py
/lib/pychess/Utils/eco.py
/pgn2fen.py

=======================================
--- /lib/pychess/Utils/GameModel.py Mon Dec 5 10:48:17 2011
+++ /lib/pychess/Utils/GameModel.py Mon Dec 5 13:55:13 2011
@@ -198,7 +198,7 @@
return

if self.isMainlineBoard(self.ply):
- opening = get_eco(self.getBoardAtPly(self.ply).asFen())
+ opening = get_eco(self.getBoardAtPly(self.ply).board.hash)
if opening is not None:
self.tags["ECO"] = opening[0]
self.tags["Opening"] = opening[1]
=======================================
--- /lib/pychess/Utils/eco.py Mon Dec 5 10:48:17 2011
+++ /lib/pychess/Utils/eco.py Mon Dec 5 13:55:13 2011
@@ -16,9 +16,9 @@
else:
lang = mofile.split(os.sep)[-3]

-def get_eco(fen):
+def get_eco(hash):
cur = conn.cursor()
- cur.execute("select eco, name from openings where fen='%s' and
lang='%s'" % (fen, lang))
- row = cur.fetchone()
- return row
-
+ select = "select eco, name from openings where hash=? and lang=?"
+ cur.execute(select, (buffer(hex(hash)), lang))
+ return cur.fetchone()
+
=======================================
--- /pgn2fen.py Sun Dec 4 13:06:43 2011
+++ /pgn2fen.py Mon Dec 5 13:55:13 2011
@@ -16,7 +16,7 @@
c = conn.cursor()

c.execute("drop table if exists openings")
- c.execute("create table openings(fen text, base integer, eco text,
lang text, name text)")
+ c.execute("create table openings(hash blob, base integer, eco text,
lang text, name text)")

def feed(pgnfile, lang):
cf = load(open(pgnfile))
@@ -45,20 +45,20 @@
cu.execute("select * from openings where eco=? and
lang='en' and base=1", (eco,))
res = cu.fetchone()
if res is not None:
- fen = res[0]
+ hash = res[0]
else:
- fen = model.boards[-1].asFen()
+ hash = buffer(hex(model.boards[-1].board.hash))

if name:
- rows.append((fen, base, eco, lang, name))
+ rows.append((hash, base, eco, lang, name))

old_eco = eco
-
- c.executemany("insert into openings(fen, base, eco, lang, name)
values (?, ?, ?, ?, ?)", rows)
+
+ c.executemany("insert into openings(hash, base, eco, lang, name)
values (?, ?, ?, ?, ?)", rows)
conn.commit()

# Several eco list contains only eco+name pairs, so
- # we will use base ECO line move lists(FEN) from en eco.pgn
+ # we will use base ECO line positions from en eco.pgn
print "processing en eco.pgn"
feed("lang/en/eco.pgn", "en")


==============================================================================
Revision: 8fd4e0e20dd7
Author: gbtami
Date: Mon Dec 5 14:03:38 2011
Log: Fix openings for undo
http://code.google.com/p/pychess/source/detail?r=8fd4e0e20dd7

Modified:
/lib/pychess/Utils/GameModel.py

=======================================
--- /lib/pychess/Utils/GameModel.py Mon Dec 5 13:55:13 2011
+++ /lib/pychess/Utils/GameModel.py Mon Dec 5 14:03:38 2011
@@ -198,7 +198,10 @@
return

if self.isMainlineBoard(self.ply):
- opening = get_eco(self.getBoardAtPly(self.ply).board.hash)
+ if self.ply > 0:
+ opening = get_eco(self.getBoardAtPly(self.ply).board.hash)
+ else:
+ opening = ("", "")
if opening is not None:
self.tags["ECO"] = opening[0]
self.tags["Opening"] = opening[1]
@@ -702,6 +705,7 @@
self.timemodel.undoMoves(moves)

self.checkStatus()
+ self.setOpening()
finally:
log.debug("GameModel.undoMoves: releasing
self.applyingMoveLock\n")
self.applyingMoveLock.release()

==============================================================================
Revision: 275347aa3399
Author: gbtami
Date: Mon Dec 5 14:28:48 2011
Log: Fix the case when we have only one but losing game in the book
for a board
http://code.google.com/p/pychess/source/detail?r=275347aa3399

Modified:
/lib/pychess/Players/PyChess.py

=======================================
--- /lib/pychess/Players/PyChess.py Mon Dec 5 07:49:43 2011
+++ /lib/pychess/Players/PyChess.py Mon Dec 5 14:28:48 2011
@@ -80,6 +80,8 @@
choice = None
for move, weight, histGames, histScore in getOpenings(self.board):
totalWeight += weight
+ if totalWeight == 0:
+ break
if not move or random.randrange(totalWeight) < weight:
choice = move
return choice

==============================================================================
Revision: a1cfcaac05ca
Author: gbtami
Date: Tue Dec 6 02:27:42 2011
Log: Better lang detection
http://code.google.com/p/pychess/source/detail?r=a1cfcaac05ca

Modified:
/lib/pychess/Utils/eco.py
/pychess

=======================================
--- /lib/pychess/Utils/eco.py Mon Dec 5 13:55:13 2011
+++ /lib/pychess/Utils/eco.py Tue Dec 6 02:27:42 2011
@@ -10,7 +10,7 @@

atexit.register(conn.close)

-mofile = gettext.find('pychess')
+mofile = gettext.find('pychess', localedir=addDataPrefix("lang"))
if mofile is None:
lang = "en"
else:
=======================================
--- /pychess Sat Jul 9 16:42:28 2011
+++ /pychess Tue Dec 6 02:27:42 2011
@@ -31,7 +31,7 @@
if not "HOME" in os.environ:
os.environ["HOME"] = os.path.expanduser("~")
if "PYTHONPATH" in os.environ:
- os.environ["PYTHONPATH"] = os.path.abspath(os.environ["PYTHONPATH"])
+ os.environ["PYTHONPATH"] = os.path.abspath(os.environ["PYTHONPATH"])



###############################################################################

==============================================================================
Revision: f0ae8bf2d76a
Author: gbtami
Date: Tue Dec 6 03:37:28 2011
Log: Cleaning up hungarian eco.pgn
http://code.google.com/p/pychess/source/detail?r=f0ae8bf2d76a

Modified:
/lang/hu/eco.pgn

=======================================
--- /lang/hu/eco.pgn Sun Dec 4 12:40:44 2011
+++ /lang/hu/eco.pgn Tue Dec 6 03:37:28 2011
@@ -1,15 +1,166 @@
[ECO "A00"]
-[Opening "Rendhagyó megnyitások (Anderssen-megnyitás, Amar-megnyitás,
Barnes-megnyitás, Benkö-megnyitás, Clemenz-megnyitás, Desprez-megnyitás,
Dunst-megnyitás, Durkin-megnyitás, Grob-támadás, Mieses-megnyitás,
Saragossa-megnyitás, Orangután-megnyitás, Van't Kruijs-megnyitás és
Ware-megnyitás)"]
-
-*
+[Opening "Lengyel (Szokolszkij) megnyitás"]
+
+1. b4
+
+[ECO "A00"]
+[Opening "Lengyel"]
+[Variation "Tuebingen változat"]
+
+1. b4 Nh6
+
+[ECO "A00"]
+[Opening "Lengyel"]
+[Variation "Outflank változat"]
+
+1. b4 c6
+
+[ECO "A00"]
+[Opening "Benkö-megnyitás"]
+
+1. g3
+
+[ECO "A00"]
+[Opening "Benkö-megnyitás"]
+[Variation "fordított Aljehin"]
+
+1. g3 e5 2. Nf3
+
+[ECO "A00"]
+[Opening "Grob támadás"]
+
+1. g4
+
+[ECO "A00"]
+[Opening "Grob"]
+[Variation "Spike támadás"]
+
+1. g4 d5 2. Bg2 c6 3. g5
+
+[ECO "A00"]
+[Opening "Grob"]
+[Variation "Fritz-csel"]
+
+1. g4 d5 2. Bg2 Bxg4 3. c4
+
+[ECO "A00"]
+[Opening "Grob"]
+[Variation "Romford ellencsel"]
+
+1. g4 d5 2. Bg2 Bxg4 3. c4 d4
+
+[ECO "A00"]
+[Opening "Clemenz megnyitás"]
+
+1. h3
+
+[ECO "A00"]
+[Opening "Amar megnyitás"]
+
+1. Nh3
+
+[ECO "A00"]
+[Opening "Amar csel"]
+
+1. Nh3 d5 2. g3 e5 3. f4 Bxh3 4. Bxh3 exf4
+
+[ECO "A00"]
+[Opening "Dunszt megnyitás"]
+
+1. Nc3
+
+[ECO "A00"]
+[Opening "Dunszt megnyitás"]
+
+1. Nc3 e5
+
+[ECO "A00"]
+[Opening "Battambang megnyitás"]
+
+1. Nc3 e5 2. a3
+
+[ECO "A00"]
+[Opening "Novoszibirszk megnyitás"]
+
+1. Nc3 c5 2. d4 cxd4 3. Qxd4 Nc6 4. Qh4
+
+[ECO "A00"]
+[Opening "Anderzen megnyitás"]
+
+1. a3
+
+[ECO "A00"]
+[Opening "Ware megnyitás"]
+
+1. a4
+
+[ECO "A00"]
+[Opening "Crab Opening"]
+
+1. a4 e5 2. h4
+
+[ECO "A00"]
+[Opening "Zaragóza megnyitás"]
+
+1. c3
+
+[ECO "A00"]
+[Opening "Mieses megnyitás"]
+
+1. d3
+
+[ECO "A00"]
+[Opening "Mieses Opening"]
+
+1. d3 e5
+
+[ECO "A00"]
+[Opening "Valencia megnyitás"]
+
+1. d3 e5 2. Nd2
+
+[ECO "A00"]
+[Opening "Venezolana megnyitás"]
+
+1. d3 c5 2. Nc3 Nc6 3. g3
+
+[ECO "A00"]
+[Opening "Van't Kruijs megnyitás"]
+
+1. e3
+
+[ECO "A00"]
+[Opening "Amszterdam támadás"]
+
+1. e3 e5 2. c4 d6 3. Nc3 Nc6 4. b3 Nf6
+
+[ECO "A00"]
+[Opening "Gedult megnyitás"]
+
+1. f3
+
+[ECO "A00"]
+[Opening "Hammerschlag megnyitás"]
+
+1. f3 e5 2. Kf2
+
+[ECO "A00"]
+[Opening "Anti-Borg megnyitás"]
+
+1. h4
+
+[ECO "A00"]
+[Opening "Durkin támadás"]
+
+1. Na3

[ECO "A01"]
-[Opening "Larsen-megnyitás"]
+[Opening "Larsen megnyitás"]

*

[ECO "A02"]
-[Opening "Bird-megnyitás"]
+[Opening "Bird megnyitás"]

*

@@ -19,32 +170,32 @@
*

[ECO "A04"]
-[Opening "Réti-megnyitás"]
+[Opening "Réti megnyitás"]

*

[ECO "A05"]
-[Opening "Réti-megnyitás, 2...Hf6"]
+[Opening "Réti megnyitás, 2...Hf6"]

*

[ECO "A06"]
-[Opening "Réti-megnyitás, 2...d5"]
+[Opening "Réti megnyitás, 2...d5"]

*

[ECO "A07"]
-[Opening "Réti-megnyitás, Királyindiai támadás (Barcza-rendszer)"]
+[Opening "Réti megnyitás, Királyindiai támadás (Barcza-rendszer)"]

*

[ECO "A08"]
-[Opening "Réti-megnyitás, Királyindiai támadás"]
+[Opening "Réti megnyitás, Királyindiai támadás"]

*

[ECO "A09"]
-[Opening "Réti-megnyitás, 2...d5 3.c4"]
+[Opening "Réti megnyitás, 2...d5 3.c4"]

*

@@ -209,7 +360,7 @@
*

[ECO "A42"]
-[Opening "Modern védelem (sakk), Averbakh-rendszer"]
+[Opening "Modern védelem, Averbakh-rendszer"]

*

@@ -499,12 +650,12 @@
*

[ECO "B00"]
-[Opening "Királygyalog megnyitás - 1... e5, 1... d5, 1... Hf6, 1... g6,
1... d6, 1... c6, 1... c5 nélkül. (Benne a Nimzowitsch-védelem, a Szent
György-védelem, az Owen-védelem, a Víziló-védelem, a Fred-védelem és
mások.)"]
+[Opening "Királygyalog megnyitás"]

*

[ECO "B01"]
-[Opening "Skandináv védelem (Ellentámadás-a-centrumban-védelem)"]
+[Opening "Skandináv védelem"]

*

@@ -529,7 +680,7 @@
*

[ECO "B06"]
-[Opening "Robatsch (modern)-védelem, benne a Majomfenék"]
+[Opening "Robatsch (modern)-védelem"]

*

@@ -599,7 +750,7 @@
*

[ECO "B20"]
-[Opening "Sicilian defence"]
+[Opening "Sicilian védelem"]

*


==============================================================================
Revision: ef4c85a54128
Author: gbtami
Date: Fri Dec 9 04:34:57 2011
Log: Hungarian opening name fixes
http://code.google.com/p/pychess/source/detail?r=ef4c85a54128

Modified:
/lang/hu/eco.pgn

=======================================
--- /lang/hu/eco.pgn Tue Dec 6 03:37:28 2011
+++ /lang/hu/eco.pgn Fri Dec 9 04:34:57 2011
@@ -95,7 +95,7 @@
1. a4

[ECO "A00"]
-[Opening "Crab Opening"]
+[Opening "Crab megnyitás"]

1. a4 e5 2. h4

@@ -110,7 +110,7 @@
1. d3

[ECO "A00"]
-[Opening "Mieses Opening"]
+[Opening "Mieses megnyitás"]

1. d3 e5

@@ -750,12 +750,40 @@
*

[ECO "B20"]
-[Opening "Sicilian védelem"]
+[Opening "Szicíliai védelem"]

*

[ECO "B21"]
-[Opening "Szicíliai, Grand Prix-támadás és Smith-Morra-áldozat, benne a
Szibériai csapda"]
+[Opening "Szicíliai"]
+[Variation "Grand Prix támadás"]
+
+1. e4 c5 2. f4
+
+[ECO "B21"]
+[Opening "Szicíliai"]
+[Variation "Smith-Morra csel"]
+
+1. e4 c5 2. d4
+
+[ECO "B21"]
+[Opening "Szicíliai"]
+[Variation "Andreaschek csel"]
+
+1. e4 c5 2. d4 cxd4 3. Nf3 e5 4. c3
+
+[ECO "B21"]
+[Opening "Szicíliai"]
+[Variation "Smith-Morra csel"]
+
+1. e4 c5 2. d4 cxd4 3. c3
+
+[ECO "B21"]
+[Opening "Szicíliai"]
+[Variation "Smith-Morra csel, csikágói védelem"]
+
+1. e4 c5 2. d4 cxd4 3. c3 dxc3 4. Nxc3 Nc6 5. Nf3 d6 6. Bc4 e6 7. O-O a6 8.
+Qe2 b5 9. Bb3 Ra7

*

@@ -910,7 +938,7 @@
*

[ECO "B53"]
-[Opening "Szicíliai Sicilian, Chekhover-változat"]
+[Opening "Szicíliai, Chekhover-változat"]

*

@@ -930,9 +958,23 @@
*

[ECO "B57"]
-[Opening "Szicíliai, Sozin (a scheveningeni nem), beleértve: Magnus
Smith-csapda"]
-
-*
+[Opening "Szicíliai"]
+[Variation "Szozin, nem Scheveningeni"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 Nc6 6. Bc4
+
+[ECO "B57"]
+[Opening "Szicíliai"]
+[Variation "Magnus Smith csapda"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 Nc6 6. Bc4 g6 7. Nxc6 bxc6
+8. e5
+
+[ECO "B57"]
+[Opening "Szicíliai"]
+[Variation "Szozin, Benkö változat"]
+
+1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 Nc6 6. Bc4 Qb6

[ECO "B58"]
[Opening "Szicíliai, klasszikus"]
@@ -975,22 +1017,22 @@
*

[ECO "B66"]
-[Opening "Szicíliai Sicilian, Richter-Rauzer, Rauzer-támadás, 7...a6"]
+[Opening "Szicíliai, Richter-Rauzer, Rauzer-támadás, 7...a6"]

*

[ECO "B67"]
-[Opening "Szicíliai Sicilian, Richter-Rauzer, Rauzer-támadás, 7...a6
védelem, 8...Fd7"]
+[Opening "Szicíliai, Richter-Rauzer, Rauzer-támadás, 7...a6 védelem,
8...Fd7"]

*

[ECO "B68"]
-[Opening "Szicíliai Sicilian, Richter-Rauzer, Rauzer-támadás, 7...a6
védelem, 9...Fe7"]
+[Opening "Szicíliai, Richter-Rauzer, Rauzer-támadás, 7...a6 védelem,
9...Fe7"]

*

[ECO "B69"]
-[Opening "Szicíliai Sicilian, Richter-Rauzer, Rauzer-támadás, 7...a6
védelem, 11.Fxf6"]
+[Opening "Szicíliai, Richter-Rauzer, Rauzer-támadás, 7...a6 védelem,
11.Fxf6"]

*

@@ -1075,22 +1117,22 @@
*

[ECO "B86"]
-[Opening "Szicíliai, Sozin-támadás"]
+[Opening "Szicíliai, Szozin-támadás"]

*

[ECO "B87"]
-[Opening "Sozin ...a6-tal és ...b5-tel"]
+[Opening "Szozin ...a6-tal és ...b5-tel"]

*

[ECO "B88"]
-[Opening "Szicíliai, Sozin, Leonhardt-változat"]
+[Opening "Szicíliai, Szozin, Leonhardt-változat"]

*

[ECO "B89"]
-[Opening "Szicíliai, Sozin, 7.Fe3"]
+[Opening "Szicíliai, Szozin, 7.Fe3"]

*

@@ -1245,14 +1287,93 @@
*

[ECO "C20"]
-[Opening "Királygyalog-játék (benne az Alapin-megnyitás, a
Lopez-megnyitás, a Napóleon-megnyitás, a portugál megnyitás és a
Parham-támadás)"]
-
-*
+[Opening "Királygyalog-játék"]
+
+1. e4 e5
+
+[ECO "C20"]
+[Opening "Királygyalog"]
+[Variation "Indiai megnyitás"]
+
+1. e4 e5 2. d3
+
+[ECO "C20"]
+[Opening "Királygyalog"]
+[Variation "Mengarini megnyitás"]
+
+1. e4 e5 2. a3
+
+[ECO "C20"]
+[Opening "Királygyalog"]
+[Variation "King's head megnyitás"]
+
+1. e4 e5 2. f3
+
+[ECO "C20"]
+[Opening "Királygyalog"]
+[Variation "Patzer megnyitás"]
+
+1. e4 e5 2. Qh5
+
+[ECO "C20"]
+[Opening "Királygyalog"]
+[Variation "Napóleon megnyitás"]
+
+1. e4 e5 2. Qf3
+
+[ECO "C20"]
+[Opening "Királygyalog"]
+[Variation "Lopez megnyitás"]
+
+1. e4 e5 2. c3
+
+[ECO "C20"]
+[Opening "Alapin megnyitás"]
+
+1. e4 e5 2. Ne2

[ECO "C21"]
-[Opening "Centrumjáték (benne a dán csel)"]
-
-*
+[Opening "Centrumjáték"]
+
+1. e4 e5 2. d4 exd4
+
+[ECO "C21"]
+[Opening "Centrumjáték, Kieseritsky változat"]
+
+1. e4 e5 2. d4 exd4 3. Nf3 c5 4. Bc4 b5
+
+[ECO "C21"]
+[Opening "Halász-csel"]
+
+1. e4 e5 2. d4 exd4 3. f4
+
+[ECO "C21"]
+[Opening "Dán csel"]
+
+1. e4 e5 2. d4 exd4 3. c3
+
+[ECO "C21"]
+[Opening "Dán csel"]
+[Variation "Collijn véldelem"]
+
+1. e4 e5 2. d4 exd4 3. c3 dxc3 4. Bc4 cxb2 5. Bxb2 Qe7
+
+[ECO "C21"]
+[Opening "Dán csel"]
+[Variation "Schlechter véldelem"]
+
+1. e4 e5 2. d4 exd4 3. c3 dxc3 4. Bc4 cxb2 5. Bxb2 d5
+
+[ECO "C21"]
+[Opening "Dán csel"]
+[Variation "Soerensen véldelem"]
+
+1. e4 e5 2. d4 exd4 3. c3 d5
+
+[ECO "C21"]
+[Opening "Centrumjáték"]
+
+1. e4 e5 2. d4 exd4 3. Qxd4

[ECO "C22"]
[Opening "Centrumjáték"]
@@ -1290,9 +1411,55 @@
*

[ECO "C29"]
-[Opening "Bécsi játék, Kaufmann-változat (beleértve a würzburgi csapdát)"]
-
-*
+[Opening "Bécsi játék"]
+
+1. e4 e5 2. Nc3 Nf6 3. f4 d5
+
+[ECO "C29"]
+[Opening "Bécsi játék"]
+[Variation "Kaufmann változat"]
+
+1. e4 e5 2. Nc3 Nf6 3. f4 d5 4. fxe5 Nxe4 5. Nf3 Bg4 6. Qe2
+
+[ECO "C29"]
+[Opening "Bécsi játék"]
+[Variation "Breyer változat"]
+
+1. e4 e5 2. Nc3 Nf6 3. f4 d5 4. fxe5 Nxe4 5. Nf3 Be7
+
+[ECO "C29"]
+[Opening "Bécsi játék"]
+[Variation "Paulsen támadás"]
+
+1. e4 e5 2. Nc3 Nf6 3. f4 d5 4. fxe5 Nxe4 5. Qf3
+
+[ECO "C29"]
+[Opening "Bécsi játék"]
+[Variation "Bardeleben változat"]
+
+1. e4 e5 2. Nc3 Nf6 3. f4 d5 4. fxe5 Nxe4 5. Qf3 f5
+
+[ECO "C29"]
+[Opening "Bécsi játék"]
+[Variation "Heyde változat"]
+
+1. e4 e5 2. Nc3 Nf6 3. f4 d5 4. fxe5 Nxe4 5. Qf3 f5 6. d4
+
+[ECO "C29"]
+[Opening "Bécsi játék"]
+
+1. e4 e5 2. Nc3 Nf6 3. f4 d5 4. fxe5 Nxe4 5. d3
+
+[ECO "C29"]
+[Opening "Bécsi játék, Wurzburger csapda"]
+
+1. e4 e5 2. Nc3 Nf6 3. f4 d5 4. fxe5 Nxe4 5. d3 Qh4+ 6. g3 Nxg3 7. Nf3 Qh5
+8. Nxd5
+
+[ECO "C29"]
+[Opening "Bécsi játék, Steinitz változat"]
+
+1. e4 e5 2. Nc3 Nf6 3. f4 d5 4. d3

[ECO "C30"]
[Opening "Királycsel"]
@@ -1340,14 +1507,81 @@
*

[ECO "C39"]
-[Opening "Elfogadott királycsel, Allagier- és Kiesertsky-cselek, beleértve
a Rice-csel"]
+[Opening "Elfogadott királycsel"]

*

[ECO "C40"]
-[Opening "Királyhuszár-megnyitás (benne a Gunderam-védelem, a
Greco-védelem, a Damiano-védelem, az elefántcsel, a lett csel)"]
-
-*
+[Opening "Királyhuszár-megnyitás"]
+
+1. e4 e5 2. Nf3
+
+[ECO "C40"]
+[Opening "Gunderam védelem"]
+
+1. e4 e5 2. Nf3 Qe7
+
+[ECO "C40"]
+[Opening "Greco védelem"]
+
+1. e4 e5 2. Nf3 Qf6
+
+[ECO "C40"]
+[Opening "Damiano védelem"]
+
+1. e4 e5 2. Nf3 f6
+
+[ECO "C40"]
+[Opening "Királyhuszár ellencsel (elefánt csel)"]
+
+1. e4 e5 2. Nf3 d5
+
+[ECO "C40"]
+[Opening "Királyhuszár ellencsel"]
+[Variation "Maroczy gambit"]
+
+1. e4 e5 2. Nf3 d5 3. exd5 Bd6
+
+[ECO "C40"]
+[Opening "Latvian ellencsel"]
+
+1. e4 e5 2. Nf3 f5
+
+[ECO "C40"]
+[Opening "Litván"]
+[Variation "Nimzovich változat"]
+
+1. e4 e5 2. Nf3 f5 3. Nxe5 Qf6 4. d4 d6 5. Nc4 fxe4 6. Ne3
+
+[ECO "C40"]
+[Opening "Litván"]
+[Variation "Fraser védelem"]
+
+1. e4 e5 2. Nf3 f5 3. Nxe5 Nc6
+
+[ECO "C40"]
+[Opening "Litván gambit, 3.Bc4"]
+
+1. e4 e5 2. Nf3 f5 3. Bc4
+
+[ECO "C40"]
+[Opening "Litván"]
+[Variation "Behting változat"]
+
+1. e4 e5 2. Nf3 f5 3. Bc4 fxe4 4. Nxe5 Qg5 5. Nf7 Qxg2 6. Rf1 d5 7. Nxh8
+Nf6
+
+[ECO "C40"]
+[Opening "Litván"]
+[Variation "Polerio változat"]
+
+1. e4 e5 2. Nf3 f5 3. Bc4 fxe4 4. Nxe5 d5
+
+[ECO "C40"]
+[Opening "Litván"]
+[Variation "corkscrew ellencsel"]
+
+1. e4 e5 2. Nf3 f5 3. Bc4 fxe4 4. Nxe5 Nf6

[ECO "C41"]
[Opening "Philidor-védelem"]
@@ -1355,7 +1589,7 @@
*

[ECO "C42"]
-[Opening "Petrov-védelem, benne a Marshall-csapda"]
+[Opening "Petrov-védelem"]

*

@@ -1365,7 +1599,7 @@
*

[ECO "C44"]
-[Opening "Királygyalog-játék (benne a Ponziani-megnyitás, a Fordított
magyar megnyitás az ír csel, a Konsztantyinopolszkij-védelem és a skót
játék egy része"]
+[Opening "Királygyalog-játék"]

*

@@ -1375,7 +1609,7 @@
*

[ECO "C46"]
-[Opening "Háromhuszáros játék, benne a Müller-Schulze-csel"]
+[Opening "Háromhuszáros játék"]

*

@@ -1395,7 +1629,7 @@
*

[ECO "C50"]
-[Opening "Királygyalog játék, benne Blackburne shillinges csele, a magyar
védelem, az olasz csel, a Légal-csapda, a Rousseau-csel és a Giuoco
Pianissimo"]
+[Opening "Királygyalog játék"]

*

@@ -1430,7 +1664,7 @@
*

[ECO "C57"]
-[Opening "Kéthuszáros védelem, benne a sültmáj-támadás"]
+[Opening "Kéthuszáros védelem"]

*

@@ -1470,7 +1704,7 @@
*

[ECO "C65"]
-[Opening "Spanyol megnyitás, berlini védelem, benne a Mortimer-csapda"]
+[Opening "Spanyol megnyitás, berlini védelem"]

*

@@ -1645,7 +1879,7 @@
*

[ECO "D00"]
-[Opening "Vezérgyalog-játék (benne a Blackmar-Diemer-csel, a
Halosar-csapda és mások)"]
+[Opening "Vezérgyalog-játék"]

*

@@ -1670,12 +1904,12 @@
*

[ECO "D05"]
-[Opening "Vezérgyalog-játék, Zukertort-változat (benne a Colle-rendszer)"]
+[Opening "Vezérgyalog-játék, Zukertort-változat"]

*

[ECO "D06"]
-[Opening "Vezércsel (benne a balti védelem, a Marshall-védelem és a
szimmetrikus védelem)"]
+[Opening "Vezércsel"]

*

@@ -1975,7 +2209,7 @@
*

[ECO "D66"]
-[Opening "Elhárított vezércsel; Ortodox védelem, Fd3 vonal, benne a
Rubinstein-csapda"]
+[Opening "Elhárított vezércsel; Ortodox védelem, Fd3 vonal"]

*

@@ -2150,7 +2384,7 @@
*

[ECO "E00"]
-[Opening "Vezérgyalog játek (benne az újindiai támadás, a
Trompowski-támadás, a katalán megnyitás és mások)"]
+[Opening "Vezérgyalog játek"]

*


==============================================================================
Revision: 4beb3af1d0e2
Author: gbtami
Date: Fri Dec 9 05:14:04 2011
Log: Split opening names to name and variation
http://code.google.com/p/pychess/source/detail?r=4beb3af1d0e2

Modified:
/lib/pychess/Utils/GameModel.py
/lib/pychess/Utils/eco.py
/pgn2fen.py

=======================================
--- /lib/pychess/Utils/GameModel.py Mon Dec 5 14:03:38 2011
+++ /lib/pychess/Utils/GameModel.py Fri Dec 9 05:14:04 2011
@@ -205,6 +205,7 @@
if opening is not None:
self.tags["ECO"] = opening[0]
self.tags["Opening"] = opening[1]
+ self.tags["Variation"] = opening[2]
self.emit("opening_changed")


############################################################################
=======================================
--- /lib/pychess/Utils/eco.py Tue Dec 6 02:27:42 2011
+++ /lib/pychess/Utils/eco.py Fri Dec 9 05:14:04 2011
@@ -18,7 +18,7 @@

def get_eco(hash):
cur = conn.cursor()
- select = "select eco, name from openings where hash=? and lang=?"
+ select = "select eco, opening, variation from openings where hash=?
and lang=?"
cur.execute(select, (buffer(hex(hash)), lang))
return cur.fetchone()

=======================================
--- /pgn2fen.py Mon Dec 5 13:55:13 2011
+++ /pgn2fen.py Fri Dec 9 05:14:04 2011
@@ -16,7 +16,7 @@
c = conn.cursor()

c.execute("drop table if exists openings")
- c.execute("create table openings(hash blob, base integer, eco text,
lang text, name text)")
+ c.execute("create table openings(hash blob, base integer, eco text,
lang text, opening text, variation text)")

def feed(pgnfile, lang):
cf = load(open(pgnfile))
@@ -26,17 +26,14 @@
model = cf.loadToModel(i, quick_parse=True)

eco = cf._getTag(i, "ECO")[:3]
- name = ""
-
+
opening = cf._getTag(i, "Opening")
- if opening is not None:
- name += opening
+ if opening is None:
+ opening = ""

variation = cf._getTag(i, "Variation")
- if variation is not None:
- if name:
- name += ", "
- name += variation
+ if variation is None:
+ variation = ""

base = int(old_eco != eco)

@@ -49,12 +46,12 @@
else:
hash = buffer(hex(model.boards[-1].board.hash))

- if name:
- rows.append((hash, base, eco, lang, name))
+ if opening:
+ rows.append((hash, base, eco, lang, opening, variation))

old_eco = eco

- c.executemany("insert into openings(hash, base, eco, lang, name)
values (?, ?, ?, ?, ?)", rows)
+ c.executemany("insert into openings(hash, base, eco, lang,
opening, variation) values (?, ?, ?, ?, ?, ?)", rows)
conn.commit()

# Several eco list contains only eco+name pairs, so

==============================================================================
Revision: 58595a8fd389
Author: gbtami
Date: Sat Dec 10 07:01:54 2011
Log: Cleanup some hungarian opening names
http://code.google.com/p/pychess/source/detail?r=58595a8fd389

Modified:
/lang/hu/eco.pgn

=======================================
--- /lang/hu/eco.pgn Fri Dec 9 04:34:57 2011
+++ /lang/hu/eco.pgn Sat Dec 10 07:01:54 2011
@@ -1543,7 +1543,7 @@
1. e4 e5 2. Nf3 d5 3. exd5 Bd6

[ECO "C40"]
-[Opening "Latvian ellencsel"]
+[Opening "Litván ellencsel"]

1. e4 e5 2. Nf3 f5

@@ -1914,67 +1914,67 @@
*

[ECO "D07"]
-[Opening "Vezércsel; Csigorin-védelem"]
+[Opening "Vezércsel, Csigorin-védelem"]

*

[ECO "D08"]
-[Opening "Vezércsel; Albin-ellencsel és Lasker-csapda"]
+[Opening "Vezércsel, Albin-ellencsel és Lasker-csapda"]

*

[ECO "D09"]
-[Opening "Vezércsel; Albin-ellencsel, 5.g3"]
+[Opening "Vezércsel, Albin-ellencsel, 5.g3"]

*

[ECO "D10"]
-[Opening "Vezércsel; Szláv védelem"]
+[Opening "Vezércsel, Szláv védelem"]

*

[ECO "D11"]
-[Opening "Vezércsel; Szláv védelem, 3.Hf3"]
+[Opening "Vezércsel, Szláv védelem, 3.Hf3"]

*

[ECO "D12"]
-[Opening "Vezércsel; Szláv védelem, 4.e3 Ff5"]
+[Opening "Vezércsel, Szláv védelem, 4.e3 Ff5"]

*

[ECO "D13"]
-[Opening "Vezércsel; Szláv védelem, csereváltozat"]
+[Opening "Vezércsel, Szláv védelem, csereváltozat"]

*

[ECO "D14"]
-[Opening "Vezércsel; Szláv védelem, csereváltozat"]
+[Opening "Vezércsel, Szláv védelem, csereváltozat"]

*

[ECO "D15"]
-[Opening "Vezércsel; Szláv védelem, 4.Hc3"]
+[Opening "Vezércsel, Szláv védelem, 4.Hc3"]

*

[ECO "D16"]
-[Opening "Vezércsel; Elfogadott szlav védelem, Alapin-változat"]
+[Opening "Vezércsel, Elfogadott szlav védelem, Alapin-változat"]

*

[ECO "D17"]
-[Opening "Vezércsel; Szláv védelem, Cseh védelem"]
+[Opening "Vezércsel, Szláv védelem, Cseh védelem"]

*

[ECO "D18"]
-[Opening "Vezércsel; Holland változat"]
+[Opening "Vezércsel, Holland változat"]

*

[ECO "D19"]
-[Opening "Vezércsel; Holand változat"]
+[Opening "Vezércsel, Holand változat"]

*

@@ -1989,7 +1989,7 @@
*

[ECO "D22"]
-[Opening "Elfogadott vezércsel; Aljehin-védelem"]
+[Opening "Elfogadott vezércsel, Aljehin-védelem"]

*

@@ -2009,22 +2009,22 @@
*

[ECO "D26"]
-[Opening "Elfogadott vezércsel; klasszikus változat"]
+[Opening "Elfogadott vezércsel, klasszikus változat"]

*

[ECO "D27"]
-[Opening "Elfogadott vezércsel; klasszikus változat"]
+[Opening "Elfogadott vezércsel, klasszikus változat"]

*

[ECO "D28"]
-[Opening "Elfogadott vezércsel; klasszikus változat 7.Ve2"]
+[Opening "Elfogadott vezércsel, klasszikus változat 7.Ve2"]

*

[ECO "D29"]
-[Opening "Elfogadott vezércsel; klasszikus változat 8...Fb7"]
+[Opening "Elfogadott vezércsel, klasszikus változat 8...Fb7"]

*

@@ -2039,102 +2039,102 @@
*

[ECO "D32"]
-[Opening "Elhárított vezércsel; Tarrasch-védelem"]
+[Opening "Elhárított vezércsel, Tarrasch-védelem"]

*

[ECO "D33"]
-[Opening "Elhárított vezércsel; Tarrasch-védelem,
Schlechter-Rubinstein-rendszer"]
+[Opening "Elhárított vezércsel, Tarrasch-védelem,
Schlechter-Rubinstein-rendszer"]

*

[ECO "D34"]
-[Opening "Elhárított vezércsel; Tarrasch-védelem, 7...Fe7"]
+[Opening "Elhárított vezércsel, Tarrasch-védelem, 7...Fe7"]

*

[ECO "D35"]
-[Opening "Elhárított vezércsel; csereváltozat"]
+[Opening "Elhárított vezércsel, csereváltozat"]

*

[ECO "D36"]
-[Opening "Elhárított vezércsel; csereváltozat, pozíciós vonal, 6.Vc2"]
+[Opening "Elhárított vezércsel, csereváltozat, pozíciós vonal, 6.Vc2"]

*

[ECO "D37"]
-[Opening "Elhárított vezércsel; 4.Hf3"]
+[Opening "Elhárított vezércsel, 4.Hf3"]

*

[ECO "D38"]
-[Opening "Elhárított vezércsel; Ragozin-változat"]
+[Opening "Elhárított vezércsel, Ragozin-változat"]

*

[ECO "D39"]
-[Opening "Elhárított vezércsel; Ragozin, bécsi változat"]
+[Opening "Elhárított vezércsel, Ragozin, bécsi változat"]

*

[ECO "D40"]
-[Opening "Elhárított vezércsel; fél-Tarrasch-védelem"]
+[Opening "Elhárított vezércsel, fél-Tarrasch-védelem"]

*

[ECO "D41"]
-[Opening "Elhárított vezércsel; fél-Tarrasch, 5.cd"]
+[Opening "Elhárított vezércsel, fél-Tarrasch, 5.cd"]

*

[ECO "D42"]
-[Opening "Elhárított vezércsel; fél-Tarrasch, 7.Fd3"]
+[Opening "Elhárított vezércsel, fél-Tarrasch, 7.Fd3"]

*

[ECO "D43"]
-[Opening "Elhárított vezércsel; Fél-szláv védelem"]
+[Opening "Elhárított vezércsel, Fél-szláv védelem"]

*

[ECO "D44"]
-[Opening "Elhárított vezércsel; Fél-szláv 5.Fg5 dxc4"]
+[Opening "Elhárított vezércsel, Fél-szláv 5.Fg5 dxc4"]

*

[ECO "D45"]
-[Opening "Elhárított vezércsel; Fél-szláv 5.e3"]
+[Opening "Elhárított vezércsel, Fél-szláv 5.e3"]

*

[ECO "D46"]
-[Opening "Elhárított vezércsel; Fél-szláv 6.Fd3"]
+[Opening "Elhárított vezércsel, Fél-szláv 6.Fd3"]

*

[ECO "D47"]
-[Opening "Elhárított vezércsel; Fél-szláv 7.Fc4"]
+[Opening "Elhárított vezércsel, Fél-szláv 7.Fc4"]

*

[ECO "D48"]
-[Opening "Elhárított vezércsel; meráni, 8...a6"]
+[Opening "Elhárított vezércsel, meráni, 8...a6"]

*

[ECO "D49"]
-[Opening "Elhárított vezércsel; meráni, 11.Hxb5"]
+[Opening "Elhárított vezércsel, meráni, 11.Hxb5"]

*

[ECO "D50"]
-[Opening "Elhárított vezércsel; 4.Fg5"]
+[Opening "Elhárított vezércsel, 4.Fg5"]

*

[ECO "D51"]
-[Opening "Elhárított vezércsel; 4.Fg5 Hbd7 (Cambridge Springs-védelem és
elefánt-csapda)"]
+[Opening "Elhárított vezércsel, 4.Fg5 Hbd7 (Cambridge Springs-védelem és
elefánt-csapda)"]

*

@@ -2144,87 +2144,87 @@
*

[ECO "D53"]
-[Opening "Elhárított vezércsel; 4.Fg5 Fe7"]
+[Opening "Elhárított vezércsel, 4.Fg5 Fe7"]

*

[ECO "D54"]
-[Opening "Elhárított vezércsel; Anti-neoortodox változat"]
+[Opening "Elhárított vezércsel, Anti-neoortodox változat"]

*

[ECO "D55"]
-[Opening "Elhárított vezércsel; 6.Hf3"]
+[Opening "Elhárított vezércsel, 6.Hf3"]

*

[ECO "D56"]
-[Opening "Elhárított vezércsel; Lasker-védelem"]
+[Opening "Elhárított vezércsel, Lasker-védelem"]

*

[ECO "D57"]
-[Opening "Elhárított vezércsel; Lasker-védelem, fö vonal"]
+[Opening "Elhárított vezércsel, Lasker-védelem, fö vonal"]

*

[ECO "D58"]
-[Opening "Elhárított vezércsel; Tartakower-rendszer
(Makagonov-Bondarevszkij-rendszer)"]
+[Opening "Elhárított vezércsel, Tartakower-rendszer
(Makagonov-Bondarevszkij-rendszer)"]

*

[ECO "D59"]
-[Opening "Elhárított vezércsel; Tartakower (Makagonov-Bondarevszkij), 8.cd
Hxd5"]
+[Opening "Elhárított vezércsel, Tartakower (Makagonov-Bondarevszkij), 8.cd
Hxd5"]

*

[ECO "D60"]
-[Opening "Elhárított vezércsel; Ortodox védelem"]
+[Opening "Elhárított vezércsel, Ortodox védelem"]

*

[ECO "D61"]
-[Opening "Elhárított vezércsel; Ortodox védelem, Rubinstein-változat"]
+[Opening "Elhárított vezércsel, Ortodox védelem, Rubinstein-változat"]

*

[ECO "D62"]
-[Opening "Elhárított vezércsel; Ortodox védelem, 7.Vc2 c5, 8.cd
(Rubinstein)"]
+[Opening "Elhárított vezércsel, Ortodox védelem, 7.Vc2 c5, 8.cd
(Rubinstein)"]

*

[ECO "D63"]
-[Opening "Elhárított vezércsel; Ortodox védelem, 7.Bc1"]
+[Opening "Elhárított vezércsel, Ortodox védelem, 7.Bc1"]

*

[ECO "D64"]
-[Opening "Elhárított vezércsel; Ortodox védelem, Rubinstein-támadás
(Bc1-gyel)"]
+[Opening "Elhárított vezércsel, Ortodox védelem, Rubinstein-támadás
(Bc1-gyel)"]

*

[ECO "D65"]
-[Opening "Elhárított vezércsel; Ortodox védelem, Rubinstein-támadás, fö
vonal"]
+[Opening "Elhárított vezércsel, Ortodox védelem, Rubinstein-támadás, fö
vonal"]

*

[ECO "D66"]
-[Opening "Elhárított vezércsel; Ortodox védelem, Fd3 vonal"]
+[Opening "Elhárított vezércsel, Ortodox védelem, Fd3 vonal"]

*

[ECO "D67"]
-[Opening "Elhárított vezércsel; Ortodox védelem, Fd3 vonal, Capablanca
felszabadító manövere"]
+[Opening "Elhárított vezércsel, Ortodox védelem, Fd3 vonal, Capablanca
felszabadító manövere"]

*

[ECO "D68"]
-[Opening "Elhárított vezércsel; Ortodox védelem, klasszikus változat"]
+[Opening "Elhárított vezércsel, Ortodox védelem, klasszikus változat"]

*

[ECO "D69"]
-[Opening "Elhárított vezércsel; Ortodox védelem, klasszikus, 13.dxe5"]
+[Opening "Elhárított vezércsel, Ortodox védelem, klasszikus, 13.dxe5"]

*

@@ -2284,7 +2284,7 @@
*

[ECO "D81"]
-[Opening "Grünfeld; orosz változat"]
+[Opening "Grünfeld, orosz változat"]

*

@@ -2684,7 +2684,7 @@
*

[ECO "E60"]
-[Opening "King's Indian Defence"]
+[Opening "Királyindiai védelem"]

*


==============================================================================
Revision: 0a357067c5cc
Author: gbtami
Date: Mon Dec 12 02:35:41 2011
Log: Show variation too
http://code.google.com/p/pychess/source/detail?r=0a357067c5cc

Modified:
/lib/pychess/Utils/GameModel.py
/pgn2fen.py
/sidepanel/annotationPanel.py

=======================================
--- /lib/pychess/Utils/GameModel.py Fri Dec 9 05:14:04 2011
+++ /lib/pychess/Utils/GameModel.py Mon Dec 12 02:35:41 2011
@@ -193,8 +193,7 @@
self.emit("spectators_changed")

def setOpening(self):
- # TODO: Is this correct for pychess_book.bin ?
- if self.ply > 20:
+ if self.ply > 40:
return

if self.isMainlineBoard(self.ply):
=======================================
--- /pgn2fen.py Fri Dec 9 05:14:04 2011
+++ /pgn2fen.py Mon Dec 12 02:35:41 2011
@@ -22,6 +22,7 @@
cf = load(open(pgnfile))
rows = []
old_eco = ""
+ ply_max = 0
for i, game in enumerate(cf.games):
model = cf.loadToModel(i, quick_parse=True)

@@ -37,7 +38,9 @@

base = int(old_eco != eco)

- if len(model.moves) == 0:
+ ply = len(model.moves)
+ ply_max = max(ply_max, ply)
+ if ply == 0:
cu = conn.cursor()
cu.execute("select * from openings where eco=? and
lang='en' and base=1", (eco,))
res = cu.fetchone()
@@ -54,6 +57,8 @@
c.executemany("insert into openings(hash, base, eco, lang,
opening, variation) values (?, ?, ?, ?, ?, ?)", rows)
conn.commit()

+ print "Max ply was %s" % ply_max
+
# Several eco list contains only eco+name pairs, so
# we will use base ECO line positions from en eco.pgn
print "processing en eco.pgn"
@@ -67,5 +72,5 @@
if os.path.isfile(pgnfile):
print "processing %s eco.pgn" % lang
feed(pgnfile, lang)
-
+
conn.close()
=======================================
--- /sidepanel/annotationPanel.py Sun Dec 4 12:37:55 2011
+++ /sidepanel/annotationPanel.py Mon Dec 12 02:35:41 2011
@@ -464,6 +464,10 @@
if opening:
buf.insert_with_tags_by_name(end_iter(), " - ", "head1")
buf.insert_with_tags_by_name(end_iter(), opening, "head2")
+ variation = gm.tags.get('Variation')
+ if variation:
+ buf.insert_with_tags_by_name(end_iter(), ", ", "head1")
+ buf.insert_with_tags_by_name(end_iter(),
variation, "head2")

buf.insert(end_iter(), "\n\n")


==============================================================================
Revision: 926ebcada536
Author: gbtami
Date: Mon Dec 12 04:37:38 2011
Log: Expand opening names: KP, KGD, KGA, QGD, QGA
http://code.google.com/p/pychess/source/detail?r=926ebcada536

Modified:
/lang/en/eco.pgn

=======================================
--- /lang/en/eco.pgn Sun Dec 4 12:40:44 2011
+++ /lang/en/eco.pgn Mon Dec 12 04:37:38 2011
@@ -1997,49 +1997,49 @@
1. e4 b6 2. d4 Ba6

[ECO "B00"]
-[Opening "KP"]
+[Opening "King's pawn"]
[Variation "Nimzovich defense"]

1. e4 Nc6

[ECO "B00"]
-[Opening "KP"]
+[Opening "King's pawn"]
[Variation "Nimzovich defense, Wheeler gambit"]

1. e4 Nc6 2. b4 Nxb4 3. c3 Nc6 4. d4

[ECO "B00"]
-[Opening "KP"]
+[Opening "King's pawn"]
[Variation "Nimzovich defense"]

1. e4 Nc6 2. Nf3

[ECO "B00"]
-[Opening "KP"]
+[Opening "King's pawn"]
[Variation "Colorado counter"]

1. e4 Nc6 2. Nf3 f5

[ECO "B00"]
-[Opening "KP"]
+[Opening "King's pawn"]
[Variation "Nimzovich defense"]

1. e4 Nc6 2. d4

[ECO "B00"]
-[Opening "KP"]
+[Opening "King's pawn"]
[Variation "Nimzovich defense, Marshall gambit"]

1. e4 Nc6 2. d4 d5 3. exd5 Qxd5 4. Nc3

[ECO "B00"]
-[Opening "KP"]
+[Opening "King's pawn"]
[Variation "Nimzovich defense, Bogolyubov variation"]

1. e4 Nc6 2. d4 d5 3. Nc3

[ECO "B00"]
-[Opening "KP"]
+[Opening "King's pawn"]
[Variation "Neo-Mongoloid defense"]

1. e4 Nc6 2. d4 f6
@@ -4733,37 +4733,37 @@
1. e4 e5

[ECO "C20"]
-[Opening "KP"]
+[Opening "King's pawn"]
[Variation "Indian Opening"]

1. e4 e5 2. d3

[ECO "C20"]
-[Opening "KP"]
+[Opening "King's pawn"]
[Variation "Mengarini's Opening"]

1. e4 e5 2. a3

[ECO "C20"]
-[Opening "KP"]
+[Opening "King's pawn"]
[Variation "King's head Opening"]

1. e4 e5 2. f3

[ECO "C20"]
-[Opening "KP"]
+[Opening "King's pawn"]
[Variation "Patzer Opening"]

1. e4 e5 2. Qh5

[ECO "C20"]
-[Opening "KP"]
+[Opening "King's pawn"]
[Variation "Napoleon's Opening"]

1. e4 e5 2. Qf3

[ECO "C20"]
-[Opening "KP"]
+[Opening "King's pawn"]
[Variation "Lopez Opening"]

1. e4 e5 2. c3
@@ -5198,197 +5198,197 @@
1. e4 e5 2. f4

[ECO "C30"]
-[Opening "KGD"]
+[Opening "King's gambit declined"]
[Variation "Keene's defense"]

1. e4 e5 2. f4 Qh4+ 3. g3 Qe7

[ECO "C30"]
-[Opening "KGD"]
+[Opening "King's gambit declined"]
[Variation "Mafia defense"]

1. e4 e5 2. f4 c5

[ECO "C30"]
-[Opening "KGD"]
+[Opening "King's gambit declined"]
[Variation "Norwalde variation"]

1. e4 e5 2. f4 Qf6

[ECO "C30"]
-[Opening "KGD"]
+[Opening "King's gambit declined"]
[Variation "Norwalde variation, Buecker gambit"]

1. e4 e5 2. f4 Qf6 3. Nf3 Qxf4 4. Nc3 Bb4 5. Bc4

[ECO "C30"]
-[Opening "KGD"]
+[Opening "King's gambit declined"]
[Variation "Classical variation"]

1. e4 e5 2. f4 Bc5

[ECO "C30"]
-[Opening "KGD"]
+[Opening "King's gambit declined"]
[Variation "Classical, Svenonius variation"]

1. e4 e5 2. f4 Bc5 3. Nf3 d6 4. Nc3 Nf6 5. Bc4 Nc6 6. d3 Bg4 7. h3 Bxf3 8.
Qxf3 exf4

[ECO "C30"]
-[Opening "KGD"]
+[Opening "King's gambit declined"]
[Variation "Classical, Hanham variation"]

1. e4 e5 2. f4 Bc5 3. Nf3 d6 4. Nc3 Nd7

[ECO "C30"]
-[Opening "KGD"]
+[Opening "King's gambit declined"]
[Variation "Classical, 4.c3"]

1. e4 e5 2. f4 Bc5 3. Nf3 d6 4. c3

[ECO "C30"]
-[Opening "KGD"]
+[Opening "King's gambit declined"]
[Variation "Classical, Marshall attack"]

1. e4 e5 2. f4 Bc5 3. Nf3 d6 4. c3 Bg4 5. fxe5 dxe5 6. Qa4+

[ECO "C30"]
-[Opening "KGD"]
+[Opening "King's gambit declined"]
[Variation "Classical counter-gambit"]

1. e4 e5 2. f4 Bc5 3. Nf3 d6 4. c3 f5

[ECO "C30"]
-[Opening "KGD"]
+[Opening "King's gambit declined"]
[Variation "Classical, Reti variation"]

1. e4 e5 2. f4 Bc5 3. Nf3 d6 4. c3 f5 5. fxe5 dxe5 6. d4 exd4 7. Bc4

[ECO "C30"]
-[Opening "KGD"]
+[Opening "King's gambit declined"]
[Variation "Classical, SOldatenkov variation"]

1. e4 e5 2. f4 Bc5 3. Nf3 d6 4. fxe5

[ECO "C30"]
-[Opening "KGD"]
+[Opening "King's gambit declined"]
[Variation "Classical, Heath variation"]

1. e4 e5 2. f4 Bc5 3. Nf3 d6 4. b4

[ECO "C30"]
-[Opening "KGD"]
+[Opening "King's gambit declined"]
[Variation "2...Nf6"]

1. e4 e5 2. f4 Nf6

[ECO "C31"]
-[Opening "KGD"]
+[Opening "King's gambit declined"]
[Variation "Falkbeer counter-gambit"]

1. e4 e5 2. f4 d5

[ECO "C31"]
-[Opening "KGD"]
+[Opening "King's gambit declined"]
[Variation "Falkbeer, Tartakower variation"]

1. e4 e5 2. f4 d5 3. Nf3

[ECO "C31"]
-[Opening "KGD"]
+[Opening "King's gambit declined"]
[Variation "Falkbeer, Milner-Barry variation"]

1. e4 e5 2. f4 d5 3. Nc3

[ECO "C31"]
-[Opening "KGD"]
+[Opening "King's gambit declined"]
[Variation "Falkbeer counter-gambit"]

1. e4 e5 2. f4 d5 3. exd5

[ECO "C31"]
-[Opening "KGD"]
+[Opening "King's gambit declined"]
[Variation "Nimzovich counter-gambit"]

1. e4 e5 2. f4 d5 3. exd5 c6

[ECO "C31"]
-[Opening "KGD"]
+[Opening "King's gambit declined"]
[Variation "Falkbeer, 3...e4"]

1. e4 e5 2. f4 d5 3. exd5 e4

[ECO "C31"]
-[Opening "KGD"]
+[Opening "King's gambit declined"]
[Variation "Falkbeer, Rubinstein variation"]

1. e4 e5 2. f4 d5 3. exd5 e4 4. Nc3 Nf6 5. Qe2

[ECO "C31"]
-[Opening "KGD"]
+[Opening "King's gambit declined"]
[Variation "Falkbeer, Nimzovich variation"]

1. e4 e5 2. f4 d5 3. exd5 e4 4. Bb5+

[ECO "C31"]
-[Opening "KGD"]
+[Opening "King's gambit declined"]
[Variation "Falkbeer, 4.d3"]

1. e4 e5 2. f4 d5 3. exd5 e4 4. d3

[ECO "C31"]
-[Opening "KGD"]
+[Opening "King's gambit declined"]
[Variation "Falkbeer, Morphy gambit"]

1. e4 e5 2. f4 d5 3. exd5 e4 4. d3 Nf6 5. Nc3 Bb4 6. Bd2 e3

[ECO "C32"]
-[Opening "KGD"]
+[Opening "King's gambit declined"]
[Variation "Falkbeer, 5.de"]

1. e4 e5 2. f4 d5 3. exd5 e4 4. d3 Nf6 5. dxe4

[ECO "C32"]
-[Opening "KGD"]
+[Opening "King's gambit declined"]
[Variation "Falkbeer, Alapin variation"]

1. e4 e5 2. f4 d5 3. exd5 e4 4. d3 Nf6 5. dxe4 Nxe4 6. Nf3 Bc5 7. Qe2 Bf2+
8. Kd1 Qxd5+ 9. Nfd2

[ECO "C32"]
-[Opening "KGD"]
+[Opening "King's gambit declined"]
[Variation "Falkbeer, Main line, 7...Bf5"]

1. e4 e5 2. f4 d5 3. exd5 e4 4. d3 Nf6 5. dxe4 Nxe4 6. Nf3 Bc5 7. Qe2 Bf5

[ECO "C32"]
-[Opening "KGD"]
+[Opening "King's gambit declined"]
[Variation "Falkbeer, Tarrasch variation"]

1. e4 e5 2. f4 d5 3. exd5 e4 4. d3 Nf6 5. dxe4 Nxe4 6. Nf3 Bc5 7. Qe2 Bf5
8. g4 O-O

[ECO "C32"]
-[Opening "KGD"]
+[Opening "King's gambit declined"]
[Variation "Falkbeer, Charousek gambit"]

1. e4 e5 2. f4 d5 3. exd5 e4 4. d3 Nf6 5. dxe4 Nxe4 6. Qe2

[ECO "C32"]
-[Opening "KGD"]
+[Opening "King's gambit declined"]
[Variation "Falkbeer, Charousek variation"]

1. e4 e5 2. f4 d5 3. exd5 e4 4. d3 Nf6 5. dxe4 Nxe4 6. Qe2 Qxd5 7. Nd2 f5
8. g4

[ECO "C32"]
-[Opening "KGD"]
+[Opening "King's gambit declined"]
[Variation "Falkbeer, Keres variation"]

1. e4 e5 2. f4 d5 3. exd5 e4 4. d3 Nf6 5. Nd2

[ECO "C32"]
-[Opening "KGD"]
+[Opening "King's gambit declined"]
[Variation "Falkbeer, Reti variation"]

1. e4 e5 2. f4 d5 3. exd5 e4 4. d3 Nf6 5. Qe2
@@ -5399,217 +5399,217 @@
1. e4 e5 2. f4 exf4

[ECO "C33"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Tumbleweed gambit"]

1. e4 e5 2. f4 exf4 3. Kf2

[ECO "C33"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Orsini gambit"]

1. e4 e5 2. f4 exf4 3. b3

[ECO "C33"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Pawn's gambit (Stamma gambit)"]

1. e4 e5 2. f4 exf4 3. h4

[ECO "C33"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Schurig gambit"]

1. e4 e5 2. f4 exf4 3. Bd3

[ECO "C33"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Carrera (Basman) gambit"]

1. e4 e5 2. f4 exf4 3. Qe2

[ECO "C33"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Villemson (Steinitz) gambit"]

1. e4 e5 2. f4 exf4 3. d4

[ECO "C33"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Keres (Mason-Steinitz) gambit"]

1. e4 e5 2. f4 exf4 3. Nc3

[ECO "C33"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Breyer gambit"]

1. e4 e5 2. f4 exf4 3. Qf3

[ECO "C33"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Lesser Bishop's (Petroff-Jaenisch-Tartakower) gambit"]

1. e4 e5 2. f4 exf4 3. Be2

[ECO "C33"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Bishop's gambit"]

1. e4 e5 2. f4 exf4 3. Bc4

[ECO "C33"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Bishop's gambit, Chigorin's attack"]

1. e4 e5 2. f4 exf4 3. Bc4 Qh4+ 4. Kf1 d5 5. Bxd5 g5 6. g3

[ECO "C33"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Bishop's gambit, Greco variation"]

1. e4 e5 2. f4 exf4 3. Bc4 Qh4+ 4. Kf1 Bc5

[ECO "C33"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Bishop's gambit, Classical defense"]

1. e4 e5 2. f4 exf4 3. Bc4 Qh4+ 4. Kf1 g5

[ECO "C33"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Bishop's gambit, Grimm attack"]

1. e4 e5 2. f4 exf4 3. Bc4 Qh4+ 4. Kf1 g5 5. Nc3 Bg7 6. d4 d6 7. e5

[ECO "C33"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Bishop's gambit, Classical defense"]

1. e4 e5 2. f4 exf4 3. Bc4 Qh4+ 4. Kf1 g5 5. Nc3 Bg7 6. d4 Ne7

[ECO "C33"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Bishop's gambit, McDonnell attack"]

1. e4 e5 2. f4 exf4 3. Bc4 Qh4+ 4. Kf1 g5 5. Nc3 Bg7 6. d4 Ne7 7. g3

[ECO "C33"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Bishop's gambit, McDonnell attack"]

1. e4 e5 2. f4 exf4 3. Bc4 Qh4+ 4. Kf1 g5 5. Nc3 Bg7 6. g3

[ECO "C33"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Bishop's gambit, Fraser variation"]

1. e4 e5 2. f4 exf4 3. Bc4 Qh4+ 4. Kf1 g5 5. Nc3 Bg7 6. g3 fxg3 7. Qf3

[ECO "C33"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Bishop's gambit, Classical defense, Cozio attack"]

1. e4 e5 2. f4 exf4 3. Bc4 Qh4+ 4. Kf1 g5 5. Qf3

[ECO "C33"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Bishop's gambit, Boden defense"]

1. e4 e5 2. f4 exf4 3. Bc4 Qh4+ 4. Kf1 Nc6

[ECO "C33"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Bishop's gambit, Bryan counter-gambit"]

1. e4 e5 2. f4 exf4 3. Bc4 Qh4+ 4. Kf1 b5

[ECO "C33"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Bishop's gambit, Bryan counter-gambit"]

1. e4 e5 2. f4 exf4 3. Bc4 b5

[ECO "C33"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Bishop's gambit, Steinitz defense"]

1. e4 e5 2. f4 exf4 3. Bc4 Ne7

[ECO "C33"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Bishop's gambit, Maurian defense"]

1. e4 e5 2. f4 exf4 3. Bc4 Nc6

[ECO "C33"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Bishop's gambit, Ruy Lopez defense"]

1. e4 e5 2. f4 exf4 3. Bc4 c6

[ECO "C33"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Bishop's gambit, Lopez-Gianutio counter-gambit"]

1. e4 e5 2. f4 exf4 3. Bc4 f5

[ECO "C33"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Lopez-Gianutio counter-gambit, Hein variation"]

1. e4 e5 2. f4 exf4 3. Bc4 f5 4. Qe2 Qh4+ 5. Kd1 fxe4 6. Nc3 Kd8

[ECO "C33"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Bishop's gambit, Bledow variation"]

1. e4 e5 2. f4 exf4 3. Bc4 d5

[ECO "C33"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Bishop's gambit, Gifford variation"]

1. e4 e5 2. f4 exf4 3. Bc4 d5 4. Bxd5 Qh4+ 5. Kf1 g5 6. g3

[ECO "C33"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Bishop's gambit, Boren-Svenonius variation"]

1. e4 e5 2. f4 exf4 3. Bc4 d5 4. Bxd5 Qh4+ 5. Kf1 Bd6

[ECO "C33"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Bishop's gambit, Anderssen variation"]

1. e4 e5 2. f4 exf4 3. Bc4 d5 4. Bxd5 c6

[ECO "C33"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Bishop's gambit, Morphy variation"]

1. e4 e5 2. f4 exf4 3. Bc4 d5 4. Bxd5 Nf6

[ECO "C33"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Bishop's gambit, Cozio (Morphy) defense"]

1. e4 e5 2. f4 exf4 3. Bc4 Nf6

[ECO "C33"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Bishop's gambit, Bogolyubov variation"]

1. e4 e5 2. f4 exf4 3. Bc4 Nf6 4. Nc3

[ECO "C33"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Bishop's gambit, Paulsen attack"]

1. e4 e5 2. f4 exf4 3. Bc4 Nf6 4. Nc3 Bb4 5. e5

[ECO "C33"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Bishop's gambit, Jaenisch variation"]

1. e4 e5 2. f4 exf4 3. Bc4 Nf6 4. Nc3 c6
@@ -5620,203 +5620,203 @@
1. e4 e5 2. f4 exf4 3. Nf3

[ECO "C34"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Bonsch-Osmolovsky variation"]

1. e4 e5 2. f4 exf4 3. Nf3 Ne7

[ECO "C34"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Gianutio counter-gambit"]

1. e4 e5 2. f4 exf4 3. Nf3 f5

[ECO "C34"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Fischer defense"]

1. e4 e5 2. f4 exf4 3. Nf3 d6

[ECO "C34"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Becker defense"]

1. e4 e5 2. f4 exf4 3. Nf3 h6

[ECO "C34"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Schallop defense"]

1. e4 e5 2. f4 exf4 3. Nf3 Nf6

[ECO "C35"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Cunningham defense"]

1. e4 e5 2. f4 exf4 3. Nf3 Be7

[ECO "C35"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Cunningham, Bertin gambit"]

1. e4 e5 2. f4 exf4 3. Nf3 Be7 4. Bc4 Bh4+ 5. g3

[ECO "C35"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Cunningham, Three pawns gambit"]

1. e4 e5 2. f4 exf4 3. Nf3 Be7 4. Bc4 Bh4+ 5. g3 fxg3 6. O-O gxh2+ 7. Kh1

[ECO "C35"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Cunningham, Euwe defense"]

1. e4 e5 2. f4 exf4 3. Nf3 Be7 4. Bc4 Nf6

[ECO "C36"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Abbazia defense (Classical defense, Modern defense[!])"]

1. e4 e5 2. f4 exf4 3. Nf3 d5

[ECO "C36"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Abbazia defense, Modern variation"]

1. e4 e5 2. f4 exf4 3. Nf3 d5 4. exd5 Nf6

[ECO "C36"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Abbazia defense, Botvinnik variation"]

1. e4 e5 2. f4 exf4 3. Nf3 d5 4. exd5 Nf6 5. Bb5+ c6 6. dxc6 bxc6 7. Bc4
Nd5

[ECO "C37"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Quaade gambit"]

1. e4 e5 2. f4 exf4 3. Nf3 g5 4. Nc3

[ECO "C37"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Rosentreter gambit"]

1. e4 e5 2. f4 exf4 3. Nf3 g5 4. d4

[ECO "C37"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Soerensen gambit"]

1. e4 e5 2. f4 exf4 3. Nf3 g5 4. d4 g4 5. Ne5

[ECO "C37"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "King's knight's gambit"]

1. e4 e5 2. f4 exf4 3. Nf3 g5 4. Bc4

[ECO "C37"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Blachly gambit"]

1. e4 e5 2. f4 exf4 3. Nf3 g5 4. Bc4 Nc6

[ECO "C37"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Lolli gambit (wild Muzio gambit)"]

1. e4 e5 2. f4 exf4 3. Nf3 g5 4. Bc4 g4 5. Bxf7+

[ECO "C37"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Lolli gambit, Young variation"]

1. e4 e5 2. f4 exf4 3. Nf3 g5 4. Bc4 g4 5. Bxf7+ Kxf7 6. O-O gxf3 7. Qxf3
Qf6 8. d4 Qxd4+ 9. Be3 Qf6 10. Nc3

[ECO "C37"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Ghulam Kassim gambit"]

1. e4 e5 2. f4 exf4 3. Nf3 g5 4. Bc4 g4 5. d4

[ECO "C37"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "MacDonnell gambit"]

1. e4 e5 2. f4 exf4 3. Nf3 g5 4. Bc4 g4 5. Nc3

[ECO "C37"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Salvio gambit"]

1. e4 e5 2. f4 exf4 3. Nf3 g5 4. Bc4 g4 5. Ne5

[ECO "C37"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Silberschmidt gambit"]

1. e4 e5 2. f4 exf4 3. Nf3 g5 4. Bc4 g4 5. Ne5 Qh4+ 6. Kf1 Nh6 7. d4 f3

[ECO "C37"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Salvio gambit, Anderssen counter-attack"]

1. e4 e5 2. f4 exf4 3. Nf3 g5 4. Bc4 g4 5. Ne5 Qh4+ 6. Kf1 Nh6 7. d4 d6

[ECO "C37"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Cochrane gambit"]

1. e4 e5 2. f4 exf4 3. Nf3 g5 4. Bc4 g4 5. Ne5 Qh4+ 6. Kf1 f3

[ECO "C37"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Herzfeld gambit"]

1. e4 e5 2. f4 exf4 3. Nf3 g5 4. Bc4 g4 5. Ne5 Qh4+ 6. Kf1 Nc6

[ECO "C37"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Muzio gambit"]

1. e4 e5 2. f4 exf4 3. Nf3 g5 4. Bc4 g4 5. O-O

[ECO "C37"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Muzio gambit, Paulsen variation"]

1. e4 e5 2. f4 exf4 3. Nf3 g5 4. Bc4 g4 5. O-O gxf3 6. Qxf3 Qf6 7. e5 Qxe5
8. d3 Bh6 9. Nc3 Ne7 10. Bd2 Nbc6 11. Rae1

[ECO "C37"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "double Muzio gambit"]

1. e4 e5 2. f4 exf4 3. Nf3 g5 4. Bc4 g4 5. O-O gxf3 6. Qxf3 Qf6 7. e5 Qxe5
8. Bxf7+

[ECO "C37"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Muzio gambit, From defense"]

1. e4 e5 2. f4 exf4 3. Nf3 g5 4. Bc4 g4 5. O-O gxf3 6. Qxf3 Qe7

[ECO "C37"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Muzio gambit, Holloway defense"]

1. e4 e5 2. f4 exf4 3. Nf3 g5 4. Bc4 g4 5. O-O gxf3 6. Qxf3 Nc6

[ECO "C37"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Muzio gambit, Kling and Horwitz counter-attack"]

1. e4 e5 2. f4 exf4 3. Nf3 g5 4. Bc4 g4 5. O-O Qe7

[ECO "C37"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Muzio gambit, Brentano defense"]

1. e4 e5 2. f4 exf4 3. Nf3 g5 4. Bc4 g4 5. O-O d5
@@ -5827,26 +5827,26 @@
1. e4 e5 2. f4 exf4 3. Nf3 g5 4. Bc4 Bg7

[ECO "C38"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Hanstein gambit"]

1. e4 e5 2. f4 exf4 3. Nf3 g5 4. Bc4 Bg7 5. O-O

[ECO "C38"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Philidor gambit"]

1. e4 e5 2. f4 exf4 3. Nf3 g5 4. Bc4 Bg7 5. h4

[ECO "C38"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Greco gambit"]

1. e4 e5 2. f4 exf4 3. Nf3 g5 4. Bc4 Bg7 5. h4 h6 6. d4 d6 7. Nc3 c6 8.
hxg5 hxg5 9. Rxh8 Bxh8 10. Ne5

[ECO "C38"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Philidor gambit, Schultz variation"]

1. e4 e5 2. f4 exf4 3. Nf3 g5 4. Bc4 Bg7 5. h4 h6 6. d4 d6 7. Qd3
@@ -5857,151 +5857,151 @@
1. e4 e5 2. f4 exf4 3. Nf3 g5 4. h4

[ECO "C39"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Allgaier gambit"]

1. e4 e5 2. f4 exf4 3. Nf3 g5 4. h4 g4 5. Ng5

[ECO "C39"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Allgaier, Horny defense"]

1. e4 e5 2. f4 exf4 3. Nf3 g5 4. h4 g4 5. Ng5 h6 6. Nxf7 Kxf7 7. Qxg4 Nf6
8. Qxf4 Bd6

[ECO "C39"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Allgaier, ThorOld variation"]

1. e4 e5 2. f4 exf4 3. Nf3 g5 4. h4 g4 5. Ng5 h6 6. Nxf7 Kxf7 7. d4

[ECO "C39"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Allgaier, Cook variation"]

1. e4 e5 2. f4 exf4 3. Nf3 g5 4. h4 g4 5. Ng5 h6 6. Nxf7 Kxf7 7. d4 d5 8.
Bxf4 dxe4 9. Bc4+ Kg7 10. Be5+

[ECO "C39"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Allgaier, Blackburne gambit"]

1. e4 e5 2. f4 exf4 3. Nf3 g5 4. h4 g4 5. Ng5 h6 6. Nxf7 Kxf7 7. Nc3

[ECO "C39"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Allgaier, Walker attack"]

1. e4 e5 2. f4 exf4 3. Nf3 g5 4. h4 g4 5. Ng5 h6 6. Nxf7 Kxf7 7. Bc4+

[ECO "C39"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Allgaier, Urusov attack"]

1. e4 e5 2. f4 exf4 3. Nf3 g5 4. h4 g4 5. Ng5 h6 6. Nxf7 Kxf7 7. Bc4+ d5 8.
Bxd5+ Kg7 9. d4

[ECO "C39"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Allgaier, Schlechter defense"]

1. e4 e5 2. f4 exf4 3. Nf3 g5 4. h4 g4 5. Ng5 Nf6

[ECO "C39"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Kieseritsky, Paulsen defense"]

1. e4 e5 2. f4 exf4 3. Nf3 g5 4. h4 g4 5. Ne5 Bg7

[ECO "C39"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Kieseritsky, long whip (Stockwhip, Classical) defense"]

1. e4 e5 2. f4 exf4 3. Nf3 g5 4. h4 g4 5. Ne5 h5

[ECO "C39"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Kieseritsky, long whip defense, Jaenisch variation"]

1. e4 e5 2. f4 exf4 3. Nf3 g5 4. h4 g4 5. Ne5 h5 6. Bc4 Rh7 7. d4 Bh6 8.
Nc3

[ECO "C39"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Kieseritsky, Brentano (Campbell) defense"]

1. e4 e5 2. f4 exf4 3. Nf3 g5 4. h4 g4 5. Ne5 d5

[ECO "C39"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Kieseritsky, Brentano defense, Kaplanek variation"]

1. e4 e5 2. f4 exf4 3. Nf3 g5 4. h4 g4 5. Ne5 d5 6. d4 Nf6 7. exd5 Qxd5 8.
Nc3 Bb4 9. Kf2

[ECO "C39"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Kieseritsky, Brentano defense"]

1. e4 e5 2. f4 exf4 3. Nf3 g5 4. h4 g4 5. Ne5 d5 6. d4 Nf6 7. Bxf4

[ECO "C39"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Kieseritsky, Brentano defense, Caro variation"]

1. e4 e5 2. f4 exf4 3. Nf3 g5 4. h4 g4 5. Ne5 d5 6. d4 Nf6 7. Bxf4 Nxe4 8.
Nd2

[ECO "C39"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Kieseritsky, Salvio (Rosenthal) defense"]

1. e4 e5 2. f4 exf4 3. Nf3 g5 4. h4 g4 5. Ne5 Qe7

[ECO "C39"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Kieseritsky, Salvio defense, Cozio variation"]

1. e4 e5 2. f4 exf4 3. Nf3 g5 4. h4 g4 5. Ne5 Qe7 6. d4 f5 7. Bc4

[ECO "C39"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Kieseritsky, Polerio defense"]

1. e4 e5 2. f4 exf4 3. Nf3 g5 4. h4 g4 5. Ne5 Be7

[ECO "C39"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
[Variation "Kieseritsky, Neumann defense"]

1. e4 e5 2. f4 exf4 3. Nf3 g5 4. h4 g4 5. Ne5 Nc6

[ECO "C39"]
-[Opening "KGA"]
+[Opening "King's gambit accepted"]
***The diff for this file has been truncated for email.***

==============================================================================
Revision: d33234986f11
Author: gbtami
Date: Mon Dec 12 12:55:24 2011
Log: Add Open recent files support, based on hgmiguel patch
http://code.google.com/p/pychess/source/detail?r=d33234986f11

Modified:
/glade/PyChess.glade
/lib/pychess/Main.py

=======================================
--- /glade/PyChess.glade Tue May 31 04:06:24 2011
+++ /glade/PyChess.glade Mon Dec 12 12:55:24 2011
@@ -76,6 +76,14 @@
</widget>
</child>
<child>
+ <widget class="GtkMenuItem" id="load_recent_game1">
+ <property name="label" translatable="yes">Load
_Recent Game</property>
+ <property name="visible">True</property>
+ <property name="use_underline">True</property>
+ <signal name="activate"
handler="on_load_recent_game_activate"/>
+ </widget>
+ </child>
+ <child>
<widget class="GtkMenuItem" id="set_up_position1">
<property name="label" translatable="yes">Setup
Position</property>
<property name="use_underline">True</property>
=======================================
--- /lib/pychess/Main.py Mon Dec 5 07:49:43 2011
+++ /lib/pychess/Main.py Mon Dec 12 12:55:24 2011
@@ -3,6 +3,8 @@
import math
import atexit
import signal
+import urllib
+from urlparse import urlparse

import gobject, gtk
from gtk import DEST_DEFAULT_MOTION, DEST_DEFAULT_HIGHLIGHT,
DEST_DEFAULT_DROP
@@ -30,6 +32,12 @@
# gameDic - containing the gamewidget:gamemodel of all open
games #

################################################################################
gameDic = {}
+
+########################
+# For Racent Chooser
+########################
+recentManager = gtk.recent_manager_get_default()
+

class GladeHandlers:

@@ -62,9 +70,16 @@

# Bring playing window to the front
gamewidget.getWidgets()["window1"].present()
+
+ gamemodel.connect("game_loaded",
GladeHandlers.__dict__["on_recent_game_activated"])
+ gamemodel.connect("game_saved",
GladeHandlers.__dict__["on_recent_game_activated"])

# Make sure we can remove gamewidgets from gameDic later
gmwidg.connect("closed",
GladeHandlers.__dict__["on_gmwidg_closed"])
+
+ def on_recent_game_activated (gamemodel, uri):
+ o = urlparse(uri)
+ recentManager.add_full("file://" + o.path,
{'mime_type':'application/x-chess-pgn', 'app_name':'pychess', 'app_exec':'pychess', 'group':'pychess'})

def on_gmwidg_closed (gmwidg):
del gameDic[gmwidg]
@@ -274,6 +289,29 @@
clb.connect("activate", callback)
clb.connect("clicked", callback)
widgets["aboutdialog1"].connect("delete-event", callback)
+
+ #---------------------------------------------------- RecentChooser
+ def recent_item_activated (self):
+ uri = self.get_current_uri()
+ try:
+ urllib.urlopen(uri).close()
+ newGameDialog.LoadFileExtension.run(self.get_current_uri())
+ except (IOError, OSError):
+ #shomething wrong whit the uri
+ recentManager.remove_item(uri)
+
+ self.menu_recent = gtk.RecentChooserMenu(recentManager)
+ self.menu_recent.set_show_tips(True)
+ self.menu_recent.set_sort_type(gtk.RECENT_SORT_MRU)
+ self.menu_recent.set_limit(10)
+ self.menu_recent.set_name("menu_recent")
+
+ self.file_filter = gtk.RecentFilter()
+ self.file_filter.add_mime_type("application/x-chess-pgn")
+ self.menu_recent.set_filter(self.file_filter)
+
+ self.menu_recent.connect("item-activated", recent_item_activated)
+ widgets["load_recent_game1"].set_submenu(self.menu_recent)

#----------------------------------------------------- Discoverer
dialog
def discovering_started (discoverer, binnames):

==============================================================================
Revision: fcbc88c02a47
Author: gbtami
Date: Thu Dec 15 07:46:44 2011
Log: Use struct.pack() instead of hex()
http://code.google.com/p/pychess/source/detail?r=fcbc88c02a47

Modified:
/lib/pychess/Utils/eco.py
/pgn2fen.py

=======================================
--- /lib/pychess/Utils/eco.py Fri Dec 9 05:14:04 2011
+++ /lib/pychess/Utils/eco.py Thu Dec 15 07:46:44 2011
@@ -2,6 +2,7 @@
import atexit
import gettext
import sqlite3
+import struct

from pychess.System.prefix import addDataPrefix

@@ -19,6 +20,6 @@
def get_eco(hash):
cur = conn.cursor()
select = "select eco, opening, variation from openings where hash=?
and lang=?"
- cur.execute(select, (buffer(hex(hash)), lang))
+ cur.execute(select, (buffer(struct.pack('Q', hash)), lang))
return cur.fetchone()

=======================================
--- /pgn2fen.py Mon Dec 12 02:35:41 2011
+++ /pgn2fen.py Thu Dec 15 07:46:44 2011
@@ -5,6 +5,7 @@
import os
import sys
import sqlite3
+import struct

from pychess.Savers.pgn import load
from pychess.System.prefix import addDataPrefix
@@ -47,7 +48,7 @@
if res is not None:
hash = res[0]
else:
- hash = buffer(hex(model.boards[-1].board.hash))
+ hash = buffer(struct.pack('Q',
model.boards[-1].board.hash))

if opening:
rows.append((hash, base, eco, lang, opening, variation))

==============================================================================
Revision: d044876323a7
Author: gbtami
Date: Thu Dec 15 12:13:53 2011
Log: Use standard ordering instead of default native
http://code.google.com/p/pychess/source/detail?r=d044876323a7

Modified:
/lib/pychess/Utils/eco.py
/pgn2fen.py

=======================================
--- /lib/pychess/Utils/eco.py Thu Dec 15 07:46:44 2011
+++ /lib/pychess/Utils/eco.py Thu Dec 15 12:13:53 2011
@@ -17,9 +17,12 @@
else:
lang = mofile.split(os.sep)[-3]

+# big-endian, unsigned long long (uint64)
+hash_struct = struct.Struct('>Q')
+
def get_eco(hash):
cur = conn.cursor()
select = "select eco, opening, variation from openings where hash=?
and lang=?"
- cur.execute(select, (buffer(struct.pack('Q', hash)), lang))
+ cur.execute(select, (buffer(hash_struct.pack(hash)), lang))
return cur.fetchone()

=======================================
--- /pgn2fen.py Thu Dec 15 07:46:44 2011
+++ /pgn2fen.py Thu Dec 15 12:13:53 2011
@@ -9,6 +9,7 @@

from pychess.Savers.pgn import load
from pychess.System.prefix import addDataPrefix
+from pychess.Utils.eco import hash_struct

path = os.path.join(addDataPrefix("eco.db"))
conn = sqlite3.connect(path)
@@ -17,6 +18,8 @@
c = conn.cursor()

c.execute("drop table if exists openings")
+
+ # Unfortunately sqlite doesn't support uint64, so we have to use blob
type to store polyglot-hash values
c.execute("create table openings(hash blob, base integer, eco text,
lang text, opening text, variation text)")

def feed(pgnfile, lang):
@@ -48,7 +51,7 @@
if res is not None:
hash = res[0]
else:
- hash = buffer(struct.pack('Q',
model.boards[-1].board.hash))
+ hash =
buffer(hash_struct.pack(model.boards[-1].board.hash))

if opening:
rows.append((hash, base, eco, lang, opening, variation))

==============================================================================
Revision: 769680812e96
Author: gbtami
Date: Sat Dec 31 11:54:23 2011
Log: Merge from gbtami-eco
http://code.google.com/p/pychess/source/detail?r=769680812e96

Deleted:
/doc/pychess.System.tsqlite.html
/lib/pychess/System/tsqlite.py
/open.db

=======================================
--- /doc/pychess.System.tsqlite.html Thu Nov 23 13:00:11 2006
+++ /dev/null
@@ -1,105 +0,0 @@
-
-<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html><head><title>Python: module pychess.System.tsqlite</title>
-</head><body bgcolor="#f0f0f8">
-
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
-<tr bgcolor="#7799ee">
-<td valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica,
arial">&nbsp;<br><big><big><strong><a href="pychess.html"><font
color="#ffffff">pychess</font></a>.<a href="pychess.System.html"><font
color="#ffffff">System</font></a>.tsqlite</strong></big></big></font></td
-><td align=right valign=bottom
-><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a
href="file:/home/thomas/Programmering/python/skak/svn/lib/pychess/System/tsqlite.py">/home/thomas/Programmering/python/skak/svn/lib/pychess/System/tsqlite.py</a></font></td></tr></table>
-
<p><tt>This&nbsp;is&nbsp;a&nbsp;threadsafe&nbsp;wrapper&nbsp;sqlite.<br>
-It&nbsp;is&nbsp;not&nbsp;classbased,&nbsp;so&nbsp;only&nbsp;one&nbsp;database&nbsp;can&nbsp;be&nbsp;open&nbsp;at&nbsp;a&nbsp;time</tt></p>
-<p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#aa55cc">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#fffff" face="helvetica,
arial"><big><strong>Modules</strong></big></font></td></tr>
-
-<tr><td
bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><table width="100%" summary="list"><tr><td width="25%"
valign=top><a href="Queue.html">Queue</a><br>
-<a href="os.html">os</a><br>
-</td><td width="25%" valign=top><a
href="pysqlite2.dbapi2.html">pysqlite2.dbapi2</a><br>
-<a href="thread.html">thread</a><br>
-</td><td width="25%" valign=top><a href="time.html">time</a><br>
-</td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#ee77aa">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica,
arial"><big><strong>Classes</strong></big></font></td></tr>
-
-<tr><td
bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><dl>
-<dt><font face="helvetica, arial"><a
href="threading.html#Thread">threading.Thread</a>(<a
href="threading.html#_Verbose">threading._Verbose</a>)
-</font></dt><dd>
-<dl>
-<dt><font face="helvetica, arial"><a
href="pychess.System.tsqlite.html#DbWrapper">DbWrapper</a>
-</font></dt></dl>
-</dd>
-</dl>
- <p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#ffc8d8">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#000000" face="helvetica, arial"><a name="DbWrapper">class
<strong>DbWrapper</strong></a>(<a
href="threading.html#Thread">threading.Thread</a>)</font></td></tr>
-
-<tr><td bgcolor="#ffc8d8"><tt>&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><dl><dt>Method resolution order:</dt>
-<dd><a href="pychess.System.tsqlite.html#DbWrapper">DbWrapper</a></dd>
-<dd><a href="threading.html#Thread">threading.Thread</a></dd>
-<dd><a href="threading.html#_Verbose">threading._Verbose</a></dd>
-<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
-</dl>
-<hr>
-Methods defined here:<br>
-<dl><dt><a name="DbWrapper-__init__"><strong>__init__</strong></a>(self,
path, nr)</dt></dl>
-
-<dl><dt><a name="DbWrapper-run"><strong>run</strong></a>(self)</dt></dl>
-
-<hr>
-Methods inherited from <a
href="threading.html#Thread">threading.Thread</a>:<br>
-<dl><dt><a
name="DbWrapper-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
-
-<dl><dt><a
name="DbWrapper-getName"><strong>getName</strong></a>(self)</dt></dl>
-
-<dl><dt><a
name="DbWrapper-isAlive"><strong>isAlive</strong></a>(self)</dt></dl>
-
-<dl><dt><a
name="DbWrapper-isDaemon"><strong>isDaemon</strong></a>(self)</dt></dl>
-
-<dl><dt><a name="DbWrapper-join"><strong>join</strong></a>(self,
timeout<font color="#909090">=None</font>)</dt></dl>
-
-<dl><dt><a name="DbWrapper-setDaemon"><strong>setDaemon</strong></a>(self,
daemonic)</dt></dl>
-
-<dl><dt><a name="DbWrapper-setName"><strong>setName</strong></a>(self,
name)</dt></dl>
-
-<dl><dt><a
name="DbWrapper-start"><strong>start</strong></a>(self)</dt></dl>
-
-<hr>
-Data and other attributes inherited from <a
href="threading.html#_Verbose">threading._Verbose</a>:<br>
-<dl><dt><strong>__dict__</strong> = &lt;dictproxy
object&gt;<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dl>
-
-<dl><dt><strong>__weakref__</strong> = &lt;attribute '__weakref__'
of '_Verbose'
objects&gt;<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dl>
-
-</td></tr></table></td></tr></table><p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#eeaa77">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica,
arial"><big><strong>Functions</strong></big></font></td></tr>
-
-<tr><td
bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><dl><dt><a
name="-close"><strong>close</strong></a>()</dt></dl>
- <dl><dt><a name="-connect"><strong>connect</strong></a>(path)</dt></dl>
- <dl><dt><a
name="-execSQL"><strong>execSQL</strong></a>(*queries)</dt></dl>
-</td></tr></table><p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#55aa55">
-<td colspan=3 valign=bottom>&nbsp;<br>
-<font color="#ffffff" face="helvetica,
arial"><big><strong>Data</strong></big></font></td></tr>
-
-<tr><td
bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
-<td width="100%"><strong>END_CMD</strong> = 1<br>
-<strong>SQL_CMD</strong> = 0<br>
-<strong>qthreads</strong> = 0<br>
-<strong>sqlqueue</strong> = &lt;Queue.Queue instance&gt;</td></tr></table>
-</body></html>
=======================================
--- /lib/pychess/System/tsqlite.py Tue Nov 23 04:00:47 2010
+++ /dev/null
@@ -1,73 +0,0 @@
-""" This is a threadsafe wrapper sqlite.
- It is not classbased, so only one database can be open at a time """
-
-import sqlite3 as sqlite
-import Queue, time, os
-from threading import Thread
-
-sqlqueue = Queue.Queue()
-
-SQL_CMD, END_CMD = range(2)
-
-class DbWrapper(Thread):
- def __init__(self, path):
- Thread.__init__(self)
- self.setDaemon(True)
- self.path = path
-
- def run(self):
- con = sqlite.connect(self.path)
- cur = con.cursor()
- while True:
- cmd, queries, resultqueue = sqlqueue.get()
- # print "Conn %d -> %s -> %s" % (self.nr, cmd, queries)
- if cmd == SQL_CMD:
- commitneeded = False
- res = []
- for sql in queries:
- try:
- cur.execute(sql)
- except Exception, e:
- print sql
- raise e
- if not sql.upper().startswith("SELECT"):
- commitneeded = True
- res += cur.fetchall()
- if commitneeded: con.commit()
- resultqueue.put(res)
- else:
- # allow other threads to stop
- sqlqueue.put((cmd, queries, resultqueue))
- resultqueue.put(None)
- break
-
-def connect (path):
- wrap = DbWrapper(path)
- wrap.start()
-
-def close ():
- resultqueue = Queue.Queue()
- sqlqueue.put((END_CMD, [], resultqueue))
- resultqueue.get()
-
-def execSQL (*queries):
- resultqueue = Queue.Queue()
- sqlqueue.put((SQL_CMD, queries, resultqueue))
- return resultqueue.get()
-
-if __name__ == "__main__":
- dbname = "test.db"
- connect (dbname)
- execSQL ("drop table if exists people",
- "create table people (name_last, age integer)")
- # don't add connections before creating table
- connect (dbname)
- # insert one row
- execSQL ("insert into people (name_last, age) values ('Smith', 80)")
- # insert two rows in one transaction
- execSQL ("insert into people (name_last, age) values ('Jones', 55)",
- "insert into people (name_last, age) values ('Gruns', 25)")
- for name, age in execSQL ("select * from people"):
- print "%s: %d" % (name, age)
- close()
- os.remove(dbname)
=======================================
--- /open.db Fri Dec 1 08:58:18 2006
+++ /dev/null
Binary file, no diff available.
Reply all
Reply to author
Forward
0 new messages