Hearthstone game state:
[{'ENTITY_ID': '1', 'ZONE': 'PLAY', 'CARDTYPE': 'GAME', 'STATE': '2'}, {'ENTITY_ID': '2', 'PLAYSTATE': 'PLAYING', 'LAST_AFFECTED_BY': '89', 'RESOURCES': '10', 'HERO_ENTITY': '64', 'MAXHANDSIZE': '10', 'PLAYER_ID': '1', 'ZONE': 'PLAY', 'CONTROLLER': '1', 'CARDTYPE': 'PLAYER'}, {'ENTITY_ID': '3', 'PLAYSTATE': 'PLAYING', 'RESOURCES_USED': '9', 'RESOURCES': '10', 'HERO_ENTITY': '66', 'MAXHANDSIZE': '10', 'PLAYER_ID': '2', 'ZONE': 'PLAY', 'CONTROLLER': '2', 'CARDTYPE': 'PLAYER'}, {'TEXT': '<b>Deathrattle:</b> Summon a 4/4 Nerubian.', 'ENTITY_ID': '10', 'HEALTH': '2', 'COST': '2', 'LAST_AFFECTED_BY': '31', 'ZONE': 'PLAY', 'CONTROLLER': '1', 'CLASS': 'NEUTRAL', 'CARDTYPE': 'MINION', 'DEATHRATTLE': '1', 'ZONE_POSITION': '5'}, {'TEXT': 'Give a friendly\nminion +3/+3 until your next turn.', 'ENTITY_ID': '12', 'LAST_AFFECTED_BY': '115', 'ZONE': 'HAND', 'CONTROLLER': '1', 'CLASS': 'WARLOCK', 'CARDTYPE': 'SPELL', 'ZONE_POSITION': '2'}, {'TEXT': '<b>Deathrattle:</b> Summon a 4/4 Nerubian.', 'ENTITY_ID': '13', 'HEALTH': '2', 'COST': '2', 'ZONE': 'PLAY', 'CONTROLLER': '1', 'CLASS': 'NEUTRAL', 'CARDTYPE': 'MINION', 'DEATHRATTLE': '1', 'ZONE_POSITION': '3'}, {'TEXT': 'Give a friendly\nminion +3/+3 until your next turn.', 'ENTITY_ID': '15', 'LAST_AFFECTED_BY': '115', 'ZONE': 'HAND', 'CONTROLLER': '1', 'CLASS': 'WARLOCK', 'CARDTYPE': 'SPELL', 'ZONE_POSITION': '1'}, {'TEXT': 'Destroy a friendly Demon. Restore #5 Health to your hero.', 'ENTITY_ID': '18', 'LAST_AFFECTED_BY': '115', 'ZONE': 'HAND', 'CONTROLLER': '1', 'CLASS': 'WARLOCK', 'CARDTYPE': 'SPELL', 'ZONE_POSITION': '3'}, {'TEXT': '<b>Taunt</b>\nAdjacent minions are <b>Immune</b> while attacking.', 'ENTITY_ID': '20', 'HEALTH': '5', 'ATK': '2', 'COST': '4', 'LAST_AFFECTED_BY': '115', 'ZONE': 'HAND', 'CONTROLLER': '1', 'TAUNT': '1', 'CLASS': 'NEUTRAL', 'CARDTYPE': 'MINION', 'ZONE_POSITION': '4'}, {'TEXT': '<b>Taunt</b>\n<b>Battlecry:</b> <b>Discover</b> a <b>Taunt</b>_minion.', 'ENTITY_ID': '23', 'HEALTH': '5', 'ATK': '1', 'COST': '3', 'LAST_AFFECTED_BY': '130', 'DAMAGE': '2', 'ZONE': 'PLAY', 'CONTROLLER': '1', 'TAUNT': '1', 'CLASS': 'NEUTRAL', 'CARDTYPE': 'MINION', 'BATTLECRY': '1', 'ZONE_POSITION': '6', 'CARD_TARGET': '130'}, {'TEXT': '<b>Lifesteal</b>, <b>Taunt</b>\n<b>Deathrattle:</b> Deal 1 damage\nto all enemies.', 'ENTITY_ID': '27', 'HEALTH': '3', 'ATK': '1', 'COST': '3', 'LAST_AFFECTED_BY': '115', 'ZONE': 'PLAY', 'CONTROLLER': '1', 'TAUNT': '1', 'LIFESTEAL': '1', 'CLASS': 'NEUTRAL', 'CARDTYPE': 'MINION', 'DEATHRATTLE': '1', 'ZONE_POSITION': '1'}, {'TEXT': '<b>Taunt</b>', 'ENTITY_ID': '28', 'HEALTH': '3', 'ATK': '1', 'COST': '1', 'LAST_AFFECTED_BY': '115', 'ZONE': 'PLAY', 'CONTROLLER': '1', 'TAUNT': '1', 'CLASS': 'WARLOCK', 'CARDRACE': '15', 'CARDTYPE': 'MINION', 'ZONE_POSITION': '2'}, {'TEXT': '<b>Taunt</b>', 'ENTITY_ID': '41', 'HEALTH': '5', 'ATK': '6', 'COST': '6', 'LAST_AFFECTED_BY': '11', 'EXHAUSTED': '1', 'DAMAGE': '2', 'ZONE': 'PLAY', 'CONTROLLER': '2', 'TAUNT': '1', 'CLASS': 'NEUTRAL', 'CARDTYPE': 'MINION', 'ZONE_POSITION': '1'}, {'ENTITY_ID': '59', 'ZONE': 'HAND', 'CONTROLLER': '2', 'ZONE_POSITION': '1'}, {'TEXT': '', 'ENTITY_ID': '64', 'HEALTH': '30', 'LAST_AFFECTED_BY': '65', 'DAMAGE': '5', 'ZONE': 'PLAY', 'CONTROLLER': '1', 'CLASS': 'WARLOCK', 'CARDTYPE': 'HERO'}, {'TEXT': '<b>Hero Power</b>\nDraw a card and take $2_damage.', 'ENTITY_ID': '65', 'COST': '2', 'ZONE': 'PLAY', 'CONTROLLER': '1', 'CLASS': 'WARLOCK', 'CARDTYPE': 'HERO_POWER'}, {'TEXT': '', 'ENTITY_ID': '66', 'HEALTH': '30', 'LAST_AFFECTED_BY': '4', 'DAMAGE': '12', 'ZONE': 'PLAY', 'CONTROLLER': '2', 'CLASS': 'PALADIN', 'CARDTYPE': 'HERO', 'CARD_TARGET': '31'}, {'TEXT': '<b>Hero Power</b>\nSummon a 1/1 Silver Hand Recruit.', 'ENTITY_ID': '67', 'COST': '2', 'EXHAUSTED': '1', 'ZONE': 'PLAY', 'CONTROLLER': '2', 'CLASS': 'PALADIN', 'CARDTYPE': 'HERO_POWER'}, {'TEXT': "Demons that didn't start in your deck cost (1) less this game.", 'ENTITY_ID': '96', 'ATTACHED': '2', 'ZONE': 'PLAY', 'CONTROLLER': '1', 'CLASS': 'WARLOCK', 'CARDTYPE': 'ENCHANTMENT'}, {'TEXT': '[x]<b>Taunt</b>. Your odd-Cost\ncards cost (2) less. <i>(Swaps\npolarity each turn!)</i>@[x]<b>Taunt</b>. Your even-Cost\ncards cost (2) less. <i>(Swaps\npolarity each turn!)</i>', 'ENTITY_ID': '115', 'HEALTH': '11', 'ATK': '11', 'COST': '10', 'LAST_AFFECTED_BY': '43', 'DAMAGE': '7', 'ZONE': 'PLAY', 'CONTROLLER': '1', 'TAUNT': '1', 'CLASS': 'NEUTRAL', 'CARDRACE': '11', 'CARDTYPE': 'MINION', 'ZONE_POSITION': '4', 'CARD_TARGET': '43'}, {'TEXT': '', 'ENTITY_ID': '142', 'HEALTH': '1', 'ATK': '4', 'COST': '1', 'LAST_AFFECTED_BY': '53', 'EXHAUSTED': '1', 'ZONE': 'PLAY', 'CONTROLLER': '2', 'CLASS': 'PALADIN', 'CARDTYPE': 'MINION', 'ZONE_POSITION': '2'}, {'TEXT': '+3 Attack.', 'ENTITY_ID': '144', 'ATTACHED': '142', 'ZONE': 'PLAY', 'CONTROLLER': '2', 'CLASS': 'PALADIN', 'CARDTYPE': 'ENCHANTMENT'}, {'TEXT': 'Costs (2) less.', 'ENTITY_ID': '146', 'ATTACHED': '15', 'ZONE': 'PLAY', 'CONTROLLER': '1', 'CLASS': 'NEUTRAL', 'CARDTYPE': 'ENCHANTMENT'}, {'TEXT': 'Costs (2) less.', 'ENTITY_ID': '147', 'ATTACHED': '12', 'ZONE': 'PLAY', 'CONTROLLER': '1', 'CLASS': 'NEUTRAL', 'CARDTYPE': 'ENCHANTMENT'}, {'TEXT': 'Costs (2) less.', 'ENTITY_ID': '148', 'ATTACHED': '18', 'ZONE': 'PLAY', 'CONTROLLER': '1', 'CLASS': 'NEUTRAL', 'CARDTYPE': 'ENCHANTMENT'}, {'TEXT': 'Costs (2) less.', 'ENTITY_ID': '149', 'ATTACHED': '20', 'ZONE': 'PLAY', 'CONTROLLER': '1', 'CLASS': 'NEUTRAL', 'CARDTYPE': 'ENCHANTMENT'}]

Available options:
{'ID': 102, 'List': [{'Type': 'END_TURN', 'Main': {'ID': 0, 'Targets': None, 'PlayErrorInfo': {'PlayError': 'INVALID', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 15, 'Targets': [{'ID': 10, 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, {'ID': 23, 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, {'ID': 13, 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, {'ID': 115, 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, {'ID': 27, 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, {'ID': 28, 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, {'ID': 64, 'PlayErrorInfo': {'PlayError': 'REQ_MINION_TARGET', 'PlayErrorParam': None}}, {'ID': 66, 'PlayErrorInfo': {'PlayError': 'REQ_FRIENDLY_TARGET', 'PlayErrorParam': None}}, {'ID': 142, 'PlayErrorInfo': {'PlayError': 'REQ_FRIENDLY_TARGET', 'PlayErrorParam': None}}, {'ID': 41, 'PlayErrorInfo': {'PlayError': 'REQ_FRIENDLY_TARGET', 'PlayErrorParam': None}}], 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 12, 'Targets': [{'ID': 10, 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, {'ID': 23, 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, {'ID': 13, 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, {'ID': 115, 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, {'ID': 27, 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, {'ID': 28, 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, {'ID': 64, 'PlayErrorInfo': {'PlayError': 'REQ_MINION_TARGET', 'PlayErrorParam': None}}, {'ID': 66, 'PlayErrorInfo': {'PlayError': 'REQ_FRIENDLY_TARGET', 'PlayErrorParam': None}}, {'ID': 142, 'PlayErrorInfo': {'PlayError': 'REQ_FRIENDLY_TARGET', 'PlayErrorParam': None}}, {'ID': 41, 'PlayErrorInfo': {'PlayError': 'REQ_FRIENDLY_TARGET', 'PlayErrorParam': None}}], 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 18, 'Targets': [{'ID': 28, 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, {'ID': 64, 'PlayErrorInfo': {'PlayError': 'REQ_TARGET_WITH_RACE', 'PlayErrorParam': 15}}, {'ID': 66, 'PlayErrorInfo': {'PlayError': 'REQ_FRIENDLY_TARGET', 'PlayErrorParam': None}}, {'ID': 10, 'PlayErrorInfo': {'PlayError': 'REQ_TARGET_WITH_RACE', 'PlayErrorParam': 15}}, {'ID': 23, 'PlayErrorInfo': {'PlayError': 'REQ_TARGET_WITH_RACE', 'PlayErrorParam': 15}}, {'ID': 13, 'PlayErrorInfo': {'PlayError': 'REQ_TARGET_WITH_RACE', 'PlayErrorParam': 15}}, {'ID': 115, 'PlayErrorInfo': {'PlayError': 'REQ_TARGET_WITH_RACE', 'PlayErrorParam': 15}}, {'ID': 27, 'PlayErrorInfo': {'PlayError': 'REQ_TARGET_WITH_RACE', 'PlayErrorParam': 15}}, {'ID': 142, 'PlayErrorInfo': {'PlayError': 'REQ_FRIENDLY_TARGET', 'PlayErrorParam': None}}, {'ID': 41, 'PlayErrorInfo': {'PlayError': 'REQ_FRIENDLY_TARGET', 'PlayErrorParam': None}}], 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 20, 'Targets': [], 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 65, 'Targets': [], 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 23, 'Targets': [{'ID': 41, 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, {'ID': 64, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 10, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 23, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 13, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 115, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 27, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 28, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 142, 'PlayErrorInfo': {'PlayError': 'REQ_TARGET_TAUNTER', 'PlayErrorParam': None}}, {'ID': 66, 'PlayErrorInfo': {'PlayError': 'REQ_TARGET_TAUNTER', 'PlayErrorParam': None}}], 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 115, 'Targets': [{'ID': 41, 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, {'ID': 64, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 10, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 23, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 13, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 115, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 27, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 28, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 142, 'PlayErrorInfo': {'PlayError': 'REQ_TARGET_TAUNTER', 'PlayErrorParam': None}}, {'ID': 66, 'PlayErrorInfo': {'PlayError': 'REQ_TARGET_TAUNTER', 'PlayErrorParam': None}}], 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 27, 'Targets': [{'ID': 41, 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, {'ID': 64, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 10, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 23, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 13, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 115, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 27, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 28, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 142, 'PlayErrorInfo': {'PlayError': 'REQ_TARGET_TAUNTER', 'PlayErrorParam': None}}, {'ID': 66, 'PlayErrorInfo': {'PlayError': 'REQ_TARGET_TAUNTER', 'PlayErrorParam': None}}], 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 28, 'Targets': [{'ID': 41, 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, {'ID': 64, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 10, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 23, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 13, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 115, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 27, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 28, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 142, 'PlayErrorInfo': {'PlayError': 'REQ_TARGET_TAUNTER', 'PlayErrorParam': None}}, {'ID': 66, 'PlayErrorInfo': {'PlayError': 'REQ_TARGET_TAUNTER', 'PlayErrorParam': None}}], 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 64, 'Targets': [], 'PlayErrorInfo': {'PlayError': 'REQ_ATTACK_GREATER_THAN_0', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 66, 'Targets': [], 'PlayErrorInfo': {'PlayError': 'REQ_YOUR_TURN', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 67, 'Targets': [], 'PlayErrorInfo': {'PlayError': 'REQ_YOUR_TURN', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 10, 'Targets': [], 'PlayErrorInfo': {'PlayError': 'REQ_ATTACK_GREATER_THAN_0', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 13, 'Targets': [], 'PlayErrorInfo': {'PlayError': 'REQ_ATTACK_GREATER_THAN_0', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 142, 'Targets': [], 'PlayErrorInfo': {'PlayError': 'REQ_YOUR_TURN', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 41, 'Targets': [], 'PlayErrorInfo': {'PlayError': 'REQ_YOUR_TURN', 'PlayErrorParam': None}}, 'Subs': []}]}

Chosen action:
HasSubOption: yes
HasPosition: yes
Id: 102
Index: 4
Target: 0
SubOption: -1
Position: 3

Outcome:
ENTITY_ID: 2
RESOURCES_USED: 0=>4
ENTITY_ID: 10
ZONE_POSITION: 5=>6
ENTITY_ID: 13
LAST_AFFECTED_BY: 0=>20
ZONE_POSITION: 3=>4
ENTITY_ID: 20
EXHAUSTED: 0=>1
ZONE: HAND=>PLAY
ZONE_POSITION: 4=>3
ENTITY_ID: 23
ZONE_POSITION: 6=>7
ENTITY_ID: 28
LAST_AFFECTED_BY: 115=>20
ENTITY_ID: 115
ZONE_POSITION: 4=>5
TEXT: <b>Immune</b> while attacking.
ENTITY_ID: 151
ATTACHED: 28
ZONE: PLAY
CONTROLLER: 1
CLASS: NEUTRAL
CARDTYPE: ENCHANTMENT
TEXT: <b>Immune</b> while attacking.
ENTITY_ID: 152
ATTACHED: 13
ZONE: PLAY
CONTROLLER: 1
CLASS: NEUTRAL
CARDTYPE: ENCHANTMENT