Hearthstone game state:
ENTITY_ID: 1
ZONE: PLAY
CARDTYPE: GAME
STATE: 2
ENTITY_ID: 2
PLAYSTATE: PLAYING
RESOURCES_USED: 3
RESOURCES: 3
HERO_ENTITY: 64
MAXHANDSIZE: 10
PLAYER_ID: 1
ZONE: PLAY
CONTROLLER: 1
CARDTYPE: PLAYER
ENTITY_ID: 3
PLAYSTATE: PLAYING
RESOURCES_USED: 3
RESOURCES: 3
HERO_ENTITY: 66
MAXHANDSIZE: 10
PLAYER_ID: 2
ZONE: PLAY
CONTROLLER: 2
CARDTYPE: PLAYER
TEXT: [x]Draw a card.
<b>Outcast:</b> Draw another.
ENTITY_ID: 10
COST: 2
ZONE: HAND
CONTROLLER: 1
CLASS: DEMONHUNTER
CARDTYPE: SPELL
ZONE_POSITION: 1
TEXT: Swap your Hero Power to "Deal 5 damage." After 2 uses, swap it back.
ENTITY_ID: 12
COST: 4
ZONE: HAND
CONTROLLER: 1
CLASS: DEMONHUNTER
CARDTYPE: SPELL
ZONE_POSITION: 2
TEXT: [x]After you cast a spell,
gain +1 Attack until
your next turn.
ENTITY_ID: 16
HEALTH: 3
ATK: 2
COST: 1
LAST_AFFECTED_BY: 16
ZONE: PLAY
CONTROLLER: 1
CLASS: NEUTRAL
CARDRACE: 92
CARDTYPE: MINION
ZONE_POSITION: 2
TEXT: [x]Draw a card.
<b>Outcast:</b> Draw another.
ENTITY_ID: 18
COST: 2
ZONE: HAND
CONTROLLER: 1
CLASS: DEMONHUNTER
CARDTYPE: SPELL
ZONE_POSITION: 4
TEXT: <b>Outcast:</b> Draw a card.
ENTITY_ID: 22
HEALTH: 1
ATK: 1
COST: 1
ZONE: PLAY
CONTROLLER: 1
CLASS: DEMONHUNTER
CARDTYPE: MINION
ZONE_POSITION: 1
CARD_TARGET: 66
TEXT: <b>Lifesteal</b>. Deal $3 damage to a minion.
<b>Outcast:</b> This costs (1).
ENTITY_ID: 23
COST: 3
ZONE: HAND
CONTROLLER: 1
LIFESTEAL: 1
CLASS: DEMONHUNTER
CARDTYPE: SPELL
ZONE_POSITION: 3
ENTITY_ID: 39
ZONE: HAND
CONTROLLER: 2
ZONE_POSITION: 3
ENTITY_ID: 53
ZONE: HAND
CONTROLLER: 2
ZONE_POSITION: 1
TEXT: Whenever you summon a minion with 3 or less Attack, give it <b>Charge</b>.
ENTITY_ID: 54
HEALTH: 3
ATK: 2
COST: 3
EXHAUSTED: 1
ZONE: PLAY
CONTROLLER: 2
CLASS: WARRIOR
CARDTYPE: MINION
ZONE_POSITION: 1
ENTITY_ID: 57
ZONE: HAND
CONTROLLER: 2
ZONE_POSITION: 2
ENTITY_ID: 64
HEALTH: 30
LAST_AFFECTED_BY: 50
DAMAGE: 2
ZONE: PLAY
CONTROLLER: 1
CLASS: DEMONHUNTER
CARDTYPE: HERO
CARD_TARGET: 50
TEXT: [x]<b>Hero Power</b>
+$a1 Attack this turn.
ENTITY_ID: 65
COST: 1
ZONE: PLAY
CONTROLLER: 1
CLASS: DEMONHUNTER
CARDTYPE: HERO_POWER
ENTITY_ID: 66
HEALTH: 30
LAST_AFFECTED_BY: 22
DAMAGE: 1
ZONE: PLAY
CONTROLLER: 2
CLASS: WARRIOR
CARDTYPE: HERO
TEXT: <b>Hero Power</b>
Gain $d2 Armor.
ENTITY_ID: 67
COST: 2
ZONE: PLAY
CONTROLLER: 2
CLASS: WARRIOR
CARDTYPE: HERO_POWER
TEXT: <b>Rush</b>
ENTITY_ID: 86
HEALTH: 1
ATK: 1
COST: 1
ZONE: PLAY
CONTROLLER: 1
RUSH: 1
CLASS: DEMONHUNTER
CARDTYPE: MINION
ZONE_POSITION: 3
TEXT: <b>Rush</b>
ENTITY_ID: 87
HEALTH: 1
ATK: 1
COST: 1
ZONE: PLAY
CONTROLLER: 1
RUSH: 1
CLASS: DEMONHUNTER
CARDTYPE: MINION
ZONE_POSITION: 4
TEXT: <b>Rush</b>
ENTITY_ID: 88
HEALTH: 1
ATK: 1
COST: 1
ZONE: PLAY
CONTROLLER: 1
RUSH: 1
CLASS: DEMONHUNTER
CARDTYPE: MINION
ZONE_POSITION: 5
TEXT: +1 Attack until your next turn.
ENTITY_ID: 89
ATTACHED: 16
ZONE: PLAY
CONTROLLER: 1
CLASS: NEUTRAL
CARDTYPE: ENCHANTMENT

Available options:
{'ID': 17, 'List': [{'Type': 'END_TURN', 'Main': {'ID': 0, 'Targets': None, 'PlayErrorInfo': {'PlayError': 'INVALID', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 22, 'Targets': [{'ID': 66, 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, {'ID': 54, 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, {'ID': 64, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 22, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 16, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 86, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 87, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 88, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}], 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 16, 'Targets': [{'ID': 66, 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, {'ID': 54, 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, {'ID': 64, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 22, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 16, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 86, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 87, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 88, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}], 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 86, 'Targets': [{'ID': 54, 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, {'ID': 64, 'PlayErrorInfo': {'PlayError': 'REQ_MINION_TARGET', 'PlayErrorParam': None}}, {'ID': 66, 'PlayErrorInfo': {'PlayError': 'REQ_MINION_TARGET', 'PlayErrorParam': None}}, {'ID': 22, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 16, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 86, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 87, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 88, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}], 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 87, 'Targets': [{'ID': 54, 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, {'ID': 64, 'PlayErrorInfo': {'PlayError': 'REQ_MINION_TARGET', 'PlayErrorParam': None}}, {'ID': 66, 'PlayErrorInfo': {'PlayError': 'REQ_MINION_TARGET', 'PlayErrorParam': None}}, {'ID': 22, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 16, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 86, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 87, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 88, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}], 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 88, 'Targets': [{'ID': 54, 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, {'ID': 64, 'PlayErrorInfo': {'PlayError': 'REQ_MINION_TARGET', 'PlayErrorParam': None}}, {'ID': 66, 'PlayErrorInfo': {'PlayError': 'REQ_MINION_TARGET', 'PlayErrorParam': None}}, {'ID': 22, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 16, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 86, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 87, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}, {'ID': 88, 'PlayErrorInfo': {'PlayError': 'REQ_ENEMY_TARGET', 'PlayErrorParam': None}}], 'PlayErrorInfo': {'PlayError': 'NONE', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 10, 'Targets': [], 'PlayErrorInfo': {'PlayError': 'REQ_ENOUGH_MANA', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 12, 'Targets': [], 'PlayErrorInfo': {'PlayError': 'REQ_ENOUGH_MANA', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 23, 'Targets': [], 'PlayErrorInfo': {'PlayError': 'REQ_ENOUGH_MANA', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 18, 'Targets': [], 'PlayErrorInfo': {'PlayError': 'REQ_ENOUGH_MANA', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 64, 'Targets': [], 'PlayErrorInfo': {'PlayError': 'REQ_ATTACK_GREATER_THAN_0', 'PlayErrorParam': None}}, 'Subs': []}, {'Type': 'POWER', 'Main': {'ID': 65, 'Targets': [], 'PlayErrorInfo': {'PlayError': 'REQ_ENOUGH_MANA', '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': 54, 'Targets': [], 'PlayErrorInfo': {'PlayError': 'REQ_YOUR_TURN', 'PlayErrorParam': None}}, 'Subs': []}]}

Chosen action:
HasSubOption: yes
HasPosition: yes
Id: 17
Index: 3
Target: 54
SubOption: -1
Position: 0

Outcome:
ENTITY_ID: 54
LAST_AFFECTED_BY: 0=>86
DAMAGE: 0=>1
ENTITY_ID: 87
ZONE_POSITION: 4=>3
ENTITY_ID: 88
ZONE_POSITION: 5=>4