game: breakthrough

GameType.chance_mode = ChanceMode.DETERMINISTIC
GameType.dynamics = Dynamics.SEQUENTIAL
GameType.information = Information.PERFECT_INFORMATION
GameType.long_name = "Breakthrough"
GameType.max_num_players = 2
GameType.min_num_players = 2
GameType.parameter_specification = ["columns", "rows"]
GameType.provides_information_state_string = False
GameType.provides_information_state_tensor = False
GameType.provides_observation_string = True
GameType.provides_observation_tensor = True
GameType.provides_factored_observation_string = False
GameType.reward_model = RewardModel.TERMINAL
GameType.short_name = "breakthrough"
GameType.utility = Utility.ZERO_SUM

NumDistinctActions() = 768
PolicyTensorShape() = [768]
MaxChanceOutcomes() = 0
GetParameters() = {columns=8,rows=8}
NumPlayers() = 2
MinUtility() = -1.0
MaxUtility() = 1.0
UtilitySum() = 0.0
ObservationTensorShape() = [3, 8, 8]
ObservationTensorLayout() = TensorLayout.CHW
ObservationTensorSize() = 192
MaxGameLength() = 209
ToString() = "breakthrough()"

# State 0
# 8bbbbbbbb
# 7bbbbbbbb
# 6........
# 5........
# 4........
# 3........
# 2wwwwwwww
# 1wwwwwwww
#  abcdefgh
IsTerminal() = False
History() = []
HistoryString() = ""
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 0
ObservationString(0) = "8bbbbbbbb\n7bbbbbbbb\n6........\n5........\n4........\n3........\n2wwwwwwww\n1wwwwwwww\n abcdefgh\n"
ObservationString(1) = "8bbbbbbbb\n7bbbbbbbb\n6........\n5........\n4........\n3........\n2wwwwwwww\n1wwwwwwww\n abcdefgh\n"
ObservationTensor(0):
◉◉◉◉◉◉◉◉  ◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯
◉◉◉◉◉◉◉◉  ◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉
◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉  ◯◯◯◯◯◯◯◯
◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉  ◯◯◯◯◯◯◯◯
ObservationTensor(1):
◉◉◉◉◉◉◉◉  ◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯
◉◉◉◉◉◉◉◉  ◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉
◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉  ◯◯◯◯◯◯◯◯
◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉  ◯◯◯◯◯◯◯◯
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [98, 100, 108, 110, 112, 120, 122, 124, 132, 134, 136, 144, 146, 148, 156, 158, 160, 168, 170, 172, 180, 182]
StringLegalActions() = ["a7a6", "a7b6", "b7a6", "b7b6", "b7c6", "c7b6", "c7c6", "c7d6", "d7c6", "d7d6", "d7e6", "e7d6", "e7e6", "e7f6", "f7e6", "f7f6", "f7g6", "g7f6", "g7g6", "g7h6", "h7g6", "h7h6"]

# Apply action "c7d6"
action: 124

# State 1
# 8bbbbbbbb
# 7bb.bbbbb
# 6...b....
# 5........
# 4........
# 3........
# 2wwwwwwww
# 1wwwwwwww
#  abcdefgh
IsTerminal() = False
History() = [124]
HistoryString() = "124"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 1
ObservationString(0) = "8bbbbbbbb\n7bb.bbbbb\n6...b....\n5........\n4........\n3........\n2wwwwwwww\n1wwwwwwww\n abcdefgh\n"
ObservationString(1) = "8bbbbbbbb\n7bb.bbbbb\n6...b....\n5........\n4........\n3........\n2wwwwwwww\n1wwwwwwww\n abcdefgh\n"
ObservationTensor(0):
◉◉◉◉◉◉◉◉  ◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯
◉◉◯◉◉◉◉◉  ◯◯◯◯◯◯◯◯  ◯◯◉◯◯◯◯◯
◯◯◯◉◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◯◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉
◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉  ◯◯◯◯◯◯◯◯
◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉  ◯◯◯◯◯◯◯◯
ObservationTensor(1):
◉◉◉◉◉◉◉◉  ◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯
◉◉◯◉◉◉◉◉  ◯◯◯◯◯◯◯◯  ◯◯◉◯◯◯◯◯
◯◯◯◉◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◯◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉
◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉  ◯◯◯◯◯◯◯◯
◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉  ◯◯◯◯◯◯◯◯
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [584, 586, 594, 596, 598, 606, 608, 610, 618, 620, 622, 630, 632, 634, 642, 644, 646, 654, 656, 658, 666, 668]
StringLegalActions() = ["a2a3", "a2b3", "b2a3", "b2b3", "b2c3", "c2b3", "c2c3", "c2d3", "d2c3", "d2d3", "d2e3", "e2d3", "e2e3", "e2f3", "f2e3", "f2f3", "f2g3", "g2f3", "g2g3", "g2h3", "h2g3", "h2h3"]

# Apply action "d2d3"
action: 620

# State 2
# 8bbbbbbbb
# 7bb.bbbbb
# 6...b....
# 5........
# 4........
# 3...w....
# 2www.wwww
# 1wwwwwwww
#  abcdefgh
IsTerminal() = False
History() = [124, 620]
HistoryString() = "124, 620"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 0
ObservationString(0) = "8bbbbbbbb\n7bb.bbbbb\n6...b....\n5........\n4........\n3...w....\n2www.wwww\n1wwwwwwww\n abcdefgh\n"
ObservationString(1) = "8bbbbbbbb\n7bb.bbbbb\n6...b....\n5........\n4........\n3...w....\n2www.wwww\n1wwwwwwww\n abcdefgh\n"
ObservationTensor(0):
◉◉◉◉◉◉◉◉  ◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯
◉◉◯◉◉◉◉◉  ◯◯◯◯◯◯◯◯  ◯◯◉◯◯◯◯◯
◯◯◯◉◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◯◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◉◯◯◯◯  ◉◉◉◯◉◉◉◉
◯◯◯◯◯◯◯◯  ◉◉◉◯◉◉◉◉  ◯◯◯◉◯◯◯◯
◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉  ◯◯◯◯◯◯◯◯
ObservationTensor(1):
◉◉◉◉◉◉◉◉  ◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯
◉◉◯◉◉◉◉◉  ◯◯◯◯◯◯◯◯  ◯◯◉◯◯◯◯◯
◯◯◯◉◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◯◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◉◯◯◯◯  ◉◉◉◯◉◉◉◉
◯◯◯◯◯◯◯◯  ◉◉◉◯◉◉◉◉  ◯◯◯◉◯◯◯◯
◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉  ◯◯◯◯◯◯◯◯
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [16, 26, 36, 98, 100, 108, 110, 112, 132, 136, 146, 148, 156, 158, 160, 168, 170, 172, 180, 182, 228, 230, 232]
StringLegalActions() = ["b8c7", "c8c7", "d8c7", "a7a6", "a7b6", "b7a6", "b7b6", "b7c6", "d7c6", "d7e6", "e7e6", "e7f6", "f7e6", "f7f6", "f7g6", "g7f6", "g7g6", "g7h6", "h7g6", "h7h6", "d6c5", "d6d5", "d6e5"]

# Apply action "f7e6"
action: 156

# State 3
# 8bbbbbbbb
# 7bb.bb.bb
# 6...bb...
# 5........
# 4........
# 3...w....
# 2www.wwww
# 1wwwwwwww
#  abcdefgh
IsTerminal() = False
History() = [124, 620, 156]
HistoryString() = "124, 620, 156"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 1
ObservationString(0) = "8bbbbbbbb\n7bb.bb.bb\n6...bb...\n5........\n4........\n3...w....\n2www.wwww\n1wwwwwwww\n abcdefgh\n"
ObservationString(1) = "8bbbbbbbb\n7bb.bb.bb\n6...bb...\n5........\n4........\n3...w....\n2www.wwww\n1wwwwwwww\n abcdefgh\n"
ObservationTensor(0):
◉◉◉◉◉◉◉◉  ◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯
◉◉◯◉◉◯◉◉  ◯◯◯◯◯◯◯◯  ◯◯◉◯◯◉◯◯
◯◯◯◉◉◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◯◯◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◉◯◯◯◯  ◉◉◉◯◉◉◉◉
◯◯◯◯◯◯◯◯  ◉◉◉◯◉◉◉◉  ◯◯◯◉◯◯◯◯
◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉  ◯◯◯◯◯◯◯◯
ObservationTensor(1):
◉◉◉◉◉◉◉◉  ◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯
◉◉◯◉◉◯◉◉  ◯◯◯◯◯◯◯◯  ◯◯◉◯◯◉◯◯
◯◯◯◉◉◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◯◯◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◉◯◯◯◯  ◉◉◉◯◉◉◉◉
◯◯◯◯◯◯◯◯  ◉◉◉◯◉◉◉◉  ◯◯◯◉◯◯◯◯
◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉  ◯◯◯◯◯◯◯◯
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [522, 524, 526, 584, 586, 594, 596, 598, 606, 608, 632, 634, 642, 644, 646, 654, 656, 658, 666, 668, 706, 716, 726]
StringLegalActions() = ["d3c4", "d3d4", "d3e4", "a2a3", "a2b3", "b2a3", "b2b3", "b2c3", "c2b3", "c2c3", "e2e3", "e2f3", "f2e3", "f2f3", "f2g3", "g2f3", "g2g3", "g2h3", "h2g3", "h2h3", "c1d2", "d1d2", "e1d2"]

# Apply action "f2e3"
action: 642

# State 4
# 8bbbbbbbb
# 7bb.bb.bb
# 6...bb...
# 5........
# 4........
# 3...ww...
# 2www.w.ww
# 1wwwwwwww
#  abcdefgh
IsTerminal() = False
History() = [124, 620, 156, 642]
HistoryString() = "124, 620, 156, 642"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 0
ObservationString(0) = "8bbbbbbbb\n7bb.bb.bb\n6...bb...\n5........\n4........\n3...ww...\n2www.w.ww\n1wwwwwwww\n abcdefgh\n"
ObservationString(1) = "8bbbbbbbb\n7bb.bb.bb\n6...bb...\n5........\n4........\n3...ww...\n2www.w.ww\n1wwwwwwww\n abcdefgh\n"
ObservationTensor(0):
◉◉◉◉◉◉◉◉  ◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯
◉◉◯◉◉◯◉◉  ◯◯◯◯◯◯◯◯  ◯◯◉◯◯◉◯◯
◯◯◯◉◉◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◯◯◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◉◉◯◯◯  ◉◉◉◯◯◉◉◉
◯◯◯◯◯◯◯◯  ◉◉◉◯◉◯◉◉  ◯◯◯◉◯◉◯◯
◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉  ◯◯◯◯◯◯◯◯
ObservationTensor(1):
◉◉◉◉◉◉◉◉  ◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯
◉◉◯◉◉◯◉◉  ◯◯◯◯◯◯◯◯  ◯◯◉◯◯◉◯◯
◯◯◯◉◉◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◯◯◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◉◉◯◯◯  ◉◉◉◯◯◉◉◉
◯◯◯◯◯◯◯◯  ◉◉◉◯◉◯◉◉  ◯◯◯◉◯◉◯◯
◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉  ◯◯◯◯◯◯◯◯
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [16, 26, 36, 52, 62, 72, 98, 100, 108, 110, 112, 132, 148, 168, 170, 172, 180, 182, 228, 230, 232, 240, 242, 244]
StringLegalActions() = ["b8c7", "c8c7", "d8c7", "e8f7", "f8f7", "g8f7", "a7a6", "a7b6", "b7a6", "b7b6", "b7c6", "d7c6", "e7f6", "g7f6", "g7g6", "g7h6", "h7g6", "h7h6", "d6c5", "d6d5", "d6e5", "e6d5", "e6e5", "e6f5"]

# Apply action "b8c7"
action: 16

# State 5
# 8b.bbbbbb
# 7bbbbb.bb
# 6...bb...
# 5........
# 4........
# 3...ww...
# 2www.w.ww
# 1wwwwwwww
#  abcdefgh
IsTerminal() = False
History() = [124, 620, 156, 642, 16]
HistoryString() = "124, 620, 156, 642, 16"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 1
ObservationString(0) = "8b.bbbbbb\n7bbbbb.bb\n6...bb...\n5........\n4........\n3...ww...\n2www.w.ww\n1wwwwwwww\n abcdefgh\n"
ObservationString(1) = "8b.bbbbbb\n7bbbbb.bb\n6...bb...\n5........\n4........\n3...ww...\n2www.w.ww\n1wwwwwwww\n abcdefgh\n"
ObservationTensor(0):
◉◯◉◉◉◉◉◉  ◯◯◯◯◯◯◯◯  ◯◉◯◯◯◯◯◯
◉◉◉◉◉◯◉◉  ◯◯◯◯◯◯◯◯  ◯◯◯◯◯◉◯◯
◯◯◯◉◉◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◯◯◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◉◉◯◯◯  ◉◉◉◯◯◉◉◉
◯◯◯◯◯◯◯◯  ◉◉◉◯◉◯◉◉  ◯◯◯◉◯◉◯◯
◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉  ◯◯◯◯◯◯◯◯
ObservationTensor(1):
◉◯◉◉◉◉◉◉  ◯◯◯◯◯◯◯◯  ◯◉◯◯◯◯◯◯
◉◉◉◉◉◯◉◉  ◯◯◯◯◯◯◯◯  ◯◯◯◯◯◉◯◯
◯◯◯◉◉◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◯◯◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◉◉◯◯◯  ◉◉◉◯◯◉◉◉
◯◯◯◯◯◯◯◯  ◉◉◉◯◉◯◉◉  ◯◯◯◉◯◉◯◯
◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉  ◯◯◯◯◯◯◯◯
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [522, 524, 526, 534, 536, 538, 584, 586, 594, 596, 598, 606, 608, 634, 654, 656, 658, 666, 668, 706, 716, 726, 730, 740, 750]
StringLegalActions() = ["d3c4", "d3d4", "d3e4", "e3d4", "e3e4", "e3f4", "a2a3", "a2b3", "b2a3", "b2b3", "b2c3", "c2b3", "c2c3", "e2f3", "g2f3", "g2g3", "g2h3", "h2g3", "h2h3", "c1d2", "d1d2", "e1d2", "e1f2", "f1f2", "g1f2"]

# Apply action "b2b3"
action: 596

# State 6
# 8b.bbbbbb
# 7bbbbb.bb
# 6...bb...
# 5........
# 4........
# 3.w.ww...
# 2w.w.w.ww
# 1wwwwwwww
#  abcdefgh
IsTerminal() = False
History() = [124, 620, 156, 642, 16, 596]
HistoryString() = "124, 620, 156, 642, 16, 596"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 0
ObservationString(0) = "8b.bbbbbb\n7bbbbb.bb\n6...bb...\n5........\n4........\n3.w.ww...\n2w.w.w.ww\n1wwwwwwww\n abcdefgh\n"
ObservationString(1) = "8b.bbbbbb\n7bbbbb.bb\n6...bb...\n5........\n4........\n3.w.ww...\n2w.w.w.ww\n1wwwwwwww\n abcdefgh\n"
ObservationTensor(0):
◉◯◉◉◉◉◉◉  ◯◯◯◯◯◯◯◯  ◯◉◯◯◯◯◯◯
◉◉◉◉◉◯◉◉  ◯◯◯◯◯◯◯◯  ◯◯◯◯◯◉◯◯
◯◯◯◉◉◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◯◯◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◉◯◉◉◯◯◯  ◉◯◉◯◯◉◉◉
◯◯◯◯◯◯◯◯  ◉◯◉◯◉◯◉◉  ◯◉◯◉◯◉◯◯
◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉  ◯◯◯◯◯◯◯◯
ObservationTensor(1):
◉◯◉◉◉◉◉◉  ◯◯◯◯◯◯◯◯  ◯◉◯◯◯◯◯◯
◉◉◉◉◉◯◉◉  ◯◯◯◯◯◯◯◯  ◯◯◯◯◯◉◯◯
◯◯◯◉◉◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◯◯◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◉◯◉◉◯◯◯  ◉◯◉◯◯◉◉◉
◯◯◯◯◯◯◯◯  ◉◯◉◯◉◯◉◉  ◯◉◯◉◯◉◯◯
◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉  ◯◯◯◯◯◯◯◯
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [52, 62, 72, 98, 100, 108, 110, 112, 120, 122, 132, 148, 168, 170, 172, 180, 182, 228, 230, 232, 240, 242, 244]
StringLegalActions() = ["e8f7", "f8f7", "g8f7", "a7a6", "a7b6", "b7a6", "b7b6", "b7c6", "c7b6", "c7c6", "d7c6", "e7f6", "g7f6", "g7g6", "g7h6", "h7g6", "h7h6", "d6c5", "d6d5", "d6e5", "e6d5", "e6e5", "e6f5"]

# Apply action "d6d5"
action: 230

# State 7
# 8b.bbbbbb
# 7bbbbb.bb
# 6....b...
# 5...b....
# 4........
# 3.w.ww...
# 2w.w.w.ww
# 1wwwwwwww
#  abcdefgh
IsTerminal() = False
History() = [124, 620, 156, 642, 16, 596, 230]
HistoryString() = "124, 620, 156, 642, 16, 596, 230"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 1
ObservationString(0) = "8b.bbbbbb\n7bbbbb.bb\n6....b...\n5...b....\n4........\n3.w.ww...\n2w.w.w.ww\n1wwwwwwww\n abcdefgh\n"
ObservationString(1) = "8b.bbbbbb\n7bbbbb.bb\n6....b...\n5...b....\n4........\n3.w.ww...\n2w.w.w.ww\n1wwwwwwww\n abcdefgh\n"
ObservationTensor(0):
◉◯◉◉◉◉◉◉  ◯◯◯◯◯◯◯◯  ◯◉◯◯◯◯◯◯
◉◉◉◉◉◯◉◉  ◯◯◯◯◯◯◯◯  ◯◯◯◯◯◉◯◯
◯◯◯◯◉◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◉◯◉◉◉
◯◯◯◉◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◯◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◉◯◉◉◯◯◯  ◉◯◉◯◯◉◉◉
◯◯◯◯◯◯◯◯  ◉◯◉◯◉◯◉◉  ◯◉◯◉◯◉◯◯
◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉  ◯◯◯◯◯◯◯◯
ObservationTensor(1):
◉◯◉◉◉◉◉◉  ◯◯◯◯◯◯◯◯  ◯◉◯◯◯◯◯◯
◉◉◉◉◉◯◉◉  ◯◯◯◯◯◯◯◯  ◯◯◯◯◯◉◯◯
◯◯◯◯◉◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◉◯◉◉◉
◯◯◯◉◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◯◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◉◯◉◉◯◯◯  ◉◯◉◯◯◉◉◉
◯◯◯◯◯◯◯◯  ◉◯◉◯◉◯◉◉  ◯◉◯◉◯◉◯◯
◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉  ◯◯◯◯◯◯◯◯
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [498, 500, 502, 522, 524, 526, 534, 536, 538, 584, 608, 634, 654, 656, 658, 666, 668, 682, 692, 702, 706, 716, 726, 730, 740, 750]
StringLegalActions() = ["b3a4", "b3b4", "b3c4", "d3c4", "d3d4", "d3e4", "e3d4", "e3e4", "e3f4", "a2a3", "c2c3", "e2f3", "g2f3", "g2g3", "g2h3", "h2g3", "h2h3", "a1b2", "b1b2", "c1b2", "c1d2", "d1d2", "e1d2", "e1f2", "f1f2", "g1f2"]

# Apply action "g1f2"
action: 750

# State 8
# 8b.bbbbbb
# 7bbbbb.bb
# 6....b...
# 5...b....
# 4........
# 3.w.ww...
# 2w.w.wwww
# 1wwwwww.w
#  abcdefgh
IsTerminal() = False
History() = [124, 620, 156, 642, 16, 596, 230, 750]
HistoryString() = "124, 620, 156, 642, 16, 596, 230, 750"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 0
ObservationString(0) = "8b.bbbbbb\n7bbbbb.bb\n6....b...\n5...b....\n4........\n3.w.ww...\n2w.w.wwww\n1wwwwww.w\n abcdefgh\n"
ObservationString(1) = "8b.bbbbbb\n7bbbbb.bb\n6....b...\n5...b....\n4........\n3.w.ww...\n2w.w.wwww\n1wwwwww.w\n abcdefgh\n"
ObservationTensor(0):
◉◯◉◉◉◉◉◉  ◯◯◯◯◯◯◯◯  ◯◉◯◯◯◯◯◯
◉◉◉◉◉◯◉◉  ◯◯◯◯◯◯◯◯  ◯◯◯◯◯◉◯◯
◯◯◯◯◉◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◉◯◉◉◉
◯◯◯◉◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◯◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◉◯◉◉◯◯◯  ◉◯◉◯◯◉◉◉
◯◯◯◯◯◯◯◯  ◉◯◉◯◉◉◉◉  ◯◉◯◉◯◯◯◯
◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◯◉  ◯◯◯◯◯◯◉◯
ObservationTensor(1):
◉◯◉◉◉◉◉◉  ◯◯◯◯◯◯◯◯  ◯◉◯◯◯◯◯◯
◉◉◉◉◉◯◉◉  ◯◯◯◯◯◯◯◯  ◯◯◯◯◯◉◯◯
◯◯◯◯◉◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◉◯◉◉◉
◯◯◯◉◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◯◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◉◯◉◉◯◯◯  ◉◯◉◯◯◉◉◉
◯◯◯◯◯◯◯◯  ◉◯◉◯◉◉◉◉  ◯◉◯◉◯◯◯◯
◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◯◉  ◯◯◯◯◯◯◉◯
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [52, 62, 72, 98, 100, 108, 110, 112, 120, 122, 124, 132, 134, 144, 148, 168, 170, 172, 180, 182, 242, 244, 324, 326, 328]
StringLegalActions() = ["e8f7", "f8f7", "g8f7", "a7a6", "a7b6", "b7a6", "b7b6", "b7c6", "c7b6", "c7c6", "c7d6", "d7c6", "d7d6", "e7d6", "e7f6", "g7f6", "g7g6", "g7h6", "h7g6", "h7h6", "e6e5", "e6f5", "d5c4", "d5d4", "d5e4"]

# Apply action "f8f7"
action: 62

# State 9
# 8b.bbb.bb
# 7bbbbbbbb
# 6....b...
# 5...b....
# 4........
# 3.w.ww...
# 2w.w.wwww
# 1wwwwww.w
#  abcdefgh
IsTerminal() = False
History() = [124, 620, 156, 642, 16, 596, 230, 750, 62]
HistoryString() = "124, 620, 156, 642, 16, 596, 230, 750, 62"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 1
ObservationString(0) = "8b.bbb.bb\n7bbbbbbbb\n6....b...\n5...b....\n4........\n3.w.ww...\n2w.w.wwww\n1wwwwww.w\n abcdefgh\n"
ObservationString(1) = "8b.bbb.bb\n7bbbbbbbb\n6....b...\n5...b....\n4........\n3.w.ww...\n2w.w.wwww\n1wwwwww.w\n abcdefgh\n"
ObservationTensor(0):
◉◯◉◉◉◯◉◉  ◯◯◯◯◯◯◯◯  ◯◉◯◯◯◉◯◯
◉◉◉◉◉◉◉◉  ◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯
◯◯◯◯◉◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◉◯◉◉◉
◯◯◯◉◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◯◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◉◯◉◉◯◯◯  ◉◯◉◯◯◉◉◉
◯◯◯◯◯◯◯◯  ◉◯◉◯◉◉◉◉  ◯◉◯◉◯◯◯◯
◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◯◉  ◯◯◯◯◯◯◉◯
ObservationTensor(1):
◉◯◉◉◉◯◉◉  ◯◯◯◯◯◯◯◯  ◯◉◯◯◯◉◯◯
◉◉◉◉◉◉◉◉  ◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯
◯◯◯◯◉◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◉◯◉◉◉
◯◯◯◉◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◯◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◉◯◉◉◯◯◯  ◉◯◉◯◯◉◉◉
◯◯◯◯◯◯◯◯  ◉◯◉◯◉◉◉◉  ◯◉◯◉◯◯◯◯
◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◯◉  ◯◯◯◯◯◯◉◯
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [498, 500, 502, 522, 524, 526, 534, 536, 538, 584, 608, 634, 644, 646, 654, 656, 658, 666, 668, 682, 692, 702, 706, 716, 726]
StringLegalActions() = ["b3a4", "b3b4", "b3c4", "d3c4", "d3d4", "d3e4", "e3d4", "e3e4", "e3f4", "a2a3", "c2c3", "e2f3", "f2f3", "f2g3", "g2f3", "g2g3", "g2h3", "h2g3", "h2h3", "a1b2", "b1b2", "c1b2", "c1d2", "d1d2", "e1d2"]

# Apply action "h2h3"
action: 668

# State 10
# 8b.bbb.bb
# 7bbbbbbbb
# 6....b...
# 5...b....
# 4........
# 3.w.ww..w
# 2w.w.www.
# 1wwwwww.w
#  abcdefgh
IsTerminal() = False
History() = [124, 620, 156, 642, 16, 596, 230, 750, 62, 668]
HistoryString() = "124, 620, 156, 642, 16, 596, 230, 750, 62, 668"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 0
ObservationString(0) = "8b.bbb.bb\n7bbbbbbbb\n6....b...\n5...b....\n4........\n3.w.ww..w\n2w.w.www.\n1wwwwww.w\n abcdefgh\n"
ObservationString(1) = "8b.bbb.bb\n7bbbbbbbb\n6....b...\n5...b....\n4........\n3.w.ww..w\n2w.w.www.\n1wwwwww.w\n abcdefgh\n"
ObservationTensor(0):
◉◯◉◉◉◯◉◉  ◯◯◯◯◯◯◯◯  ◯◉◯◯◯◉◯◯
◉◉◉◉◉◉◉◉  ◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯
◯◯◯◯◉◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◉◯◉◉◉
◯◯◯◉◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◯◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◉◯◉◉◯◯◉  ◉◯◉◯◯◉◉◯
◯◯◯◯◯◯◯◯  ◉◯◉◯◉◉◉◯  ◯◉◯◉◯◯◯◉
◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◯◉  ◯◯◯◯◯◯◉◯
ObservationTensor(1):
◉◯◉◉◉◯◉◉  ◯◯◯◯◯◯◯◯  ◯◉◯◯◯◉◯◯
◉◉◉◉◉◉◉◉  ◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯
◯◯◯◯◉◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◉◯◉◉◉
◯◯◯◉◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◯◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◉◯◉◉◯◯◉  ◉◯◉◯◯◉◉◯
◯◯◯◯◯◯◯◯  ◉◯◉◯◉◉◉◯  ◯◉◯◉◯◯◯◉
◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◯◉  ◯◯◯◯◯◯◉◯
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [98, 100, 108, 110, 112, 120, 122, 124, 132, 134, 144, 148, 158, 160, 168, 170, 172, 180, 182, 242, 244, 324, 326, 328]
StringLegalActions() = ["a7a6", "a7b6", "b7a6", "b7b6", "b7c6", "c7b6", "c7c6", "c7d6", "d7c6", "d7d6", "e7d6", "e7f6", "f7f6", "f7g6", "g7f6", "g7g6", "g7h6", "h7g6", "h7h6", "e6e5", "e6f5", "d5c4", "d5d4", "d5e4"]

# Apply action "b7a6"
action: 108

# State 11
# 8b.bbb.bb
# 7b.bbbbbb
# 6b...b...
# 5...b....
# 4........
# 3.w.ww..w
# 2w.w.www.
# 1wwwwww.w
#  abcdefgh
IsTerminal() = False
History() = [124, 620, 156, 642, 16, 596, 230, 750, 62, 668, 108]
HistoryString() = "124, 620, 156, 642, 16, 596, 230, 750, 62, 668, 108"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 1
ObservationString(0) = "8b.bbb.bb\n7b.bbbbbb\n6b...b...\n5...b....\n4........\n3.w.ww..w\n2w.w.www.\n1wwwwww.w\n abcdefgh\n"
ObservationString(1) = "8b.bbb.bb\n7b.bbbbbb\n6b...b...\n5...b....\n4........\n3.w.ww..w\n2w.w.www.\n1wwwwww.w\n abcdefgh\n"
ObservationTensor(0):
◉◯◉◉◉◯◉◉  ◯◯◯◯◯◯◯◯  ◯◉◯◯◯◉◯◯
◉◯◉◉◉◉◉◉  ◯◯◯◯◯◯◯◯  ◯◉◯◯◯◯◯◯
◉◯◯◯◉◯◯◯  ◯◯◯◯◯◯◯◯  ◯◉◉◉◯◉◉◉
◯◯◯◉◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◯◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◉◯◉◉◯◯◉  ◉◯◉◯◯◉◉◯
◯◯◯◯◯◯◯◯  ◉◯◉◯◉◉◉◯  ◯◉◯◉◯◯◯◉
◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◯◉  ◯◯◯◯◯◯◉◯
ObservationTensor(1):
◉◯◉◉◉◯◉◉  ◯◯◯◯◯◯◯◯  ◯◉◯◯◯◉◯◯
◉◯◉◉◉◉◉◉  ◯◯◯◯◯◯◯◯  ◯◉◯◯◯◯◯◯
◉◯◯◯◉◯◯◯  ◯◯◯◯◯◯◯◯  ◯◉◉◉◯◉◉◉
◯◯◯◉◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◯◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◉◯◉◉◯◯◉  ◉◯◉◯◯◉◉◯
◯◯◯◯◯◯◯◯  ◉◯◉◯◉◉◉◯  ◯◉◯◉◯◯◯◉
◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◯◉  ◯◯◯◯◯◯◉◯
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [498, 500, 502, 522, 524, 526, 534, 536, 538, 570, 572, 584, 608, 634, 644, 646, 654, 656, 682, 692, 702, 706, 716, 726, 764]
StringLegalActions() = ["b3a4", "b3b4", "b3c4", "d3c4", "d3d4", "d3e4", "e3d4", "e3e4", "e3f4", "h3g4", "h3h4", "a2a3", "c2c3", "e2f3", "f2f3", "f2g3", "g2f3", "g2g3", "a1b2", "b1b2", "c1b2", "c1d2", "d1d2", "e1d2", "h1h2"]

# Apply action "h3h4"
action: 572

# State 12
# 8b.bbb.bb
# 7b.bbbbbb
# 6b...b...
# 5...b....
# 4.......w
# 3.w.ww...
# 2w.w.www.
# 1wwwwww.w
#  abcdefgh
IsTerminal() = False
History() = [124, 620, 156, 642, 16, 596, 230, 750, 62, 668, 108, 572]
HistoryString() = "124, 620, 156, 642, 16, 596, 230, 750, 62, 668, 108, 572"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 0
ObservationString(0) = "8b.bbb.bb\n7b.bbbbbb\n6b...b...\n5...b....\n4.......w\n3.w.ww...\n2w.w.www.\n1wwwwww.w\n abcdefgh\n"
ObservationString(1) = "8b.bbb.bb\n7b.bbbbbb\n6b...b...\n5...b....\n4.......w\n3.w.ww...\n2w.w.www.\n1wwwwww.w\n abcdefgh\n"
ObservationTensor(0):
◉◯◉◉◉◯◉◉  ◯◯◯◯◯◯◯◯  ◯◉◯◯◯◉◯◯
◉◯◉◉◉◉◉◉  ◯◯◯◯◯◯◯◯  ◯◉◯◯◯◯◯◯
◉◯◯◯◉◯◯◯  ◯◯◯◯◯◯◯◯  ◯◉◉◉◯◉◉◉
◯◯◯◉◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◯◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◉  ◉◉◉◉◉◉◉◯
◯◯◯◯◯◯◯◯  ◯◉◯◉◉◯◯◯  ◉◯◉◯◯◉◉◉
◯◯◯◯◯◯◯◯  ◉◯◉◯◉◉◉◯  ◯◉◯◉◯◯◯◉
◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◯◉  ◯◯◯◯◯◯◉◯
ObservationTensor(1):
◉◯◉◉◉◯◉◉  ◯◯◯◯◯◯◯◯  ◯◉◯◯◯◉◯◯
◉◯◉◉◉◉◉◉  ◯◯◯◯◯◯◯◯  ◯◉◯◯◯◯◯◯
◉◯◯◯◉◯◯◯  ◯◯◯◯◯◯◯◯  ◯◉◉◉◯◉◉◉
◯◯◯◉◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◯◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◉  ◉◉◉◉◉◉◉◯
◯◯◯◯◯◯◯◯  ◯◉◯◉◉◯◯◯  ◉◯◉◯◯◉◉◉
◯◯◯◯◯◯◯◯  ◉◯◉◯◉◉◉◯  ◯◉◯◉◯◯◯◉
◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◯◉  ◯◯◯◯◯◯◉◯
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [4, 24, 100, 120, 122, 124, 132, 134, 144, 148, 158, 160, 168, 170, 172, 180, 182, 194, 196, 242, 244, 324, 326, 328]
StringLegalActions() = ["a8b7", "c8b7", "a7b6", "c7b6", "c7c6", "c7d6", "d7c6", "d7d6", "e7d6", "e7f6", "f7f6", "f7g6", "g7f6", "g7g6", "g7h6", "h7g6", "h7h6", "a6a5", "a6b5", "e6e5", "e6f5", "d5c4", "d5d4", "d5e4"]

# Apply action "d7c6"
action: 132

# State 13
# 8b.bbb.bb
# 7b.b.bbbb
# 6b.b.b...
# 5...b....
# 4.......w
# 3.w.ww...
# 2w.w.www.
# 1wwwwww.w
#  abcdefgh
IsTerminal() = False
History() = [124, 620, 156, 642, 16, 596, 230, 750, 62, 668, 108, 572, 132]
HistoryString() = "124, 620, 156, 642, 16, 596, 230, 750, 62, 668, 108, 572, 132"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 1
ObservationString(0) = "8b.bbb.bb\n7b.b.bbbb\n6b.b.b...\n5...b....\n4.......w\n3.w.ww...\n2w.w.www.\n1wwwwww.w\n abcdefgh\n"
ObservationString(1) = "8b.bbb.bb\n7b.b.bbbb\n6b.b.b...\n5...b....\n4.......w\n3.w.ww...\n2w.w.www.\n1wwwwww.w\n abcdefgh\n"
ObservationTensor(0):
◉◯◉◉◉◯◉◉  ◯◯◯◯◯◯◯◯  ◯◉◯◯◯◉◯◯
◉◯◉◯◉◉◉◉  ◯◯◯◯◯◯◯◯  ◯◉◯◉◯◯◯◯
◉◯◉◯◉◯◯◯  ◯◯◯◯◯◯◯◯  ◯◉◯◉◯◉◉◉
◯◯◯◉◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◯◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◉  ◉◉◉◉◉◉◉◯
◯◯◯◯◯◯◯◯  ◯◉◯◉◉◯◯◯  ◉◯◉◯◯◉◉◉
◯◯◯◯◯◯◯◯  ◉◯◉◯◉◉◉◯  ◯◉◯◉◯◯◯◉
◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◯◉  ◯◯◯◯◯◯◉◯
ObservationTensor(1):
◉◯◉◉◉◯◉◉  ◯◯◯◯◯◯◯◯  ◯◉◯◯◯◉◯◯
◉◯◉◯◉◉◉◉  ◯◯◯◯◯◯◯◯  ◯◉◯◉◯◯◯◯
◉◯◉◯◉◯◯◯  ◯◯◯◯◯◯◯◯  ◯◉◯◉◯◉◉◉
◯◯◯◉◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◯◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◉  ◉◉◉◉◉◉◉◯
◯◯◯◯◯◯◯◯  ◯◉◯◉◉◯◯◯  ◉◯◉◯◯◉◉◉
◯◯◯◯◯◯◯◯  ◉◯◉◯◉◉◉◯  ◯◉◯◉◯◯◯◉
◯◯◯◯◯◯◯◯  ◉◉◉◉◉◉◯◉  ◯◯◯◯◯◯◉◯
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [474, 476, 498, 500, 502, 522, 524, 526, 534, 536, 538, 584, 608, 634, 644, 646, 654, 656, 658, 682, 692, 702, 706, 716, 726, 764]
StringLegalActions() = ["h4g5", "h4h5", "b3a4", "b3b4", "b3c4", "d3c4", "d3d4", "d3e4", "e3d4", "e3e4", "e3f4", "a2a3", "c2c3", "e2f3", "f2f3", "f2g3", "g2f3", "g2g3", "g2h3", "a1b2", "b1b2", "c1b2", "c1d2", "d1d2", "e1d2", "h1h2"]

# Apply action "a1b2"
action: 682

# State 14
# 8b.bbb.bb
# 7b.b.bbbb
# 6b.b.b...
# 5...b....
# 4.......w
# 3.w.ww...
# 2www.www.
# 1.wwwww.w
#  abcdefgh
IsTerminal() = False
History() = [124, 620, 156, 642, 16, 596, 230, 750, 62, 668, 108, 572, 132, 682]
HistoryString() = "124, 620, 156, 642, 16, 596, 230, 750, 62, 668, 108, 572, 132, 682"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 0
ObservationString(0) = "8b.bbb.bb\n7b.b.bbbb\n6b.b.b...\n5...b....\n4.......w\n3.w.ww...\n2www.www.\n1.wwwww.w\n abcdefgh\n"
ObservationString(1) = "8b.bbb.bb\n7b.b.bbbb\n6b.b.b...\n5...b....\n4.......w\n3.w.ww...\n2www.www.\n1.wwwww.w\n abcdefgh\n"
ObservationTensor(0):
◉◯◉◉◉◯◉◉  ◯◯◯◯◯◯◯◯  ◯◉◯◯◯◉◯◯
◉◯◉◯◉◉◉◉  ◯◯◯◯◯◯◯◯  ◯◉◯◉◯◯◯◯
◉◯◉◯◉◯◯◯  ◯◯◯◯◯◯◯◯  ◯◉◯◉◯◉◉◉
◯◯◯◉◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◯◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◉  ◉◉◉◉◉◉◉◯
◯◯◯◯◯◯◯◯  ◯◉◯◉◉◯◯◯  ◉◯◉◯◯◉◉◉
◯◯◯◯◯◯◯◯  ◉◉◉◯◉◉◉◯  ◯◯◯◉◯◯◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◉◉◉◯◉  ◉◯◯◯◯◯◉◯
ObservationTensor(1):
◉◯◉◉◉◯◉◉  ◯◯◯◯◯◯◯◯  ◯◉◯◯◯◉◯◯
◉◯◉◯◉◉◉◉  ◯◯◯◯◯◯◯◯  ◯◉◯◉◯◯◯◯
◉◯◉◯◉◯◯◯  ◯◯◯◯◯◯◯◯  ◯◉◯◉◯◉◉◉
◯◯◯◉◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◯◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◉  ◉◉◉◉◉◉◉◯
◯◯◯◯◯◯◯◯  ◯◉◯◉◉◯◯◯  ◉◯◉◯◯◉◉◉
◯◯◯◯◯◯◯◯  ◉◉◉◯◉◉◉◯  ◯◯◯◉◯◯◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◉◉◉◯◉  ◉◯◯◯◯◯◉◯
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [4, 24, 28, 38, 48, 100, 120, 124, 144, 148, 158, 160, 168, 170, 172, 180, 182, 194, 196, 216, 218, 242, 244, 324, 326, 328]
StringLegalActions() = ["a8b7", "c8b7", "c8d7", "d8d7", "e8d7", "a7b6", "c7b6", "c7d6", "e7d6", "e7f6", "f7f6", "f7g6", "g7f6", "g7g6", "g7h6", "h7g6", "h7h6", "a6a5", "a6b5", "c6b5", "c6c5", "e6e5", "e6f5", "d5c4", "d5d4", "d5e4"]

# Apply action "g7g6"
action: 170

# State 15
# 8b.bbb.bb
# 7b.b.bb.b
# 6b.b.b.b.
# 5...b....
# 4.......w
# 3.w.ww...
# 2www.www.
# 1.wwwww.w
#  abcdefgh
IsTerminal() = False
History() = [124, 620, 156, 642, 16, 596, 230, 750, 62, 668, 108, 572, 132, 682, 170]
HistoryString() = "124, 620, 156, 642, 16, 596, 230, 750, 62, 668, 108, 572, 132, 682, 170"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 1
ObservationString(0) = "8b.bbb.bb\n7b.b.bb.b\n6b.b.b.b.\n5...b....\n4.......w\n3.w.ww...\n2www.www.\n1.wwwww.w\n abcdefgh\n"
ObservationString(1) = "8b.bbb.bb\n7b.b.bb.b\n6b.b.b.b.\n5...b....\n4.......w\n3.w.ww...\n2www.www.\n1.wwwww.w\n abcdefgh\n"
ObservationTensor(0):
◉◯◉◉◉◯◉◉  ◯◯◯◯◯◯◯◯  ◯◉◯◯◯◉◯◯
◉◯◉◯◉◉◯◉  ◯◯◯◯◯◯◯◯  ◯◉◯◉◯◯◉◯
◉◯◉◯◉◯◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◉◯◉◯◉
◯◯◯◉◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◯◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◉  ◉◉◉◉◉◉◉◯
◯◯◯◯◯◯◯◯  ◯◉◯◉◉◯◯◯  ◉◯◉◯◯◉◉◉
◯◯◯◯◯◯◯◯  ◉◉◉◯◉◉◉◯  ◯◯◯◉◯◯◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◉◉◉◯◉  ◉◯◯◯◯◯◉◯
ObservationTensor(1):
◉◯◉◉◉◯◉◉  ◯◯◯◯◯◯◯◯  ◯◉◯◯◯◉◯◯
◉◯◉◯◉◉◯◉  ◯◯◯◯◯◯◯◯  ◯◉◯◉◯◯◉◯
◉◯◉◯◉◯◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◉◯◉◯◉
◯◯◯◉◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◯◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◯◯◉  ◉◉◉◉◉◉◉◯
◯◯◯◯◯◯◯◯  ◯◉◯◉◉◯◯◯  ◉◯◉◯◯◉◉◉
◯◯◯◯◯◯◯◯  ◉◉◉◯◉◉◉◯  ◯◯◯◉◯◯◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◉◉◉◯◉  ◉◯◯◯◯◯◉◯
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [474, 476, 498, 500, 502, 522, 524, 526, 534, 536, 538, 584, 594, 598, 608, 634, 644, 646, 654, 656, 658, 706, 716, 726, 764]
StringLegalActions() = ["h4g5", "h4h5", "b3a4", "b3b4", "b3c4", "d3c4", "d3d4", "d3e4", "e3d4", "e3e4", "e3f4", "a2a3", "b2a3", "b2c3", "c2c3", "e2f3", "f2f3", "f2g3", "g2f3", "g2g3", "g2h3", "c1d2", "d1d2", "e1d2", "h1h2"]

# Apply action "e3f4"
action: 538

# State 16
# 8b.bbb.bb
# 7b.b.bb.b
# 6b.b.b.b.
# 5...b....
# 4.....w.w
# 3.w.w....
# 2www.www.
# 1.wwwww.w
#  abcdefgh
IsTerminal() = False
History() = [124, 620, 156, 642, 16, 596, 230, 750, 62, 668, 108, 572, 132, 682, 170, 538]
HistoryString() = "124, 620, 156, 642, 16, 596, 230, 750, 62, 668, 108, 572, 132, 682, 170, 538"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 0
ObservationString(0) = "8b.bbb.bb\n7b.b.bb.b\n6b.b.b.b.\n5...b....\n4.....w.w\n3.w.w....\n2www.www.\n1.wwwww.w\n abcdefgh\n"
ObservationString(1) = "8b.bbb.bb\n7b.b.bb.b\n6b.b.b.b.\n5...b....\n4.....w.w\n3.w.w....\n2www.www.\n1.wwwww.w\n abcdefgh\n"
ObservationTensor(0):
◉◯◉◉◉◯◉◉  ◯◯◯◯◯◯◯◯  ◯◉◯◯◯◉◯◯
◉◯◉◯◉◉◯◉  ◯◯◯◯◯◯◯◯  ◯◉◯◉◯◯◉◯
◉◯◉◯◉◯◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◉◯◉◯◉
◯◯◯◉◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◯◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◉◯◉  ◉◉◉◉◉◯◉◯
◯◯◯◯◯◯◯◯  ◯◉◯◉◯◯◯◯  ◉◯◉◯◉◉◉◉
◯◯◯◯◯◯◯◯  ◉◉◉◯◉◉◉◯  ◯◯◯◉◯◯◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◉◉◉◯◉  ◉◯◯◯◯◯◉◯
ObservationTensor(1):
◉◯◉◉◉◯◉◉  ◯◯◯◯◯◯◯◯  ◯◉◯◯◯◉◯◯
◉◯◉◯◉◉◯◉  ◯◯◯◯◯◯◯◯  ◯◉◯◉◯◯◉◯
◉◯◉◯◉◯◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◉◯◉◯◉
◯◯◯◉◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◯◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◉◯◉  ◉◉◉◉◉◯◉◯
◯◯◯◯◯◯◯◯  ◯◉◯◉◯◯◯◯  ◉◯◉◯◉◉◉◉
◯◯◯◯◯◯◯◯  ◉◉◉◯◉◉◉◯  ◯◯◯◉◯◯◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◉◉◉◯◉  ◉◯◯◯◯◯◉◯
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [4, 24, 28, 38, 48, 74, 84, 100, 120, 124, 144, 148, 158, 182, 194, 196, 216, 218, 242, 244, 264, 266, 268, 324, 326, 328]
StringLegalActions() = ["a8b7", "c8b7", "c8d7", "d8d7", "e8d7", "g8g7", "h8g7", "a7b6", "c7b6", "c7d6", "e7d6", "e7f6", "f7f6", "h7h6", "a6a5", "a6b5", "c6b5", "c6c5", "e6e5", "e6f5", "g6f5", "g6g5", "g6h5", "d5c4", "d5d4", "d5e4"]

# Apply action "e7f6"
action: 148

# State 17
# 8b.bbb.bb
# 7b.b..b.b
# 6b.b.bbb.
# 5...b....
# 4.....w.w
# 3.w.w....
# 2www.www.
# 1.wwwww.w
#  abcdefgh
IsTerminal() = False
History() = [124, 620, 156, 642, 16, 596, 230, 750, 62, 668, 108, 572, 132, 682, 170, 538, 148]
HistoryString() = "124, 620, 156, 642, 16, 596, 230, 750, 62, 668, 108, 572, 132, 682, 170, 538, 148"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 1
ObservationString(0) = "8b.bbb.bb\n7b.b..b.b\n6b.b.bbb.\n5...b....\n4.....w.w\n3.w.w....\n2www.www.\n1.wwwww.w\n abcdefgh\n"
ObservationString(1) = "8b.bbb.bb\n7b.b..b.b\n6b.b.bbb.\n5...b....\n4.....w.w\n3.w.w....\n2www.www.\n1.wwwww.w\n abcdefgh\n"
ObservationTensor(0):
◉◯◉◉◉◯◉◉  ◯◯◯◯◯◯◯◯  ◯◉◯◯◯◉◯◯
◉◯◉◯◯◉◯◉  ◯◯◯◯◯◯◯◯  ◯◉◯◉◉◯◉◯
◉◯◉◯◉◉◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◉◯◯◯◉
◯◯◯◉◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◯◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◉◯◉  ◉◉◉◉◉◯◉◯
◯◯◯◯◯◯◯◯  ◯◉◯◉◯◯◯◯  ◉◯◉◯◉◉◉◉
◯◯◯◯◯◯◯◯  ◉◉◉◯◉◉◉◯  ◯◯◯◉◯◯◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◉◉◉◯◉  ◉◯◯◯◯◯◉◯
ObservationTensor(1):
◉◯◉◉◉◯◉◉  ◯◯◯◯◯◯◯◯  ◯◉◯◯◯◉◯◯
◉◯◉◯◯◉◯◉  ◯◯◯◯◯◯◯◯  ◯◉◯◉◉◯◉◯
◉◯◉◯◉◉◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◉◯◯◯◉
◯◯◯◉◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◯◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◉◯◉  ◉◉◉◉◉◯◉◯
◯◯◯◯◯◯◯◯  ◯◉◯◉◯◯◯◯  ◉◯◉◯◉◉◉◉
◯◯◯◯◯◯◯◯  ◉◉◉◯◉◉◉◯  ◯◯◯◉◯◯◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◉◉◉◯◉  ◉◯◯◯◯◯◉◯
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [450, 452, 454, 474, 476, 498, 500, 502, 522, 524, 526, 584, 594, 598, 608, 632, 634, 642, 644, 646, 654, 656, 658, 706, 716, 726, 764]
StringLegalActions() = ["f4e5", "f4f5", "f4g5", "h4g5", "h4h5", "b3a4", "b3b4", "b3c4", "d3c4", "d3d4", "d3e4", "a2a3", "b2a3", "b2c3", "c2c3", "e2e3", "e2f3", "f2e3", "f2f3", "f2g3", "g2f3", "g2g3", "g2h3", "c1d2", "d1d2", "e1d2", "h1h2"]

# Apply action "b3b4"
action: 500

# State 18
# 8b.bbb.bb
# 7b.b..b.b
# 6b.b.bbb.
# 5...b....
# 4.w...w.w
# 3...w....
# 2www.www.
# 1.wwwww.w
#  abcdefgh
IsTerminal() = False
History() = [124, 620, 156, 642, 16, 596, 230, 750, 62, 668, 108, 572, 132, 682, 170, 538, 148, 500]
HistoryString() = "124, 620, 156, 642, 16, 596, 230, 750, 62, 668, 108, 572, 132, 682, 170, 538, 148, 500"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 0
ObservationString(0) = "8b.bbb.bb\n7b.b..b.b\n6b.b.bbb.\n5...b....\n4.w...w.w\n3...w....\n2www.www.\n1.wwwww.w\n abcdefgh\n"
ObservationString(1) = "8b.bbb.bb\n7b.b..b.b\n6b.b.bbb.\n5...b....\n4.w...w.w\n3...w....\n2www.www.\n1.wwwww.w\n abcdefgh\n"
ObservationTensor(0):
◉◯◉◉◉◯◉◉  ◯◯◯◯◯◯◯◯  ◯◉◯◯◯◉◯◯
◉◯◉◯◯◉◯◉  ◯◯◯◯◯◯◯◯  ◯◉◯◉◉◯◉◯
◉◯◉◯◉◉◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◉◯◯◯◉
◯◯◯◉◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◯◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◉◯◯◯◉◯◉  ◉◯◉◉◉◯◉◯
◯◯◯◯◯◯◯◯  ◯◯◯◉◯◯◯◯  ◉◉◉◯◉◉◉◉
◯◯◯◯◯◯◯◯  ◉◉◉◯◉◉◉◯  ◯◯◯◉◯◯◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◉◉◉◯◉  ◉◯◯◯◯◯◉◯
ObservationTensor(1):
◉◯◉◉◉◯◉◉  ◯◯◯◯◯◯◯◯  ◯◉◯◯◯◉◯◯
◉◯◉◯◯◉◯◉  ◯◯◯◯◯◯◯◯  ◯◉◯◉◉◯◉◯
◉◯◉◯◉◉◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◉◯◯◯◉
◯◯◯◉◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◯◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◉◯◯◯◉◯◉  ◉◯◉◉◉◯◉◯
◯◯◯◯◯◯◯◯  ◯◯◯◉◯◯◯◯  ◉◉◉◯◉◉◉◉
◯◯◯◯◯◯◯◯  ◉◉◉◯◉◉◉◯  ◯◯◯◉◯◯◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◉◉◉◯◉  ◉◯◯◯◯◯◉◯
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [4, 24, 28, 38, 40, 48, 50, 74, 84, 100, 120, 124, 182, 194, 196, 216, 218, 242, 244, 252, 254, 256, 264, 266, 268, 324, 326, 328]
StringLegalActions() = ["a8b7", "c8b7", "c8d7", "d8d7", "d8e7", "e8d7", "e8e7", "g8g7", "h8g7", "a7b6", "c7b6", "c7d6", "h7h6", "a6a5", "a6b5", "c6b5", "c6c5", "e6e5", "e6f5", "f6e5", "f6f5", "f6g5", "g6f5", "g6g5", "g6h5", "d5c4", "d5d4", "d5e4"]

# Apply action "e8d7"
action: 48

# State 19
# 8b.bb..bb
# 7b.bb.b.b
# 6b.b.bbb.
# 5...b....
# 4.w...w.w
# 3...w....
# 2www.www.
# 1.wwwww.w
#  abcdefgh
IsTerminal() = False
History() = [124, 620, 156, 642, 16, 596, 230, 750, 62, 668, 108, 572, 132, 682, 170, 538, 148, 500, 48]
HistoryString() = "124, 620, 156, 642, 16, 596, 230, 750, 62, 668, 108, 572, 132, 682, 170, 538, 148, 500, 48"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 1
ObservationString(0) = "8b.bb..bb\n7b.bb.b.b\n6b.b.bbb.\n5...b....\n4.w...w.w\n3...w....\n2www.www.\n1.wwwww.w\n abcdefgh\n"
ObservationString(1) = "8b.bb..bb\n7b.bb.b.b\n6b.b.bbb.\n5...b....\n4.w...w.w\n3...w....\n2www.www.\n1.wwwww.w\n abcdefgh\n"
ObservationTensor(0):
◉◯◉◉◯◯◉◉  ◯◯◯◯◯◯◯◯  ◯◉◯◯◉◉◯◯
◉◯◉◉◯◉◯◉  ◯◯◯◯◯◯◯◯  ◯◉◯◯◉◯◉◯
◉◯◉◯◉◉◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◉◯◯◯◉
◯◯◯◉◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◯◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◉◯◯◯◉◯◉  ◉◯◉◉◉◯◉◯
◯◯◯◯◯◯◯◯  ◯◯◯◉◯◯◯◯  ◉◉◉◯◉◉◉◉
◯◯◯◯◯◯◯◯  ◉◉◉◯◉◉◉◯  ◯◯◯◉◯◯◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◉◉◉◯◉  ◉◯◯◯◯◯◉◯
ObservationTensor(1):
◉◯◉◉◯◯◉◉  ◯◯◯◯◯◯◯◯  ◯◉◯◯◉◉◯◯
◉◯◉◉◯◉◯◉  ◯◯◯◯◯◯◯◯  ◯◉◯◯◉◯◉◯
◉◯◉◯◉◉◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◉◯◯◯◉
◯◯◯◉◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◯◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◉◯◯◯◉◯◉  ◉◯◉◉◉◯◉◯
◯◯◯◯◯◯◯◯  ◯◯◯◉◯◯◯◯  ◉◉◉◯◉◉◉◉
◯◯◯◯◯◯◯◯  ◉◉◉◯◉◉◉◯  ◯◯◯◉◯◯◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◉◉◉◯◉  ◉◯◯◯◯◯◉◯
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [402, 404, 406, 450, 452, 454, 474, 476, 522, 524, 526, 584, 586, 594, 596, 598, 606, 608, 632, 634, 642, 644, 646, 654, 656, 658, 706, 716, 726, 764]
StringLegalActions() = ["b4a5", "b4b5", "b4c5", "f4e5", "f4f5", "f4g5", "h4g5", "h4h5", "d3c4", "d3d4", "d3e4", "a2a3", "a2b3", "b2a3", "b2b3", "b2c3", "c2b3", "c2c3", "e2e3", "e2f3", "f2e3", "f2f3", "f2g3", "g2f3", "g2g3", "g2h3", "c1d2", "d1d2", "e1d2", "h1h2"]

# Apply action "a2a3"
action: 584

# State 20
# 8b.bb..bb
# 7b.bb.b.b
# 6b.b.bbb.
# 5...b....
# 4.w...w.w
# 3w..w....
# 2.ww.www.
# 1.wwwww.w
#  abcdefgh
IsTerminal() = False
History() = [124, 620, 156, 642, 16, 596, 230, 750, 62, 668, 108, 572, 132, 682, 170, 538, 148, 500, 48, 584]
HistoryString() = "124, 620, 156, 642, 16, 596, 230, 750, 62, 668, 108, 572, 132, 682, 170, 538, 148, 500, 48, 584"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 0
ObservationString(0) = "8b.bb..bb\n7b.bb.b.b\n6b.b.bbb.\n5...b....\n4.w...w.w\n3w..w....\n2.ww.www.\n1.wwwww.w\n abcdefgh\n"
ObservationString(1) = "8b.bb..bb\n7b.bb.b.b\n6b.b.bbb.\n5...b....\n4.w...w.w\n3w..w....\n2.ww.www.\n1.wwwww.w\n abcdefgh\n"
ObservationTensor(0):
◉◯◉◉◯◯◉◉  ◯◯◯◯◯◯◯◯  ◯◉◯◯◉◉◯◯
◉◯◉◉◯◉◯◉  ◯◯◯◯◯◯◯◯  ◯◉◯◯◉◯◉◯
◉◯◉◯◉◉◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◉◯◯◯◉
◯◯◯◉◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◯◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◉◯◯◯◉◯◉  ◉◯◉◉◉◯◉◯
◯◯◯◯◯◯◯◯  ◉◯◯◉◯◯◯◯  ◯◉◉◯◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◉◉◯◉◉◉◯  ◉◯◯◉◯◯◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◉◉◉◯◉  ◉◯◯◯◯◯◉◯
ObservationTensor(1):
◉◯◉◉◯◯◉◉  ◯◯◯◯◯◯◯◯  ◯◉◯◯◉◉◯◯
◉◯◉◉◯◉◯◉  ◯◯◯◯◯◯◯◯  ◯◉◯◯◉◯◉◯
◉◯◉◯◉◉◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◉◯◯◯◉
◯◯◯◉◯◯◯◯  ◯◯◯◯◯◯◯◯  ◉◉◉◯◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◉◯◯◯◉◯◉  ◉◯◉◉◉◯◉◯
◯◯◯◯◯◯◯◯  ◉◯◯◉◯◯◯◯  ◯◉◉◯◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◉◉◯◉◉◉◯  ◉◯◯◉◯◯◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◉◉◉◯◉  ◉◯◯◯◯◯◉◯
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [4, 24, 40, 74, 84, 100, 120, 124, 134, 182, 194, 196, 216, 218, 242, 244, 252, 254, 256, 264, 266, 268, 324, 326, 328]
StringLegalActions() = ["a8b7", "c8b7", "d8e7", "g8g7", "h8g7", "a7b6", "c7b6", "c7d6", "d7d6", "h7h6", "a6a5", "a6b5", "c6b5", "c6c5", "e6e5", "e6f5", "f6e5", "f6f5", "f6g5", "g6f5", "g6g5", "g6h5", "d5c4", "d5d4", "d5e4"]

# Apply action "g6g5"
action: 266

# State 21
# 8b.bb..bb
# 7b.bb.b.b
# 6b.b.bb..
# 5...b..b.
# 4.w...w.w
# 3w..w....
# 2.ww.www.
# 1.wwwww.w
#  abcdefgh
IsTerminal() = False
History() = [124, 620, 156, 642, 16, 596, 230, 750, 62, 668, 108, 572, 132, 682, 170, 538, 148, 500, 48, 584, 266]
HistoryString() = "124, 620, 156, 642, 16, 596, 230, 750, 62, 668, 108, 572, 132, 682, 170, 538, 148, 500, 48, 584, 266"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 1
ObservationString(0) = "8b.bb..bb\n7b.bb.b.b\n6b.b.bb..\n5...b..b.\n4.w...w.w\n3w..w....\n2.ww.www.\n1.wwwww.w\n abcdefgh\n"
ObservationString(1) = "8b.bb..bb\n7b.bb.b.b\n6b.b.bb..\n5...b..b.\n4.w...w.w\n3w..w....\n2.ww.www.\n1.wwwww.w\n abcdefgh\n"
ObservationTensor(0):
◉◯◉◉◯◯◉◉  ◯◯◯◯◯◯◯◯  ◯◉◯◯◉◉◯◯
◉◯◉◉◯◉◯◉  ◯◯◯◯◯◯◯◯  ◯◉◯◯◉◯◉◯
◉◯◉◯◉◉◯◯  ◯◯◯◯◯◯◯◯  ◯◉◯◉◯◯◉◉
◯◯◯◉◯◯◉◯  ◯◯◯◯◯◯◯◯  ◉◉◉◯◉◉◯◉
◯◯◯◯◯◯◯◯  ◯◉◯◯◯◉◯◉  ◉◯◉◉◉◯◉◯
◯◯◯◯◯◯◯◯  ◉◯◯◉◯◯◯◯  ◯◉◉◯◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◉◉◯◉◉◉◯  ◉◯◯◉◯◯◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◉◉◉◯◉  ◉◯◯◯◯◯◉◯
ObservationTensor(1):
◉◯◉◉◯◯◉◉  ◯◯◯◯◯◯◯◯  ◯◉◯◯◉◉◯◯
◉◯◉◉◯◉◯◉  ◯◯◯◯◯◯◯◯  ◯◉◯◯◉◯◉◯
◉◯◉◯◉◉◯◯  ◯◯◯◯◯◯◯◯  ◯◉◯◉◯◯◉◉
◯◯◯◉◯◯◉◯  ◯◯◯◯◯◯◯◯  ◉◉◉◯◉◉◯◉
◯◯◯◯◯◯◯◯  ◯◉◯◯◯◉◯◉  ◉◯◉◉◉◯◉◯
◯◯◯◯◯◯◯◯  ◉◯◯◉◯◯◯◯  ◯◉◉◯◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◉◉◯◉◉◉◯  ◉◯◯◉◯◯◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◉◉◉◯◉  ◉◯◯◯◯◯◉◯
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [402, 404, 406, 450, 452, 455, 475, 476, 488, 522, 524, 526, 596, 598, 606, 608, 632, 634, 642, 644, 646, 654, 656, 658, 690, 706, 716, 726, 764]
StringLegalActions() = ["b4a5", "b4b5", "b4c5", "f4e5", "f4f5", "f4g5*", "h4g5*", "h4h5", "a3a4", "d3c4", "d3d4", "d3e4", "b2b3", "b2c3", "c2b3", "c2c3", "e2e3", "e2f3", "f2e3", "f2f3", "f2g3", "g2f3", "g2g3", "g2h3", "b1a2", "c1d2", "d1d2", "e1d2", "h1h2"]

# Apply action "g2g3"
action: 656

# State 22
# 8b.bb..bb
# 7b.bb.b.b
# 6b.b.bb..
# 5...b..b.
# 4.w...w.w
# 3w..w..w.
# 2.ww.ww..
# 1.wwwww.w
#  abcdefgh
IsTerminal() = False
History() = [124, 620, 156, 642, 16, 596, 230, 750, 62, 668, 108, 572, 132, 682, 170, 538, 148, 500, 48, 584, 266, 656]
HistoryString() = "124, 620, 156, 642, 16, 596, 230, 750, 62, 668, 108, 572, 132, 682, 170, 538, 148, 500, 48, 584, 266, 656"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 0
ObservationString(0) = "8b.bb..bb\n7b.bb.b.b\n6b.b.bb..\n5...b..b.\n4.w...w.w\n3w..w..w.\n2.ww.ww..\n1.wwwww.w\n abcdefgh\n"
ObservationString(1) = "8b.bb..bb\n7b.bb.b.b\n6b.b.bb..\n5...b..b.\n4.w...w.w\n3w..w..w.\n2.ww.ww..\n1.wwwww.w\n abcdefgh\n"
ObservationTensor(0):
◉◯◉◉◯◯◉◉  ◯◯◯◯◯◯◯◯  ◯◉◯◯◉◉◯◯
◉◯◉◉◯◉◯◉  ◯◯◯◯◯◯◯◯  ◯◉◯◯◉◯◉◯
◉◯◉◯◉◉◯◯  ◯◯◯◯◯◯◯◯  ◯◉◯◉◯◯◉◉
◯◯◯◉◯◯◉◯  ◯◯◯◯◯◯◯◯  ◉◉◉◯◉◉◯◉
◯◯◯◯◯◯◯◯  ◯◉◯◯◯◉◯◉  ◉◯◉◉◉◯◉◯
◯◯◯◯◯◯◯◯  ◉◯◯◉◯◯◉◯  ◯◉◉◯◉◉◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◯◉◉◯◯  ◉◯◯◉◯◯◉◉
◯◯◯◯◯◯◯◯  ◯◉◉◉◉◉◯◉  ◉◯◯◯◯◯◉◯
ObservationTensor(1):
◉◯◉◉◯◯◉◉  ◯◯◯◯◯◯◯◯  ◯◉◯◯◉◉◯◯
◉◯◉◉◯◉◯◉  ◯◯◯◯◯◯◯◯  ◯◉◯◯◉◯◉◯
◉◯◉◯◉◉◯◯  ◯◯◯◯◯◯◯◯  ◯◉◯◉◯◯◉◉
◯◯◯◉◯◯◉◯  ◯◯◯◯◯◯◯◯  ◉◉◉◯◉◉◯◉
◯◯◯◯◯◯◯◯  ◯◉◯◯◯◉◯◉  ◉◯◉◉◉◯◉◯
◯◯◯◯◯◯◯◯  ◉◯◯◉◯◯◉◯  ◯◉◉◯◉◉◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◯◉◉◯◯  ◉◯◯◉◯◯◉◉
◯◯◯◯◯◯◯◯  ◯◉◉◉◉◉◯◉  ◉◯◯◯◯◯◉◯
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [4, 24, 40, 74, 84, 100, 120, 124, 134, 160, 180, 182, 194, 196, 216, 218, 242, 244, 252, 254, 324, 326, 328, 361, 362, 365]
StringLegalActions() = ["a8b7", "c8b7", "d8e7", "g8g7", "h8g7", "a7b6", "c7b6", "c7d6", "d7d6", "f7g6", "h7g6", "h7h6", "a6a5", "a6b5", "c6b5", "c6c5", "e6e5", "e6f5", "f6e5", "f6f5", "d5c4", "d5d4", "d5e4", "g5f4*", "g5g4", "g5h4*"]

# Apply action "h8g7"
action: 84

# State 23
# 8b.bb..b.
# 7b.bb.bbb
# 6b.b.bb..
# 5...b..b.
# 4.w...w.w
# 3w..w..w.
# 2.ww.ww..
# 1.wwwww.w
#  abcdefgh
IsTerminal() = False
History() = [124, 620, 156, 642, 16, 596, 230, 750, 62, 668, 108, 572, 132, 682, 170, 538, 148, 500, 48, 584, 266, 656, 84]
HistoryString() = "124, 620, 156, 642, 16, 596, 230, 750, 62, 668, 108, 572, 132, 682, 170, 538, 148, 500, 48, 584, 266, 656, 84"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 1
ObservationString(0) = "8b.bb..b.\n7b.bb.bbb\n6b.b.bb..\n5...b..b.\n4.w...w.w\n3w..w..w.\n2.ww.ww..\n1.wwwww.w\n abcdefgh\n"
ObservationString(1) = "8b.bb..b.\n7b.bb.bbb\n6b.b.bb..\n5...b..b.\n4.w...w.w\n3w..w..w.\n2.ww.ww..\n1.wwwww.w\n abcdefgh\n"
ObservationTensor(0):
◉◯◉◉◯◯◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◯◉◉◯◉
◉◯◉◉◯◉◉◉  ◯◯◯◯◯◯◯◯  ◯◉◯◯◉◯◯◯
◉◯◉◯◉◉◯◯  ◯◯◯◯◯◯◯◯  ◯◉◯◉◯◯◉◉
◯◯◯◉◯◯◉◯  ◯◯◯◯◯◯◯◯  ◉◉◉◯◉◉◯◉
◯◯◯◯◯◯◯◯  ◯◉◯◯◯◉◯◉  ◉◯◉◉◉◯◉◯
◯◯◯◯◯◯◯◯  ◉◯◯◉◯◯◉◯  ◯◉◉◯◉◉◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◯◉◉◯◯  ◉◯◯◉◯◯◉◉
◯◯◯◯◯◯◯◯  ◯◉◉◉◉◉◯◉  ◉◯◯◯◯◯◉◯
ObservationTensor(1):
◉◯◉◉◯◯◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◯◉◉◯◉
◉◯◉◉◯◉◉◉  ◯◯◯◯◯◯◯◯  ◯◉◯◯◉◯◯◯
◉◯◉◯◉◉◯◯  ◯◯◯◯◯◯◯◯  ◯◉◯◉◯◯◉◉
◯◯◯◉◯◯◉◯  ◯◯◯◯◯◯◯◯  ◉◉◉◯◉◉◯◉
◯◯◯◯◯◯◯◯  ◯◉◯◯◯◉◯◉  ◉◯◉◉◉◯◉◯
◯◯◯◯◯◯◯◯  ◉◯◯◉◯◯◉◯  ◯◉◉◯◉◉◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◯◉◉◯◯  ◉◯◯◉◯◯◉◉
◯◯◯◯◯◯◯◯  ◯◉◉◉◉◉◯◉  ◉◯◯◯◯◯◉◯
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [402, 404, 406, 450, 452, 455, 475, 476, 488, 522, 524, 526, 560, 596, 598, 606, 608, 632, 634, 642, 644, 690, 706, 716, 726, 742, 762, 764]
StringLegalActions() = ["b4a5", "b4b5", "b4c5", "f4e5", "f4f5", "f4g5*", "h4g5*", "h4h5", "a3a4", "d3c4", "d3d4", "d3e4", "g3g4", "b2b3", "b2c3", "c2b3", "c2c3", "e2e3", "e2f3", "f2e3", "f2f3", "b1a2", "c1d2", "d1d2", "e1d2", "f1g2", "h1g2", "h1h2"]

# Apply action "b4a5"
action: 402

# State 24
# 8b.bb..b.
# 7b.bb.bbb
# 6b.b.bb..
# 5w..b..b.
# 4.....w.w
# 3w..w..w.
# 2.ww.ww..
# 1.wwwww.w
#  abcdefgh
IsTerminal() = False
History() = [124, 620, 156, 642, 16, 596, 230, 750, 62, 668, 108, 572, 132, 682, 170, 538, 148, 500, 48, 584, 266, 656, 84, 402]
HistoryString() = "124, 620, 156, 642, 16, 596, 230, 750, 62, 668, 108, 572, 132, 682, 170, 538, 148, 500, 48, 584, 266, 656, 84, 402"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 0
ObservationString(0) = "8b.bb..b.\n7b.bb.bbb\n6b.b.bb..\n5w..b..b.\n4.....w.w\n3w..w..w.\n2.ww.ww..\n1.wwwww.w\n abcdefgh\n"
ObservationString(1) = "8b.bb..b.\n7b.bb.bbb\n6b.b.bb..\n5w..b..b.\n4.....w.w\n3w..w..w.\n2.ww.ww..\n1.wwwww.w\n abcdefgh\n"
ObservationTensor(0):
◉◯◉◉◯◯◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◯◉◉◯◉
◉◯◉◉◯◉◉◉  ◯◯◯◯◯◯◯◯  ◯◉◯◯◉◯◯◯
◉◯◉◯◉◉◯◯  ◯◯◯◯◯◯◯◯  ◯◉◯◉◯◯◉◉
◯◯◯◉◯◯◉◯  ◉◯◯◯◯◯◯◯  ◯◉◉◯◉◉◯◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◉◯◉  ◉◉◉◉◉◯◉◯
◯◯◯◯◯◯◯◯  ◉◯◯◉◯◯◉◯  ◯◉◉◯◉◉◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◯◉◉◯◯  ◉◯◯◉◯◯◉◉
◯◯◯◯◯◯◯◯  ◯◉◉◉◉◉◯◉  ◉◯◯◯◯◯◉◯
ObservationTensor(1):
◉◯◉◉◯◯◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◯◉◉◯◉
◉◯◉◉◯◉◉◉  ◯◯◯◯◯◯◯◯  ◯◉◯◯◉◯◯◯
◉◯◉◯◉◉◯◯  ◯◯◯◯◯◯◯◯  ◯◉◯◉◯◯◉◉
◯◯◯◉◯◯◉◯  ◉◯◯◯◯◯◯◯  ◯◉◉◯◉◉◯◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◉◯◉  ◉◉◉◉◉◯◉◯
◯◯◯◯◯◯◯◯  ◉◯◯◉◯◯◉◯  ◯◉◉◯◉◉◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◯◉◉◯◯  ◉◯◯◉◯◯◉◉
◯◯◯◯◯◯◯◯  ◯◉◉◉◉◉◯◉  ◉◯◯◯◯◯◉◯
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [4, 24, 40, 100, 120, 124, 134, 160, 170, 172, 180, 182, 196, 216, 218, 242, 244, 252, 254, 324, 326, 328, 361, 362, 365]
StringLegalActions() = ["a8b7", "c8b7", "d8e7", "a7b6", "c7b6", "c7d6", "d7d6", "f7g6", "g7g6", "g7h6", "h7g6", "h7h6", "a6b5", "c6b5", "c6c5", "e6e5", "e6f5", "f6e5", "f6f5", "d5c4", "d5d4", "d5e4", "g5f4*", "g5g4", "g5h4*"]

# Apply action "c7d6"
action: 124

# State 25
# 8b.bb..b.
# 7b..b.bbb
# 6b.bbbb..
# 5w..b..b.
# 4.....w.w
# 3w..w..w.
# 2.ww.ww..
# 1.wwwww.w
#  abcdefgh
IsTerminal() = False
History() = [124, 620, 156, 642, 16, 596, 230, 750, 62, 668, 108, 572, 132, 682, 170, 538, 148, 500, 48, 584, 266, 656, 84, 402, 124]
HistoryString() = "124, 620, 156, 642, 16, 596, 230, 750, 62, 668, 108, 572, 132, 682, 170, 538, 148, 500, 48, 584, 266, 656, 84, 402, 124"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 1
ObservationString(0) = "8b.bb..b.\n7b..b.bbb\n6b.bbbb..\n5w..b..b.\n4.....w.w\n3w..w..w.\n2.ww.ww..\n1.wwwww.w\n abcdefgh\n"
ObservationString(1) = "8b.bb..b.\n7b..b.bbb\n6b.bbbb..\n5w..b..b.\n4.....w.w\n3w..w..w.\n2.ww.ww..\n1.wwwww.w\n abcdefgh\n"
ObservationTensor(0):
◉◯◉◉◯◯◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◯◉◉◯◉
◉◯◯◉◯◉◉◉  ◯◯◯◯◯◯◯◯  ◯◉◉◯◉◯◯◯
◉◯◉◉◉◉◯◯  ◯◯◯◯◯◯◯◯  ◯◉◯◯◯◯◉◉
◯◯◯◉◯◯◉◯  ◉◯◯◯◯◯◯◯  ◯◉◉◯◉◉◯◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◉◯◉  ◉◉◉◉◉◯◉◯
◯◯◯◯◯◯◯◯  ◉◯◯◉◯◯◉◯  ◯◉◉◯◉◉◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◯◉◉◯◯  ◉◯◯◉◯◯◉◉
◯◯◯◯◯◯◯◯  ◯◉◉◉◉◉◯◉  ◉◯◯◯◯◯◉◯
ObservationTensor(1):
◉◯◉◉◯◯◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◯◉◉◯◉
◉◯◯◉◯◉◉◉  ◯◯◯◯◯◯◯◯  ◯◉◉◯◉◯◯◯
◉◯◉◉◉◉◯◯  ◯◯◯◯◯◯◯◯  ◯◉◯◯◯◯◉◉
◯◯◯◉◯◯◉◯  ◉◯◯◯◯◯◯◯  ◯◉◉◯◉◉◯◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◉◯◉  ◉◉◉◉◉◯◉◯
◯◯◯◯◯◯◯◯  ◉◯◯◉◯◯◉◯  ◯◉◉◯◉◉◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◯◉◉◯◯  ◉◯◯◉◯◯◉◉
◯◯◯◯◯◯◯◯  ◯◉◉◉◉◉◯◉  ◉◯◯◯◯◯◉◯
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [298, 450, 452, 455, 475, 476, 488, 490, 522, 524, 526, 560, 596, 598, 606, 608, 632, 634, 642, 644, 690, 706, 716, 726, 742, 762, 764]
StringLegalActions() = ["a5b6", "f4e5", "f4f5", "f4g5*", "h4g5*", "h4h5", "a3a4", "a3b4", "d3c4", "d3d4", "d3e4", "g3g4", "b2b3", "b2c3", "c2b3", "c2c3", "e2e3", "e2f3", "f2e3", "f2f3", "b1a2", "c1d2", "d1d2", "e1d2", "f1g2", "h1g2", "h1h2"]

# Apply action "h1g2"
action: 762

# State 26
# 8b.bb..b.
# 7b..b.bbb
# 6b.bbbb..
# 5w..b..b.
# 4.....w.w
# 3w..w..w.
# 2.ww.www.
# 1.wwwww..
#  abcdefgh
IsTerminal() = False
History() = [124, 620, 156, 642, 16, 596, 230, 750, 62, 668, 108, 572, 132, 682, 170, 538, 148, 500, 48, 584, 266, 656, 84, 402, 124, 762]
HistoryString() = "124, 620, 156, 642, 16, 596, 230, 750, 62, 668, 108, 572, 132, 682, 170, 538, 148, 500, 48, 584, 266, 656, 84, 402, 124, 762"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 0
ObservationString(0) = "8b.bb..b.\n7b..b.bbb\n6b.bbbb..\n5w..b..b.\n4.....w.w\n3w..w..w.\n2.ww.www.\n1.wwwww..\n abcdefgh\n"
ObservationString(1) = "8b.bb..b.\n7b..b.bbb\n6b.bbbb..\n5w..b..b.\n4.....w.w\n3w..w..w.\n2.ww.www.\n1.wwwww..\n abcdefgh\n"
ObservationTensor(0):
◉◯◉◉◯◯◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◯◉◉◯◉
◉◯◯◉◯◉◉◉  ◯◯◯◯◯◯◯◯  ◯◉◉◯◉◯◯◯
◉◯◉◉◉◉◯◯  ◯◯◯◯◯◯◯◯  ◯◉◯◯◯◯◉◉
◯◯◯◉◯◯◉◯  ◉◯◯◯◯◯◯◯  ◯◉◉◯◉◉◯◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◉◯◉  ◉◉◉◉◉◯◉◯
◯◯◯◯◯◯◯◯  ◉◯◯◉◯◯◉◯  ◯◉◉◯◉◉◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◯◉◉◉◯  ◉◯◯◉◯◯◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◉◉◉◯◯  ◉◯◯◯◯◯◉◉
ObservationTensor(1):
◉◯◉◉◯◯◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◯◉◉◯◉
◉◯◯◉◯◉◉◉  ◯◯◯◯◯◯◯◯  ◯◉◉◯◉◯◯◯
◉◯◉◉◉◉◯◯  ◯◯◯◯◯◯◯◯  ◯◉◯◯◯◯◉◉
◯◯◯◉◯◯◉◯  ◉◯◯◯◯◯◯◯  ◯◉◉◯◉◉◯◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◉◯◉  ◉◉◉◉◉◯◉◯
◯◯◯◯◯◯◯◯  ◉◯◯◉◯◯◉◯  ◯◉◉◯◉◉◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◯◉◉◉◯  ◉◯◯◉◯◯◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◉◉◉◯◯  ◉◯◯◯◯◯◉◉
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [4, 24, 26, 36, 40, 100, 160, 170, 172, 180, 182, 196, 216, 218, 228, 232, 242, 244, 252, 254, 324, 326, 328, 361, 362, 365]
StringLegalActions() = ["a8b7", "c8b7", "c8c7", "d8c7", "d8e7", "a7b6", "f7g6", "g7g6", "g7h6", "h7g6", "h7h6", "a6b5", "c6b5", "c6c5", "d6c5", "d6e5", "e6e5", "e6f5", "f6e5", "f6f5", "d5c4", "d5d4", "d5e4", "g5f4*", "g5g4", "g5h4*"]

# Apply action "g7g6"
action: 170

# State 27
# 8b.bb..b.
# 7b..b.b.b
# 6b.bbbbb.
# 5w..b..b.
# 4.....w.w
# 3w..w..w.
# 2.ww.www.
# 1.wwwww..
#  abcdefgh
IsTerminal() = False
History() = [124, 620, 156, 642, 16, 596, 230, 750, 62, 668, 108, 572, 132, 682, 170, 538, 148, 500, 48, 584, 266, 656, 84, 402, 124, 762, 170]
HistoryString() = "124, 620, 156, 642, 16, 596, 230, 750, 62, 668, 108, 572, 132, 682, 170, 538, 148, 500, 48, 584, 266, 656, 84, 402, 124, 762, 170"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 1
ObservationString(0) = "8b.bb..b.\n7b..b.b.b\n6b.bbbbb.\n5w..b..b.\n4.....w.w\n3w..w..w.\n2.ww.www.\n1.wwwww..\n abcdefgh\n"
ObservationString(1) = "8b.bb..b.\n7b..b.b.b\n6b.bbbbb.\n5w..b..b.\n4.....w.w\n3w..w..w.\n2.ww.www.\n1.wwwww..\n abcdefgh\n"
ObservationTensor(0):
◉◯◉◉◯◯◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◯◉◉◯◉
◉◯◯◉◯◉◯◉  ◯◯◯◯◯◯◯◯  ◯◉◉◯◉◯◉◯
◉◯◉◉◉◉◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◯◯◯◯◉
◯◯◯◉◯◯◉◯  ◉◯◯◯◯◯◯◯  ◯◉◉◯◉◉◯◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◉◯◉  ◉◉◉◉◉◯◉◯
◯◯◯◯◯◯◯◯  ◉◯◯◉◯◯◉◯  ◯◉◉◯◉◉◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◯◉◉◉◯  ◉◯◯◉◯◯◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◉◉◉◯◯  ◉◯◯◯◯◯◉◉
ObservationTensor(1):
◉◯◉◉◯◯◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◯◉◉◯◉
◉◯◯◉◯◉◯◉  ◯◯◯◯◯◯◯◯  ◯◉◉◯◉◯◉◯
◉◯◉◉◉◉◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◯◯◯◯◉
◯◯◯◉◯◯◉◯  ◉◯◯◯◯◯◯◯  ◯◉◉◯◉◉◯◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◉◯◉  ◉◉◉◉◉◯◉◯
◯◯◯◯◯◯◯◯  ◉◯◯◉◯◯◉◯  ◯◉◉◯◉◉◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◯◉◉◉◯  ◉◯◯◉◯◯◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◉◉◉◯◯  ◉◯◯◯◯◯◉◉
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [298, 450, 452, 455, 475, 476, 488, 490, 522, 524, 526, 560, 596, 598, 606, 608, 632, 634, 642, 644, 654, 658, 690, 706, 716, 726]
StringLegalActions() = ["a5b6", "f4e5", "f4f5", "f4g5*", "h4g5*", "h4h5", "a3a4", "a3b4", "d3c4", "d3d4", "d3e4", "g3g4", "b2b3", "b2c3", "c2b3", "c2c3", "e2e3", "e2f3", "f2e3", "f2f3", "g2f3", "g2h3", "b1a2", "c1d2", "d1d2", "e1d2"]

# Apply action "h4g5*"
action: 475

# State 28
# 8b.bb..b.
# 7b..b.b.b
# 6b.bbbbb.
# 5w..b..w.
# 4.....w..
# 3w..w..w.
# 2.ww.www.
# 1.wwwww..
#  abcdefgh
IsTerminal() = False
History() = [124, 620, 156, 642, 16, 596, 230, 750, 62, 668, 108, 572, 132, 682, 170, 538, 148, 500, 48, 584, 266, 656, 84, 402, 124, 762, 170, 475]
HistoryString() = "124, 620, 156, 642, 16, 596, 230, 750, 62, 668, 108, 572, 132, 682, 170, 538, 148, 500, 48, 584, 266, 656, 84, 402, 124, 762, 170, 475"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 0
ObservationString(0) = "8b.bb..b.\n7b..b.b.b\n6b.bbbbb.\n5w..b..w.\n4.....w..\n3w..w..w.\n2.ww.www.\n1.wwwww..\n abcdefgh\n"
ObservationString(1) = "8b.bb..b.\n7b..b.b.b\n6b.bbbbb.\n5w..b..w.\n4.....w..\n3w..w..w.\n2.ww.www.\n1.wwwww..\n abcdefgh\n"
ObservationTensor(0):
◉◯◉◉◯◯◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◯◉◉◯◉
◉◯◯◉◯◉◯◉  ◯◯◯◯◯◯◯◯  ◯◉◉◯◉◯◉◯
◉◯◉◉◉◉◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◯◯◯◯◉
◯◯◯◉◯◯◯◯  ◉◯◯◯◯◯◉◯  ◯◉◉◯◉◉◯◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◉◯◯  ◉◉◉◉◉◯◉◉
◯◯◯◯◯◯◯◯  ◉◯◯◉◯◯◉◯  ◯◉◉◯◉◉◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◯◉◉◉◯  ◉◯◯◉◯◯◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◉◉◉◯◯  ◉◯◯◯◯◯◉◉
ObservationTensor(1):
◉◯◉◉◯◯◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◯◉◉◯◉
◉◯◯◉◯◉◯◉  ◯◯◯◯◯◯◯◯  ◯◉◉◯◉◯◉◯
◉◯◉◉◉◉◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◯◯◯◯◉
◯◯◯◉◯◯◯◯  ◉◯◯◯◯◯◉◯  ◯◉◉◯◉◉◯◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◉◯◯  ◉◉◉◉◉◯◉◉
◯◯◯◯◯◯◯◯  ◉◯◯◉◯◯◉◯  ◯◉◉◯◉◉◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◯◉◉◉◯  ◉◯◯◉◯◯◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◉◉◉◯◯  ◉◯◯◯◯◯◉◉
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [4, 24, 26, 36, 40, 74, 100, 182, 196, 216, 218, 228, 232, 242, 244, 252, 254, 257, 264, 268, 324, 326, 328]
StringLegalActions() = ["a8b7", "c8b7", "c8c7", "d8c7", "d8e7", "g8g7", "a7b6", "h7h6", "a6b5", "c6b5", "c6c5", "d6c5", "d6e5", "e6e5", "e6f5", "f6e5", "f6f5", "f6g5*", "g6f5", "g6h5", "d5c4", "d5d4", "d5e4"]

# Apply action "d6c5"
action: 228

# State 29
# 8b.bb..b.
# 7b..b.b.b
# 6b.b.bbb.
# 5w.bb..w.
# 4.....w..
# 3w..w..w.
# 2.ww.www.
# 1.wwwww..
#  abcdefgh
IsTerminal() = False
History() = [124, 620, 156, 642, 16, 596, 230, 750, 62, 668, 108, 572, 132, 682, 170, 538, 148, 500, 48, 584, 266, 656, 84, 402, 124, 762, 170, 475, 228]
HistoryString() = "124, 620, 156, 642, 16, 596, 230, 750, 62, 668, 108, 572, 132, 682, 170, 538, 148, 500, 48, 584, 266, 656, 84, 402, 124, 762, 170, 475, 228"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 1
ObservationString(0) = "8b.bb..b.\n7b..b.b.b\n6b.b.bbb.\n5w.bb..w.\n4.....w..\n3w..w..w.\n2.ww.www.\n1.wwwww..\n abcdefgh\n"
ObservationString(1) = "8b.bb..b.\n7b..b.b.b\n6b.b.bbb.\n5w.bb..w.\n4.....w..\n3w..w..w.\n2.ww.www.\n1.wwwww..\n abcdefgh\n"
ObservationTensor(0):
◉◯◉◉◯◯◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◯◉◉◯◉
◉◯◯◉◯◉◯◉  ◯◯◯◯◯◯◯◯  ◯◉◉◯◉◯◉◯
◉◯◉◯◉◉◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◉◯◯◯◉
◯◯◉◉◯◯◯◯  ◉◯◯◯◯◯◉◯  ◯◉◯◯◉◉◯◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◉◯◯  ◉◉◉◉◉◯◉◉
◯◯◯◯◯◯◯◯  ◉◯◯◉◯◯◉◯  ◯◉◉◯◉◉◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◯◉◉◉◯  ◉◯◯◉◯◯◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◉◉◉◯◯  ◉◯◯◯◯◯◉◉
ObservationTensor(1):
◉◯◉◉◯◯◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◯◉◉◯◉
◉◯◯◉◯◉◯◉  ◯◯◯◯◯◯◯◯  ◯◉◉◯◉◯◉◯
◉◯◉◯◉◉◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◉◯◯◯◉
◯◯◉◉◯◯◯◯  ◉◯◯◯◯◯◉◯  ◯◉◯◯◉◉◯◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◉◯◯  ◉◉◉◉◉◯◉◉
◯◯◯◯◯◯◯◯  ◉◯◯◉◯◯◉◯  ◯◉◉◯◉◉◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◯◉◉◉◯  ◉◯◯◉◯◯◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◉◉◉◯◯  ◉◯◯◯◯◯◉◉
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [298, 367, 370, 450, 452, 488, 490, 522, 524, 526, 560, 562, 596, 598, 606, 608, 632, 634, 642, 644, 654, 658, 690, 706, 716, 726]
StringLegalActions() = ["a5b6", "g5f6*", "g5h6", "f4e5", "f4f5", "a3a4", "a3b4", "d3c4", "d3d4", "d3e4", "g3g4", "g3h4", "b2b3", "b2c3", "c2b3", "c2c3", "e2e3", "e2f3", "f2e3", "f2f3", "g2f3", "g2h3", "b1a2", "c1d2", "d1d2", "e1d2"]

# Apply action "g5f6*"
action: 367

# State 30
# 8b.bb..b.
# 7b..b.b.b
# 6b.b.bwb.
# 5w.bb....
# 4.....w..
# 3w..w..w.
# 2.ww.www.
# 1.wwwww..
#  abcdefgh
IsTerminal() = False
History() = [124, 620, 156, 642, 16, 596, 230, 750, 62, 668, 108, 572, 132, 682, 170, 538, 148, 500, 48, 584, 266, 656, 84, 402, 124, 762, 170, 475, 228, 367]
HistoryString() = "124, 620, 156, 642, 16, 596, 230, 750, 62, 668, 108, 572, 132, 682, 170, 538, 148, 500, 48, 584, 266, 656, 84, 402, 124, 762, 170, 475, 228, 367"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 0
ObservationString(0) = "8b.bb..b.\n7b..b.b.b\n6b.b.bwb.\n5w.bb....\n4.....w..\n3w..w..w.\n2.ww.www.\n1.wwwww..\n abcdefgh\n"
ObservationString(1) = "8b.bb..b.\n7b..b.b.b\n6b.b.bwb.\n5w.bb....\n4.....w..\n3w..w..w.\n2.ww.www.\n1.wwwww..\n abcdefgh\n"
ObservationTensor(0):
◉◯◉◉◯◯◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◯◉◉◯◉
◉◯◯◉◯◉◯◉  ◯◯◯◯◯◯◯◯  ◯◉◉◯◉◯◉◯
◉◯◉◯◉◯◉◯  ◯◯◯◯◯◉◯◯  ◯◉◯◉◯◯◯◉
◯◯◉◉◯◯◯◯  ◉◯◯◯◯◯◯◯  ◯◉◯◯◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◉◯◯  ◉◉◉◉◉◯◉◉
◯◯◯◯◯◯◯◯  ◉◯◯◉◯◯◉◯  ◯◉◉◯◉◉◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◯◉◉◉◯  ◉◯◯◉◯◯◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◉◉◉◯◯  ◉◯◯◯◯◯◉◉
ObservationTensor(1):
◉◯◉◉◯◯◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◯◉◉◯◉
◉◯◯◉◯◉◯◉  ◯◯◯◯◯◯◯◯  ◯◉◉◯◉◯◉◯
◉◯◉◯◉◯◉◯  ◯◯◯◯◯◉◯◯  ◯◉◯◉◯◯◯◉
◯◯◉◉◯◯◯◯  ◉◯◯◯◯◯◯◯  ◯◉◯◯◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◯◯◯◯◉◯◯  ◉◉◉◉◉◯◉◉
◯◯◯◯◯◯◯◯  ◉◯◯◉◯◯◉◯  ◯◉◉◯◉◉◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◯◉◉◉◯  ◉◯◯◉◯◯◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◉◉◉◯◯  ◉◯◯◯◯◯◉◉
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [4, 24, 26, 36, 40, 74, 100, 134, 182, 196, 216, 242, 244, 264, 266, 268, 312, 314, 316, 324, 326, 328]
StringLegalActions() = ["a8b7", "c8b7", "c8c7", "d8c7", "d8e7", "g8g7", "a7b6", "d7d6", "h7h6", "a6b5", "c6b5", "e6e5", "e6f5", "g6f5", "g6g5", "g6h5", "c5b4", "c5c4", "c5d4", "d5c4", "d5d4", "d5e4"]

# Apply action "c5d4"
action: 316

# State 31
# 8b.bb..b.
# 7b..b.b.b
# 6b.b.bwb.
# 5w..b....
# 4...b.w..
# 3w..w..w.
# 2.ww.www.
# 1.wwwww..
#  abcdefgh
IsTerminal() = False
History() = [124, 620, 156, 642, 16, 596, 230, 750, 62, 668, 108, 572, 132, 682, 170, 538, 148, 500, 48, 584, 266, 656, 84, 402, 124, 762, 170, 475, 228, 367, 316]
HistoryString() = "124, 620, 156, 642, 16, 596, 230, 750, 62, 668, 108, 572, 132, 682, 170, 538, 148, 500, 48, 584, 266, 656, 84, 402, 124, 762, 170, 475, 228, 367, 316"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 1
ObservationString(0) = "8b.bb..b.\n7b..b.b.b\n6b.b.bwb.\n5w..b....\n4...b.w..\n3w..w..w.\n2.ww.www.\n1.wwwww..\n abcdefgh\n"
ObservationString(1) = "8b.bb..b.\n7b..b.b.b\n6b.b.bwb.\n5w..b....\n4...b.w..\n3w..w..w.\n2.ww.www.\n1.wwwww..\n abcdefgh\n"
ObservationTensor(0):
◉◯◉◉◯◯◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◯◉◉◯◉
◉◯◯◉◯◉◯◉  ◯◯◯◯◯◯◯◯  ◯◉◉◯◉◯◉◯
◉◯◉◯◉◯◉◯  ◯◯◯◯◯◉◯◯  ◯◉◯◉◯◯◯◉
◯◯◯◉◯◯◯◯  ◉◯◯◯◯◯◯◯  ◯◉◉◯◉◉◉◉
◯◯◯◉◯◯◯◯  ◯◯◯◯◯◉◯◯  ◉◉◉◯◉◯◉◉
◯◯◯◯◯◯◯◯  ◉◯◯◉◯◯◉◯  ◯◉◉◯◉◉◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◯◉◉◉◯  ◉◯◯◉◯◯◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◉◉◉◯◯  ◉◯◯◯◯◯◉◉
ObservationTensor(1):
◉◯◉◉◯◯◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◯◉◉◯◉
◉◯◯◉◯◉◯◉  ◯◯◯◯◯◯◯◯  ◯◉◉◯◉◯◉◯
◉◯◉◯◉◯◉◯  ◯◯◯◯◯◉◯◯  ◯◉◯◉◯◯◯◉
◯◯◯◉◯◯◯◯  ◉◯◯◯◯◯◯◯  ◯◉◉◯◉◉◉◉
◯◯◯◉◯◯◯◯  ◯◯◯◯◯◉◯◯  ◉◉◉◯◉◯◉◉
◯◯◯◯◯◯◯◯  ◉◯◯◉◯◯◉◯  ◯◉◉◯◉◉◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◯◉◉◉◯  ◉◯◯◉◯◯◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◉◉◉◯◯  ◉◯◯◯◯◯◉◉
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [258, 262, 298, 450, 452, 454, 488, 490, 522, 526, 560, 562, 596, 598, 606, 608, 632, 634, 642, 644, 654, 658, 690, 706, 716, 726]
StringLegalActions() = ["f6e7", "f6g7", "a5b6", "f4e5", "f4f5", "f4g5", "a3a4", "a3b4", "d3c4", "d3e4", "g3g4", "g3h4", "b2b3", "b2c3", "c2b3", "c2c3", "e2e3", "e2f3", "f2e3", "f2f3", "g2f3", "g2h3", "b1a2", "c1d2", "d1d2", "e1d2"]

# Apply action "f6e7"
action: 258

# State 32
# 8b.bb..b.
# 7b..bwb.b
# 6b.b.b.b.
# 5w..b....
# 4...b.w..
# 3w..w..w.
# 2.ww.www.
# 1.wwwww..
#  abcdefgh
IsTerminal() = False
History() = [124, 620, 156, 642, 16, 596, 230, 750, 62, 668, 108, 572, 132, 682, 170, 538, 148, 500, 48, 584, 266, 656, 84, 402, 124, 762, 170, 475, 228, 367, 316, 258]
HistoryString() = "124, 620, 156, 642, 16, 596, 230, 750, 62, 668, 108, 572, 132, 682, 170, 538, 148, 500, 48, 584, 266, 656, 84, 402, 124, 762, 170, 475, 228, 367, 316, 258"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 0
ObservationString(0) = "8b.bb..b.\n7b..bwb.b\n6b.b.b.b.\n5w..b....\n4...b.w..\n3w..w..w.\n2.ww.www.\n1.wwwww..\n abcdefgh\n"
ObservationString(1) = "8b.bb..b.\n7b..bwb.b\n6b.b.b.b.\n5w..b....\n4...b.w..\n3w..w..w.\n2.ww.www.\n1.wwwww..\n abcdefgh\n"
ObservationTensor(0):
◉◯◉◉◯◯◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◯◉◉◯◉
◉◯◯◉◯◉◯◉  ◯◯◯◯◉◯◯◯  ◯◉◉◯◯◯◉◯
◉◯◉◯◉◯◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◉◯◉◯◉
◯◯◯◉◯◯◯◯  ◉◯◯◯◯◯◯◯  ◯◉◉◯◉◉◉◉
◯◯◯◉◯◯◯◯  ◯◯◯◯◯◉◯◯  ◉◉◉◯◉◯◉◉
◯◯◯◯◯◯◯◯  ◉◯◯◉◯◯◉◯  ◯◉◉◯◉◉◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◯◉◉◉◯  ◉◯◯◉◯◯◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◉◉◉◯◯  ◉◯◯◯◯◯◉◉
ObservationTensor(1):
◉◯◉◉◯◯◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◯◉◉◯◉
◉◯◯◉◯◉◯◉  ◯◯◯◯◉◯◯◯  ◯◉◉◯◯◯◉◯
◉◯◉◯◉◯◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◉◯◉◯◉
◯◯◯◉◯◯◯◯  ◉◯◯◯◯◯◯◯  ◯◉◉◯◉◉◉◉
◯◯◯◉◯◯◯◯  ◯◯◯◯◯◉◯◯  ◉◉◉◯◉◯◉◉
◯◯◯◯◯◯◯◯  ◉◯◯◉◯◯◉◯  ◯◉◉◯◉◉◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◯◉◉◉◯  ◉◯◯◉◯◯◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◉◉◉◯◯  ◉◯◯◯◯◯◉◉
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [4, 24, 26, 36, 41, 74, 100, 134, 158, 182, 196, 216, 218, 242, 244, 264, 266, 268, 324, 328, 420, 424]
StringLegalActions() = ["a8b7", "c8b7", "c8c7", "d8c7", "d8e7*", "g8g7", "a7b6", "d7d6", "f7f6", "h7h6", "a6b5", "c6b5", "c6c5", "e6e5", "e6f5", "g6f5", "g6g5", "g6h5", "d5c4", "d5e4", "d4c3", "d4e3"]

# Apply action "f7f6"
action: 158

# State 33
# 8b.bb..b.
# 7b..bw..b
# 6b.b.bbb.
# 5w..b....
# 4...b.w..
# 3w..w..w.
# 2.ww.www.
# 1.wwwww..
#  abcdefgh
IsTerminal() = False
History() = [124, 620, 156, 642, 16, 596, 230, 750, 62, 668, 108, 572, 132, 682, 170, 538, 148, 500, 48, 584, 266, 656, 84, 402, 124, 762, 170, 475, 228, 367, 316, 258, 158]
HistoryString() = "124, 620, 156, 642, 16, 596, 230, 750, 62, 668, 108, 572, 132, 682, 170, 538, 148, 500, 48, 584, 266, 656, 84, 402, 124, 762, 170, 475, 228, 367, 316, 258, 158"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 1
ObservationString(0) = "8b.bb..b.\n7b..bw..b\n6b.b.bbb.\n5w..b....\n4...b.w..\n3w..w..w.\n2.ww.www.\n1.wwwww..\n abcdefgh\n"
ObservationString(1) = "8b.bb..b.\n7b..bw..b\n6b.b.bbb.\n5w..b....\n4...b.w..\n3w..w..w.\n2.ww.www.\n1.wwwww..\n abcdefgh\n"
ObservationTensor(0):
◉◯◉◉◯◯◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◯◉◉◯◉
◉◯◯◉◯◯◯◉  ◯◯◯◯◉◯◯◯  ◯◉◉◯◯◉◉◯
◉◯◉◯◉◉◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◉◯◯◯◉
◯◯◯◉◯◯◯◯  ◉◯◯◯◯◯◯◯  ◯◉◉◯◉◉◉◉
◯◯◯◉◯◯◯◯  ◯◯◯◯◯◉◯◯  ◉◉◉◯◉◯◉◉
◯◯◯◯◯◯◯◯  ◉◯◯◉◯◯◉◯  ◯◉◉◯◉◉◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◯◉◉◉◯  ◉◯◯◉◯◯◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◉◉◉◯◯  ◉◯◯◯◯◯◉◉
ObservationTensor(1):
◉◯◉◉◯◯◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◯◉◉◯◉
◉◯◯◉◯◯◯◉  ◯◯◯◯◉◯◯◯  ◯◉◉◯◯◉◉◯
◉◯◉◯◉◉◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◉◯◯◯◉
◯◯◯◉◯◯◯◯  ◉◯◯◯◯◯◯◯  ◯◉◉◯◉◉◉◉
◯◯◯◉◯◯◯◯  ◯◯◯◯◯◉◯◯  ◉◉◉◯◉◯◉◉
◯◯◯◯◯◯◯◯  ◉◯◯◉◯◯◉◯  ◯◉◉◯◉◉◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◯◉◉◉◯  ◉◯◯◉◯◯◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◉◉◉◯◯  ◉◯◯◯◯◯◉◉
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [151, 152, 154, 298, 450, 452, 454, 488, 490, 522, 526, 560, 562, 596, 598, 606, 608, 632, 634, 642, 644, 654, 658, 690, 706, 716, 726]
StringLegalActions() = ["e7d8*", "e7e8", "e7f8", "a5b6", "f4e5", "f4f5", "f4g5", "a3a4", "a3b4", "d3c4", "d3e4", "g3g4", "g3h4", "b2b3", "b2c3", "c2b3", "c2c3", "e2e3", "e2f3", "f2e3", "f2f3", "g2f3", "g2h3", "b1a2", "c1d2", "d1d2", "e1d2"]

# Apply action "g3h4"
action: 562

# State 34
# 8b.bb..b.
# 7b..bw..b
# 6b.b.bbb.
# 5w..b....
# 4...b.w.w
# 3w..w....
# 2.ww.www.
# 1.wwwww..
#  abcdefgh
IsTerminal() = False
History() = [124, 620, 156, 642, 16, 596, 230, 750, 62, 668, 108, 572, 132, 682, 170, 538, 148, 500, 48, 584, 266, 656, 84, 402, 124, 762, 170, 475, 228, 367, 316, 258, 158, 562]
HistoryString() = "124, 620, 156, 642, 16, 596, 230, 750, 62, 668, 108, 572, 132, 682, 170, 538, 148, 500, 48, 584, 266, 656, 84, 402, 124, 762, 170, 475, 228, 367, 316, 258, 158, 562"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 0
ObservationString(0) = "8b.bb..b.\n7b..bw..b\n6b.b.bbb.\n5w..b....\n4...b.w.w\n3w..w....\n2.ww.www.\n1.wwwww..\n abcdefgh\n"
ObservationString(1) = "8b.bb..b.\n7b..bw..b\n6b.b.bbb.\n5w..b....\n4...b.w.w\n3w..w....\n2.ww.www.\n1.wwwww..\n abcdefgh\n"
ObservationTensor(0):
◉◯◉◉◯◯◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◯◉◉◯◉
◉◯◯◉◯◯◯◉  ◯◯◯◯◉◯◯◯  ◯◉◉◯◯◉◉◯
◉◯◉◯◉◉◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◉◯◯◯◉
◯◯◯◉◯◯◯◯  ◉◯◯◯◯◯◯◯  ◯◉◉◯◉◉◉◉
◯◯◯◉◯◯◯◯  ◯◯◯◯◯◉◯◉  ◉◉◉◯◉◯◉◯
◯◯◯◯◯◯◯◯  ◉◯◯◉◯◯◯◯  ◯◉◉◯◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◉◉◯◉◉◉◯  ◉◯◯◉◯◯◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◉◉◉◯◯  ◉◯◯◯◯◯◉◉
ObservationTensor(1):
◉◯◉◉◯◯◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◯◉◉◯◉
◉◯◯◉◯◯◯◉  ◯◯◯◯◉◯◯◯  ◯◉◉◯◯◉◉◯
◉◯◉◯◉◉◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◉◯◯◯◉
◯◯◯◉◯◯◯◯  ◉◯◯◯◯◯◯◯  ◯◉◉◯◉◉◉◉
◯◯◯◉◯◯◯◯  ◯◯◯◯◯◉◯◉  ◉◉◉◯◉◯◉◯
◯◯◯◯◯◯◯◯  ◉◯◯◉◯◯◯◯  ◯◉◉◯◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◉◉◯◉◉◉◯  ◉◯◯◉◯◯◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◉◉◉◯◯  ◉◯◯◯◯◯◉◉
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [4, 24, 26, 36, 41, 72, 74, 100, 134, 182, 196, 216, 218, 242, 244, 252, 254, 256, 264, 266, 268, 324, 328, 420, 424]
StringLegalActions() = ["a8b7", "c8b7", "c8c7", "d8c7", "d8e7*", "g8f7", "g8g7", "a7b6", "d7d6", "h7h6", "a6b5", "c6b5", "c6c5", "e6e5", "e6f5", "f6e5", "f6f5", "f6g5", "g6f5", "g6g5", "g6h5", "d5c4", "d5e4", "d4c3", "d4e3"]

# Apply action "f6f5"
action: 254

# State 35
# 8b.bb..b.
# 7b..bw..b
# 6b.b.b.b.
# 5w..b.b..
# 4...b.w.w
# 3w..w....
# 2.ww.www.
# 1.wwwww..
#  abcdefgh
IsTerminal() = False
History() = [124, 620, 156, 642, 16, 596, 230, 750, 62, 668, 108, 572, 132, 682, 170, 538, 148, 500, 48, 584, 266, 656, 84, 402, 124, 762, 170, 475, 228, 367, 316, 258, 158, 562, 254]
HistoryString() = "124, 620, 156, 642, 16, 596, 230, 750, 62, 668, 108, 572, 132, 682, 170, 538, 148, 500, 48, 584, 266, 656, 84, 402, 124, 762, 170, 475, 228, 367, 316, 258, 158, 562, 254"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 1
ObservationString(0) = "8b.bb..b.\n7b..bw..b\n6b.b.b.b.\n5w..b.b..\n4...b.w.w\n3w..w....\n2.ww.www.\n1.wwwww..\n abcdefgh\n"
ObservationString(1) = "8b.bb..b.\n7b..bw..b\n6b.b.b.b.\n5w..b.b..\n4...b.w.w\n3w..w....\n2.ww.www.\n1.wwwww..\n abcdefgh\n"
ObservationTensor(0):
◉◯◉◉◯◯◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◯◉◉◯◉
◉◯◯◉◯◯◯◉  ◯◯◯◯◉◯◯◯  ◯◉◉◯◯◉◉◯
◉◯◉◯◉◯◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◉◯◉◯◉
◯◯◯◉◯◉◯◯  ◉◯◯◯◯◯◯◯  ◯◉◉◯◉◯◉◉
◯◯◯◉◯◯◯◯  ◯◯◯◯◯◉◯◉  ◉◉◉◯◉◯◉◯
◯◯◯◯◯◯◯◯  ◉◯◯◉◯◯◯◯  ◯◉◉◯◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◉◉◯◉◉◉◯  ◉◯◯◉◯◯◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◉◉◉◯◯  ◉◯◯◯◯◯◉◉
ObservationTensor(1):
◉◯◉◉◯◯◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◯◉◉◯◉
◉◯◯◉◯◯◯◉  ◯◯◯◯◉◯◯◯  ◯◉◉◯◯◉◉◯
◉◯◉◯◉◯◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◉◯◉◯◉
◯◯◯◉◯◉◯◯  ◉◯◯◯◯◯◯◯  ◯◉◉◯◉◯◉◉
◯◯◯◉◯◯◯◯  ◯◯◯◯◯◉◯◉  ◉◉◉◯◉◯◉◯
◯◯◯◯◯◯◯◯  ◉◯◯◉◯◯◯◯  ◯◉◉◯◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◉◉◯◉◉◉◯  ◉◯◯◉◯◯◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◉◉◉◯◯  ◉◯◯◯◯◯◉◉
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [151, 152, 154, 298, 450, 454, 474, 476, 488, 490, 522, 526, 596, 598, 606, 608, 632, 634, 642, 644, 646, 654, 656, 658, 690, 706, 716, 726]
StringLegalActions() = ["e7d8*", "e7e8", "e7f8", "a5b6", "f4e5", "f4g5", "h4g5", "h4h5", "a3a4", "a3b4", "d3c4", "d3e4", "b2b3", "b2c3", "c2b3", "c2c3", "e2e3", "e2f3", "f2e3", "f2f3", "f2g3", "g2f3", "g2g3", "g2h3", "b1a2", "c1d2", "d1d2", "e1d2"]

# Apply action "d3c4"
action: 522

# State 36
# 8b.bb..b.
# 7b..bw..b
# 6b.b.b.b.
# 5w..b.b..
# 4..wb.w.w
# 3w.......
# 2.ww.www.
# 1.wwwww..
#  abcdefgh
IsTerminal() = False
History() = [124, 620, 156, 642, 16, 596, 230, 750, 62, 668, 108, 572, 132, 682, 170, 538, 148, 500, 48, 584, 266, 656, 84, 402, 124, 762, 170, 475, 228, 367, 316, 258, 158, 562, 254, 522]
HistoryString() = "124, 620, 156, 642, 16, 596, 230, 750, 62, 668, 108, 572, 132, 682, 170, 538, 148, 500, 48, 584, 266, 656, 84, 402, 124, 762, 170, 475, 228, 367, 316, 258, 158, 562, 254, 522"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 0
ObservationString(0) = "8b.bb..b.\n7b..bw..b\n6b.b.b.b.\n5w..b.b..\n4..wb.w.w\n3w.......\n2.ww.www.\n1.wwwww..\n abcdefgh\n"
ObservationString(1) = "8b.bb..b.\n7b..bw..b\n6b.b.b.b.\n5w..b.b..\n4..wb.w.w\n3w.......\n2.ww.www.\n1.wwwww..\n abcdefgh\n"
ObservationTensor(0):
◉◯◉◉◯◯◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◯◉◉◯◉
◉◯◯◉◯◯◯◉  ◯◯◯◯◉◯◯◯  ◯◉◉◯◯◉◉◯
◉◯◉◯◉◯◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◉◯◉◯◉
◯◯◯◉◯◉◯◯  ◉◯◯◯◯◯◯◯  ◯◉◉◯◉◯◉◉
◯◯◯◉◯◯◯◯  ◯◯◉◯◯◉◯◉  ◉◉◯◯◉◯◉◯
◯◯◯◯◯◯◯◯  ◉◯◯◯◯◯◯◯  ◯◉◉◉◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◉◉◯◉◉◉◯  ◉◯◯◉◯◯◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◉◉◉◯◯  ◉◯◯◯◯◯◉◉
ObservationTensor(1):
◉◯◉◉◯◯◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◯◉◉◯◉
◉◯◯◉◯◯◯◉  ◯◯◯◯◉◯◯◯  ◯◉◉◯◯◉◉◯
◉◯◉◯◉◯◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◉◯◉◯◉
◯◯◯◉◯◉◯◯  ◉◯◯◯◯◯◯◯  ◯◉◉◯◉◯◉◉
◯◯◯◉◯◯◯◯  ◯◯◉◯◯◉◯◉  ◉◉◯◯◉◯◉◯
◯◯◯◯◯◯◯◯  ◉◯◯◯◯◯◯◯  ◯◉◉◉◉◉◉◉
◯◯◯◯◯◯◯◯  ◯◉◉◯◉◉◉◯  ◉◯◯◉◯◯◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◉◉◉◯◯  ◉◯◯◯◯◯◉◉
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [4, 24, 26, 36, 41, 72, 74, 100, 134, 182, 196, 216, 218, 242, 266, 268, 325, 328, 348, 352, 420, 422, 424]
StringLegalActions() = ["a8b7", "c8b7", "c8c7", "d8c7", "d8e7*", "g8f7", "g8g7", "a7b6", "d7d6", "h7h6", "a6b5", "c6b5", "c6c5", "e6e5", "g6g5", "g6h5", "d5c4*", "d5e4", "f5e4", "f5g4", "d4c3", "d4d3", "d4e3"]

# Apply action "d4e3"
action: 424

# State 37
# 8b.bb..b.
# 7b..bw..b
# 6b.b.b.b.
# 5w..b.b..
# 4..w..w.w
# 3w...b...
# 2.ww.www.
# 1.wwwww..
#  abcdefgh
IsTerminal() = False
History() = [124, 620, 156, 642, 16, 596, 230, 750, 62, 668, 108, 572, 132, 682, 170, 538, 148, 500, 48, 584, 266, 656, 84, 402, 124, 762, 170, 475, 228, 367, 316, 258, 158, 562, 254, 522, 424]
HistoryString() = "124, 620, 156, 642, 16, 596, 230, 750, 62, 668, 108, 572, 132, 682, 170, 538, 148, 500, 48, 584, 266, 656, 84, 402, 124, 762, 170, 475, 228, 367, 316, 258, 158, 562, 254, 522, 424"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 1
ObservationString(0) = "8b.bb..b.\n7b..bw..b\n6b.b.b.b.\n5w..b.b..\n4..w..w.w\n3w...b...\n2.ww.www.\n1.wwwww..\n abcdefgh\n"
ObservationString(1) = "8b.bb..b.\n7b..bw..b\n6b.b.b.b.\n5w..b.b..\n4..w..w.w\n3w...b...\n2.ww.www.\n1.wwwww..\n abcdefgh\n"
ObservationTensor(0):
◉◯◉◉◯◯◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◯◉◉◯◉
◉◯◯◉◯◯◯◉  ◯◯◯◯◉◯◯◯  ◯◉◉◯◯◉◉◯
◉◯◉◯◉◯◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◉◯◉◯◉
◯◯◯◉◯◉◯◯  ◉◯◯◯◯◯◯◯  ◯◉◉◯◉◯◉◉
◯◯◯◯◯◯◯◯  ◯◯◉◯◯◉◯◉  ◉◉◯◉◉◯◉◯
◯◯◯◯◉◯◯◯  ◉◯◯◯◯◯◯◯  ◯◉◉◉◯◉◉◉
◯◯◯◯◯◯◯◯  ◯◉◉◯◉◉◉◯  ◉◯◯◉◯◯◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◉◉◉◯◯  ◉◯◯◯◯◯◉◉
ObservationTensor(1):
◉◯◉◉◯◯◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◯◉◉◯◉
◉◯◯◉◯◯◯◉  ◯◯◯◯◉◯◯◯  ◯◉◉◯◯◉◉◯
◉◯◉◯◉◯◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◉◯◉◯◉
◯◯◯◉◯◉◯◯  ◉◯◯◯◯◯◯◯  ◯◉◉◯◉◯◉◉
◯◯◯◯◯◯◯◯  ◯◯◉◯◯◉◯◉  ◉◉◯◉◉◯◉◯
◯◯◯◯◉◯◯◯  ◉◯◯◯◯◯◯◯  ◯◉◉◉◯◉◉◉
◯◯◯◯◯◯◯◯  ◯◉◉◯◉◉◉◯  ◉◯◯◉◯◯◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◉◉◉◯◯  ◉◯◯◯◯◯◉◉
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [151, 152, 154, 298, 414, 416, 419, 450, 454, 474, 476, 488, 490, 596, 598, 606, 608, 610, 630, 634, 643, 644, 646, 654, 656, 658, 690, 706, 716, 726]
StringLegalActions() = ["e7d8*", "e7e8", "e7f8", "a5b6", "c4b5", "c4c5", "c4d5*", "f4e5", "f4g5", "h4g5", "h4h5", "a3a4", "a3b4", "b2b3", "b2c3", "c2b3", "c2c3", "c2d3", "e2d3", "e2f3", "f2e3*", "f2f3", "f2g3", "g2f3", "g2g3", "g2h3", "b1a2", "c1d2", "d1d2", "e1d2"]

# Apply action "e7e8"
action: 152

# State 38
# 8b.bbw.b.
# 7b..b...b
# 6b.b.b.b.
# 5w..b.b..
# 4..w..w.w
# 3w...b...
# 2.ww.www.
# 1.wwwww..
#  abcdefgh
IsTerminal() = True
History() = [124, 620, 156, 642, 16, 596, 230, 750, 62, 668, 108, 572, 132, 682, 170, 538, 148, 500, 48, 584, 266, 656, 84, 402, 124, 762, 170, 475, 228, 367, 316, 258, 158, 562, 254, 522, 424, 152]
HistoryString() = "124, 620, 156, 642, 16, 596, 230, 750, 62, 668, 108, 572, 132, 682, 170, 538, 148, 500, 48, 584, 266, 656, 84, 402, 124, 762, 170, 475, 228, 367, 316, 258, 158, 562, 254, 522, 424, 152"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = -4
ObservationString(0) = "8b.bbw.b.\n7b..b...b\n6b.b.b.b.\n5w..b.b..\n4..w..w.w\n3w...b...\n2.ww.www.\n1.wwwww..\n abcdefgh\n"
ObservationString(1) = "8b.bbw.b.\n7b..b...b\n6b.b.b.b.\n5w..b.b..\n4..w..w.w\n3w...b...\n2.ww.www.\n1.wwwww..\n abcdefgh\n"
ObservationTensor(0):
◉◯◉◉◯◯◉◯  ◯◯◯◯◉◯◯◯  ◯◉◯◯◯◉◯◉
◉◯◯◉◯◯◯◉  ◯◯◯◯◯◯◯◯  ◯◉◉◯◉◉◉◯
◉◯◉◯◉◯◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◉◯◉◯◉
◯◯◯◉◯◉◯◯  ◉◯◯◯◯◯◯◯  ◯◉◉◯◉◯◉◉
◯◯◯◯◯◯◯◯  ◯◯◉◯◯◉◯◉  ◉◉◯◉◉◯◉◯
◯◯◯◯◉◯◯◯  ◉◯◯◯◯◯◯◯  ◯◉◉◉◯◉◉◉
◯◯◯◯◯◯◯◯  ◯◉◉◯◉◉◉◯  ◉◯◯◉◯◯◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◉◉◉◯◯  ◉◯◯◯◯◯◉◉
ObservationTensor(1):
◉◯◉◉◯◯◉◯  ◯◯◯◯◉◯◯◯  ◯◉◯◯◯◉◯◉
◉◯◯◉◯◯◯◉  ◯◯◯◯◯◯◯◯  ◯◉◉◯◉◉◉◯
◉◯◉◯◉◯◉◯  ◯◯◯◯◯◯◯◯  ◯◉◯◉◯◉◯◉
◯◯◯◉◯◉◯◯  ◉◯◯◯◯◯◯◯  ◯◉◉◯◉◯◉◉
◯◯◯◯◯◯◯◯  ◯◯◉◯◯◉◯◉  ◉◉◯◉◉◯◉◯
◯◯◯◯◉◯◯◯  ◉◯◯◯◯◯◯◯  ◯◉◉◉◯◉◉◉
◯◯◯◯◯◯◯◯  ◯◉◉◯◉◉◉◯  ◉◯◯◉◯◯◯◉
◯◯◯◯◯◯◯◯  ◯◉◉◉◉◉◯◯  ◉◯◯◯◯◯◉◉
Rewards() = [-1.0, 1.0]
Returns() = [-1.0, 1.0]
