# game_pbp

pbp_text:
  ────────────────────────────────────────────────────────────
  BOTTOM HALF | Toronto Baseball Club batting
  ────────────────────────────────────────────────────────────
  --- Now batting: Oliver Krulevitz ---
  [0 outs | 0-0 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [0 outs | 0-1 | empty] BALL IN PLAY
    Oliver Krulevitz runs → single.
  --- Now batting: AnQuon Ornstein ---
  [0 outs | 0-0 | 1B] FOUL
    Foul ball. Count: 0-1.
  [0 outs | 0-1 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [0 outs | 0-2 | 1B] BALL
    Ball 1. Count: 1-2.
  [0 outs | 1-2 | 1B] BALL
    Ball 2. Count: 2-2.
  [0 outs | 2-2 | 1B] BALL
    Ball 3. Count: 3-2.
  [0 outs | 3-2 | 1B] BALL IN PLAY
    AnQuon Ornstein runs → line out.
    ROBBED! Jared Temple lays out for the diving grab — a hit turned into an out!
    AnQuon Ornstein is out.
  --- Now batting: Ryler Noonkester ---
  [1 outs | 0-0 | 1B] FOUL
    Foul ball. Count: 0-1.
  [1 outs | 0-1 | 1B] FOUL
    Foul ball. Count: 0-2.
  [1 outs | 0-2 | 1B] BALL
    Ball 1. Count: 1-2.
  [1 outs | 1-2 | 1B] FOUL OUT
    Foul ball. Count: 0-0.
  [2 outs | 0-0 | 1B] PINCH RUNNER
    Jourdan Poret pinch-runs for Oliver Krulevitz at 1B.
  --- Now batting: Israel Ouahabi ---
  [2 outs | 0-0 | 1B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [2 outs | 0-1 | 1B] BALL
    Ball 1. Count: 1-1.
  [2 outs | 1-1 | 1B] BALL
    Ball 2. Count: 2-1.
  [2 outs | 2-1 | 1B] BALL
    Ball 3. Count: 3-1.
  [2 outs | 3-1 | 1B] STOLEN BASE ATTEMPT
    Runner caught stealing at 2B.
  [3 outs | 3-1 | empty] BALL
    WALK — Israel Ouahabi awarded 1B.
  [3 outs | 0-0 | 1B] PINCH RUNNER
    Jojo Boynton pinch-runs for Israel Ouahabi at 1B.
  --- Now batting: Luke Dunham ---
  [3 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [3 outs | 1-0 | 1B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [3 outs | 1-1 | 1B] BALL IN PLAY
    Luke Dunham runs → ground out.
    Luke Dunham is out.
    Runner advances from 1B to 2B.
  --- Now batting: Cahron DeLoatch ---
  [4 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [4 outs | 1-0 | 2B] FOUL
    Foul ball. Count: 1-1.
  [4 outs | 1-1 | 2B] BALL
    Ball 2. Count: 2-1.
  [4 outs | 2-1 | 2B] FOUL
    Foul ball. Count: 2-2.
  [4 outs | 2-2 | 2B] BALL
    Ball 3. Count: 3-2.
  [4 outs | 3-2 | 2B] FOUL OUT
    Foul ball. Count: 0-0.
  [5 outs | 0-0 | 2B] PINCH HITTER
    Alisson Pires pinch-hits for Kevin Baugh.
  --- Now batting: Alisson Pires ---
  [5 outs | 0-0 | 2B] BALL IN PLAY
    Alisson Pires runs → HOME RUN.
    Runner scores.
    Batter scores (HR).
    [Walk-Back — Alisson Pires retreats to 3B as the bonus runner.]
    [The Walk-Back is brought to you by Pontiac.]
  [5 outs | 0-0 | 3B] PITCHING CHANGE
    PITCHING CHANGE: Drew Manuel exits (7 BF this spell).
  --- Now batting: Reuben Deal ---
  [5 outs | 0-0 | 3B] BALL IN PLAY
    Reuben Deal runs → single.
    Runner scores from 3B.
  --- Now batting: Earl Harbour [P] ---
  [5 outs | 0-0 | 1B] BALL IN PLAY
    Earl Harbour runs → ground out.
    Earl Harbour is out.
    Runner advances from 1B to 2B.
  [6 outs | 0-0 | 2B] DEFENSIVE SUB
    Jared Temple replaces Lesley Canty at CF.
  --- Now batting: Jourdan Poret ---
  [6 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [6 outs | 1-0 | 2B] BALL IN PLAY
    Jourdan Poret runs → single.
    Runner scores from 2B.
  [6 outs | 0-0 | 1B] DEFENSIVE SUB
    Lorenzo Simón replaces Gregory Encarnación at RF.
  --- Now batting: AnQuon Ornstein ---
  [6 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [6 outs | 1-0 | 1B] BALL
    Ball 2. Count: 2-0.
  [6 outs | 2-0 | 1B] WILD PITCH
    Wild pitch — runners advance.
    Runner advances from 1B to 2B.
  [6 outs | 2-0 | 2B] BALL
    Ball 3. Count: 3-0.
  [6 outs | 3-0 | 2B] FOUL
    Foul ball. Count: 3-1.
  [6 outs | 3-1 | 2B] BALL
    WALK — AnQuon Ornstein awarded 1B.
  --- Now batting: Ryler Noonkester ---
  [6 outs | 0-0 | 1B, 2B] BALL IN PLAY
    Ryler Noonkester runs → double.
    Runner scores from 2B.
    Runner scores from 1B.
  [6 outs | 0-0 | 2B] PITCHING CHANGE
    PITCHING CHANGE: Joel Smalls exits (5 BF this spell).
  --- Now batting: Jojo Boynton ---
  [6 outs | 0-0 | 2B] FOUL
    Foul ball. Count: 0-1.
  [6 outs | 0-1 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [6 outs | 0-2 | 2B] FOUL
    Foul ball. Count: 0-2.
  [6 outs | 0-2 | 2B] BALL IN PLAY
    Jojo Boynton runs → double.
    Runner scores from 2B.
  --- Now batting: Luke Dunham ---
  [6 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [6 outs | 1-0 | 2B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [6 outs | 1-1 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 1-2.
  [6 outs | 1-2 | 2B] FOUL
    Foul ball. Count: 1-2.
  [6 outs | 1-2 | 2B] BALL
    Ball 2. Count: 2-2.
  [6 outs | 2-2 | 2B] STOLEN BASE ATTEMPT
    Stolen base — runner advances to 3B.
  [6 outs | 2-2 | 3B] BALL IN PLAY
    Luke Dunham runs → single.
    Runner scores from 3B.
  --- Now batting: Cahron DeLoatch ---
  [6 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [6 outs | 1-0 | 1B] BALL IN PLAY
    Cahron DeLoatch runs → ground out.
    Cahron DeLoatch is out.
    Runner advances from 1B to 2B.
  --- Now batting: Alisson Pires ---
  [7 outs | 0-0 | 2B] FOUL
    Foul ball. Count: 0-1.
  [7 outs | 0-1 | 2B] FOUL
    Foul ball. Count: 0-2.
  [7 outs | 0-2 | 2B] BALL IN PLAY
    Alisson Pires runs → HOME RUN.
    Runner scores.
    Batter scores (HR).
    [Walk-Back — Alisson Pires retreats to 3B as the bonus runner.]
    [The Walk-Back is brought to you by Studebaker.]
  --- Now batting: Reuben Deal ---
  [7 outs | 0-0 | 3B] BALL
    Ball 1. Count: 1-0.
  [7 outs | 1-0 | 3B] BALL
    Ball 2. Count: 2-0.
  [7 outs | 2-0 | 3B] BALL IN PLAY
    Reuben Deal runs → double.
    Runner scores from 3B.
  [7 outs | 0-0 | 2B] PITCHING CHANGE
    PITCHING CHANGE: DeShawn Kimbrell exits (5 BF this spell).
  --- Now batting: Earl Harbour [P] ---
  [7 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [7 outs | 1-0 | 2B] BALL IN PLAY
    Earl Harbour runs → single.
    Runner scores from 2B.
  --- Now batting: Jourdan Poret ---
  [7 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [7 outs | 1-0 | 1B] FOUL
    Foul ball. Count: 1-1.
  [7 outs | 1-1 | 1B] CALLED STRIKE
    Strike (called). Count: 1-2.
  [7 outs | 1-2 | 1B] BALL IN PLAY
    Jourdan Poret runs → single.
    Runner at 1B thrown out.
  --- Now batting: AnQuon Ornstein ---
  [8 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [8 outs | 1-0 | 1B] BALL
    Ball 2. Count: 2-0.
  [8 outs | 2-0 | 1B] HIT BY PITCH
    HBP — AnQuon Ornstein awarded 1B.
    Runner advances from 1B to 2B.
  --- Now batting: Ryler Noonkester ---
  [8 outs | 0-0 | 1B, 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [8 outs | 0-1 | 1B, 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [8 outs | 0-2 | 1B, 2B] BALL IN PLAY
    Ryler Noonkester runs → fly out.
    Ryler Noonkester is out.
  --- Now batting: Jojo Boynton ---
  [9 outs | 0-0 | 1B, 2B] BALL IN PLAY
    Jojo Boynton runs → fly out.
    Jojo Boynton is out.
  --- Now batting: Luke Dunham ---
  [10 outs | 0-0 | 1B, 2B] BALL
    Ball 1. Count: 1-0.
  [10 outs | 1-0 | 1B, 2B] BALL
    Ball 2. Count: 2-0.
  [10 outs | 2-0 | 1B, 2B] BALL
    Ball 3. Count: 3-0.
  [10 outs | 3-0 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 3-1.
  [10 outs | 3-1 | 1B, 2B] BALL IN PLAY
    Luke Dunham runs → double.
    Runner scores from 2B.
    Runner scores from 1B.
  --- Now batting: Cahron DeLoatch ---
  [10 outs | 0-0 | 2B] FOUL
    Foul ball. Count: 0-1.
  [10 outs | 0-1 | 2B] BALL IN PLAY
    Cahron DeLoatch runs → HOME RUN.
    Runner scores.
    Batter scores (HR).
    [Walk-Back — Cahron DeLoatch retreats to 3B as the bonus runner.]
    [The Walk-Back is brought to you by Washington Mutual.]
  [10 outs | 0-0 | 3B] PITCHING CHANGE
    PITCHING CHANGE: Vitas Karzen exits (7 BF this spell).
  --- Now batting: Alisson Pires ---
  [10 outs | 0-0 | 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [10 outs | 0-1 | 3B] FOUL
    Foul ball. Count: 0-2.
  [10 outs | 0-2 | 3B] BALL IN PLAY
    Alisson Pires runs → HOME RUN.
    Runner scores.
    Batter scores (HR).
    [Walk-Back — Alisson Pires retreats to 3B as the bonus runner.]
    [The Walk-Back is brought to you by De Soto.]
  --- Now batting: Reuben Deal ---
  [10 outs | 0-0 | 3B] BALL IN PLAY
    Reuben Deal runs → triple.
    Runner scores from 3B.
  --- Now batting: Earl Harbour [P] ---
  [10 outs | 0-0 | 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [10 outs | 0-1 | 3B] BALL IN PLAY
    Earl Harbour runs → double.
    Runner scores from 3B.
  --- Now batting: Jourdan Poret ---
  [10 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [10 outs | 1-0 | 2B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [10 outs | 1-1 | 2B] BALL IN PLAY
    Jourdan Poret runs → HOME RUN.
    Runner scores.
    Batter scores (HR).
    [Walk-Back — Jourdan Poret retreats to 3B as the bonus runner.]
    [The Walk-Back is brought to you by Montgomery Ward.]
  [10 outs | 0-0 | 3B] PITCHING CHANGE
    PITCHING CHANGE: Glenn Bisgrove exits (4 BF this spell).
  --- Now batting: AnQuon Ornstein ---
  [10 outs | 0-0 | 3B] BALL
    Ball 1. Count: 1-0.
  [10 outs | 1-0 | 3B] BALL
    Ball 2. Count: 2-0.
  [10 outs | 2-0 | 3B] SWINGING STRIKE
    Strike (swinging). Count: 2-1.
  [10 outs | 2-1 | 3B] BALL
    Ball 3. Count: 3-1.
  [10 outs | 3-1 | 3B] BALL IN PLAY
    AnQuon Ornstein runs → HOME RUN.
    Runner scores.
    Batter scores (HR).
    [Walk-Back — AnQuon Ornstein retreats to 3B as the bonus runner.]
    [The Walk-Back is brought to you by Burger Chef.]
  --- Now batting: Ryler Noonkester ---
  [10 outs | 0-0 | 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [10 outs | 0-1 | 3B] BALL IN PLAY
    Ryler Noonkester runs → line out.
    Ryler Noonkester is out.
  --- Now batting: Jojo Boynton ---
  [11 outs | 0-0 | 3B] BALL IN PLAY
    Jojo Boynton runs → double.
    Runner scores from 3B.
  --- Now batting: Luke Dunham ---
  [11 outs | 0-0 | 2B] BALL IN PLAY
    Luke Dunham runs → line out.
    Luke Dunham is out.
  --- Now batting: Cahron DeLoatch ---
  [12 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [12 outs | 1-0 | 2B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [12 outs | 1-1 | 2B] BALL
    Ball 2. Count: 2-1.
  [12 outs | 2-1 | 2B] CALLED STRIKE
    Strike (called). Count: 2-2.
  [12 outs | 2-2 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Alisson Pires ---
  [13 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [13 outs | 0-1 | 2B] BALL IN PLAY
    Alisson Pires runs → single.
    Runner advances from 2B to 3B.
  --- Now batting: Reuben Deal ---
  [13 outs | 0-0 | 1B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [13 outs | 0-1 | 1B, 3B] FOUL
    Foul ball. Count: 0-2.
  [13 outs | 0-2 | 1B, 3B] BALL IN PLAY
    Reuben Deal runs → fly out.
    Reuben Deal is out.
    Runner at 3B thrown out.
  --- Now batting: Earl Harbour [P] ---
  [15 outs | 0-0 | 1B] BALL IN PLAY
    Earl Harbour runs → line out.
    Earl Harbour is out.
  --- Now batting: Jourdan Poret ---
  [16 outs | 0-0 | 1B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [16 outs | 0-1 | 1B] STOLEN BASE ATTEMPT
    Stolen base — runner advances to 2B.
  [16 outs | 0-1 | 2B] BALL
    Ball 1. Count: 1-1.
  [16 outs | 1-1 | 2B] CALLED STRIKE
    Strike (called). Count: 1-2.
  [16 outs | 1-2 | 2B] FOUL
    Foul ball. Count: 1-2.
  [16 outs | 1-2 | 2B] BALL
    Ball 2. Count: 2-2.
  [16 outs | 2-2 | 2B] BALL IN PLAY
    Jourdan Poret runs → single.
    Runner scores from 2B.
  --- Now batting: AnQuon Ornstein ---
  [16 outs | 0-0 | 1B] FOUL
    Foul ball. Count: 0-1.
  [16 outs | 0-1 | 1B] BALL IN PLAY
    AnQuon Ornstein runs → double.
    Runner scores from 1B.
  [16 outs | 0-0 | 2B] PITCHING CHANGE
    PITCHING CHANGE: Oliver Eakin exits (10 BF this spell).
  --- Now batting: Ryler Noonkester ---
  [16 outs | 0-0 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [16 outs | 0-1 | 2B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [16 outs | 0-2 | 2B] FOUL
    Foul ball. Count: 0-2.
  [16 outs | 0-2 | 2B] FOUL
    Foul ball. Count: 0-2.
  [16 outs | 0-2 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Jojo Boynton ---
  [17 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [17 outs | 0-1 | 2B] FOUL
    Foul ball. Count: 0-2.
  [17 outs | 0-2 | 2B] BALL IN PLAY
    Jojo Boynton runs → ground out.
    Jojo Boynton is out.
    Runner at 2B thrown out.
  [19 outs | 0-0 | empty] DEFENSIVE SUB
    Ramon Meza replaces Cormac Scandalis at 3B.
  --- Now batting: Luke Dunham ---
  [19 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [19 outs | 1-0 | empty] FOUL
    Foul ball. Count: 1-1.
  [19 outs | 1-1 | empty] FOUL
    Foul ball. Count: 1-2.
  [19 outs | 1-2 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Cahron DeLoatch ---
  [20 outs | 0-0 | empty] CALLED STRIKE
    Strike (called). Count: 0-1.
  [20 outs | 0-1 | empty] BALL
    Ball 1. Count: 1-1.
  [20 outs | 1-1 | empty] BALL
    Ball 2. Count: 2-1.
  [20 outs | 2-1 | empty] FOUL
    Foul ball. Count: 2-2.
  [20 outs | 2-2 | empty] BALL IN PLAY
    Cahron DeLoatch runs → double.
  --- Now batting: Alisson Pires ---
  [20 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [20 outs | 1-0 | 2B] STOLEN BASE ATTEMPT
    Stolen base — runner advances to 3B.
  [20 outs | 1-0 | 3B] BALL
    Ball 2. Count: 2-0.
  [20 outs | 2-0 | 3B] BALL
    Ball 3. Count: 3-0.
  [20 outs | 3-0 | 3B] BALL
    WALK — Alisson Pires awarded 1B.
  [20 outs | 0-0 | 1B, 3B] PICKOFF ATTEMPT
    Pickoff — runner out at 1B!
  --- Now batting: Reuben Deal ---
  [21 outs | 0-0 | 3B] FOUL
    Foul ball. Count: 0-1.
  [21 outs | 0-1 | 3B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [21 outs | 0-2 | 3B] BALL IN PLAY
    Reuben Deal runs → fly out.
    Reuben Deal is out.
    Runner at 3B thrown out.
  --- Now batting: Earl Harbour [P] ---
  [23 outs | 0-0 | empty] BALL IN PLAY
    Earl Harbour runs → single.
  --- Now batting: Jourdan Poret ---
  [23 outs | 0-0 | 1B] BALL IN PLAY
    Jourdan Poret runs → ground out.
    Jourdan Poret is out.
    Runner advances from 1B to 2B.
  --- Now batting: AnQuon Ornstein ---
  [24 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [24 outs | 1-0 | 2B] BALL
    Ball 2. Count: 2-0.
  [24 outs | 2-0 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 2-1.
  [24 outs | 2-1 | 2B] BALL
    Ball 3. Count: 3-1.
  [24 outs | 3-1 | 2B] BALL
    WALK — AnQuon Ornstein awarded 1B.
  [24 outs | 0-0 | 1B, 2B] PINCH RUNNER
    Reilly Reliford pinch-runs for AnQuon Ornstein at 1B.
  --- Now batting: Ryler Noonkester ---
  [24 outs | 0-0 | 1B, 2B] BALL
    Ball 1. Count: 1-0.
  [24 outs | 1-0 | 1B, 2B] SWINGING STRIKE
    Strike (swinging). Count: 1-1.
  [24 outs | 1-1 | 1B, 2B] FOUL
    Foul ball. Count: 1-2.
  [24 outs | 1-2 | 1B, 2B] BALL
    Ball 2. Count: 2-2.
  [24 outs | 2-2 | 1B, 2B] FOUL
    Foul ball. Count: 2-2.
  [24 outs | 2-2 | 1B, 2B] BALL
    Ball 3. Count: 3-2.
  [24 outs | 3-2 | 1B, 2B] BALL
    WALK — Ryler Noonkester awarded 1B.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  [24 outs | 0-0 | 1B, 2B, 3B] PINCH HITTER
    Nick Edris pinch-hits for Jojo Boynton.
  [24 outs | 0-0 | 1B, 2B, 3B] PINCH RUNNER
    Jaydon Johnson-Rubell pinch-runs for Earl Harbour at 3B.
  --- Now batting: Nick Edris ---
  [24 outs | 0-0 | 1B, 2B, 3B] BALL IN PLAY
    Nick Edris runs → HOME RUN.
    Runner scores.
    Runner scores.
    Runner scores.
    Batter scores (HR).
    [Walk-Back — Nick Edris retreats to 3B as the bonus runner.]
    [The Walk-Back is brought to you by Bear Stearns.]
  --- Now batting: Luke Dunham ---
  [24 outs | 0-0 | 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [24 outs | 0-1 | 3B] BALL IN PLAY
    Luke Dunham runs → double.
    Runner scores from 3B.
  [24 outs | 0-0 | 2B] PITCHING CHANGE
    PITCHING CHANGE: Alzarri Waite exits (12 BF this spell).
  --- Now batting: Cahron DeLoatch ---
  [24 outs | 0-0 | 2B] HIT BY PITCH
    HBP — Cahron DeLoatch awarded 1B.
  [24 outs | 0-0 | 1B, 2B] STOLEN BASE ATTEMPT
    Stolen base — runner advances to 3B.
  --- Now batting: Alisson Pires ---
  [24 outs | 0-0 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [24 outs | 0-1 | 1B, 3B] FOUL
    Foul ball. Count: 0-2.
  [24 outs | 0-2 | 1B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Reuben Deal ---
  [25 outs | 0-0 | 1B, 3B] BALL IN PLAY
    Reuben Deal runs → double.
    Runner scores from 3B.
    Runner scores from 1B.
  --- Now batting: Jaydon Johnson-Rubell ---
  [25 outs | 0-0 | 2B] FOUL
    Foul ball. Count: 0-1.
  [25 outs | 0-1 | 2B] BALL IN PLAY
    Jaydon Johnson-Rubell runs → line out.
    Jaydon Johnson-Rubell is out.
  [26 outs | 0-0 | 2B] PHASE TRANSITION
    Toronto Baseball Club switches to its defensive lineup: Denis Novikov, Cole Welch in for Nick Edris, Reilly Reliford.
  --- Now batting: Jourdan Poret ---
  [26 outs | 0-0 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [26 outs | 0-1 | 2B] BALL
    Ball 1. Count: 1-1.
  [26 outs | 1-1 | 2B] FOUL
    Foul ball. Count: 1-2.
  [26 outs | 1-2 | 2B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.

  End of bottom half — Toronto Baseball Club: 34 run(s), 27 hit(s), 27 out(s) | Run rate: 1.259
  ============================================================
  HALFTIME
    Vancouver Booksellers: 0 run(s)
    Toronto Baseball Club need 1 run(s) to win
    Required run rate: 0.037 R/out
  ============================================================

  ────────────────────────────────────────────────────────────
  TOP HALF | Vancouver Booksellers batting
  ────────────────────────────────────────────────────────────
  --- Now batting: Yates Brantmeier ---
  [0 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [0 outs | 1-0 | empty] FOUL
    Foul ball. Count: 1-1.
  [0 outs | 1-1 | empty] BALL
    Ball 2. Count: 2-1.
  [0 outs | 2-1 | empty] BALL
    Ball 3. Count: 3-1.
  [0 outs | 3-1 | empty] BALL IN PLAY
    Yates Brantmeier runs → ground out.
    Yates Brantmeier is out.
  [1 outs | 0-0 | empty] JOKER INSERTION
    Vancouver Booksellers sends in joker Henrique Ruiz for an extra plate appearance (joker #1).
  --- Now batting: Henrique Ruiz ---
  [1 outs | 0-0 | empty] FOUL
    Foul ball. Count: 0-1.
  [1 outs | 0-1 | empty] BALL IN PLAY
    Henrique Ruiz runs → single.
  [1 outs | 0-0 | 1B] JOKER INSERTION
    Vancouver Booksellers sends in joker Roshan Matthews for an extra plate appearance (joker #2).
  --- Now batting: Roshan Matthews ---
  [1 outs | 0-0 | 1B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [1 outs | 0-1 | 1B] BALL
    Ball 1. Count: 1-1.
  [1 outs | 1-1 | 1B] BALL IN PLAY
    Roshan Matthews runs → fly out.
    Roshan Matthews is out.
  --- Now batting: Lorenzo Simón ---
  [2 outs | 0-0 | 1B] BALL IN PLAY
    Lorenzo Simón runs → line out.
    Lorenzo Simón is out.
  --- Now batting: Jaime Lemay ---
  [3 outs | 0-0 | 1B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [3 outs | 0-1 | 1B] BALL
    Ball 1. Count: 1-1.
  [3 outs | 1-1 | 1B] BALL
    Ball 2. Count: 2-1.
  [3 outs | 2-1 | 1B] FOUL
    Foul ball. Count: 2-2.
  [3 outs | 2-2 | 1B] BALL IN PLAY
    Jaime Lemay runs → fly out.
    Jaime Lemay is out.
  --- Now batting: Richard Johnson ---
  [4 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [4 outs | 1-0 | 1B] FOUL
    Foul ball. Count: 1-1.
  [4 outs | 1-1 | 1B] BALL
    Ball 2. Count: 2-1.
  [4 outs | 2-1 | 1B] BALL IN PLAY
    Richard Johnson runs → double.
    Runner scores from 1B.
  --- Now batting: Jared Temple ---
  [4 outs | 0-0 | 2B] FOUL
    Foul ball. Count: 0-1.
  [4 outs | 0-1 | 2B] BALL
    Ball 1. Count: 1-1.
  [4 outs | 1-1 | 2B] BALL
    Ball 2. Count: 2-1.
  [4 outs | 2-1 | 2B] BALL
    Ball 3. Count: 3-1.
  [4 outs | 3-1 | 2B] FOUL
    Foul ball. Count: 3-2.
  [4 outs | 3-2 | 2B] FOUL OUT
    Foul ball. Count: 0-0.
  --- Now batting: Ramon Meza ---
  [5 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [5 outs | 1-0 | 2B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [5 outs | 1-1 | 2B] BALL
    Ball 2. Count: 2-1.
  [5 outs | 2-1 | 2B] FOUL
    Foul ball. Count: 2-2.
  [5 outs | 2-2 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Kaheim Moses ---
  [6 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [6 outs | 1-0 | 2B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [6 outs | 1-1 | 2B] FOUL
    Foul ball. Count: 1-2.
  [6 outs | 1-2 | 2B] FOUL
    Foul ball. Count: 1-2.
  [6 outs | 1-2 | 2B] BALL IN PLAY
    Kaheim Moses runs → ground out.
    Kaheim Moses is out.
    Runner advances from 2B to 3B.
  --- Now batting: Zion Prousis ---
  [7 outs | 0-0 | 3B] BALL IN PLAY
    Zion Prousis runs → single.
    Runner scores from 3B.
  [7 outs | 0-0 | 1B] JOKER INSERTION
    Vancouver Booksellers sends in joker Jai Heiberger for an extra plate appearance (joker #3).
  --- Now batting: Jai Heiberger ---
  [7 outs | 0-0 | 1B] SAC BUNT
  [8 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [8 outs | 1-0 | 2B] BALL
    Ball 2. Count: 2-0.
  [8 outs | 2-0 | 2B] CALLED STRIKE
    Strike (called). Count: 2-1.
  [8 outs | 2-1 | 2B] CALLED STRIKE
    Strike (called). Count: 2-2.
  [8 outs | 2-2 | 2B] BALL
    Ball 3. Count: 3-2.
  [8 outs | 3-2 | 2B] FOUL
    Foul ball. Count: 3-2.
  [8 outs | 3-2 | 2B] BALL
    WALK — Jai Heiberger awarded 1B.
  --- Now batting: Yates Brantmeier ---
  [8 outs | 0-0 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [8 outs | 0-1 | 1B, 2B] BALL
    Ball 1. Count: 1-1.
  [8 outs | 1-1 | 1B, 2B] BALL IN PLAY
    Yates Brantmeier runs → fielder's choice.
    Runner at 2B thrown out.
    Runner advances from 1B to 2B.
  [9 outs | 0-0 | 1B, 2B] JOKER INSERTION
    Vancouver Booksellers sends in joker Henrique Ruiz for an extra plate appearance (joker #4).
  --- Now batting: Henrique Ruiz ---
  [9 outs | 0-0 | 1B, 2B] BALL IN PLAY
    Henrique Ruiz runs → double play.
    Henrique Ruiz is out.
    Runner at 1B thrown out.
  --- Now batting: Lorenzo Simón ---
  [11 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [11 outs | 1-0 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 1-1.
  [11 outs | 1-1 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 1-2.
  [11 outs | 1-2 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Jaime Lemay ---
  [12 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [12 outs | 1-0 | 2B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [12 outs | 1-1 | 2B] BALL IN PLAY
    Jaime Lemay runs → ground out.
    Jaime Lemay is out.
    Runner at 2B thrown out.
  --- Now batting: Richard Johnson ---
  [14 outs | 0-0 | empty] HIT BY PITCH
    HBP — Richard Johnson awarded 1B.
  --- Now batting: Jared Temple ---
  [14 outs | 0-0 | 1B] FOUL
    Foul ball. Count: 0-1.
  [14 outs | 0-1 | 1B] FOUL
    Foul ball. Count: 0-2.
  [14 outs | 0-2 | 1B] BALL IN PLAY
    Jared Temple runs → HOME RUN.
    Runner scores.
    Batter scores (HR).
    [Walk-Back — Jared Temple retreats to 3B as the bonus runner.]
    [The Walk-Back is brought to you by RadioShack.]
  [14 outs | 0-0 | 3B] PITCHING CHANGE
    PITCHING CHANGE: Earl Harbour exits (17 BF this spell).
  --- Now batting: Ramon Meza ---
  [14 outs | 0-0 | 3B] BALL
    Ball 1. Count: 1-0.
  [14 outs | 1-0 | 3B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [14 outs | 1-1 | 3B] CALLED STRIKE
    Strike (called). Count: 1-2.
  [14 outs | 1-2 | 3B] BALL
    Ball 2. Count: 2-2.
  [14 outs | 2-2 | 3B] BALL
    Ball 3. Count: 3-2.
  [14 outs | 3-2 | 3B] BALL
    WALK — Ramon Meza awarded 1B.
  --- Now batting: Kaheim Moses ---
  [14 outs | 0-0 | 1B, 3B] FOUL
    Foul ball. Count: 0-1.
  [14 outs | 0-1 | 1B, 3B] FOUL
    Foul ball. Count: 0-2.
  [14 outs | 0-2 | 1B, 3B] STOLEN BASE ATTEMPT
    Runner caught stealing at 2B.
  [15 outs | 0-2 | 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Zion Prousis ---
  [16 outs | 0-0 | 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [16 outs | 0-1 | 3B] BALL IN PLAY
    Zion Prousis takes a SECOND CHANCE at the plate.
    Hit credited (second chance). Total this AB: 1.
    Second chance — fresh 0-0 count.
    Runner scores from 3B.
  [16 outs | 0-2 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  [17 outs | 0-0 | empty] JOKER INSERTION
    Vancouver Booksellers sends in joker Roshan Matthews for an extra plate appearance (joker #5).
  --- Now batting: Roshan Matthews ---
  [17 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [17 outs | 1-0 | empty] BALL IN PLAY
    Roshan Matthews runs → single.
  [17 outs | 0-0 | 1B] JOKER INSERTION
    Vancouver Booksellers sends in joker Jai Heiberger for an extra plate appearance (joker #6).
  --- Now batting: Jai Heiberger ---
  [17 outs | 0-0 | 1B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [17 outs | 0-1 | 1B] BALL
    Ball 1. Count: 1-1.
  [17 outs | 1-1 | 1B] BALL
    Ball 2. Count: 2-1.
  [17 outs | 2-1 | 1B] CALLED STRIKE
    Strike (called). Count: 2-2.
  [17 outs | 2-2 | 1B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  [18 outs | 0-0 | 1B] PINCH HITTER
    Rudy Hull pinch-hits for Drew Manuel.
  --- Now batting: Rudy Hull ---
  [18 outs | 0-0 | 1B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [18 outs | 0-1 | 1B] BALL
    Ball 1. Count: 1-1.
  [18 outs | 1-1 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 1-2.
  [18 outs | 1-2 | 1B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  [19 outs | 0-0 | 1B] DEFENSIVE SUB
    Jay Strimple replaces Jourdan Poret at C.
  --- Now batting: Yates Brantmeier ---
  [19 outs | 0-0 | 1B] FOUL
    Foul ball. Count: 0-1.
  [19 outs | 0-1 | 1B] FOUL
    Foul ball. Count: 0-2.
  [19 outs | 0-2 | 1B] BALL
    Ball 1. Count: 1-2.
  [19 outs | 1-2 | 1B] FOUL OUT
    Foul ball. Count: 0-0.
  [20 outs | 0-0 | 1B] JOKER INSERTION
    Vancouver Booksellers sends in joker Henrique Ruiz for an extra plate appearance (joker #7).
  --- Now batting: Henrique Ruiz ---
  [20 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [20 outs | 1-0 | 1B] BALL
    Ball 2. Count: 2-0.
  [20 outs | 2-0 | 1B] FOUL
    Foul ball. Count: 2-1.
  [20 outs | 2-1 | 1B] STOLEN BASE ATTEMPT
    Runner caught stealing at 2B.
  [21 outs | 2-1 | empty] BALL
    Ball 3. Count: 3-1.
  [21 outs | 3-1 | empty] BALL
    WALK — Henrique Ruiz awarded 1B.
  [21 outs | 0-0 | 1B] JOKER INSERTION
    Vancouver Booksellers sends in joker Roshan Matthews for an extra plate appearance (joker #8).
  --- Now batting: Roshan Matthews ---
  [21 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [21 outs | 1-0 | 1B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [21 outs | 1-1 | 1B] FOUL
    Foul ball. Count: 1-2.
  [21 outs | 1-2 | 1B] BALL IN PLAY
    Roshan Matthews runs → double.
    Runner advances from 1B to 3B.
  [21 outs | 0-0 | 2B, 3B] JOKER INSERTION
    Vancouver Booksellers sends in joker Jai Heiberger for an extra plate appearance (joker #9).
  --- Now batting: Jai Heiberger ---
  [21 outs | 0-0 | 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [21 outs | 1-0 | 2B, 3B] FOUL
    Foul ball. Count: 1-1.
  [21 outs | 1-1 | 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 1-2.
  [21 outs | 1-2 | 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  [22 outs | 0-0 | 2B, 3B] PINCH HITTER
    Lesley Raschiatore pinch-hits for Lorenzo Simón.
  --- Now batting: Lesley Raschiatore ---
  [22 outs | 0-0 | 2B, 3B] BALL IN PLAY
    Lesley Raschiatore runs → line out.
    Lesley Raschiatore is out.
  --- Now batting: Jaime Lemay ---
  [23 outs | 0-0 | 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [23 outs | 1-0 | 2B, 3B] BALL IN PLAY
    Jaime Lemay takes a SECOND CHANCE at the plate.
    Hit credited (second chance). Total this AB: 1.
    Second chance — fresh 0-0 count.
    Runner scores from 3B.
    Runner scores from 2B.
  [23 outs | 1-1 | empty] FOUL
    Foul ball. Count: 1-2.
  [23 outs | 1-2 | empty] FOUL
    Foul ball. Count: 1-2.
  [23 outs | 1-2 | empty] FOUL OUT
    Foul ball. Count: 0-0.
  --- Now batting: Richard Johnson ---
  [24 outs | 0-0 | empty] BALL IN PLAY
    Richard Johnson runs → fly out.
    Richard Johnson is out.
  --- Now batting: Jared Temple ---
  [25 outs | 0-0 | empty] BALL IN PLAY
    Jared Temple runs → fielder's choice.
  [25 outs | 0-0 | 1B] PINCH RUNNER
    Ronald Núñez pinch-runs for Jared Temple at 1B.
  --- Now batting: Ramon Meza ---
  [25 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [25 outs | 1-0 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 1-1.
  [25 outs | 1-1 | 1B] BALL
    Ball 2. Count: 2-1.
  [25 outs | 2-1 | 1B] BALL IN PLAY
    Ramon Meza runs → infield single.
    Runner advances from 1B to 2B.
  [25 outs | 0-0 | 2B] PITCHING CHANGE
    PITCHING CHANGE: Kevin Uberoi exits (15 BF this spell).
  --- Now batting: Kaheim Moses ---
  [25 outs | 0-0 | 2B] BALL IN PLAY
    Kaheim Moses runs → line out.
    Kaheim Moses is out.
  --- Now batting: Zion Prousis ---
  [26 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [26 outs | 1-0 | 2B] BALL
    Ball 2. Count: 2-0.
  [26 outs | 2-0 | 2B] BALL IN PLAY
    Zion Prousis runs → ground out.
    Zion Prousis is out.

  End of top half — Vancouver Booksellers: 7 run(s), 9 hit(s), 27 out(s) | Run rate: 0.259

  ============================================================
  GAME OVER: TORONTO BASEBALL CLUB WIN 34–7
  ============================================================
  Final score: Toronto Baseball Club 34, Vancouver Booksellers 7
  ============================================================
  LINE SCORE
                          1      R
  Vancouver Booksellers      7      7
  Toronto Baseball Club     34     34

  ============================================================
  VANCOUVER BOOKSELLERS BATTING
  Player                PA   AB    R    H   2B   3B   HR    RBI   BB    K  HBP   2C  2C-R   MH
  ────────────────────────────────────────────────────────────────────────────────────────────────
  Drew Manuel             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Marc Muskrat            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Jaime Lemay             3    3    0    1    0    0    0     2    0    0    0    1     2    0
  Deiton Cuevas           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Rudy Hull               1    1    0    0    0    0    0     0    0    1    0    0     0    0
  Keylan Leoni            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Gregory Encarnación     0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Earl Johnson            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Thomas Notaro           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Henrique Ruiz           3    2    2    1    0    0    0     0    1    0    0    0     0    0
  Jai Heiberger           4    2    0    0    0    0    0     0    1    2    0    0     0    0
  Roshan Matthews         3    3    1    2    1    0    0     0    0    0    0    0     0    0
  Lesley Raschiatore      1    1    0    0    0    0    0     0    0    0    0    0     0    0
  Jared Temple            3    3    2    1    0    0    1     2    0    0    0    0     0    0
  Kaheim Moses            3    3    0    0    0    0    0     0    0    1    0    0     0    0
  Cormac Scandalis        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ronald Núñez            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Jorge Cepeda            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Hady Shane              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Eloy Advíncula          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Lesley Canty            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ham Mehmedbasich        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Zion Prousis            3    3    0    2    1    0    0     2    0    1    0    1     1    0
  Osvaldo Quintana        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Yates Brantmeier        3    3    0    0    0    0    0     0    0    0    0    0     0    0
  Richard Johnson         3    2    2    1    1    0    0     1    0    0    1    0     0    0
  Ramon Meza              3    2    0    1    0    0    0     0    1    1    0    0     0    0
  Lorenzo Simón           2    2    0    0    0    0    0     0    0    1    0    0     0    0
  Melville Connolly       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Amir Chamberlain        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Alzarri Waite           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Zira Menzies            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Diego Seidl             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Hady Markovic           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Brian Konrardy          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Joel Smalls             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  DeShawn Kimbrell        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Gareth Wiltshire        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kenny Campbell          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Vitas Karzen            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Glenn Bisgrove          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Felix Malen             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Welby Petitbon          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Oliver Eakin            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Pascal Kibble           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  ────────────────────────────────────────────────────────────────────────────────────────────────
  TOTALS                 35   30    7    9    3    0    1     7    3    7    1    2     3    0

  Pitcher                BF  OUT    H    R   BB    K  HBP
  ──────────────────────────────────────────────────────
  Drew Manuel             7    5    2    2    1    0    0
  Joel Smalls             5    1    3    4    1    0    0
  DeShawn Kimbrell        5    1    4    5    0    0    0
  Vitas Karzen            7    3    4    5    0    0    1
  Glenn Bisgrove          4    0    4    6    0    0    0
  Oliver Eakin           10    6    5    5    0    1    0
  Alzarri Waite          12    8    4    5    3    2    0
  Jaime Lemay             5    3    1    2    0    2    1

  ============================================================
  TORONTO BASEBALL CLUB BATTING
  Player                PA   AB    R    H   2B   3B   HR    RBI   BB    K  HBP   2C  2C-R   MH
  ────────────────────────────────────────────────────────────────────────────────────────────────
  Earl Harbour            5    5    1    3    1    0    0     2    0    0    0    0     0    0
  AnQuon Ornstein         6    3    4    2    1    0    1     3    2    0    1    0     0    0
  Oliver Krulevitz        1    1    0    1    0    0    0     0    0    0    0    0     0    0
  Kevin Baugh             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Reilly Reliford         0    0    1    0    0    0    0     0    0    0    0    0     0    0
  Zane Fouts              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Cole Siska              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Luke Dunham             6    6    3    3    2    0    0     4    0    1    0    0     0    0
  Theodore Mascarin       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Spencer Mallory         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Steve Baron             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Jack Fitzgerald         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Denis Novikov           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Cole Welch              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kenny Loturi            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Cahron DeLoatch         6    5    3    2    1    0    1     2    0    1    1    0     0    0
  Israel Ouahabi          1    0    0    0    0    0    0     0    1    0    0    0     0    0
  Jay Strimple            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Jojo Boynton            4    4    2    2    2    0    0     2    0    0    0    0     0    0
  Jaydon Johnson-Rubell    1    1    1    0    0    0    0     0    0    0    0    0     0    0
  Nick Edris              1    1    2    1    0    0    1     4    0    0    0    0     0    0
  Jourdan Poret           6    6    5    4    0    0    1     4    0    1    0    0     0    0
  Alisson Pires           6    5    7    4    0    0    3     6    1    1    0    0     0    0
  Ryler Noonkester        6    5    2    1    1    0    0     2    1    1    0    0     0    0
  Maciek Sabin            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Wayne Alves             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Tennys Gradney          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Elwood Folliard         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Pramod Coates           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Robby Millar            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Rajeev Gibbs            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Jimmie Shipman          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Reese Barrera           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Andrea Rohan            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Dave Emilien            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kevin Uberoi            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Vahid Knott             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Vikram Ramsaran         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kaytron Cleverley       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Isaac Milito            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Reuben Deal             6    6    3    4    2    1    0     5    0    0    0    0     0    0
  Brock Risdon            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  ────────────────────────────────────────────────────────────────────────────────────────────────
  TOTALS                 55   48   34   27   10    1    7    34    5    5    2    0     0    0

  Pitcher                BF  OUT    H    R   BB    K  HBP
  ──────────────────────────────────────────────────────
  Earl Harbour           17   14    4    4    1    2    1
  Kevin Uberoi           15   11    5    3    2    5    0
  Robby Millar            2    2    0    0    0    0    0

  ============================================================
  Run rate:  Vancouver Booksellers  0.259    Toronto Baseball Club  1.259
  Second-Chance ABs:  Vancouver Booksellers  2    Toronto Baseball Club  0
  Required run rate (Toronto Baseball Club): 0.037 R/out (needed 1 runs in 27 outs)
  ============================================================
  ============================================================
  PARTNERSHIP LOG
  Batter 1              Batter 2                Runs  Half
  ──────────────────────────────────────────────────────────────────
  AnQuon Ornstein       Ryler Noonkester           0  bottom
  Ryler Noonkester      Jourdan Poret              0  bottom
  Jourdan Poret         Luke Dunham                0  bottom
  Luke Dunham           Cahron DeLoatch            0  bottom
  Cahron DeLoatch       Earl Harbour               3  bottom
  Earl Harbour          Cahron DeLoatch            5  bottom
  Cahron DeLoatch       Earl Harbour               4  bottom
  Earl Harbour          Ryler Noonkester           0  bottom
  Ryler Noonkester      Jojo Boynton               0  bottom
  Jojo Boynton          Ryler Noonkester          12  bottom
  Ryler Noonkester      Luke Dunham                1  bottom
  Luke Dunham           Cahron DeLoatch            0  bottom
  Cahron DeLoatch       Jojo Boynton               0  bottom
  Jojo Boynton          Reuben Deal                0  bottom
  Reuben Deal           Earl Harbour               0  bottom
  Earl Harbour          Ryler Noonkester           2  bottom
  Ryler Noonkester      AnQuon Ornstein            0  bottom
  AnQuon Ornstein       Jojo Boynton               0  bottom
  Jojo Boynton          Luke Dunham                0  bottom
  Luke Dunham           Alisson Pires              0  bottom
  Alisson Pires         Cahron DeLoatch            0  bottom
  Cahron DeLoatch       Reuben Deal                0  bottom
  Reuben Deal           Jourdan Poret              0  bottom
  Jourdan Poret         Alisson Pires              5  bottom
  Alisson Pires         Jaydon Johnson-Rubell      2  bottom
  Jaydon Johnson-Rubell Jourdan Poret              0  bottom
  Yates Brantmeier      Roshan Matthews            0  top
  Roshan Matthews       Lorenzo Simón              0  top
  Lorenzo Simón         Jaime Lemay                0  top
  Jaime Lemay           Jared Temple               1  top
  Jared Temple          Ramon Meza                 0  top
  Ramon Meza            Kaheim Moses               0  top
  Kaheim Moses          Jai Heiberger              1  top
  Jai Heiberger         Zion Prousis               0  top
  Zion Prousis          Yates Brantmeier           0  top
  Yates Brantmeier      Henrique Ruiz              0  top
  Henrique Ruiz         Lorenzo Simón              0  top
  Lorenzo Simón         Jai Heiberger              0  top
  Jai Heiberger         Jaime Lemay                0  top
  Jaime Lemay           Ramon Meza                 2  top
  Ramon Meza            Kaheim Moses               0  top
  Kaheim Moses          Zion Prousis               1  top
  Zion Prousis          Jai Heiberger              0  top
  Jai Heiberger         Rudy Hull                  0  top
  Rudy Hull             Yates Brantmeier           0  top
  Yates Brantmeier      Roshan Matthews            0  top
  Roshan Matthews       Jai Heiberger              0  top
  Jai Heiberger         Lesley Raschiatore         0  top
  Lesley Raschiatore    Jaime Lemay                2  top
  Jaime Lemay           Richard Johnson            0  top
  Richard Johnson       Kaheim Moses               0  top
  Kaheim Moses          Zion Prousis               0  top
  ──────────────────────────────────────────────────────────────────
  Total partnerships: 52  |  Avg runs/partnership: 0.79
  ============================================================
  PITCHER SPELL LOG
  Pitcher               Half         PA#   BF  OUT    R    H   BB    K  HBP
  ──────────────────────────────────────────────────────────────────────────
  Drew Manuel           bottom         1    7    5     2     2     1     0     0
  Joel Smalls           bottom         8    5    1     4     3     1     0     0
  DeShawn Kimbrell      bottom        13    5    1     5     4     0     0     0
  Vitas Karzen          bottom        18    7    3     5     4     0     0     1
  Glenn Bisgrove        bottom        25    4    0     6     4     0     0     0
  Oliver Eakin          bottom        29   10    6     5     5     0     1     0
  Alzarri Waite         bottom        39   12    8     5     4     3     2     0
  Jaime Lemay           bottom        51    5    3     2     1     0     2     1
  Earl Harbour          top            1   17   14     4     4     1     2     1
  Kevin Uberoi          top           19   15   11     3     5     2     5     0
  Robby Millar          top           34    2    2     0     0     0     0     0
  ──────────────────────────────────────────────────────────────────────────
  Total spells: 11


pbp_text:
  ────────────────────────────────────────────────────────────
  TOP HALF | Tubmangrad Foundry batting
  ────────────────────────────────────────────────────────────
  --- Now batting: Jon Scroggins ---
  [0 outs | 0-0 | empty] FOUL
    Foul ball. Count: 0-1.
  [0 outs | 0-1 | empty] BALL IN PLAY
    Jon Scroggins runs → double.
  --- Now batting: Alex Betova ---
  [0 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [0 outs | 1-0 | 2B] BALL IN PLAY
    Alex Betova runs → fly out.
    Alex Betova is out.
  --- Now batting: Hemant Banerjee ---
  [1 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [1 outs | 0-1 | 2B] BALL
    Ball 1. Count: 1-1.
  [1 outs | 1-1 | 2B] BALL
    Ball 2. Count: 2-1.
  [1 outs | 2-1 | 2B] CALLED STRIKE
    Strike (called). Count: 2-2.
  [1 outs | 2-2 | 2B] FOUL
    Foul ball. Count: 2-2.
  [1 outs | 2-2 | 2B] BALL
    Ball 3. Count: 3-2.
  [1 outs | 3-2 | 2B] FOUL
    Foul ball. Count: 3-2.
  [1 outs | 3-2 | 2B] BALL
    WALK — Hemant Banerjee awarded 1B.
  --- Now batting: Joel Dawin ---
  [1 outs | 0-0 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [1 outs | 0-1 | 1B, 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [1 outs | 0-2 | 1B, 2B] BALL
    Ball 1. Count: 1-2.
  [1 outs | 1-2 | 1B, 2B] BALL
    Ball 2. Count: 2-2.
  [1 outs | 2-2 | 1B, 2B] BALL IN PLAY
    Joel Dawin runs → double.
    Runner advances from 2B to 3B.
    Runner scores from 1B.
  --- Now batting: Cliff Goosbin ---
  [1 outs | 0-0 | 2B, 3B] INTENTIONAL WALK
    INTENTIONAL WALK — Cliff Goosbin given a free pass.
  --- Now batting: Maksim Kovaleva ---
  [1 outs | 0-0 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [1 outs | 0-1 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-1.
  [1 outs | 1-1 | 1B, 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 1-2.
  [1 outs | 1-2 | 1B, 2B, 3B] BALL
    Ball 2. Count: 2-2.
  [1 outs | 2-2 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Pranav Chatterjee ---
  [2 outs | 0-0 | 1B, 2B, 3B] BALL IN PLAY
    Pranav Chatterjee runs → triple play.
    Pranav Chatterjee is out.
    Runner scores from 2B.
    Runner at 1B thrown out.
  --- Now batting: Sandy Jones ---
  [5 outs | 0-0 | 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [5 outs | 0-1 | 3B] BALL IN PLAY
    Sandy Jones runs → fielder's choice.
    Runner at 3B thrown out.
  [6 outs | 0-0 | 1B] JOKER INSERTION
    Tubmangrad Foundry sends in joker Jabari Blocher for an extra plate appearance (joker #1).
  [6 outs | 0-0 | 1B] STOLEN BASE ATTEMPT
    Stolen base — runner advances to 2B.
  --- Now batting: Jabari Blocher ---
  [6 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [6 outs | 1-0 | 2B] BALL
    Ball 2. Count: 2-0.
  [6 outs | 2-0 | 2B] BALL IN PLAY
    Jabari Blocher runs → ground out.
    Jabari Blocher is out.
  [7 outs | 0-0 | 2B] JOKER INSERTION
    Tubmangrad Foundry sends in joker Samson Kunkelov for an extra plate appearance (joker #2).
  --- Now batting: Samson Kunkelov ---
  [7 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [7 outs | 1-0 | 2B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [7 outs | 1-1 | 2B] CALLED STRIKE
    Strike (called). Count: 1-2.
  [7 outs | 1-2 | 2B] BALL IN PLAY
    Samson Kunkelov runs → double.
    Runner advances from 2B to 3B.
  [7 outs | 0-0 | 2B, 3B] JOKER INSERTION
    Tubmangrad Foundry sends in joker Wes Ngo for an extra plate appearance (joker #3).
  --- Now batting: Wes Ngo ---
  [7 outs | 0-0 | 2B, 3B] BALL IN PLAY
    Wes Ngo runs → fly out.
    Wes Ngo is out.
  --- Now batting: Won-jun Chu [P] ---
  [8 outs | 0-0 | 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [8 outs | 1-0 | 2B, 3B] BALL
    Ball 2. Count: 2-0.
  [8 outs | 2-0 | 2B, 3B] BALL IN PLAY
    Won-jun Chu runs → HOME RUN.
    Runner scores.
    Runner scores.
    Batter scores (HR).
    [Walk-Back — Won-jun Chu retreats to 3B as the bonus runner.]
    [The Walk-Back is brought to you by Commodore.]
  [8 outs | 0-0 | 3B] PITCHING CHANGE
    PITCHING CHANGE: Thabani Mokoena exits (12 BF this spell).
  --- Now batting: Jon Scroggins ---
  [8 outs | 0-0 | 3B] FOUL
    Foul ball. Count: 0-1.
  [8 outs | 0-1 | 3B] BALL
    Ball 1. Count: 1-1.
  [8 outs | 1-1 | 3B] BALL IN PLAY
    Jon Scroggins runs → single.
  --- Now batting: Alex Betova ---
  [8 outs | 0-0 | 1B, 3B] BALL
    Ball 1. Count: 1-0.
  [8 outs | 1-0 | 1B, 3B] FOUL
    Foul ball. Count: 1-1.
  [8 outs | 1-1 | 1B, 3B] BALL
    Ball 2. Count: 2-1.
  [8 outs | 2-1 | 1B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 2-2.
  [8 outs | 2-2 | 1B, 3B] BALL
    Ball 3. Count: 3-2.
  [8 outs | 3-2 | 1B, 3B] BALL
    WALK — Alex Betova awarded 1B.
    Runner advances from 1B to 2B.
  [8 outs | 0-0 | 1B, 2B, 3B] JOKER INSERTION
    Tubmangrad Foundry sends in joker Jabari Blocher for an extra plate appearance (joker #4).
  --- Now batting: Jabari Blocher ---
  [8 outs | 0-0 | 1B, 2B, 3B] BALL IN PLAY
    Jabari Blocher runs → single.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
    Runner at 1B thrown out.
  --- Now batting: Hemant Banerjee ---
  [9 outs | 0-0 | 1B, 3B] BALL
    Ball 1. Count: 1-0.
  [9 outs | 1-0 | 1B, 3B] FOUL
    Foul ball. Count: 1-1.
  [9 outs | 1-1 | 1B, 3B] BALL
    Ball 2. Count: 2-1.
  [9 outs | 2-1 | 1B, 3B] BALL
    Ball 3. Count: 3-1.
  [9 outs | 3-1 | 1B, 3B] BALL IN PLAY
    Hemant Banerjee runs → double.
    Runner scores from 3B.
    Runner advances from 1B to 3B.
  [9 outs | 0-0 | 2B, 3B] JOKER INSERTION
    Tubmangrad Foundry sends in joker Samson Kunkelov for an extra plate appearance (joker #5).
  --- Now batting: Samson Kunkelov ---
  [9 outs | 0-0 | 2B, 3B] BALL IN PLAY
    Samson Kunkelov runs → fly out.
    ROBBED! Pa Camara runs it down — a sure extra-base hit erased!
    Samson Kunkelov is out.
  --- Now batting: Joel Dawin ---
  [10 outs | 0-0 | 2B, 3B] INTENTIONAL WALK
    INTENTIONAL WALK — Joel Dawin given a free pass.
  --- Now batting: Cliff Goosbin ---
  [10 outs | 0-0 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [10 outs | 1-0 | 1B, 2B, 3B] BALL
    Ball 2. Count: 2-0.
  [10 outs | 2-0 | 1B, 2B, 3B] BALL IN PLAY
    Cliff Goosbin runs → error.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  --- Now batting: Maksim Kovaleva ---
  [10 outs | 0-0 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 0-1.
  [10 outs | 0-1 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 0-2.
  [10 outs | 0-2 | 1B, 2B, 3B] BALL IN PLAY
    Maksim Kovaleva runs → single.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  [10 outs | 0-0 | 1B, 2B, 3B] PITCHING CHANGE
    PITCHING CHANGE: Stefan Linde exits (8 BF this spell).
  --- Now batting: Pranav Chatterjee ---
  [10 outs | 0-0 | 1B, 2B, 3B] BALL IN PLAY
    Pranav Chatterjee takes a SECOND CHANCE — but is OUT (2-strike contact or caught fly).
    Runner at 3B thrown out.
    Runner scores from 2B.
    Runner advances from 1B to 2B.
  --- Now batting: Sandy Jones ---
  [12 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [12 outs | 0-1 | 2B] WILD PITCH
    Wild pitch — runners advance.
    Runner advances from 2B to 3B.
  [12 outs | 0-1 | 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [12 outs | 0-2 | 3B] BALL
    Ball 1. Count: 1-2.
  [12 outs | 1-2 | 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  [13 outs | 0-0 | 3B] JOKER INSERTION
    Tubmangrad Foundry sends in joker Wes Ngo for an extra plate appearance (joker #6).
  --- Now batting: Wes Ngo ---
  [13 outs | 0-0 | 3B] BALL IN PLAY
    Wes Ngo runs → HOME RUN.
    Runner scores.
    Batter scores (HR).
    [Walk-Back — Wes Ngo retreats to 3B as the bonus runner.]
    [The Walk-Back is brought to you by Surge.]
  --- Now batting: Won-jun Chu [P] ---
  [13 outs | 0-0 | 3B] BALL
    Ball 1. Count: 1-0.
  [13 outs | 1-0 | 3B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [13 outs | 1-1 | 3B] BALL
    Ball 2. Count: 2-1.
  [13 outs | 2-1 | 3B] BALL
    Ball 3. Count: 3-1.
  [13 outs | 3-1 | 3B] BALL
    WALK — Won-jun Chu awarded 1B.
  [13 outs | 0-0 | 1B, 3B] WILD PITCH
    Wild pitch — runners advance.
    Runner scores from 3B.
    Runner advances from 1B to 2B.
    1 run(s) score.
  --- Now batting: Jon Scroggins ---
  [13 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [13 outs | 1-0 | 2B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [13 outs | 1-1 | 2B] BALL
    Ball 2. Count: 2-1.
  [13 outs | 2-1 | 2B] BALL
    Ball 3. Count: 3-1.
  [13 outs | 3-1 | 2B] CALLED STRIKE
    Strike (called). Count: 3-2.
  [13 outs | 3-2 | 2B] BALL
    WALK — Jon Scroggins awarded 1B.
  --- Now batting: Alex Betova ---
  [13 outs | 0-0 | 1B, 2B] BALL
    Ball 1. Count: 1-0.
  [13 outs | 1-0 | 1B, 2B] FOUL
    Foul ball. Count: 1-1.
  [13 outs | 1-1 | 1B, 2B] BALL IN PLAY
    Alex Betova runs → single.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  --- Now batting: Hemant Banerjee ---
  [13 outs | 0-0 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [13 outs | 0-1 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 0-2.
  [13 outs | 0-2 | 1B, 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Joel Dawin ---
  [14 outs | 0-0 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [14 outs | 0-1 | 1B, 2B, 3B] BALL IN PLAY
    Joel Dawin runs → single.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  --- Now batting: Cliff Goosbin ---
  [14 outs | 0-0 | 1B, 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [14 outs | 0-1 | 1B, 2B, 3B] BALL IN PLAY
    Cliff Goosbin runs → fly out.
    Cliff Goosbin is out.
  --- Now batting: Maksim Kovaleva ---
  [15 outs | 0-0 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [15 outs | 0-1 | 1B, 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [15 outs | 0-2 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Pranav Chatterjee ---
  [16 outs | 0-0 | 1B, 2B, 3B] BALL IN PLAY
    Pranav Chatterjee runs → double.
    Runner scores from 3B.
    Runner scores from 2B.
    Runner advances from 1B to 3B.
  [16 outs | 0-0 | 2B, 3B] PITCHING CHANGE
    PITCHING CHANGE: Sayed Salah exits (11 BF this spell).
  [16 outs | 0-0 | 2B, 3B] WILD PITCH
    Wild pitch — runners advance.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
    1 run(s) score.
  --- Now batting: Sandy Jones ---
  [16 outs | 0-0 | 3B] BALL
    Ball 1. Count: 1-0.
  [16 outs | 1-0 | 3B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [16 outs | 1-1 | 3B] WILD PITCH
    Wild pitch — runners advance.
    Runner scores from 3B.
    1 run(s) score.
  [16 outs | 1-1 | empty] BALL
    Ball 2. Count: 2-1.
  [16 outs | 2-1 | empty] BALL
    Ball 3. Count: 3-1.
  [16 outs | 3-1 | empty] BALL IN PLAY
    Sandy Jones runs → single.
  [16 outs | 0-0 | 1B] JOKER INSERTION
    Tubmangrad Foundry sends in joker Jabari Blocher for an extra plate appearance (joker #7).
  --- Now batting: Jabari Blocher ---
  [16 outs | 0-0 | 1B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [16 outs | 0-1 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [16 outs | 0-2 | 1B] BALL IN PLAY
    Jabari Blocher runs → fly out.
    Jabari Blocher is out.
  --- Now batting: Won-jun Chu [P] ---
  [17 outs | 0-0 | 1B] SAC BUNT
  --- Now batting: Jon Scroggins ---
  [18 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [18 outs | 1-0 | 1B] BALL IN PLAY
    Jon Scroggins runs → double.
    Runner at 1B thrown out.
  [19 outs | 0-0 | 2B] DEFENSIVE SUB
    Pa Camara replaces Ashwin Golui at C.
  --- Now batting: Alex Betova ---
  [19 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [19 outs | 1-0 | 2B] BALL
    Ball 2. Count: 2-0.
  [19 outs | 2-0 | 2B] BALL
    Ball 3. Count: 3-0.
  [19 outs | 3-0 | 2B] BALL
    WALK — Alex Betova awarded 1B.
  [19 outs | 0-0 | 1B, 2B] WILD PITCH
    Wild pitch — runners advance.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  --- Now batting: Hemant Banerjee ---
  [19 outs | 0-0 | 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [19 outs | 1-0 | 2B, 3B] BALL
    Ball 2. Count: 2-0.
  [19 outs | 2-0 | 2B, 3B] BALL
    Ball 3. Count: 3-0.
  [19 outs | 3-0 | 2B, 3B] FOUL
    Foul ball. Count: 3-1.
  [19 outs | 3-1 | 2B, 3B] BALL
    WALK — Hemant Banerjee awarded 1B.
  --- Now batting: Joel Dawin ---
  [19 outs | 0-0 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [19 outs | 0-1 | 1B, 2B, 3B] BALL IN PLAY
    Joel Dawin runs → line out.
    ROBBED! Beni Bango lays out for the diving grab — a hit turned into an out!
    Joel Dawin is out.
  --- Now batting: Cliff Goosbin ---
  [20 outs | 0-0 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [20 outs | 1-0 | 1B, 2B, 3B] BALL IN PLAY
    Cliff Goosbin runs → double play.
    Cliff Goosbin is out.
    Runner at 1B thrown out.
  --- Now batting: Maksim Kovaleva ---
  [22 outs | 0-0 | 2B, 3B] BALL IN PLAY
    Maksim Kovaleva runs → single.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
  --- Now batting: Pranav Chatterjee ---
  [22 outs | 0-0 | 1B, 3B] BALL
    Ball 1. Count: 1-0.
  [22 outs | 1-0 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [22 outs | 1-1 | 1B, 3B] BALL
    Ball 2. Count: 2-1.
  [22 outs | 2-1 | 1B, 3B] FOUL
    Foul ball. Count: 2-2.
  [22 outs | 2-2 | 1B, 3B] BALL
    Ball 3. Count: 3-2.
  [22 outs | 3-2 | 1B, 3B] BALL
    WALK — Pranav Chatterjee awarded 1B.
    Runner advances from 1B to 2B.
  --- Now batting: Sandy Jones ---
  [22 outs | 0-0 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 0-1.
  [22 outs | 0-1 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [22 outs | 0-2 | 1B, 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  [23 outs | 0-0 | 1B, 2B, 3B] JOKER INSERTION
    Tubmangrad Foundry sends in joker Samson Kunkelov for an extra plate appearance (joker #8).
  --- Now batting: Samson Kunkelov ---
  [23 outs | 0-0 | 1B, 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [23 outs | 0-1 | 1B, 2B, 3B] BALL IN PLAY
    Samson Kunkelov takes a SECOND CHANCE at the plate.
    Hit credited (second chance). Total this AB: 1.
    Second chance — fresh 0-0 count.
    Runner at 3B thrown out.
    Runner scores from 2B.
    Runner advances from 1B to 2B.
  [24 outs | 0-2 | 2B] BALL
    Ball 1. Count: 1-2.
  [24 outs | 1-2 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  [25 outs | 0-0 | 2B] PITCHING CHANGE
    PITCHING CHANGE: Thabang Ngculu exits (11 BF this spell).
  [25 outs | 0-0 | 2B] JOKER INSERTION
    Tubmangrad Foundry sends in joker Wes Ngo for an extra plate appearance (joker #9).
  --- Now batting: Wes Ngo ---
  [25 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [25 outs | 0-1 | 2B] BALL IN PLAY
    Wes Ngo runs → double.
    Runner advances from 2B to 3B.
  [25 outs | 0-0 | 2B, 3B] JOKER INSERTION
    Tubmangrad Foundry sends in joker Jabari Blocher for an extra plate appearance (joker #10).
  --- Now batting: Jabari Blocher ---
  [25 outs | 0-0 | 2B, 3B] BALL IN PLAY
    Jabari Blocher takes a SECOND CHANCE — but is OUT (2-strike contact or caught fly).
  --- Now batting: Won-jun Chu [P] ---
  [26 outs | 0-0 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [26 outs | 0-1 | 2B, 3B] BALL
    Ball 1. Count: 1-1.
  [26 outs | 1-1 | 2B, 3B] FOUL
    Foul ball. Count: 1-2.
  [26 outs | 1-2 | 2B, 3B] HIT BY PITCH
    HBP — Won-jun Chu awarded 1B.
  --- Now batting: Jon Scroggins ---
  [26 outs | 0-0 | 1B, 2B, 3B] BALL IN PLAY
    Jon Scroggins runs → fly out.
    Jon Scroggins is out.

  End of top half — Tubmangrad Foundry: 18 run(s), 17 hit(s), 27 out(s) | Run rate: 0.667
  ============================================================
  HALFTIME
    Tubmangrad Foundry: 18 run(s)
    Oslo Hawks need 19 run(s) to win
    Required run rate: 0.704 R/out
  ============================================================

  ────────────────────────────────────────────────────────────
  BOTTOM HALF | Oslo Hawks batting
  ────────────────────────────────────────────────────────────
  --- Now batting: Amir Modiba ---
  [0 outs | 0-0 | empty] BALL IN PLAY
    Amir Modiba runs → ground out.
    Amir Modiba is out.
  --- Now batting: Feno Ranivoson ---
  [1 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [1 outs | 1-0 | empty] BALL IN PLAY
    Feno Ranivoson runs → single.
  --- Now batting: Arnold Furshman ---
  [1 outs | 0-0 | 1B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [1 outs | 0-1 | 1B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [1 outs | 0-2 | 1B] PICKOFF ATTEMPT
    Pickoff — runner out at 1B!
  [2 outs | 0-2 | empty] FOUL
    Foul ball. Count: 0-2.
  [2 outs | 0-2 | empty] FOUL
    Foul ball. Count: 0-2.
  [2 outs | 0-2 | empty] BALL
    Ball 1. Count: 1-2.
  [2 outs | 1-2 | empty] FOUL OUT
    Foul ball. Count: 0-0.
  --- Now batting: Njoroge Mwaniki ---
  [3 outs | 0-0 | empty] FOUL
    Foul ball. Count: 0-1.
  [3 outs | 0-1 | empty] FOUL
    Foul ball. Count: 0-2.
  [3 outs | 0-2 | empty] BALL
    Ball 1. Count: 1-2.
  [3 outs | 1-2 | empty] FOUL OUT
    Foul ball. Count: 0-0.
  [4 outs | 0-0 | empty] JOKER INSERTION
    Oslo Hawks sends in joker Glofate Okolie for an extra plate appearance (joker #1).
  --- Now batting: Glofate Okolie ---
  [4 outs | 0-0 | empty] CALLED STRIKE
    Strike (called). Count: 0-1.
  [4 outs | 0-1 | empty] FOUL
    Foul ball. Count: 0-2.
  [4 outs | 0-2 | empty] BALL
    Ball 1. Count: 1-2.
  [4 outs | 1-2 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  [5 outs | 0-0 | empty] JOKER INSERTION
    Oslo Hawks sends in joker Ricardo Mahlangu for an extra plate appearance (joker #2).
  --- Now batting: Ricardo Mahlangu ---
  [5 outs | 0-0 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [5 outs | 0-1 | empty] FOUL
    Foul ball. Count: 0-2.
  [5 outs | 0-2 | empty] BALL
    Ball 1. Count: 1-2.
  [5 outs | 1-2 | empty] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  [6 outs | 0-0 | empty] JOKER INSERTION
    Oslo Hawks sends in joker Nakibou Mugisha for an extra plate appearance (joker #3).
  --- Now batting: Nakibou Mugisha ---
  [6 outs | 0-0 | empty] FOUL
    Foul ball. Count: 0-1.
  [6 outs | 0-1 | empty] FOUL
    Foul ball. Count: 0-2.
  [6 outs | 0-2 | empty] BALL
    Ball 1. Count: 1-2.
  [6 outs | 1-2 | empty] BALL IN PLAY
    Nakibou Mugisha runs → fly out.
    Nakibou Mugisha is out.
  --- Now batting: Thabani Mokoena [P] ---
  [7 outs | 0-0 | empty] CALLED STRIKE
    Strike (called). Count: 0-1.
  [7 outs | 0-1 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [7 outs | 0-2 | empty] FOUL
    Foul ball. Count: 0-2.
  [7 outs | 0-2 | empty] FOUL
    Foul ball. Count: 0-2.
  [7 outs | 0-2 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Sean Klusener ---
  [8 outs | 0-0 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [8 outs | 0-1 | empty] BALL IN PLAY
    Sean Klusener runs → HOME RUN.
    Batter scores (HR).
    [Walk-Back — Sean Klusener retreats to 3B as the bonus runner.]
    [The Walk-Back is brought to you by Jolt Cola.]
  --- Now batting: Pa Camara ---
  [8 outs | 0-0 | 3B] BALL
    Ball 1. Count: 1-0.
  [8 outs | 1-0 | 3B] SWINGING STRIKE
    Strike (swinging). Count: 1-1.
  [8 outs | 1-1 | 3B] SWINGING STRIKE
    Strike (swinging). Count: 1-2.
  [8 outs | 1-2 | 3B] BALL IN PLAY
    Pa Camara runs → double.
    Runner scores from 3B.
  --- Now batting: Noé Dieng ---
  [8 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [8 outs | 0-1 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [8 outs | 0-2 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Bayo Ceesay ---
  [9 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [9 outs | 0-1 | 2B] BALL
    Ball 1. Count: 1-1.
  [9 outs | 1-1 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 1-2.
  [9 outs | 1-2 | 2B] BALL
    Ball 2. Count: 2-2.
  [9 outs | 2-2 | 2B] BALL IN PLAY
    Bayo Ceesay runs → fly out.
    Bayo Ceesay is out.
  --- Now batting: Amir Modiba ---
  [10 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [10 outs | 1-0 | 2B] BALL
    Ball 2. Count: 2-0.
  [10 outs | 2-0 | 2B] BALL
    Ball 3. Count: 3-0.
  [10 outs | 3-0 | 2B] BALL
    WALK — Amir Modiba awarded 1B.
  --- Now batting: Feno Ranivoson ---
  [10 outs | 0-0 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [10 outs | 0-1 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [10 outs | 0-2 | 1B, 2B] BALL
    Ball 1. Count: 1-2.
  [10 outs | 1-2 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Arnold Furshman ---
  [11 outs | 0-0 | 1B, 2B] FOUL
    Foul ball. Count: 0-1.
  [11 outs | 0-1 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [11 outs | 0-2 | 1B, 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Njoroge Mwaniki ---
  [12 outs | 0-0 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [12 outs | 0-1 | 1B, 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [12 outs | 0-2 | 1B, 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  [13 outs | 0-0 | 1B, 2B] JOKER INSERTION
    Oslo Hawks sends in joker Glofate Okolie for an extra plate appearance (joker #4).
  --- Now batting: Glofate Okolie ---
  [13 outs | 0-0 | 1B, 2B] BALL
    Ball 1. Count: 1-0.
  [13 outs | 1-0 | 1B, 2B] SWINGING STRIKE
    Strike (swinging). Count: 1-1.
  [13 outs | 1-1 | 1B, 2B] BALL
    Ball 2. Count: 2-1.
  [13 outs | 2-1 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 2-2.
  [13 outs | 2-2 | 1B, 2B] FOUL
    Foul ball. Count: 2-2.
  [13 outs | 2-2 | 1B, 2B] BALL
    Ball 3. Count: 3-2.
  [13 outs | 3-2 | 1B, 2B] STOLEN BASE ATTEMPT
    Stolen base — runner advances to 3B.
  [13 outs | 3-2 | 1B, 3B] BALL IN PLAY
    Glofate Okolie runs → double.
    Runner scores from 3B.
    Runner scores from 1B.
  [13 outs | 0-0 | 2B] JOKER INSERTION
    Oslo Hawks sends in joker Ricardo Mahlangu for an extra plate appearance (joker #5).
  --- Now batting: Ricardo Mahlangu ---
  [13 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [13 outs | 1-0 | 2B] BALL
    Ball 2. Count: 2-0.
  [13 outs | 2-0 | 2B] BALL IN PLAY
    Ricardo Mahlangu runs → double.
    Runner scores from 2B.
  [13 outs | 0-0 | 2B] JOKER INSERTION
    Oslo Hawks sends in joker Nakibou Mugisha for an extra plate appearance (joker #6).
  --- Now batting: Nakibou Mugisha ---
  [13 outs | 0-0 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [13 outs | 0-1 | 2B] FOUL
    Foul ball. Count: 0-2.
  [13 outs | 0-2 | 2B] FOUL
    Foul ball. Count: 0-2.
  [13 outs | 0-2 | 2B] BALL IN PLAY
    Nakibou Mugisha runs → single.
    Runner advances from 2B to 3B.
  [13 outs | 0-0 | 1B, 3B] WILD PITCH
    Wild pitch — runners advance.
    Runner scores from 3B.
    Runner advances from 1B to 2B.
    1 run(s) score.
  --- Now batting: Thabani Mokoena [P] ---
  [13 outs | 0-0 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [13 outs | 0-1 | 2B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [13 outs | 0-2 | 2B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Sean Klusener ---
  [14 outs | 0-0 | 2B] FOUL
    Foul ball. Count: 0-1.
  [14 outs | 0-1 | 2B] BALL
    Ball 1. Count: 1-1.
  [14 outs | 1-1 | 2B] CALLED STRIKE
    Strike (called). Count: 1-2.
  [14 outs | 1-2 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Pa Camara ---
  [15 outs | 0-0 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [15 outs | 0-1 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [15 outs | 0-2 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Noé Dieng ---
  [16 outs | 0-0 | 2B] BALL IN PLAY
    Noé Dieng runs → double.
    Runner scores from 2B.
  --- Now batting: Bayo Ceesay ---
  [16 outs | 0-0 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [16 outs | 0-1 | 2B] BALL IN PLAY
    Bayo Ceesay runs → line out.
    Bayo Ceesay is out.
  --- Now batting: Amir Modiba ---
  [17 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [17 outs | 0-1 | 2B] BALL
    Ball 1. Count: 1-1.
  [17 outs | 1-1 | 2B] BALL IN PLAY
    Amir Modiba runs → double.
    Runner scores from 2B.
  [17 outs | 0-0 | 2B] PITCHING CHANGE
    PITCHING CHANGE: Won-jun Chu exits (25 BF this spell).
  --- Now batting: Feno Ranivoson ---
  [17 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [17 outs | 0-1 | 2B] BALL
    Ball 1. Count: 1-1.
  [17 outs | 1-1 | 2B] BALL IN PLAY
    Feno Ranivoson runs → ground out.
    Feno Ranivoson is out.
  --- Now batting: Arnold Furshman ---
  [18 outs | 0-0 | 2B] BALL IN PLAY
    Arnold Furshman runs → ground out.
    Arnold Furshman is out.
    Runner at 2B thrown out.
  [20 outs | 0-0 | empty] DEFENSIVE SUB
    Basil McCarn replaces Joel Dawin at SS.
  --- Now batting: Njoroge Mwaniki ---
  [20 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [20 outs | 1-0 | empty] BALL IN PLAY
    Njoroge Mwaniki runs → double.
  [20 outs | 0-0 | 2B] JOKER INSERTION
    Oslo Hawks sends in joker Glofate Okolie for an extra plate appearance (joker #7).
  --- Now batting: Glofate Okolie ---
  [20 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [20 outs | 0-1 | 2B] FOUL
    Foul ball. Count: 0-2.
  [20 outs | 0-2 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  [21 outs | 0-0 | 2B] JOKER INSERTION
    Oslo Hawks sends in joker Ricardo Mahlangu for an extra plate appearance (joker #8).
  --- Now batting: Ricardo Mahlangu ---
  [21 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [21 outs | 0-1 | 2B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [21 outs | 0-2 | 2B] FOUL
    Foul ball. Count: 0-2.
  [21 outs | 0-2 | 2B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  [22 outs | 0-0 | 2B] JOKER INSERTION
    Oslo Hawks sends in joker Nakibou Mugisha for an extra plate appearance (joker #9).
  --- Now batting: Nakibou Mugisha ---
  [22 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [22 outs | 1-0 | 2B] BALL IN PLAY
    Nakibou Mugisha runs → ground out.
    Nakibou Mugisha is out.
    Runner advances from 2B to 3B.
  --- Now batting: Thabani Mokoena [P] ---
  [23 outs | 0-0 | 3B] BALL IN PLAY
    Thabani Mokoena runs → ground out.
    Thabani Mokoena is out.
  --- Now batting: Sean Klusener ---
  [24 outs | 0-0 | 3B] BALL IN PLAY
    Sean Klusener runs → single.
    Runner scores from 3B.
  [24 outs | 0-0 | 1B] PICKOFF ATTEMPT
    Pickoff — runner out at 1B!
  --- Now batting: Pa Camara ---
  [25 outs | 0-0 | empty] CALLED STRIKE
    Strike (called). Count: 0-1.
  [25 outs | 0-1 | empty] BALL
    Ball 1. Count: 1-1.
  [25 outs | 1-1 | empty] BALL
    Ball 2. Count: 2-1.
  [25 outs | 2-1 | empty] BALL
    Ball 3. Count: 3-1.
  [25 outs | 3-1 | empty] BALL IN PLAY
    Pa Camara runs → ground out.
    Pa Camara is out.
  --- Now batting: Noé Dieng ---
  [26 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [26 outs | 1-0 | empty] BALL
    Ball 2. Count: 2-0.
  [26 outs | 2-0 | empty] FOUL
    Foul ball. Count: 2-1.
  [26 outs | 2-1 | empty] BALL IN PLAY
    Noé Dieng runs → double.
  --- Now batting: Bayo Ceesay ---
  [26 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [26 outs | 1-0 | 2B] BALL IN PLAY
    Bayo Ceesay runs → double.
    Runner scores from 2B.
  [26 outs | 0-0 | 2B] WILD PITCH
    Wild pitch — runners advance.
    Runner advances from 2B to 3B.
  --- Now batting: Amir Modiba ---
  [26 outs | 0-0 | 3B] BALL
    Ball 1. Count: 1-0.
  [26 outs | 1-0 | 3B] BALL IN PLAY
    Amir Modiba runs → ground out.
    Amir Modiba is out.
    Runner at 3B thrown out.

  End of bottom half — Oslo Hawks: 10 run(s), 12 hit(s), 27 out(s) | Run rate: 0.370

  ============================================================
  GAME OVER: TUBMANGRAD FOUNDRY WIN 18–10
  ============================================================
  Final score: Tubmangrad Foundry 18, Oslo Hawks 10
  ============================================================
  LINE SCORE
                          1      R
  Tubmangrad Foundry     18     18
  Oslo Hawks             10     10

  ============================================================
  TUBMANGRAD FOUNDRY BATTING
  Player                PA   AB    R    H   2B   3B   HR    RBI   BB    K  HBP   2C  2C-R   MH
  ────────────────────────────────────────────────────────────────────────────────────────────────
  Won-jun Chu             4    2    3    1    0    0    1     3    1    0    1    0     0    0
  Geoff Mondeville        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Joel Dawin              4    3    2    2    1    0    0     2    1    0    0    0     0    0
  Orien Friedler          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Yacoub Otayf            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Alex Betova             4    2    1    1    0    0    0     0    2    0    0    0     0    0
  Deandre Rastall         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kobe Gin                0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kemar Robinson          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Wes Ngo                 3    3    2    2    1    0    1     2    0    0    0    0     0    0
  Samson Kunkelov         3    3    1    2    1    0    0     0    0    1    0    1     0    0
  Jabari Blocher          4    4    1    1    0    0    0     1    0    0    0    0     0    0
  Maksim Kovaleva         4    4    1    2    0    0    0     2    0    2    0    0     0    0
  Shaq Moore              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Coen DeSimonin          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Noel Ferguson-Reynoldsov    0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Jurrien Kruah           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Basil McCarn            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Cliff Goosbin           4    3    0    0    0    0    0     1    1    0    0    0     0    0
  Lamar Bartkowicz        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Lloyd Bracewellov       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Scott Allen             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Davion Wiesnerov        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Bruce Woeller           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Jon Scroggins           5    4    3    3    2    0    0     0    1    0    0    0     0    0
  Hemant Banerjee         4    2    2    1    1    0    0     1    2    1    0    0     0    0
  Percy Pachecin          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Gaurav Rai              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Elijah Washingtonov     0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Armistead Mitchellov    0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Taylor Patrick          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ford Andrada            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Lenoir Parker           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Deiton Bruckler         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Genki Shibata           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Basil Kessinger         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kaheem Schell           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Makell Washington       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Brian Thompson          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Floyd Crowe             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Karen Bobrov            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Lake Dabekov            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Pranav Chatterjee       4    3    1    1    1    0    0     3    1    0    0    0     0    0
  Sandy Jones             4    4    1    1    0    0    0     0    0    2    0    0     0    0
  Reese Martin            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  ────────────────────────────────────────────────────────────────────────────────────────────────
  TOTALS                 47   37   18   17    7    0    2    15    9    6    1    1     0    0

  Pitcher                BF  OUT    H    R   BB    K  HBP
  ──────────────────────────────────────────────────────
  Won-jun Chu            25   17    8    8    1   10    0
  Elijah Washingtonov    12   10    4    2    0    2    0

  ============================================================
  OSLO HAWKS BATTING
  Player                PA   AB    R    H   2B   3B   HR    RBI   BB    K  HBP   2C  2C-R   MH
  ────────────────────────────────────────────────────────────────────────────────────────────────
  Thabani Mokoena         3    3    0    0    0    0    0     0    0    2    0    0     0    0
  Arnold Furshman         3    3    0    0    0    0    0     0    0    1    0    0     0    0
  Jhye Green              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Bayo Ceesay             3    3    0    1    1    0    0     1    0    0    0    0     0    0
  Noé Dieng               3    3    2    2    2    0    0     1    0    1    0    0     0    0
  Anja Ranivoson          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Mehdi Amrabat           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ashwin Golui            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Amir Modiba             4    3    1    1    1    0    0     1    1    0    0    0     0    0
  Siboniso Madlala        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Glofate Okolie          3    3    1    1    1    0    0     2    0    2    0    0     0    0
  Nakibou Mugisha         3    3    1    1    0    0    0     0    0    0    0    0     0    0
  Ricardo Mahlangu        3    3    1    1    1    0    0     1    0    2    0    0     0    0
  Seko Uzoho              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Olímpio Biyana          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Nisre Eguavoen          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Luol Desabre            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Adil Haddad             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Samir Mansouri          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Njoroge Mwaniki         3    3    1    1    1    0    0     0    0    1    0    0     0    0
  Hélio Konan             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Sean Klusener           3    3    2    2    0    0    1     2    0    1    0    0     0    0
  Pa Camara               3    3    1    1    1    0    0     1    0    1    0    0     0    0
  Beni Pogba              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Nélson Bango            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Feno Ranivoson          3    3    0    1    0    0    0     0    0    1    0    0     0    0
  Jaco Janse van Rensburg    0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Moses Ahamada           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Vusumuzi Mkhize         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ernst Markram           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Paul Boucher            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Nabil Taarabt           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Leon Häcken             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Brahim Hamdi            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Thulani Sibanyoni       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Adil Cherif             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Sayed Salah             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Stefan Linde            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Thabang Ngculu          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ifeanyi Soumah          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Tonderai Dube           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Le Onyedika             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Dwight Colley           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Beni Bango              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Brown Afolabi           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  ────────────────────────────────────────────────────────────────────────────────────────────────
  TOTALS                 37   36   10   12    8    0    1     9    1   12    0    0     0    0

  Pitcher                BF  OUT    H    R   BB    K  HBP
  ──────────────────────────────────────────────────────
  Thabani Mokoena        12    8    4    4    2    1    0
  Stefan Linde            8    2    4    4    2    0    0
  Sayed Salah            11    6    4    7    2    3    0
  Thabang Ngculu         11    9    4    3    3    2    0
  Sean Klusener           4    2    1    0    0    0    1

  ============================================================
  Run rate:  Tubmangrad Foundry  0.667    Oslo Hawks  0.370
  Second-Chance ABs:  Tubmangrad Foundry  1    Oslo Hawks  0
  IBB (Tubmangrad Foundry): Joel Dawin; Cliff Goosbin.
  Required run rate (Oslo Hawks): 0.704 R/out (needed 19 runs in 27 outs)
  Powerplays: Oslo Hawks — Jhye Green NF (O1-4, 1 PO)
  ============================================================
  ============================================================
  PARTNERSHIP LOG
  Batter 1              Batter 2                Runs  Half
  ──────────────────────────────────────────────────────────────────
  Alex Betova           Maksim Kovaleva            1  top
  Maksim Kovaleva       Cliff Goosbin              0  top
  Cliff Goosbin         Joel Dawin                 0  top
  Joel Dawin            Pranav Chatterjee          0  top
  Pranav Chatterjee     Jon Scroggins              0  top
  Jon Scroggins         Jabari Blocher             0  top
  Jabari Blocher        Wes Ngo                    0  top
  Wes Ngo               Alex Betova                4  top
  Alex Betova           Samson Kunkelov            1  top
  Samson Kunkelov       Joel Dawin                 3  top
  Joel Dawin            Pranav Chatterjee          0  top
  Pranav Chatterjee     Sandy Jones                0  top
  Sandy Jones           Hemant Banerjee            3  top
  Hemant Banerjee       Cliff Goosbin              1  top
  Cliff Goosbin         Maksim Kovaleva            0  top
  Maksim Kovaleva       Jabari Blocher             4  top
  Jabari Blocher        Won-jun Chu                0  top
  Won-jun Chu           Sandy Jones                0  top
  Sandy Jones           Joel Dawin                 0  top
  Joel Dawin            Hemant Banerjee            0  top
  Hemant Banerjee       Cliff Goosbin              0  top
  Cliff Goosbin         Sandy Jones                1  top
  Sandy Jones           Alex Betova                0  top
  Alex Betova           Samson Kunkelov            0  top
  Samson Kunkelov       Jabari Blocher             0  top
  Jabari Blocher        Jon Scroggins              0  top
  Amir Modiba           Feno Ranivoson             0  bottom
  Feno Ranivoson        Arnold Furshman            0  bottom
  Arnold Furshman       Njoroge Mwaniki            0  bottom
  Njoroge Mwaniki       Glofate Okolie             0  bottom
  Glofate Okolie        Ricardo Mahlangu           0  bottom
  Ricardo Mahlangu      Nakibou Mugisha            0  bottom
  Nakibou Mugisha       Thabani Mokoena            0  bottom
  Thabani Mokoena       Noé Dieng                  2  bottom
  Noé Dieng             Bayo Ceesay                0  bottom
  Bayo Ceesay           Feno Ranivoson             0  bottom
  Feno Ranivoson        Arnold Furshman            0  bottom
  Arnold Furshman       Njoroge Mwaniki            0  bottom
  Njoroge Mwaniki       Thabani Mokoena            4  bottom
  Thabani Mokoena       Sean Klusener              0  bottom
  Sean Klusener         Pa Camara                  0  bottom
  Pa Camara             Bayo Ceesay                1  bottom
  Bayo Ceesay           Feno Ranivoson             1  bottom
  Feno Ranivoson        Amir Modiba                0  bottom
  Amir Modiba           Arnold Furshman            0  bottom
  Arnold Furshman       Glofate Okolie             0  bottom
  Glofate Okolie        Ricardo Mahlangu           0  bottom
  Ricardo Mahlangu      Nakibou Mugisha            0  bottom
  Nakibou Mugisha       Thabani Mokoena            0  bottom
  Thabani Mokoena       Sean Klusener              1  bottom
  Sean Klusener         Pa Camara                  0  bottom
  Pa Camara             Bayo Ceesay                1  bottom
  ──────────────────────────────────────────────────────────────────
  Total partnerships: 52  |  Avg runs/partnership: 0.54
  ============================================================
  PITCHER SPELL LOG
  Pitcher               Half         PA#   BF  OUT    R    H   BB    K  HBP
  ──────────────────────────────────────────────────────────────────────────
  Thabani Mokoena       top            1   12    8     4     4     2     1     0
  Stefan Linde          top           13    8    2     4     4     2     0     0
  Sayed Salah           top           21   11    6     7     4     2     3     0
  Thabang Ngculu        top           32   11    9     3     4     3     2     0
  Sean Klusener         top           44    4    2     0     1     0     0     1
  Won-jun Chu           bottom         1   25   17     8     8     1    10     0
  Elijah Washingtonov   bottom        26   12   10     2     4     0     2     0
  ──────────────────────────────────────────────────────────────────────────
  Total spells: 7


pbp_text:
  ────────────────────────────────────────────────────────────
  BOTTOM HALF | Mexico City Pumas batting
  ────────────────────────────────────────────────────────────
  --- Now batting: Kallen Langlois ---
  [0 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [0 outs | 1-0 | empty] FOUL
    Foul ball. Count: 1-1.
  [0 outs | 1-1 | empty] FOUL
    Foul ball. Count: 1-2.
  [0 outs | 1-2 | empty] BALL
    Ball 2. Count: 2-2.
  [0 outs | 2-2 | empty] BALL IN PLAY
    Kallen Langlois runs → HOME RUN.
    Batter scores (HR).
    [Walk-Back — Kallen Langlois retreats to 3B as the bonus runner.]
    [The Walk-Back is brought to you by Packard.]
  --- Now batting: Semp Dent ---
  [0 outs | 0-0 | 3B] BALL
    Ball 1. Count: 1-0.
  [0 outs | 1-0 | 3B] BALL IN PLAY
    Semp Dent runs → fly out.
    ROBBED! Ethan Spaulding runs it down — a sure extra-base hit erased!
    Semp Dent is out.
    Runner scores from 3B.
  --- Now batting: Bernard Austin ---
  [1 outs | 0-0 | empty] BALL IN PLAY
    Bernard Austin runs → HOME RUN.
    Batter scores (HR).
    [Walk-Back — Bernard Austin retreats to 3B as the bonus runner.]
    [The Walk-Back is brought to you by CompUSA.]
  --- Now batting: Tony Feliz ---
  [1 outs | 0-0 | 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [1 outs | 0-1 | 3B] BALL IN PLAY
    Tony Feliz runs → fly out.
    ROBBED! Oscar Wiggins runs it down — a sure extra-base hit erased!
    Tony Feliz is out.
    Runner scores from 3B.
  [2 outs | 0-0 | empty] PITCHING CHANGE
    PITCHING CHANGE: Jimmie Fruttero exits (4 BF this spell).
  --- Now batting: Kingman Eaton ---
  [2 outs | 0-0 | empty] FOUL
    Foul ball. Count: 0-1.
  [2 outs | 0-1 | empty] FOUL
    Foul ball. Count: 0-2.
  [2 outs | 0-2 | empty] BALL
    Ball 1. Count: 1-2.
  [2 outs | 1-2 | empty] FOUL OUT
    Foul ball. Count: 0-0.
  --- Now batting: Kaheem Morgan ---
  [3 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [3 outs | 1-0 | empty] BALL IN PLAY
    Kaheem Morgan runs → double.
  --- Now batting: Austin Helsdon ---
  [3 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [3 outs | 0-1 | 2B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [3 outs | 0-2 | 2B] BALL IN PLAY
    Austin Helsdon runs → error.
    Runner scores from 2B.
  --- Now batting: Yadier Solano ---
  [3 outs | 0-0 | 1B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [3 outs | 0-1 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [3 outs | 0-2 | 1B] BALL
    Ball 1. Count: 1-2.
  [3 outs | 1-2 | 1B] BALL IN PLAY
    Yadier Solano runs → double.
    Runner scores from 1B.
  [3 outs | 0-0 | 2B] JOKER INSERTION
    Mexico City Pumas sends in joker DeSean Riddick for an extra plate appearance (joker #1).
  --- Now batting: DeSean Riddick ---
  [3 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [3 outs | 0-1 | 2B] FOUL
    Foul ball. Count: 0-2.
  [3 outs | 0-2 | 2B] FOUL
    Foul ball. Count: 0-2.
  [3 outs | 0-2 | 2B] BALL IN PLAY
    DeSean Riddick runs → double.
    Runner scores from 2B.
  [3 outs | 0-0 | 2B] JOKER INSERTION
    Mexico City Pumas sends in joker Kemyll Henriquez for an extra plate appearance (joker #2).
  --- Now batting: Kemyll Henriquez ---
  [3 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [3 outs | 1-0 | 2B] BALL IN PLAY
    Kemyll Henriquez runs → HOME RUN.
    Runner scores.
    Batter scores (HR).
    [Walk-Back — Kemyll Henriquez retreats to 3B as the bonus runner.]
    [The Walk-Back is brought to you by Studebaker.]
  [3 outs | 0-0 | 3B] JOKER INSERTION
    Mexico City Pumas sends in joker Hugh Dolby for an extra plate appearance (joker #3).
  --- Now batting: Hugh Dolby ---
  [3 outs | 0-0 | 3B] BALL
    Ball 1. Count: 1-0.
  [3 outs | 1-0 | 3B] BALL
    Ball 2. Count: 2-0.
  [3 outs | 2-0 | 3B] BALL
    Ball 3. Count: 3-0.
  [3 outs | 3-0 | 3B] BALL IN PLAY
    Hugh Dolby takes a SECOND CHANCE — but is OUT (2-strike contact or caught fly).
    Runner at 3B thrown out.
  --- Now batting: Calvin Hidrogo [P] ---
  [5 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [5 outs | 1-0 | empty] BALL
    Ball 2. Count: 2-0.
  [5 outs | 2-0 | empty] BALL
    Ball 3. Count: 3-0.
  [5 outs | 3-0 | empty] FOUL
    Foul ball. Count: 3-1.
  [5 outs | 3-1 | empty] CALLED STRIKE
    Strike (called). Count: 3-2.
  [5 outs | 3-2 | empty] BALL IN PLAY
    Calvin Hidrogo runs → HOME RUN.
    Batter scores (HR).
    [Walk-Back — Calvin Hidrogo retreats to 3B as the bonus runner.]
    [The Walk-Back is brought to you by Beatrice Foods.]
  [5 outs | 0-0 | 3B] PITCHING CHANGE
    PITCHING CHANGE: Lloyd Mozur exits (8 BF this spell).
  --- Now batting: Kallen Langlois ---
  [5 outs | 0-0 | 3B] BALL IN PLAY
    Kallen Langlois runs → double.
    Runner scores from 3B.
  --- Now batting: Semp Dent ---
  [5 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [5 outs | 1-0 | 2B] FOUL
    Foul ball. Count: 1-1.
  [5 outs | 1-1 | 2B] FOUL
    Foul ball. Count: 1-2.
  [5 outs | 1-2 | 2B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Bernard Austin ---
  [6 outs | 0-0 | 2B] BALL IN PLAY
    Bernard Austin runs → double.
    Runner scores from 2B.
  --- Now batting: Tony Feliz ---
  [6 outs | 0-0 | 2B] BALL IN PLAY
    Tony Feliz runs → fly out.
    ROBBED! Chet Citron runs it down — a sure extra-base hit erased!
    Tony Feliz is out.
  --- Now batting: Kingman Eaton ---
  [7 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [7 outs | 1-0 | 2B] BALL IN PLAY
    Kingman Eaton runs → single.
    Runner scores from 2B.
  --- Now batting: Kaheem Morgan ---
  [7 outs | 0-0 | 1B] FOUL
    Foul ball. Count: 0-1.
  [7 outs | 0-1 | 1B] BALL
    Ball 1. Count: 1-1.
  [7 outs | 1-1 | 1B] CALLED STRIKE
    Strike (called). Count: 1-2.
  [7 outs | 1-2 | 1B] BALL
    Ball 2. Count: 2-2.
  [7 outs | 2-2 | 1B] FOUL
    Foul ball. Count: 2-2.
  [7 outs | 2-2 | 1B] BALL IN PLAY
    Kaheem Morgan runs → double.
    Runner scores from 1B.
  --- Now batting: Austin Helsdon ---
  [7 outs | 0-0 | 2B] BALL IN PLAY
    Austin Helsdon runs → triple.
    Runner scores from 2B.
  --- Now batting: Yadier Solano ---
  [7 outs | 0-0 | 3B] BALL IN PLAY
    Yadier Solano runs → HOME RUN.
    Runner scores.
    Batter scores (HR).
    [Walk-Back — Yadier Solano retreats to 3B as the bonus runner.]
    [The Walk-Back is brought to you by Packard.]
  [7 outs | 0-0 | 3B] PITCHING CHANGE
    PITCHING CHANGE: Nuno Teixeira exits (8 BF this spell).
  [7 outs | 0-0 | 3B] JOKER INSERTION
    Mexico City Pumas sends in joker DeSean Riddick for an extra plate appearance (joker #4).
  --- Now batting: DeSean Riddick ---
  [7 outs | 0-0 | 3B] BALL IN PLAY
    DeSean Riddick runs → double.
    Runner scores from 3B.
  [7 outs | 0-0 | 2B] JOKER INSERTION
    Mexico City Pumas sends in joker Kemyll Henriquez for an extra plate appearance (joker #5).
  --- Now batting: Kemyll Henriquez ---
  [7 outs | 0-0 | 2B] BALL IN PLAY
    Kemyll Henriquez runs → fielder's choice.
    Runner at 2B thrown out.
  [8 outs | 0-0 | 1B] JOKER INSERTION
    Mexico City Pumas sends in joker Hugh Dolby for an extra plate appearance (joker #6).
  --- Now batting: Hugh Dolby ---
  [8 outs | 0-0 | 1B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [8 outs | 0-1 | 1B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [8 outs | 0-2 | 1B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Calvin Hidrogo [P] ---
  [9 outs | 0-0 | 1B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [9 outs | 0-1 | 1B] BALL
    Ball 1. Count: 1-1.
  [9 outs | 1-1 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 1-2.
  [9 outs | 1-2 | 1B] PICKOFF ATTEMPT
    Pickoff — runner out at 1B!
  [10 outs | 1-2 | empty] FOUL
    Foul ball. Count: 1-2.
  [10 outs | 1-2 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Kallen Langlois ---
  [11 outs | 0-0 | empty] CALLED STRIKE
    Strike (called). Count: 0-1.
  [11 outs | 0-1 | empty] BALL IN PLAY
    Kallen Langlois runs → fly out.
    Kallen Langlois is out.
  --- Now batting: Semp Dent ---
  [12 outs | 0-0 | empty] BALL IN PLAY
    Semp Dent runs → ground out.
    Semp Dent is out.
  --- Now batting: Bernard Austin ---
  [13 outs | 0-0 | empty] FOUL
    Foul ball. Count: 0-1.
  [13 outs | 0-1 | empty] FOUL
    Foul ball. Count: 0-2.
  [13 outs | 0-2 | empty] FOUL OUT
    Foul ball. Count: 0-0.
  --- Now batting: Tony Feliz ---
  [14 outs | 0-0 | empty] FOUL
    Foul ball. Count: 0-1.
  [14 outs | 0-1 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [14 outs | 0-2 | empty] BALL IN PLAY
    Tony Feliz runs → fly out.
    ROBBED! Quincy Baker runs it down — a sure extra-base hit erased!
    Tony Feliz is out.
  --- Now batting: Kingman Eaton ---
  [15 outs | 0-0 | empty] BALL IN PLAY
    Kingman Eaton runs → double.
  --- Now batting: Kaheem Morgan ---
  [15 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [15 outs | 1-0 | 2B] BALL
    Ball 2. Count: 2-0.
  [15 outs | 2-0 | 2B] BALL IN PLAY
    Kaheem Morgan runs → double.
    Runner scores from 2B.
  --- Now batting: Austin Helsdon ---
  [15 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [15 outs | 1-0 | 2B] BALL
    Ball 2. Count: 2-0.
  [15 outs | 2-0 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 2-1.
  [15 outs | 2-1 | 2B] FOUL
    Foul ball. Count: 2-2.
  [15 outs | 2-2 | 2B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Yadier Solano ---
  [16 outs | 0-0 | 2B] FOUL
    Foul ball. Count: 0-1.
  [16 outs | 0-1 | 2B] BALL IN PLAY
    Yadier Solano runs → double.
    Runner scores from 2B.
  [16 outs | 0-0 | 2B] JOKER INSERTION
    Mexico City Pumas sends in joker DeSean Riddick for an extra plate appearance (joker #7).
  --- Now batting: DeSean Riddick ---
  [16 outs | 0-0 | 2B] FOUL
    Foul ball. Count: 0-1.
  [16 outs | 0-1 | 2B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [16 outs | 0-2 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  [17 outs | 0-0 | 2B] PITCHING CHANGE
    PITCHING CHANGE: Parker Avery exits (13 BF this spell).
  [17 outs | 0-0 | 2B] JOKER INSERTION
    Mexico City Pumas sends in joker Kemyll Henriquez for an extra plate appearance (joker #8).
  --- Now batting: Kemyll Henriquez ---
  [17 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [17 outs | 0-1 | 2B] BALL
    Ball 1. Count: 1-1.
  [17 outs | 1-1 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 1-2.
  [17 outs | 1-2 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Calvin Hidrogo [P] ---
  [18 outs | 0-0 | 2B] BALL IN PLAY
    Calvin Hidrogo runs → double.
    Runner scores from 2B.
  --- Now batting: Kallen Langlois ---
  [18 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [18 outs | 1-0 | 2B] BALL
    Ball 2. Count: 2-0.
  [18 outs | 2-0 | 2B] BALL IN PLAY
    Kallen Langlois runs → HOME RUN.
    Runner scores.
    Batter scores (HR).
    [Walk-Back — Kallen Langlois retreats to 3B as the bonus runner.]
    [The Walk-Back is brought to you by Washington Mutual.]
  --- Now batting: Semp Dent ---
  [18 outs | 0-0 | 3B] BALL
    Ball 1. Count: 1-0.
  [18 outs | 1-0 | 3B] BALL IN PLAY
    Semp Dent runs → single.
    Runner scores from 3B.
  --- Now batting: Bernard Austin ---
  [18 outs | 0-0 | 1B] BALL IN PLAY
    Bernard Austin runs → single.
    Runner advances from 1B to 2B.
  --- Now batting: Tony Feliz ---
  [18 outs | 0-0 | 1B, 2B] FOUL
    Foul ball. Count: 0-1.
  [18 outs | 0-1 | 1B, 2B] FOUL
    Foul ball. Count: 0-2.
  [18 outs | 0-2 | 1B, 2B] BALL IN PLAY
    Tony Feliz runs → single.
    Runner scores from 2B.
    Runner advances from 1B to 2B.
  --- Now batting: Kingman Eaton ---
  [18 outs | 0-0 | 1B, 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [18 outs | 0-1 | 1B, 2B] FOUL
    Foul ball. Count: 0-2.
  [18 outs | 0-2 | 1B, 2B] FOUL
    Foul ball. Count: 0-2.
  [18 outs | 0-2 | 1B, 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  [19 outs | 0-0 | 1B, 2B] DEFENSIVE SUB
    Yulieski Urgellés replaces Kreigh Salenbien at CF.
  --- Now batting: Kaheem Morgan ---
  [19 outs | 0-0 | 1B, 2B] BALL
    Ball 1. Count: 1-0.
  [19 outs | 1-0 | 1B, 2B] BALL
    Ball 2. Count: 2-0.
  [19 outs | 2-0 | 1B, 2B] BALL
    Ball 3. Count: 3-0.
  [19 outs | 3-0 | 1B, 2B] FOUL
    Foul ball. Count: 3-1.
  [19 outs | 3-1 | 1B, 2B] BALL
    WALK — Kaheem Morgan awarded 1B.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  --- Now batting: Austin Helsdon ---
  [19 outs | 0-0 | 1B, 2B, 3B] BALL IN PLAY
    Austin Helsdon takes a SECOND CHANCE at the plate.
    Hit credited (second chance). Total this AB: 1.
    Second chance — fresh 0-0 count.
    Runner scores from 3B.
    Runner scores from 2B.
    Runner advances from 1B to 2B.
  [19 outs | 0-1 | 2B] BALL IN PLAY
    Austin Helsdon runs → HOME RUN.
    Runner scores.
    Batter scores (HR).
    [Walk-Back — Austin Helsdon retreats to 3B as the bonus runner.]
    [The Walk-Back is brought to you by Crystal Pepsi.]
  [19 outs | 0-0 | 3B] PITCHING CHANGE
    PITCHING CHANGE: Karl-Anthony Encarnación exits (9 BF this spell).
  --- Now batting: Yadier Solano ---
  [19 outs | 0-0 | 3B] SAC BUNT
  [20 outs | 0-0 | empty] JOKER INSERTION
    Mexico City Pumas sends in joker Hugh Dolby for an extra plate appearance (joker #9).
  --- Now batting: Hugh Dolby ---
  [20 outs | 0-0 | empty] CALLED STRIKE
    Strike (called). Count: 0-1.
  [20 outs | 0-1 | empty] CALLED STRIKE
    Strike (called). Count: 0-2.
  [20 outs | 0-2 | empty] BALL
    Ball 1. Count: 1-2.
  [20 outs | 1-2 | empty] FOUL
    Foul ball. Count: 1-2.
  [20 outs | 1-2 | empty] BALL
    Ball 2. Count: 2-2.
  [20 outs | 2-2 | empty] FOUL
    Foul ball. Count: 2-2.
  [20 outs | 2-2 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  [21 outs | 0-0 | empty] JOKER INSERTION
    Mexico City Pumas sends in joker DeSean Riddick for an extra plate appearance (joker #10).
  --- Now batting: DeSean Riddick ---
  [21 outs | 0-0 | empty] FOUL
    Foul ball. Count: 0-1.
  [21 outs | 0-1 | empty] BALL IN PLAY
    DeSean Riddick runs → double.
  [21 outs | 0-0 | 2B] JOKER INSERTION
    Mexico City Pumas sends in joker Kemyll Henriquez for an extra plate appearance (joker #11).
  --- Now batting: Kemyll Henriquez ---
  [21 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [21 outs | 0-1 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [21 outs | 0-2 | 2B] FOUL
    Foul ball. Count: 0-2.
  [21 outs | 0-2 | 2B] BALL IN PLAY
    Kemyll Henriquez runs → HOME RUN.
    Runner scores.
    Batter scores (HR).
    [Walk-Back — Kemyll Henriquez retreats to 3B as the bonus runner.]
    [The Walk-Back is brought to you by Borders Books.]
  --- Now batting: Calvin Hidrogo [P] ---
  [21 outs | 0-0 | 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [21 outs | 0-1 | 3B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [21 outs | 0-2 | 3B] FOUL
    Foul ball. Count: 0-2.
  [21 outs | 0-2 | 3B] FOUL
    Foul ball. Count: 0-2.
  [21 outs | 0-2 | 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Kallen Langlois ---
  [22 outs | 0-0 | 3B] BALL
    Ball 1. Count: 1-0.
  [22 outs | 1-0 | 3B] FOUL
    Foul ball. Count: 1-1.
  [22 outs | 1-1 | 3B] CALLED STRIKE
    Strike (called). Count: 1-2.
  [22 outs | 1-2 | 3B] FOUL
    Foul ball. Count: 1-2.
  [22 outs | 1-2 | 3B] BALL IN PLAY
    Kallen Langlois runs → triple.
    Runner scores from 3B.
  --- Now batting: Semp Dent ---
  [22 outs | 0-0 | 3B] SAC BUNT
  --- Now batting: Bernard Austin ---
  [22 outs | 0-0 | 1B] FOUL
    Foul ball. Count: 0-1.
  [22 outs | 0-1 | 1B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [22 outs | 0-2 | 1B] STOLEN BASE ATTEMPT
    Runner caught stealing at 2B.
  [23 outs | 0-2 | empty] BALL
    Ball 1. Count: 1-2.
  [23 outs | 1-2 | empty] FOUL
    Foul ball. Count: 1-2.
  [23 outs | 1-2 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Tony Feliz ---
  [24 outs | 0-0 | empty] CALLED STRIKE
    Strike (called). Count: 0-1.
  [24 outs | 0-1 | empty] CALLED STRIKE
    Strike (called). Count: 0-2.
  [24 outs | 0-2 | empty] BALL
    Ball 1. Count: 1-2.
  [24 outs | 1-2 | empty] BALL IN PLAY
    Tony Feliz runs → double.
  [24 outs | 0-0 | 2B] PICKOFF ATTEMPT
    Pickoff — runner out at 2B!
  --- Now batting: Kingman Eaton ---
  [25 outs | 0-0 | empty] BALL IN PLAY
    Kingman Eaton runs → single.
  --- Now batting: Kaheem Morgan ---
  [25 outs | 0-0 | 1B] BALL IN PLAY
    Kaheem Morgan runs → fly out.
    Kaheem Morgan is out.
  --- Now batting: Austin Helsdon ---
  [26 outs | 0-0 | 1B] DECLARATION
    >> Mexico City Pumas DECLARES SECONDS at out 26 (34-0).

  End of bottom half — Mexico City Pumas: 34 run(s), 30 hit(s), 27 out(s) | Run rate: 1.259
  ============================================================
  HALFTIME
    Holguín Empanadería e Hijos: 0 run(s)
    Mexico City Pumas need 1 run(s) to win
    Required run rate: 0.037 R/out
  ============================================================

  ────────────────────────────────────────────────────────────
  TOP HALF | Holguín Empanadería e Hijos batting
  ────────────────────────────────────────────────────────────
  --- Now batting: Kilian Chaplin ---
  [0 outs | 0-0 | empty] FOUL
    Foul ball. Count: 0-1.
  [0 outs | 0-1 | empty] BALL IN PLAY
    Kilian Chaplin runs → triple.
  --- Now batting: Charley Vosters ---
  [0 outs | 0-0 | 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [0 outs | 0-1 | 3B] BALL
    Ball 1. Count: 1-1.
  [0 outs | 1-1 | 3B] FOUL
    Foul ball. Count: 1-2.
  [0 outs | 1-2 | 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Kenner Espinoza ---
  [1 outs | 0-0 | 3B] BALL
    Ball 1. Count: 1-0.
  [1 outs | 1-0 | 3B] BALL IN PLAY
    Kenner Espinoza runs → double.
    Runner scores from 3B.
  --- Now batting: Leonys Quintana ---
  [1 outs | 0-0 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [1 outs | 0-1 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [1 outs | 0-2 | 2B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Tally Sasaki ---
  [2 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [2 outs | 0-1 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [2 outs | 0-2 | 2B] BALL
    Ball 1. Count: 1-2.
  [2 outs | 1-2 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Yulieski Urgellés ---
  [3 outs | 0-0 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [3 outs | 0-1 | 2B] BALL IN PLAY
    Yulieski Urgellés runs → single.
    Runner advances from 2B to 3B.
  --- Now batting: Edwin Grimsley ---
  [3 outs | 0-0 | 1B, 3B] BALL IN PLAY
    Edwin Grimsley runs → ground out.
    Edwin Grimsley is out.
    Runner advances from 1B to 2B.
  --- Now batting: Oscar Wiggins ---
  [4 outs | 0-0 | 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [4 outs | 0-1 | 2B, 3B] BALL
    Ball 1. Count: 1-1.
  [4 outs | 1-1 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 1-2.
  [4 outs | 1-2 | 2B, 3B] BALL
    Ball 2. Count: 2-2.
  [4 outs | 2-2 | 2B, 3B] FOUL
    Foul ball. Count: 2-2.
  [4 outs | 2-2 | 2B, 3B] WILD PITCH
    Wild pitch — runners advance.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
    1 run(s) score.
  [4 outs | 2-2 | 3B] FOUL
    Foul ball. Count: 2-2.
  [4 outs | 2-2 | 3B] BALL IN PLAY
    Oscar Wiggins runs → triple.
    Runner scores from 3B.
  [4 outs | 0-0 | 3B] JOKER INSERTION
    Holguín Empanadería e Hijos sends in joker Tre Gay for an extra plate appearance (joker #1).
  --- Now batting: Tre Gay ---
  [4 outs | 0-0 | 3B] BALL IN PLAY
    Tre Gay runs → single.
  --- Now batting: Jimmie Fruttero [P] ---
  [4 outs | 0-0 | 1B, 3B] FOUL
    Foul ball. Count: 0-1.
  [4 outs | 0-1 | 1B, 3B] BALL
    Ball 1. Count: 1-1.
  [4 outs | 1-1 | 1B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 1-2.
  [4 outs | 1-2 | 1B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Kilian Chaplin ---
  [5 outs | 0-0 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [5 outs | 0-1 | 1B, 3B] BALL IN PLAY
    Kilian Chaplin runs → single.
    Runner scores from 3B.
    Runner at 1B thrown out.
  --- Now batting: Charley Vosters ---
  [6 outs | 0-0 | 1B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [6 outs | 0-1 | 1B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [6 outs | 0-2 | 1B] PICKOFF ATTEMPT
    Pickoff — runner out at 1B!
  [7 outs | 0-2 | empty] FOUL
    Foul ball. Count: 0-2.
  [7 outs | 0-2 | empty] BALL
    Ball 1. Count: 1-2.
  [7 outs | 1-2 | empty] BALL IN PLAY
    Charley Vosters runs → single.
  --- Now batting: Kenner Espinoza ---
  [7 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [7 outs | 1-0 | 1B] BALL IN PLAY
    Kenner Espinoza runs → fly out.
    Kenner Espinoza is out.
  --- Now batting: Leonys Quintana ---
  [8 outs | 0-0 | 1B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [8 outs | 0-1 | 1B] FOUL
    Foul ball. Count: 0-2.
  [8 outs | 0-2 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Tally Sasaki ---
  [9 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [9 outs | 1-0 | 1B] BALL IN PLAY
    Tally Sasaki runs → double.
    Runner advances from 1B to 3B.
  --- Now batting: Yulieski Urgellés ---
  [9 outs | 0-0 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [9 outs | 0-1 | 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [9 outs | 0-2 | 2B, 3B] BALL
    Ball 1. Count: 1-2.
  [9 outs | 1-2 | 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Edwin Grimsley ---
  [10 outs | 0-0 | 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [10 outs | 0-1 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [10 outs | 0-2 | 2B, 3B] BALL IN PLAY
    Edwin Grimsley runs → fly out.
    ROBBED! Austin Helsdon runs it down — a sure extra-base hit erased!
    Edwin Grimsley is out.
  --- Now batting: Oscar Wiggins ---
  [11 outs | 0-0 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [11 outs | 0-1 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [11 outs | 0-2 | 2B, 3B] FOUL
    Foul ball. Count: 0-2.
  [11 outs | 0-2 | 2B, 3B] BALL IN PLAY
    Oscar Wiggins runs → line out.
    Oscar Wiggins is out.
  [12 outs | 0-0 | 2B, 3B] JOKER INSERTION
    Holguín Empanadería e Hijos sends in joker Jordi Canobbio for an extra plate appearance (joker #2).
  --- Now batting: Jordi Canobbio ---
  [12 outs | 0-0 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [12 outs | 0-1 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [12 outs | 0-2 | 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  [13 outs | 0-0 | 2B, 3B] JOKER INSERTION
    Holguín Empanadería e Hijos sends in joker Celso Carrillo for an extra plate appearance (joker #3).
  --- Now batting: Celso Carrillo ---
  [13 outs | 0-0 | 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [13 outs | 1-0 | 2B, 3B] BALL IN PLAY
    Celso Carrillo runs → line out.
    Celso Carrillo is out.
  --- Now batting: Jimmie Fruttero [P] ---
  [14 outs | 0-0 | 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [14 outs | 0-1 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [14 outs | 0-2 | 2B, 3B] BALL
    Ball 1. Count: 1-2.
  [14 outs | 1-2 | 2B, 3B] BALL
    Ball 2. Count: 2-2.
  [14 outs | 2-2 | 2B, 3B] FOUL
    Foul ball. Count: 2-2.
  [14 outs | 2-2 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Kilian Chaplin ---
  [15 outs | 0-0 | 2B, 3B] FOUL
    Foul ball. Count: 0-1.
  [15 outs | 0-1 | 2B, 3B] BALL
    Ball 1. Count: 1-1.
  [15 outs | 1-1 | 2B, 3B] BALL IN PLAY
    Kilian Chaplin runs → fielder's choice.
    Runner at 3B thrown out.
  --- Now batting: Charley Vosters ---
  [16 outs | 0-0 | 1B, 2B] FOUL
    Foul ball. Count: 0-1.
  [16 outs | 0-1 | 1B, 2B] BALL
    Ball 1. Count: 1-1.
  [16 outs | 1-1 | 1B, 2B] SWINGING STRIKE
    Strike (swinging). Count: 1-2.
  [16 outs | 1-2 | 1B, 2B] FOUL
    Foul ball. Count: 1-2.
  [16 outs | 1-2 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Kenner Espinoza ---
  [17 outs | 0-0 | 1B, 2B] BALL
    Ball 1. Count: 1-0.
  [17 outs | 1-0 | 1B, 2B] SWINGING STRIKE
    Strike (swinging). Count: 1-1.
  [17 outs | 1-1 | 1B, 2B] FOUL
    Foul ball. Count: 1-2.
  [17 outs | 1-2 | 1B, 2B] BALL IN PLAY
    Kenner Espinoza runs → double.
    Runner scores from 2B.
    Runner scores from 1B.
  --- Now batting: Leonys Quintana ---
  [17 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [17 outs | 1-0 | 2B] BALL
    Ball 2. Count: 2-0.
  [17 outs | 2-0 | 2B] BALL
    Ball 3. Count: 3-0.
  [17 outs | 3-0 | 2B] BALL
    WALK — Leonys Quintana awarded 1B.
  --- Now batting: Tally Sasaki ---
  [17 outs | 0-0 | 1B, 2B] BALL
    Ball 1. Count: 1-0.
  [17 outs | 1-0 | 1B, 2B] BALL IN PLAY
    Tally Sasaki runs → double.
    Runner scores from 2B.
    Runner advances from 1B to 3B.
  --- Now batting: Yulieski Urgellés ---
  [17 outs | 0-0 | 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [17 outs | 1-0 | 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 1-1.
  [17 outs | 1-1 | 2B, 3B] BALL IN PLAY
    Yulieski Urgellés runs → single.
    Runner scores from 3B.
    Runner at 2B thrown out.
  [18 outs | 0-0 | 1B] PITCHING CHANGE
    PITCHING CHANGE: Calvin Hidrogo exits (27 BF this spell).
  --- Now batting: Edwin Grimsley ---
  [18 outs | 0-0 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [18 outs | 0-1 | 1B] BALL
    Ball 1. Count: 1-1.
  [18 outs | 1-1 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 1-2.
  [18 outs | 1-2 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  [19 outs | 0-0 | 1B] DEFENSIVE SUB
    Donni Wilcox replaces Bernard Austin at C.
  --- Now batting: Oscar Wiggins ---
  [19 outs | 0-0 | 1B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [19 outs | 0-1 | 1B] BALL
    Ball 1. Count: 1-1.
  [19 outs | 1-1 | 1B] BALL IN PLAY
    Oscar Wiggins runs → double.
    Runner scores from 1B.
  --- Now batting: Jimmie Fruttero [P] ---
  [19 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [19 outs | 1-0 | 2B] BALL IN PLAY
    Jimmie Fruttero runs → single.
    Runner scores from 2B.
  --- Now batting: Kilian Chaplin ---
  [19 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [19 outs | 1-0 | 1B] WILD PITCH
    Wild pitch — runners advance.
    Runner advances from 1B to 2B.
  [19 outs | 1-0 | 2B] BALL
    Ball 2. Count: 2-0.
  [19 outs | 2-0 | 2B] BALL
    Ball 3. Count: 3-0.
  [19 outs | 3-0 | 2B] BALL IN PLAY
    Kilian Chaplin runs → double.
    Runner advances from 2B to 3B.
  --- Now batting: Charley Vosters ---
  [19 outs | 0-0 | 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [19 outs | 1-0 | 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 1-1.
  [19 outs | 1-1 | 2B, 3B] WILD PITCH
    Wild pitch — runners advance.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
    1 run(s) score.
  [19 outs | 1-1 | 3B] BALL IN PLAY
    Charley Vosters runs → single.
    Runner at 3B thrown out.
  --- Now batting: Kenner Espinoza ---
  [20 outs | 0-0 | 1B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [20 outs | 0-1 | 1B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [20 outs | 0-2 | 1B] BALL
    Ball 1. Count: 1-2.
  [20 outs | 1-2 | 1B] STOLEN BASE ATTEMPT
    Runner caught stealing at 2B.
  [21 outs | 1-2 | empty] BALL
    Ball 2. Count: 2-2.
  [21 outs | 2-2 | empty] BALL IN PLAY
    Kenner Espinoza runs → ground out.
    Kenner Espinoza is out.
  --- Now batting: Leonys Quintana ---
  [22 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [22 outs | 1-0 | empty] FOUL
    Foul ball. Count: 1-1.
  [22 outs | 1-1 | empty] FOUL
    Foul ball. Count: 1-2.
  [22 outs | 1-2 | empty] BALL IN PLAY
    Leonys Quintana runs → single.
  --- Now batting: Tally Sasaki ---
  [22 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [22 outs | 1-0 | 1B] BALL
    Ball 2. Count: 2-0.
  [22 outs | 2-0 | 1B] BALL
    Ball 3. Count: 3-0.
  [22 outs | 3-0 | 1B] BALL
    WALK — Tally Sasaki awarded 1B.
    Runner advances from 1B to 2B.
  --- Now batting: Yulieski Urgellés ---
  [22 outs | 0-0 | 1B, 2B] BALL
    Ball 1. Count: 1-0.
  [22 outs | 1-0 | 1B, 2B] FOUL
    Foul ball. Count: 1-1.
  [22 outs | 1-1 | 1B, 2B] SWINGING STRIKE
    Strike (swinging). Count: 1-2.
  [22 outs | 1-2 | 1B, 2B] BALL
    Ball 2. Count: 2-2.
  [22 outs | 2-2 | 1B, 2B] BALL
    Ball 3. Count: 3-2.
  [22 outs | 3-2 | 1B, 2B] BALL
    WALK — Yulieski Urgellés awarded 1B.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  --- Now batting: Edwin Grimsley ---
  [22 outs | 0-0 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [22 outs | 0-1 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 0-2.
  [22 outs | 0-2 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Oscar Wiggins ---
  [23 outs | 0-0 | 1B, 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [23 outs | 0-1 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 0-2.
  [23 outs | 0-2 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-2.
  [23 outs | 1-2 | 1B, 2B, 3B] BALL
    Ball 2. Count: 2-2.
  [23 outs | 2-2 | 1B, 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  [24 outs | 0-0 | 1B, 2B, 3B] JOKER INSERTION
    Holguín Empanadería e Hijos sends in joker Tre Gay for an extra plate appearance (joker #4).
  --- Now batting: Tre Gay ---
  [24 outs | 0-0 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 0-1.
  [24 outs | 0-1 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 0-2.
  [24 outs | 0-2 | 1B, 2B, 3B] BALL IN PLAY
    Tre Gay runs → fly out.
    Tre Gay is out.
  [25 outs | 0-0 | 1B, 2B, 3B] JOKER INSERTION
    Holguín Empanadería e Hijos sends in joker Jordi Canobbio for an extra plate appearance (joker #5).
  --- Now batting: Jordi Canobbio ---
  [25 outs | 0-0 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [25 outs | 0-1 | 1B, 2B, 3B] BALL IN PLAY
    Jordi Canobbio runs → fly out.
    Jordi Canobbio is out.
    Runner at 3B thrown out.

  End of top half — Holguín Empanadería e Hijos: 11 run(s), 16 hit(s), 27 out(s) | Run rate: 0.407

  ────────────────────────────────────────────────────────────
  SECONDS_FIRST | Mexico City Pumas batting
  ────────────────────────────────────────────────────────────
  --- Now batting: Austin Helsdon ---
  [0 outs | 0-0 | empty] CALLED STRIKE
    Strike (called). Count: 0-1.
  [0 outs | 0-1 | empty] BALL IN PLAY
    Austin Helsdon runs → double.
  --- Now batting: Yadier Solano ---
  [0 outs | 0-0 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [0 outs | 0-1 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [0 outs | 0-2 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.

  ============================================================
  GAME OVER: MEXICO CITY PUMAS WIN 34–11
  ============================================================
  Final score: Mexico City Pumas 34, Holguín Empanadería e Hijos 11
  ============================================================
  LINE SCORE
                          1      2      R
  Holguín Empanadería e Hijos     11      -     11
  Mexico City Pumas      34      0     34

  ============================================================
  HOLGUÍN EMPANADERÍA E HIJOS BATTING
  Player                PA   AB    R    H   2B   3B   HR    RBI   BB    K  HBP   2C  2C-R   MH
  ────────────────────────────────────────────────────────────────────────────────────────────────
  Jimmie Fruttero         3    3    1    1    0    0    0     1    0    2    0    0     0    0
  Kreigh Salenbien        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Oscar Wiggins           4    4    2    2    1    1    0     2    0    1    0    0     0    0
  Kilian Chaplin          4    4    2    3    1    1    0     1    0    0    0    0     0    0
  Chet Citron             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Leonys Quintana         4    3    1    1    0    0    0     0    1    2    0    0     0    0
  Cedric Kolarik          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Armistead Rolle         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Charley Vosters         4    4    0    2    0    0    0     0    0    2    0    0     0    0
  Celso Carrillo          1    1    0    0    0    0    0     0    0    0    0    0     0    0
  Jordi Canobbio          2    2    0    0    0    0    0     0    0    1    0    0     0    0
  Tre Gay                 2    2    0    1    0    0    0     0    0    0    0    0     0    0
  Jace Zummo              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Korey Scofield          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Waldo Fuentes           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Rolando Ramirez         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Yulieski Urgellés       4    3    2    2    0    0    0     1    1    1    0    0     0    0
  Ramonz Dietzel          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Gerardo Elvir           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ethan Spaulding         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Quincy Baker            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Dashawn Scofield        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Edwin Grimsley          4    4    0    0    0    0    0     0    0    2    0    0     0    0
  Jed Putellas            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kenner Espinoza         4    4    2    2    2    0    0     3    0    0    0    0     0    0
  Tally Sasaki            4    3    1    2    2    0    0     1    1    1    0    0     0    0
  Nuno Teixeira           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Karl-Anthony Encarnación    0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Frank Mullen            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Myron O'Flaherty        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Richard Graham          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Jai Foust               0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Orlando Martínez        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Dennis Farrell          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Isadore Buffington      0    0    0    0    0    0    0     0    0    0    0    0     0    0
  John Spoelstra          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Lyrik Berigan           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Steve Wondolowski       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Mark Battistone         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Huntley Coggeshall      0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Parker Avery            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Lloyd Mozur             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Nitin Srivastava        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Sulieman Wiltshire      0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Nathan Neer             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  ────────────────────────────────────────────────────────────────────────────────────────────────
  TOTALS                 40   37   11   16    6    2    0     9    3   12    0    0     0    0

  Pitcher                BF  OUT    H    R   BB    K  HBP
  ──────────────────────────────────────────────────────
  Jimmie Fruttero         6    3    3    4    0    1    0
  Lloyd Mozur             8    3    5    6    0    0    0
  Nuno Teixeira           8    2    6    7    0    1    0
  Parker Avery           13   10    4    3    0    4    0
  Karl-Anthony Encarnación    9    2    7    9    1    2    0
  Frank Mullen            9    7    5    5    0    3    0

  ============================================================
  MEXICO CITY PUMAS BATTING
  Player                PA   AB    R    H   2B   3B   HR    RBI   BB    K  HBP   2C  2C-R   MH
  ────────────────────────────────────────────────────────────────────────────────────────────────
  Calvin Hidrogo          4    4    3    2    1    0    1     2    0    2    0    0     0    0
  Tony Feliz              5    5    1    2    1    0    0     2    0    0    0    0     0    0
  Fafà Lim                0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kaheem Morgan           5    4    4    3    3    0    0     2    1    0    0    0     0    0
  Johan Hayes             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Semp Dent               5    5    1    2    0    0    0     3    0    1    0    0     0    0
  Austin Helsdon          5    5    4    4    1    1    1     6    0    1    0    1     2    1
  Zane Hutson             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Bernard Austin          5    5    4    3    1    0    1     2    0    1    0    0     0    0
  DeSean Riddick          4    4    2    3    3    0    0     2    0    1    0    0     0    0
  Kemyll Henriquez        4    4    3    2    0    0    2     4    0    1    0    0     0    0
  Hugh Dolby              3    3    0    0    0    0    0     0    0    2    0    0     0    0
  Rocky Pickett           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Liam Payne              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Yadier Solano           5    4    4    3    2    0    1     5    0    1    0    0     0    0
  Anil-Devon Hanoman      0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kingman Eaton           5    5    2    3    1    0    0     1    0    1    0    0     0    0
  Giovanni Palermo        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Brandon Pryor           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Payton Taylor           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kamron Hecht            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Donni Wilcox            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Emory Warburg           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Sookdeo Sarwan          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kallen Langlois         5    5    6    4    1    1    2     5    0    0    0    0     0    0
  Denesh Phulchand        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Amareon Lukus           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Scott Schultze          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Greayer Douglas         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  DaKaari Faulkner        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Deonarine Hanoman       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Mauricio Usme           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Farid Haquín            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kolin Hollinger         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Cristián Escober        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Nick McCargo            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Gerardo Cifuentes       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Roger Vázquez           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Rishi Ganga             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Jed Oglesby             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Yong Yee                0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Chase Byas              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Yunior Sierra           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ed Lockhart             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Diego Chávez            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  ────────────────────────────────────────────────────────────────────────────────────────────────
  TOTALS                 55   53   34   31   14    2    8    34    1   11    0    1     2    1

  Pitcher                BF  OUT    H    R   BB    K  HBP
  ──────────────────────────────────────────────────────
  Calvin Hidrogo         27   18   11    8    1    9    0
  Rishi Ganga            13    9    5    3    2    3    0

  ============================================================
  Run rate:  Holguín Empanadería e Hijos  0.407    Mexico City Pumas  1.259
  Second-Chance ABs:  Holguín Empanadería e Hijos  0    Mexico City Pumas  1
  Required run rate (Mexico City Pumas): 0.037 R/out (needed 1 runs in 27 outs)
  Seconds: Mexico City Pumas o26 (34-0)
  ============================================================
  ============================================================
  PARTNERSHIP LOG
  Batter 1              Batter 2                Runs  Half
  ──────────────────────────────────────────────────────────────────
  Semp Dent             Tony Feliz                 4  bottom
  Tony Feliz            Kingman Eaton              0  bottom
  Kingman Eaton         Kemyll Henriquez           5  bottom
  Kemyll Henriquez      Hugh Dolby                 0  bottom
  Hugh Dolby            Semp Dent                  2  bottom
  Semp Dent             Tony Feliz                 1  bottom
  Tony Feliz            DeSean Riddick             6  bottom
  DeSean Riddick        Hugh Dolby                 0  bottom
  Hugh Dolby            Kemyll Henriquez           0  bottom
  Kemyll Henriquez      Calvin Hidrogo             0  bottom
  Calvin Hidrogo        Kallen Langlois            0  bottom
  Kallen Langlois       Semp Dent                  0  bottom
  Semp Dent             Bernard Austin             0  bottom
  Bernard Austin        Tony Feliz                 0  bottom
  Tony Feliz            Austin Helsdon             1  bottom
  Austin Helsdon        DeSean Riddick             1  bottom
  DeSean Riddick        Kemyll Henriquez           0  bottom
  Kemyll Henriquez      Kingman Eaton              5  bottom
  Kingman Eaton         Yadier Solano              5  bottom
  Yadier Solano         Hugh Dolby                 0  bottom
  Hugh Dolby            Calvin Hidrogo             2  bottom
  Calvin Hidrogo        Semp Dent                  2  bottom
  Semp Dent             Bernard Austin             0  bottom
  Bernard Austin        Tony Feliz                 0  bottom
  Tony Feliz            Kaheem Morgan              0  bottom
  Charley Vosters       Leonys Quintana            1  top
  Leonys Quintana       Tally Sasaki               0  top
  Tally Sasaki          Edwin Grimsley             0  top
  Edwin Grimsley        Jimmie Fruttero            2  top
  Jimmie Fruttero       Tre Gay                    1  top
  Tre Gay               Kilian Chaplin             0  top
  Kilian Chaplin        Kenner Espinoza            0  top
  Kenner Espinoza       Leonys Quintana            0  top
  Leonys Quintana       Yulieski Urgellés          0  top
  Yulieski Urgellés     Edwin Grimsley             0  top
  Edwin Grimsley        Oscar Wiggins              0  top
  Oscar Wiggins         Jordi Canobbio             0  top
  Jordi Canobbio        Celso Carrillo             0  top
  Celso Carrillo        Jimmie Fruttero            0  top
  Jimmie Fruttero       Charley Vosters            0  top
  Charley Vosters       Charley Vosters            0  top
  Charley Vosters       Tally Sasaki               4  top
  Tally Sasaki          Edwin Grimsley             0  top
  Edwin Grimsley        Kilian Chaplin             3  top
  Kilian Chaplin        Charley Vosters            0  top
  Charley Vosters       Kenner Espinoza            0  top
  Kenner Espinoza       Edwin Grimsley             0  top
  Edwin Grimsley        Oscar Wiggins              0  top
  Oscar Wiggins         Tre Gay                    0  top
  Tre Gay               Leonys Quintana            0  top
  Leonys Quintana       Jordi Canobbio             0  top
  ──────────────────────────────────────────────────────────────────
  Total partnerships: 51  |  Avg runs/partnership: 0.88
  ============================================================
  PITCHER SPELL LOG
  Pitcher               Half         PA#   BF  OUT    R    H   BB    K  HBP
  ──────────────────────────────────────────────────────────────────────────
  Jimmie Fruttero       bottom         1    4    2     4     2     0     0     0
  Lloyd Mozur           bottom         5    8    3     6     5     0     0     0
  Nuno Teixeira         bottom        13    8    2     7     6     0     1     0
  Parker Avery          bottom        21   13   10     3     4     0     4     0
  Karl-Anthony Encarnaciónbottom        34    9    2     9     7     1     2     0
  Frank Mullen          bottom        43    9    7     5     5     0     3     0
  Calvin Hidrogo        top            1   27   18     8    11     1     9     0
  Rishi Ganga           top           28   13    9     3     5     2     3     0
  Jimmie Fruttero       seconds_first  1    2    1     0     1     0     1     0
  ──────────────────────────────────────────────────────────────────────────
  Total spells: 9


pbp_text:
  ────────────────────────────────────────────────────────────
  TOP HALF | Dubai Air Force batting
  ────────────────────────────────────────────────────────────
  --- Now batting: Sagar Lamichhane ---
  [0 outs | 0-0 | empty] CALLED STRIKE
    Strike (called). Count: 0-1.
  [0 outs | 0-1 | empty] BALL
    Ball 1. Count: 1-1.
  [0 outs | 1-1 | empty] BALL
    Ball 2. Count: 2-1.
  [0 outs | 2-1 | empty] BALL IN PLAY
    Sagar Lamichhane runs → line out.
    Sagar Lamichhane is out.
  --- Now batting: Youssef Bennani ---
  [1 outs | 0-0 | empty] BALL IN PLAY
    Youssef Bennani runs → single.
  --- Now batting: Ruturaj Khot ---
  [1 outs | 0-0 | 1B] BALL IN PLAY
    Ruturaj Khot runs → single.
    Runner at 1B thrown out.
  --- Now batting: Oday Ghram ---
  [2 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [2 outs | 1-0 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 1-1.
  [2 outs | 1-1 | 1B] BALL IN PLAY
    Oday Ghram runs → double.
    Runner at 1B thrown out.
  --- Now batting: Fadi Al-Saluli ---
  [3 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [3 outs | 1-0 | 2B] BALL IN PLAY
    Fadi Al-Saluli runs → single.
    Runner advances from 2B to 3B.
  [3 outs | 0-0 | 1B, 3B] STOLEN BASE ATTEMPT
    Stolen base — runner advances to 2B.
  --- Now batting: Naveen Mohmand ---
  [3 outs | 0-0 | 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [3 outs | 0-1 | 2B, 3B] BALL
    Ball 1. Count: 1-1.
  [3 outs | 1-1 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 1-2.
  [3 outs | 1-2 | 2B, 3B] BALL IN PLAY
    Naveen Mohmand runs → ground out.
    Naveen Mohmand is out.
  --- Now batting: Mahmoud Sabry ---
  [4 outs | 0-0 | 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [4 outs | 0-1 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [4 outs | 0-2 | 2B, 3B] WILD PITCH
    Wild pitch — runners advance.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
    1 run(s) score.
  [4 outs | 0-2 | 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Shardul Soni ---
  [5 outs | 0-0 | 3B] BALL IN PLAY
    Shardul Soni runs → fly out.
    Shardul Soni is out.
  [6 outs | 0-0 | 3B] JOKER INSERTION
    Dubai Air Force sends in joker Umar Latif for an extra plate appearance (joker #1).
  --- Now batting: Umar Latif ---
  [6 outs | 0-0 | 3B] BALL
    Ball 1. Count: 1-0.
  [6 outs | 1-0 | 3B] BALL
    Ball 2. Count: 2-0.
  [6 outs | 2-0 | 3B] BALL
    Ball 3. Count: 3-0.
  [6 outs | 3-0 | 3B] CALLED STRIKE
    Strike (called). Count: 3-1.
  [6 outs | 3-1 | 3B] BALL
    WALK — Umar Latif awarded 1B.
  [6 outs | 0-0 | 1B, 3B] JOKER INSERTION
    Dubai Air Force sends in joker Kerem Al-Ghannam for an extra plate appearance (joker #2).
  --- Now batting: Kerem Al-Ghannam ---
  [6 outs | 0-0 | 1B, 3B] BALL IN PLAY
    Kerem Al-Ghannam runs → fly out.
    ROBBED! Wael Yehia runs it down — a sure extra-base hit erased!
    Kerem Al-Ghannam is out.
    Runner at 3B thrown out.
  [8 outs | 0-0 | 1B] JOKER INSERTION
    Dubai Air Force sends in joker Baghdad Al-Saadi for an extra plate appearance (joker #3).
  [8 outs | 0-0 | 1B] DEFENSIVE SUB
    Mehmet Hamrobekov replaces Kin Teoh at 1B.
  --- Now batting: Baghdad Al-Saadi ---
  [8 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [8 outs | 1-0 | 1B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [8 outs | 1-1 | 1B] BALL IN PLAY
    Baghdad Al-Saadi runs → double.
    Runner advances from 1B to 3B.
  [8 outs | 0-0 | 2B, 3B] PINCH HITTER
    Bassam Sharif pinch-hits for Janith Vaas.
  --- Now batting: Bassam Sharif ---
  [8 outs | 0-0 | 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [8 outs | 0-1 | 2B, 3B] FOUL
    Foul ball. Count: 0-2.
  [8 outs | 0-2 | 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  [9 outs | 0-0 | 2B, 3B] JOKER INSERTION
    Dubai Air Force sends in joker Kerem Al-Ghannam for an extra plate appearance (joker #4).
  --- Now batting: Kerem Al-Ghannam ---
  [9 outs | 0-0 | 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [9 outs | 1-0 | 2B, 3B] BALL IN PLAY
    Kerem Al-Ghannam runs → double.
    Runner scores from 3B.
    Runner scores from 2B.
  [9 outs | 0-0 | 2B] PITCHING CHANGE
    PITCHING CHANGE: Catur Nugroho exits (13 BF this spell).
  --- Now batting: Sagar Lamichhane ---
  [9 outs | 0-0 | 2B] INTENTIONAL WALK
    INTENTIONAL WALK — Sagar Lamichhane given a free pass.
  --- Now batting: Youssef Bennani ---
  [9 outs | 0-0 | 1B, 2B] BALL IN PLAY
    Youssef Bennani runs → fly out.
    Youssef Bennani is out.
  [10 outs | 0-0 | 1B, 2B] JOKER INSERTION
    Dubai Air Force sends in joker Umar Latif for an extra plate appearance (joker #5).
  --- Now batting: Umar Latif ---
  [10 outs | 0-0 | 1B, 2B] BALL IN PLAY
    Umar Latif runs → single.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  [10 outs | 0-0 | 1B, 2B, 3B] JOKER INSERTION
    Dubai Air Force sends in joker Baghdad Al-Saadi for an extra plate appearance (joker #6).
  [10 outs | 0-0 | 1B, 2B, 3B] PINCH RUNNER
    Imran Shafiq pinch-runs for Sagar Lamichhane at 2B.
  --- Now batting: Baghdad Al-Saadi ---
  [10 outs | 0-0 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [10 outs | 1-0 | 1B, 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 1-1.
  [10 outs | 1-1 | 1B, 2B, 3B] BALL
    Ball 2. Count: 2-1.
  [10 outs | 2-1 | 1B, 2B, 3B] BALL
    Ball 3. Count: 3-1.
  [10 outs | 3-1 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 3-2.
  [10 outs | 3-2 | 1B, 2B, 3B] BALL
    WALK — Baghdad Al-Saadi awarded 1B.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  --- Now batting: Ruturaj Khot ---
  [10 outs | 0-0 | 1B, 2B, 3B] BALL IN PLAY
    Ruturaj Khot takes a SECOND CHANCE — but is OUT (2-strike contact or caught fly).
    Runner scores from 2B.
    Runner advances from 1B to 2B.
  --- Now batting: Oday Ghram ---
  [11 outs | 0-0 | 2B, 3B] BALL IN PLAY
    Oday Ghram runs → fly out.
    Oday Ghram is out.
  --- Now batting: Fadi Al-Saluli ---
  [12 outs | 0-0 | 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [12 outs | 1-0 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [12 outs | 1-1 | 2B, 3B] BALL IN PLAY
    Fadi Al-Saluli runs → double.
    Runner scores from 3B.
    Runner scores from 2B.
  [12 outs | 0-0 | 2B] PITCHING CHANGE
    PITCHING CHANGE: Hadi Permadi exits (7 BF this spell).
  --- Now batting: Naveen Mohmand ---
  [12 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [12 outs | 1-0 | 2B] STOLEN BASE ATTEMPT
    Runner caught stealing at 3B.
  [13 outs | 1-0 | empty] BALL
    Ball 2. Count: 2-0.
  [13 outs | 2-0 | empty] CALLED STRIKE
    Strike (called). Count: 2-1.
  [13 outs | 2-1 | empty] BALL IN PLAY
    Naveen Mohmand runs → double.
  --- Now batting: Mahmoud Sabry ---
  [13 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [13 outs | 1-0 | 2B] BALL IN PLAY
    Mahmoud Sabry runs → line out.
    Mahmoud Sabry is out.
  --- Now batting: Shardul Soni ---
  [14 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [14 outs | 0-1 | 2B] BALL
    Ball 1. Count: 1-1.
  [14 outs | 1-1 | 2B] BALL IN PLAY
    Shardul Soni runs → single.
    Runner advances from 2B to 3B.
  --- Now batting: Bassam Sharif ---
  [14 outs | 0-0 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [14 outs | 0-1 | 1B, 3B] FOUL
    Foul ball. Count: 0-2.
  [14 outs | 0-2 | 1B, 3B] FOUL
    Foul ball. Count: 0-2.
  [14 outs | 0-2 | 1B, 3B] STOLEN BASE ATTEMPT
    Stolen base — runner advances to 2B.
  [14 outs | 0-2 | 2B, 3B] FOUL OUT
    Foul ball. Count: 0-0.
  --- Now batting: Imran Shafiq ---
  [15 outs | 0-0 | 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [15 outs | 1-0 | 2B, 3B] BALL
    Ball 2. Count: 2-0.
  [15 outs | 2-0 | 2B, 3B] BALL
    Ball 3. Count: 3-0.
  [15 outs | 3-0 | 2B, 3B] BALL IN PLAY
    Imran Shafiq takes a SECOND CHANCE at the plate.
    Hit credited (second chance). Total this AB: 1.
    Second chance — fresh 0-0 count.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
  [15 outs | 3-1 | 3B] BALL IN PLAY
    Imran Shafiq runs → double.
    Runner scores from 3B.
  --- Now batting: Youssef Bennani ---
  [15 outs | 0-0 | 2B] BALL IN PLAY
    Youssef Bennani runs → single.
    Runner advances from 2B to 3B.
  [15 outs | 0-0 | 1B, 3B] JOKER INSERTION
    Dubai Air Force sends in joker Umar Latif for an extra plate appearance (joker #7).
  --- Now batting: Umar Latif ---
  [15 outs | 0-0 | 1B, 3B] HIT BY PITCH
    HBP — Umar Latif awarded 1B.
    Runner advances from 1B to 2B.
  --- Now batting: Ruturaj Khot ---
  [15 outs | 0-0 | 1B, 2B, 3B] BALL IN PLAY
    Ruturaj Khot runs → double.
    Runner scores from 3B.
    Runner at 2B thrown out.
    Runner scores from 1B.
  [16 outs | 0-0 | 2B] PITCHING CHANGE
    PITCHING CHANGE: Suresh Verma exits (8 BF this spell).
  --- Now batting: Oday Ghram ---
  [16 outs | 0-0 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [16 outs | 0-1 | 2B] FOUL
    Foul ball. Count: 0-2.
  [16 outs | 0-2 | 2B] FOUL
    Foul ball. Count: 0-2.
  [16 outs | 0-2 | 2B] STOLEN BASE ATTEMPT
    Runner caught stealing at 3B.
  [17 outs | 0-2 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Fadi Al-Saluli ---
  [18 outs | 0-0 | empty] BALL IN PLAY
    Fadi Al-Saluli runs → fly out.
    Fadi Al-Saluli is out.
  [19 outs | 0-0 | empty] DEFENSIVE SUB
    Mohd Shah replaces Goutam Chakraborty at C.
  --- Now batting: Naveen Mohmand ---
  [19 outs | 0-0 | empty] CALLED STRIKE
    Strike (called). Count: 0-1.
  [19 outs | 0-1 | empty] BALL
    Ball 1. Count: 1-1.
  [19 outs | 1-1 | empty] BALL
    Ball 2. Count: 2-1.
  [19 outs | 2-1 | empty] CALLED STRIKE
    Strike (called). Count: 2-2.
  [19 outs | 2-2 | empty] FOUL
    Foul ball. Count: 2-2.
  [19 outs | 2-2 | empty] FOUL
    Foul ball. Count: 2-2.
  [19 outs | 2-2 | empty] FOUL OUT
    Foul ball. Count: 0-0.
  --- Now batting: Mahmoud Sabry ---
  [20 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [20 outs | 1-0 | empty] BALL
    Ball 2. Count: 2-0.
  [20 outs | 2-0 | empty] BALL
    Ball 3. Count: 3-0.
  [20 outs | 3-0 | empty] FOUL
    Foul ball. Count: 3-1.
  [20 outs | 3-1 | empty] CALLED STRIKE
    Strike (called). Count: 3-2.
  [20 outs | 3-2 | empty] BALL IN PLAY
    Mahmoud Sabry runs → fielder's choice.
  --- Now batting: Shardul Soni ---
  [20 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [20 outs | 1-0 | 1B] BALL
    Ball 2. Count: 2-0.
  [20 outs | 2-0 | 1B] STOLEN BASE ATTEMPT
    Runner caught stealing at 2B.
  [21 outs | 2-0 | empty] BALL IN PLAY
    Shardul Soni runs → line out.
    Shardul Soni is out.
  --- Now batting: Bassam Sharif ---
  [22 outs | 0-0 | empty] BALL IN PLAY
    Bassam Sharif runs → fly out.
    Bassam Sharif is out.
  --- Now batting: Imran Shafiq ---
  [23 outs | 0-0 | empty] FOUL
    Foul ball. Count: 0-1.
  [23 outs | 0-1 | empty] BALL
    Ball 1. Count: 1-1.
  [23 outs | 1-1 | empty] BALL IN PLAY
    Imran Shafiq runs → error.
  --- Now batting: Youssef Bennani ---
  [23 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [23 outs | 1-0 | 1B] BALL
    Ball 2. Count: 2-0.
  [23 outs | 2-0 | 1B] FOUL
    Foul ball. Count: 2-1.
  [23 outs | 2-1 | 1B] BALL IN PLAY
    Youssef Bennani runs → line out.
    Youssef Bennani is out.
  --- Now batting: Ruturaj Khot ---
  [24 outs | 0-0 | 1B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [24 outs | 0-1 | 1B] BALL
    Ball 1. Count: 1-1.
  [24 outs | 1-1 | 1B] CALLED STRIKE
    Strike (called). Count: 1-2.
  [24 outs | 1-2 | 1B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Oday Ghram ---
  [25 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [25 outs | 1-0 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 1-1.
  [25 outs | 1-1 | 1B] FOUL
    Foul ball. Count: 1-2.
  [25 outs | 1-2 | 1B] BALL IN PLAY
    Oday Ghram runs → double.
    Runner scores from 1B.
  --- Now batting: Fadi Al-Saluli ---
  [25 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [25 outs | 1-0 | 2B] BALL
    Ball 2. Count: 2-0.
  [25 outs | 2-0 | 2B] FOUL
    Foul ball. Count: 2-1.
  [25 outs | 2-1 | 2B] CALLED STRIKE
    Strike (called). Count: 2-2.
  [25 outs | 2-2 | 2B] FOUL
    Foul ball. Count: 2-2.
  [25 outs | 2-2 | 2B] BALL
    Ball 3. Count: 3-2.
  [25 outs | 3-2 | 2B] BALL
    WALK — Fadi Al-Saluli awarded 1B.
  --- Now batting: Naveen Mohmand ---
  [25 outs | 0-0 | 1B, 2B] BALL
    Ball 1. Count: 1-0.
  [25 outs | 1-0 | 1B, 2B] BALL
    Ball 2. Count: 2-0.
  [25 outs | 2-0 | 1B, 2B] BALL
    Ball 3. Count: 3-0.
  [25 outs | 3-0 | 1B, 2B] BALL IN PLAY
    Naveen Mohmand runs → double.
    Runner advances from 2B to 3B.
    Runner scores from 1B.
  --- Now batting: Mahmoud Sabry ---
  [25 outs | 0-0 | 2B, 3B] FOUL
    Foul ball. Count: 0-1.
  [25 outs | 0-1 | 2B, 3B] BALL IN PLAY
    Mahmoud Sabry runs → fielder's choice.
    Runner at 3B thrown out.
  [26 outs | 0-0 | 1B, 2B] PITCHING CHANGE
    PITCHING CHANGE: Sunil Pokharel exits (13 BF this spell).
  --- Now batting: Shardul Soni ---
  [26 outs | 0-0 | 1B, 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [26 outs | 0-1 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [26 outs | 0-2 | 1B, 2B] FOUL
    Foul ball. Count: 0-2.
  [26 outs | 0-2 | 1B, 2B] FOUL
    Foul ball. Count: 0-2.
  [26 outs | 0-2 | 1B, 2B] FOUL OUT
    Foul ball. Count: 0-0.

  End of top half — Dubai Air Force: 13 run(s), 16 hit(s), 27 out(s) | Run rate: 0.481
  ============================================================
  HALFTIME
    Dubai Air Force: 13 run(s)
    Esfahan Imperials need 14 run(s) to win
    Required run rate: 0.519 R/out
  ============================================================

  ────────────────────────────────────────────────────────────
  BOTTOM HALF | Esfahan Imperials batting
  ────────────────────────────────────────────────────────────
  --- Now batting: Wael Yehia ---
  [0 outs | 0-0 | empty] CALLED STRIKE
    Strike (called). Count: 0-1.
  [0 outs | 0-1 | empty] FOUL
    Foul ball. Count: 0-2.
  [0 outs | 0-2 | empty] BALL IN PLAY
    Wael Yehia runs → double.
  --- Now batting: Mehmet Hamrobekov ---
  [0 outs | 0-0 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [0 outs | 0-1 | 2B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [0 outs | 0-2 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Talgat Al-Aghbari ---
  [1 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [1 outs | 1-0 | 2B] BALL IN PLAY
    Talgat Al-Aghbari runs → fly out.
    Talgat Al-Aghbari is out.
  --- Now batting: Niroshan Jayasuriya ---
  [2 outs | 0-0 | 2B] BALL IN PLAY
    Niroshan Jayasuriya runs → double.
    Runner advances from 2B to 3B.
  --- Now batting: Vihaan Khanna ---
  [2 outs | 0-0 | 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [2 outs | 1-0 | 2B, 3B] BALL
    Ball 2. Count: 2-0.
  [2 outs | 2-0 | 2B, 3B] BALL
    Ball 3. Count: 3-0.
  [2 outs | 3-0 | 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 3-1.
  [2 outs | 3-1 | 2B, 3B] FOUL
    Foul ball. Count: 3-2.
  [2 outs | 3-2 | 2B, 3B] BALL IN PLAY
    Vihaan Khanna runs → ground out.
    Vihaan Khanna is out.
  --- Now batting: Mohd Shah ---
  [3 outs | 0-0 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [3 outs | 0-1 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [3 outs | 0-2 | 2B, 3B] BALL
    Ball 1. Count: 1-2.
  [3 outs | 1-2 | 2B, 3B] BALL
    Ball 2. Count: 2-2.
  [3 outs | 2-2 | 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Zeeshan Bhatti ---
  [4 outs | 0-0 | 2B, 3B] FOUL
    Foul ball. Count: 0-1.
  [4 outs | 0-1 | 2B, 3B] BALL IN PLAY
    Zeeshan Bhatti runs → error.
    Runner at 2B thrown out.
  --- Now batting: Elkan Wahyudi ---
  [5 outs | 0-0 | 1B, 3B] BALL
    Ball 1. Count: 1-0.
  [5 outs | 1-0 | 1B, 3B] BALL
    Ball 2. Count: 2-0.
  [5 outs | 2-0 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 2-1.
  [5 outs | 2-1 | 1B, 3B] BALL
    Ball 3. Count: 3-1.
  [5 outs | 3-1 | 1B, 3B] BALL
    WALK — Elkan Wahyudi awarded 1B.
    Runner advances from 1B to 2B.
  --- Now batting: Catur Nugroho [P] ---
  [5 outs | 0-0 | 1B, 2B, 3B] SAC BUNT
    Cricket order flips (joker-free trip) — Catur Nugroho now leads off.
  [6 outs | 0-0 | 2B, 3B] JOKER INSERTION
    Esfahan Imperials sends in joker Mohun Sharma for an extra plate appearance (joker #1).
  --- Now batting: Mohun Sharma ---
  [6 outs | 0-0 | 2B, 3B] BALL IN PLAY
    Mohun Sharma takes a SECOND CHANCE at the plate.
    Hit credited (second chance). Total this AB: 1.
    Second chance — fresh 0-0 count.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
  [6 outs | 0-1 | 3B] BALL IN PLAY
    Mohun Sharma runs → single.
  [6 outs | 0-0 | 1B, 3B] JOKER INSERTION
    Esfahan Imperials sends in joker Tahir Butt for an extra plate appearance (joker #2).
  [6 outs | 0-0 | 1B, 3B] STOLEN BASE ATTEMPT
    Runner caught stealing at 2B.
  --- Now batting: Tahir Butt ---
  [7 outs | 0-0 | 3B] BALL
    Ball 1. Count: 1-0.
  [7 outs | 1-0 | 3B] FOUL
    Foul ball. Count: 1-1.
  [7 outs | 1-1 | 3B] BALL IN PLAY
    Tahir Butt runs → fielder's choice.
    Runner at 3B thrown out.
  [8 outs | 0-0 | 1B] JOKER INSERTION
    Esfahan Imperials sends in joker Berat Savaş for an extra plate appearance (joker #3).
  --- Now batting: Berat Savaş ---
  [8 outs | 0-0 | 1B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [8 outs | 0-1 | 1B] BALL
    Ball 1. Count: 1-1.
  [8 outs | 1-1 | 1B] BALL
    Ball 2. Count: 2-1.
  [8 outs | 2-1 | 1B] CALLED STRIKE
    Strike (called). Count: 2-2.
  [8 outs | 2-2 | 1B] FOUL
    Foul ball. Count: 2-2.
  [8 outs | 2-2 | 1B] FOUL
    Foul ball. Count: 2-2.
  [8 outs | 2-2 | 1B] FOUL OUT
    Foul ball. Count: 0-0.
  --- Now batting: Catur Nugroho [P] ---
  [9 outs | 0-0 | 1B] SAC BUNT
  --- Now batting: Elkan Wahyudi ---
  [9 outs | 0-0 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [9 outs | 0-1 | 1B, 2B] BALL
    Ball 1. Count: 1-1.
  [9 outs | 1-1 | 1B, 2B] STOLEN BASE ATTEMPT
    Stolen base — runner advances to 3B.
  [9 outs | 1-1 | 1B, 3B] BALL
    Ball 2. Count: 2-1.
  [9 outs | 2-1 | 1B, 3B] BALL IN PLAY
    Elkan Wahyudi runs → ground out.
    Elkan Wahyudi is out.
  --- Now batting: Zeeshan Bhatti ---
  [10 outs | 0-0 | 1B, 3B] BALL
    Ball 1. Count: 1-0.
  [10 outs | 1-0 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [10 outs | 1-1 | 1B, 3B] BALL IN PLAY
    Zeeshan Bhatti runs → ground out.
    Zeeshan Bhatti is out.
    Runner scores from 3B.
    Runner advances from 1B to 2B.
  --- Now batting: Mohd Shah ---
  [11 outs | 0-0 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [11 outs | 0-1 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [11 outs | 0-2 | 2B] BALL
    Ball 1. Count: 1-2.
  [11 outs | 1-2 | 2B] FOUL
    Foul ball. Count: 1-2.
  [11 outs | 1-2 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Vihaan Khanna ---
  [12 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [12 outs | 1-0 | 2B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [12 outs | 1-1 | 2B] CALLED STRIKE
    Strike (called). Count: 1-2.
  [12 outs | 1-2 | 2B] FOUL
    Foul ball. Count: 1-2.
  [12 outs | 1-2 | 2B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Niroshan Jayasuriya ---
  [13 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [13 outs | 1-0 | 2B] BALL
    Ball 2. Count: 2-0.
  [13 outs | 2-0 | 2B] BALL IN PLAY
    Niroshan Jayasuriya runs → fly out.
    Niroshan Jayasuriya is out.
  --- Now batting: Talgat Al-Aghbari ---
  [14 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [14 outs | 1-0 | 2B] BALL
    Ball 2. Count: 2-0.
  [14 outs | 2-0 | 2B] BALL
    Ball 3. Count: 3-0.
  [14 outs | 3-0 | 2B] BALL IN PLAY
    Talgat Al-Aghbari runs → line out.
    Talgat Al-Aghbari is out.
  --- Now batting: Mehmet Hamrobekov ---
  [15 outs | 0-0 | 2B] BALL IN PLAY
    Mehmet Hamrobekov runs → double play.
    Mehmet Hamrobekov is out.
    Runner at 2B thrown out.
  --- Now batting: Wael Yehia ---
  [17 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [17 outs | 1-0 | empty] CALLED STRIKE
    Strike (called). Count: 1-1.
  [17 outs | 1-1 | empty] BALL IN PLAY
    Wael Yehia runs → double.
  [17 outs | 0-0 | 2B] JOKER INSERTION
    Esfahan Imperials sends in joker Mohun Sharma for an extra plate appearance (joker #4).
  --- Now batting: Mohun Sharma ---
  [17 outs | 0-0 | 2B] FOUL
    Foul ball. Count: 0-1.
  [17 outs | 0-1 | 2B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [17 outs | 0-2 | 2B] BALL
    Ball 1. Count: 1-2.
  [17 outs | 1-2 | 2B] FOUL
    Foul ball. Count: 1-2.
  [17 outs | 1-2 | 2B] FOUL OUT
    Foul ball. Count: 0-0.
  --- Now batting: Catur Nugroho [P] ---
  [18 outs | 0-0 | 2B] BALL IN PLAY
    Catur Nugroho runs → double play.
    Catur Nugroho is out.
    Runner at 2B thrown out.
  --- Now batting: Elkan Wahyudi ---
  [20 outs | 0-0 | empty] FOUL
    Foul ball. Count: 0-1.
  [20 outs | 0-1 | empty] FOUL
    Foul ball. Count: 0-2.
  [20 outs | 0-2 | empty] FOUL OUT
    Foul ball. Count: 0-0.
  --- Now batting: Zeeshan Bhatti ---
  [21 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [21 outs | 1-0 | empty] SWINGING STRIKE
    Strike (swinging). Count: 1-1.
  [21 outs | 1-1 | empty] BALL IN PLAY
    Zeeshan Bhatti runs → single.
  [21 outs | 0-0 | 1B] PITCHING CHANGE
    PITCHING CHANGE: Janith Vaas exits (23 BF this spell).
  --- Now batting: Mohd Shah ---
  [21 outs | 0-0 | 1B] BALL IN PLAY
    Mohd Shah runs → ground out.
    Mohd Shah is out.
    Runner advances from 1B to 2B.
  --- Now batting: Vihaan Khanna ---
  [22 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [22 outs | 1-0 | 2B] BALL IN PLAY
    Vihaan Khanna runs → double play.
    Vihaan Khanna is out.
    Runner at 2B thrown out.
  --- Now batting: Niroshan Jayasuriya ---
  [24 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [24 outs | 1-0 | empty] BALL
    Ball 2. Count: 2-0.
  [24 outs | 2-0 | empty] BALL
    Ball 3. Count: 3-0.
  [24 outs | 3-0 | empty] BALL IN PLAY
    Niroshan Jayasuriya runs → fly out.
    Niroshan Jayasuriya is out.
  --- Now batting: Talgat Al-Aghbari ---
  [25 outs | 0-0 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [25 outs | 0-1 | empty] FOUL
    Foul ball. Count: 0-2.
  [25 outs | 0-2 | empty] BALL
    Ball 1. Count: 1-2.
  [25 outs | 1-2 | empty] BALL
    Ball 2. Count: 2-2.
  [25 outs | 2-2 | empty] BALL
    Ball 3. Count: 3-2.
  [25 outs | 3-2 | empty] BALL
    WALK — Talgat Al-Aghbari awarded 1B.
  --- Now batting: Mehmet Hamrobekov ---
  [25 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [25 outs | 1-0 | 1B] FOUL
    Foul ball. Count: 1-1.
  [25 outs | 1-1 | 1B] BALL
    Ball 2. Count: 2-1.
  [25 outs | 2-1 | 1B] FOUL
    Foul ball. Count: 2-2.
  [25 outs | 2-2 | 1B] FOUL OUT
    Foul ball. Count: 0-0.
  --- Now batting: Wael Yehia ---
  [26 outs | 0-0 | 1B] FOUL
    Foul ball. Count: 0-1.
  [26 outs | 0-1 | 1B] BALL
    Ball 1. Count: 1-1.
  [26 outs | 1-1 | 1B] BALL
    Ball 2. Count: 2-1.
  [26 outs | 2-1 | 1B] FOUL
    Foul ball. Count: 2-2.
  [26 outs | 2-2 | 1B] BALL IN PLAY
    Wael Yehia runs → single.
    Runner advances from 1B to 2B.
  [26 outs | 0-0 | 1B, 2B] JOKER INSERTION
    Esfahan Imperials sends in joker Tahir Butt for an extra plate appearance (joker #5).
  --- Now batting: Tahir Butt ---
  [26 outs | 0-0 | 1B, 2B] BALL IN PLAY
    Tahir Butt runs → fly out.
    ROBBED! Naveen Mohmand runs it down — a sure extra-base hit erased!
    Tahir Butt is out.

  End of bottom half — Esfahan Imperials: 3 run(s), 8 hit(s), 27 out(s) | Run rate: 0.111

  ============================================================
  GAME OVER: DUBAI AIR FORCE WIN 13–3
  ============================================================
  Final score: Dubai Air Force 13, Esfahan Imperials 3
  ============================================================
  LINE SCORE
                          1      R
  Dubai Air Force        13     13
  Esfahan Imperials       3      3

  ============================================================
  DUBAI AIR FORCE BATTING
  Player                PA   AB    R    H   2B   3B   HR    RBI   BB    K  HBP   2C  2C-R   MH
  ────────────────────────────────────────────────────────────────────────────────────────────────
  Janith Vaas             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Haoran Yang             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Víctor Rojas            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Oday Ghram              4    4    1    2    2    0    0     1    0    1    0    0     0    0
  Shardul Soni            4    4    1    1    0    0    0     0    0    0    0    0     0    0
  Rishabh Tandon          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Bassam Sharif           3    3    0    0    0    0    0     0    0    1    0    0     0    0
  Wafadar Karim           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Imran Shafiq            2    2    3    2    1    0    0     2    0    0    0    1     1    1
  Naveen Mohmand          4    4    1    2    2    0    0     1    0    0    0    0     0    0
  Umar Latif              3    1    2    1    0    0    0     0    1    0    1    0     0    0
  Baghdad Al-Saadi        2    1    2    1    1    0    0     1    1    0    0    0     0    0
  Kerem Al-Ghannam        2    2    1    1    1    0    0     2    0    0    0    0     0    0
  Phani Pai               0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ruturaj Khot            4    4    0    2    1    0    0     3    0    1    0    0     0    0
  Mahmoud Sabry           4    4    0    0    0    0    0     0    0    1    0    0     0    0
  Fadi Al-Saluli          4    3    1    2    1    0    0     2    1    0    0    0     0    0
  Ahmed Rashid            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Sai Chaudhary           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Rachid Bouazizi         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Mido Hamdi              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Inzamam Chishti         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Tarek Hakimi            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Halicharan Kahlon       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ramy Mahmoud            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Youssef Bennani         4    4    1    2    0    0    0     0    0    0    0    0     0    0
  Sagar Lamichhane        2    1    0    0    0    0    0     0    1    0    0    0     0    0
  Himanshu Randhawa       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ashish Kotak            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Mansoor Saifi           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Fareed Orakzai          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Aarav Chaudhary         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ravichandran Kulkarni    0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Pratik Dave             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Hariharan Reddy         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Zeeshan Babar           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Norman Zainal           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Samar Kumar             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Rahim Ahmad             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Mohamadou Salleh        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Babar Munir             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Mizan Islam             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Akash Cheema            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Sreesanth Natarajan     0    0    0    0    0    0    0     0    0    0    0    0     0    0
  ────────────────────────────────────────────────────────────────────────────────────────────────
  TOTALS                 42   37   13   16    9    0    0    12    4    4    1    1     1    1

  Pitcher                BF  OUT    H    R   BB    K  HBP
  ──────────────────────────────────────────────────────
  Janith Vaas            23   21    6    3    1    4    0
  Rahim Ahmad             7    6    1    0    1    0    0

  ============================================================
  ESFAHAN IMPERIALS BATTING
  Player                PA   AB    R    H   2B   3B   HR    RBI   BB    K  HBP   2C  2C-R   MH
  ────────────────────────────────────────────────────────────────────────────────────────────────
  Catur Nugroho           3    2    0    1    0    0    0     1    0    0    0    0     0    0
  Stephen Sharma          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kin Teoh                0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Umar Awan               0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Zeeshan Bhatti          3    3    1    1    0    0    0     1    0    0    0    0     0    0
  Wael Yehia              3    3    1    3    2    0    0     0    0    0    0    0     0    0
  Sandesh Mann            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Khalid Zafar            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Berat Savaş             1    1    0    0    0    0    0     0    0    0    0    0     0    0
  Tahir Butt              2    2    1    0    0    0    0     0    0    0    0    0     0    0
  Mohun Sharma            2    2    0    2    0    0    0     1    0    0    0    1     1    1
  Vihaan Khanna           3    3    0    0    0    0    0     0    0    1    0    0     0    0
  Fareed Janat            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Zahir Hassan            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Metecan Al-Shaikh       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Udanta Brar             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Krishnan Sivaraman      0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Towhid Karim            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Mehmet Hamrobekov       3    3    0    0    0    0    0     0    0    1    0    0     0    0
  Jubair Hossain          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Elkan Wahyudi           3    2    0    0    0    0    0     0    1    0    0    0     0    0
  Goutam Chakraborty      0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ajit Joshi              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Talgat Al-Aghbari       3    2    0    0    0    0    0     0    1    0    0    0     0    0
  Niroshan Jayasuriya     3    3    0    1    1    0    0     0    0    0    0    0     0    0
  Riddhi Dutta            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Sunil Pokharel          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Arnab Majumdar          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Hamza Niazi             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Suresh Verma            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Tarun Mittal            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Mehul Parikh            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Sharif Bhuiyan          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Yash Mishra             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ramiz Amani             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Aditya Sharma           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Sarfaraz Naqvi          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Sarthak Cheema          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Shoaib Bashir           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Hadi Permadi            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Shadab Ahmed            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Najib Ibrahimi          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Naser Latifi            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Mohd Shah               3    3    0    0    0    0    0     0    0    2    0    0     0    0
  ────────────────────────────────────────────────────────────────────────────────────────────────
  TOTALS                 32   29    3    8    3    0    0     3    2    4    0    1     1    1

  Pitcher                BF  OUT    H    R   BB    K  HBP
  ──────────────────────────────────────────────────────
  Catur Nugroho          13    9    6    3    1    2    0
  Hadi Permadi            7    3    2    4    2    0    0
  Suresh Verma            8    4    6    4    0    0    1
  Sunil Pokharel         13   10    2    2    1    2    0
  Arnab Majumdar          1    1    0    0    0    0    0

  ============================================================
  Run rate:  Dubai Air Force  0.481    Esfahan Imperials  0.111
  Second-Chance ABs:  Dubai Air Force  1    Esfahan Imperials  1
  IBB (Dubai Air Force): Sagar Lamichhane.
  Required run rate (Esfahan Imperials): 0.519 R/out (needed 14 runs in 27 outs)
  Powerplays: Esfahan Imperials — Jubair Hossain NF (O10-13, 1 PO)
  ============================================================
  ============================================================
  PARTNERSHIP LOG
  Batter 1              Batter 2                Runs  Half
  ──────────────────────────────────────────────────────────────────
  Sagar Lamichhane      Youssef Bennani            0  top
  Youssef Bennani       Ruturaj Khot               0  top
  Ruturaj Khot          Naveen Mohmand             0  top
  Naveen Mohmand        Mahmoud Sabry              1  top
  Mahmoud Sabry         Shardul Soni               0  top
  Shardul Soni          Fadi Al-Saluli             0  top
  Fadi Al-Saluli        Kerem Al-Ghannam           0  top
  Kerem Al-Ghannam      Bassam Sharif              0  top
  Bassam Sharif         Youssef Bennani            2  top
  Youssef Bennani       Ruturaj Khot               2  top
  Ruturaj Khot          Oday Ghram                 0  top
  Oday Ghram            Fadi Al-Saluli             2  top
  Fadi Al-Saluli        Mahmoud Sabry              0  top
  Mahmoud Sabry         Bassam Sharif              0  top
  Bassam Sharif         Youssef Bennani            4  top
  Youssef Bennani       Ruturaj Khot               0  top
  Ruturaj Khot          Oday Ghram                 0  top
  Oday Ghram            Fadi Al-Saluli             0  top
  Fadi Al-Saluli        Naveen Mohmand             0  top
  Naveen Mohmand        Mahmoud Sabry              0  top
  Mahmoud Sabry         Shardul Soni               0  top
  Shardul Soni          Bassam Sharif              0  top
  Bassam Sharif         Youssef Bennani            0  top
  Youssef Bennani       Ruturaj Khot               0  top
  Ruturaj Khot          Oday Ghram                 2  top
  Oday Ghram            Shardul Soni               0  top
  Mehmet Hamrobekov     Talgat Al-Aghbari          0  bottom
  Talgat Al-Aghbari     Vihaan Khanna              0  bottom
  Vihaan Khanna         Mohd Shah                  0  bottom
  Mohd Shah             Niroshan Jayasuriya        0  bottom
  Niroshan Jayasuriya   Catur Nugroho              1  bottom
  Catur Nugroho         Mohun Sharma               1  bottom
  Mohun Sharma          Elkan Wahyudi              0  bottom
  Elkan Wahyudi         Berat Savaş                0  bottom
  Berat Savaş           Elkan Wahyudi              0  bottom
  Elkan Wahyudi         Zeeshan Bhatti             1  bottom
  Zeeshan Bhatti        Mohd Shah                  0  bottom
  Mohd Shah             Vihaan Khanna              0  bottom
  Vihaan Khanna         Niroshan Jayasuriya        0  bottom
  Niroshan Jayasuriya   Talgat Al-Aghbari          0  bottom
  Talgat Al-Aghbari     Catur Nugroho              0  bottom
  Catur Nugroho         Mehmet Hamrobekov          0  bottom
  Mehmet Hamrobekov     Mohun Sharma               0  bottom
  Mohun Sharma          Wael Yehia                 0  bottom
  Wael Yehia            Catur Nugroho              0  bottom
  Catur Nugroho         Elkan Wahyudi              0  bottom
  Elkan Wahyudi         Mohd Shah                  0  bottom
  Mohd Shah             Zeeshan Bhatti             0  bottom
  Zeeshan Bhatti        Vihaan Khanna              0  bottom
  Vihaan Khanna         Niroshan Jayasuriya        0  bottom
  Niroshan Jayasuriya   Mehmet Hamrobekov          0  bottom
  Mehmet Hamrobekov     Tahir Butt                 0  bottom
  ──────────────────────────────────────────────────────────────────
  Total partnerships: 52  |  Avg runs/partnership: 0.31
  ============================================================
  PITCHER SPELL LOG
  Pitcher               Half         PA#   BF  OUT    R    H   BB    K  HBP
  ──────────────────────────────────────────────────────────────────────────
  Catur Nugroho         top            1   13    9     3     6     1     2     0
  Hadi Permadi          top           14    7    3     4     2     2     0     0
  Suresh Verma          top           21    8    4     4     6     0     0     1
  Sunil Pokharel        top           29   13   10     2     2     1     2     0
  Arnab Majumdar        top           42    1    1     0     0     0     0     0
  Janith Vaas           bottom         1   23   21     3     6     1     4     0
  Rahim Ahmad           bottom        26    7    6     0     1     1     0     0
  ──────────────────────────────────────────────────────────────────────────
  Total spells: 7


pbp_text:
  ────────────────────────────────────────────────────────────
  BOTTOM HALF | Hanoi Mercantile batting
  ────────────────────────────────────────────────────────────
  --- Now batting: Batkhuu Khoton ---
  [0 outs | 0-0 | empty] BALL IN PLAY
    Batkhuu Khoton runs → single.
  --- Now batting: Ekanit Kesarat ---
  [0 outs | 0-0 | 1B] FOUL
    Foul ball. Count: 0-1.
  [0 outs | 0-1 | 1B] FOUL
    Foul ball. Count: 0-2.
  [0 outs | 0-2 | 1B] FOUL OUT
    Foul ball. Count: 0-0.
  --- Now batting: Yasufumi Hayashi ---
  [1 outs | 0-0 | 1B] SAC BUNT
  --- Now batting: Joon-young Yeo ---
  [2 outs | 0-0 | 1B] BALL IN PLAY
    Joon-young Yeo runs → fly out.
    ROBBED! Cheng-hao Liu runs it down — a sure extra-base hit erased!
    Joon-young Yeo is out.
  --- Now batting: Izzat Tahir ---
  [3 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [3 outs | 1-0 | 1B] BALL
    Ball 2. Count: 2-0.
  [3 outs | 2-0 | 1B] FOUL
    Foul ball. Count: 2-1.
  [3 outs | 2-1 | 1B] BALL IN PLAY
    Izzat Tahir runs → line out.
    ROBBED! Yu-cheng Chang lays out for the diving grab — a hit turned into an out!
    Izzat Tahir is out.
  --- Now batting: Tae-yang Yang ---
  [4 outs | 0-0 | 1B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [4 outs | 0-1 | 1B] BALL IN PLAY
    Tae-yang Yang runs → ground out.
    Tae-yang Yang is out.
    Runner advances from 1B to 2B.
  --- Now batting: Asahi Murata ---
  [5 outs | 0-0 | 2B] FOUL
    Foul ball. Count: 0-1.
  [5 outs | 0-1 | 2B] BALL IN PLAY
    Asahi Murata runs → line out.
    Asahi Murata is out.
  --- Now batting: Kenji Higashiguchi ---
  [6 outs | 0-0 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [6 outs | 0-1 | 2B] BALL IN PLAY
    Kenji Higashiguchi runs → single.
    Runner advances from 2B to 3B.
  [6 outs | 0-0 | 1B, 3B] JOKER INSERTION
    Hanoi Mercantile sends in joker Min-ho Park for an extra plate appearance (joker #1).
  [6 outs | 0-0 | 1B, 3B] PINCH RUNNER
    Jin-su An pinch-runs for Kenji Higashiguchi at 1B.
  --- Now batting: Min-ho Park ---
  [6 outs | 0-0 | 1B, 3B] BALL
    Ball 1. Count: 1-0.
  [6 outs | 1-0 | 1B, 3B] STOLEN BASE ATTEMPT
    Stolen base — runner advances to 2B.
  [6 outs | 1-0 | 2B, 3B] BALL
    Ball 2. Count: 2-0.
  [6 outs | 2-0 | 2B, 3B] BALL
    Ball 3. Count: 3-0.
  [6 outs | 3-0 | 2B, 3B] BALL IN PLAY
    Min-ho Park runs → single.
    Runner scores from 2B.
  [6 outs | 0-0 | 1B, 3B] JOKER INSERTION
    Hanoi Mercantile sends in joker Yu-hsiang Chao for an extra plate appearance (joker #2).
  --- Now batting: Yu-hsiang Chao ---
  [6 outs | 0-0 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [6 outs | 0-1 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [6 outs | 0-2 | 1B, 3B] FOUL
    Foul ball. Count: 0-2.
  [6 outs | 0-2 | 1B, 3B] BALL IN PLAY
    Yu-hsiang Chao runs → single.
    Runner at 1B thrown out.
  [7 outs | 0-0 | 1B, 3B] JOKER INSERTION
    Hanoi Mercantile sends in joker Becker Washington for an extra plate appearance (joker #3).
  --- Now batting: Becker Washington ---
  [7 outs | 0-0 | 1B, 3B] SAC BUNT
  [7 outs | 0-0 | 1B, 2B] FOUL
    Foul ball. Count: 0-1.
  [7 outs | 0-1 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [7 outs | 0-2 | 1B, 2B] FOUL
    Foul ball. Count: 0-2.
  [7 outs | 0-2 | 1B, 2B] FOUL OUT
    Foul ball. Count: 0-0.
  [8 outs | 0-0 | 1B, 2B] STOLEN BASE ATTEMPT
    Stolen base — runner advances to 3B.
  --- Now batting: Batkhuu Khoton ---
  [8 outs | 0-0 | 1B, 3B] BALL IN PLAY
    Batkhuu Khoton runs → double.
    Runner scores from 3B.
    Runner scores from 1B.
  [8 outs | 0-0 | 2B] PITCHING CHANGE
    PITCHING CHANGE: Sebastian Washington exits (11 BF this spell).
  --- Now batting: Ekanit Kesarat ---
  [8 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [8 outs | 1-0 | 2B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [8 outs | 1-1 | 2B] BALL IN PLAY
    Ekanit Kesarat runs → ground out.
    Ekanit Kesarat is out.
  --- Now batting: Yasufumi Hayashi ---
  [9 outs | 0-0 | 2B] FOUL
    Foul ball. Count: 0-1.
  [9 outs | 0-1 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [9 outs | 0-2 | 2B] FOUL
    Foul ball. Count: 0-2.
  [9 outs | 0-2 | 2B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Joon-young Yeo ---
  [10 outs | 0-0 | 2B] FOUL
    Foul ball. Count: 0-1.
  [10 outs | 0-1 | 2B] BALL IN PLAY
    Joon-young Yeo runs → fly out.
    Joon-young Yeo is out.
  --- Now batting: Izzat Tahir ---
  [11 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [11 outs | 0-1 | 2B] FOUL
    Foul ball. Count: 0-2.
  [11 outs | 0-2 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Tae-yang Yang ---
  [12 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [12 outs | 0-1 | 2B] BALL
    Ball 1. Count: 1-1.
  [12 outs | 1-1 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 1-2.
  [12 outs | 1-2 | 2B] BALL
    Ball 2. Count: 2-2.
  [12 outs | 2-2 | 2B] BALL
    Ball 3. Count: 3-2.
  [12 outs | 3-2 | 2B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Asahi Murata ---
  [13 outs | 0-0 | 2B] INTENTIONAL WALK
    INTENTIONAL WALK — Asahi Murata given a free pass.
  --- Now batting: Jin-su An ---
  [13 outs | 0-0 | 1B, 2B] BALL
    Ball 1. Count: 1-0.
  [13 outs | 1-0 | 1B, 2B] SWINGING STRIKE
    Strike (swinging). Count: 1-1.
  [13 outs | 1-1 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 1-2.
  [13 outs | 1-2 | 1B, 2B] BALL
    Ball 2. Count: 2-2.
  [13 outs | 2-2 | 1B, 2B] FOUL
    Foul ball. Count: 2-2.
  [13 outs | 2-2 | 1B, 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  [14 outs | 0-0 | 1B, 2B] JOKER INSERTION
    Hanoi Mercantile sends in joker Min-ho Park for an extra plate appearance (joker #4).
  --- Now batting: Min-ho Park ---
  [14 outs | 0-0 | 1B, 2B] BALL
    Ball 1. Count: 1-0.
  [14 outs | 1-0 | 1B, 2B] FOUL
    Foul ball. Count: 1-1.
  [14 outs | 1-1 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 1-2.
  [14 outs | 1-2 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  [15 outs | 0-0 | 1B, 2B] JOKER INSERTION
    Hanoi Mercantile sends in joker Yu-hsiang Chao for an extra plate appearance (joker #5).
  [15 outs | 0-0 | 1B, 2B] PINCH RUNNER
    Jesse Russell pinch-runs for Asahi Murata at 1B.
  --- Now batting: Yu-hsiang Chao ---
  [15 outs | 0-0 | 1B, 2B] BALL
    Ball 1. Count: 1-0.
  [15 outs | 1-0 | 1B, 2B] BALL IN PLAY
    Yu-hsiang Chao runs → fielder's choice.
    Runner at 2B thrown out.
    Runner advances from 1B to 2B.
  [16 outs | 0-0 | 1B, 2B] JOKER INSERTION
    Hanoi Mercantile sends in joker Becker Washington for an extra plate appearance (joker #6).
  --- Now batting: Becker Washington ---
  [16 outs | 0-0 | 1B, 2B] FOUL
    Foul ball. Count: 0-1.
  [16 outs | 0-1 | 1B, 2B] BALL IN PLAY
    Becker Washington runs → double.
    Runner advances from 2B to 3B.
    Runner scores from 1B.
  --- Now batting: Ricardo Flores [P] ---
  [16 outs | 0-0 | 2B, 3B] INTENTIONAL WALK
    INTENTIONAL WALK — Ricardo Flores given a free pass.
  [16 outs | 0-0 | 1B, 2B, 3B] PINCH RUNNER
    Batchuluun Uitumen pinch-runs for Ricardo Flores at 1B.
  --- Now batting: Batkhuu Khoton ---
  [16 outs | 0-0 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [16 outs | 1-0 | 1B, 2B, 3B] BALL
    Ball 2. Count: 2-0.
  [16 outs | 2-0 | 1B, 2B, 3B] PICKOFF ATTEMPT
    Pickoff — runner out at 2B!
  [17 outs | 2-0 | 1B, 3B] STOLEN BASE ATTEMPT
    Stolen base — runner advances to 2B.
  [17 outs | 2-0 | 2B, 3B] BALL
    Ball 3. Count: 3-0.
  [17 outs | 3-0 | 2B, 3B] BALL
    WALK — Batkhuu Khoton awarded 1B.
  [17 outs | 0-0 | 1B, 2B, 3B] PINCH RUNNER
    Kiyoshi Miyagawa pinch-runs for Batkhuu Khoton at 1B.
  --- Now batting: Ekanit Kesarat ---
  [17 outs | 0-0 | 1B, 2B, 3B] BALL IN PLAY
    Ekanit Kesarat takes a SECOND CHANCE — but is OUT (2-strike contact or caught fly).
  [18 outs | 0-0 | 1B, 2B, 3B] PINCH HITTER
    Khaltmaa Ulaan pinch-hits for Yasufumi Hayashi.
  --- Now batting: Khaltmaa Ulaan ---
  [18 outs | 0-0 | 1B, 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [18 outs | 0-1 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [18 outs | 0-2 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-2.
  [18 outs | 1-2 | 1B, 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  [19 outs | 0-0 | 1B, 2B, 3B] DEFENSIVE SUB
    Cheng-hao Liu replaces Jong-ho Ha at RF.
  --- Now batting: Joon-young Yeo ---
  [19 outs | 0-0 | 1B, 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [19 outs | 0-1 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 0-2.
  [19 outs | 0-2 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-2.
  [19 outs | 1-2 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 1-2.
  [19 outs | 1-2 | 1B, 2B, 3B] BALL
    Ball 2. Count: 2-2.
  [19 outs | 2-2 | 1B, 2B, 3B] FOUL OUT
    Foul ball. Count: 0-0.
  [20 outs | 0-0 | 1B, 2B, 3B] PITCHING CHANGE
    PITCHING CHANGE: Sota Minokoshi exits (15 BF this spell).
  --- Now batting: Izzat Tahir ---
  [20 outs | 0-0 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [20 outs | 1-0 | 1B, 2B, 3B] BALL
    Ball 2. Count: 2-0.
  [20 outs | 2-0 | 1B, 2B, 3B] BALL
    Ball 3. Count: 3-0.
  [20 outs | 3-0 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 3-1.
  [20 outs | 3-1 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 3-2.
  [20 outs | 3-2 | 1B, 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Tae-yang Yang ---
  [21 outs | 0-0 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 0-1.
  [21 outs | 0-1 | 1B, 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [21 outs | 0-2 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  [22 outs | 0-0 | 1B, 2B, 3B] JOKER INSERTION
    Hanoi Mercantile sends in joker Min-ho Park for an extra plate appearance (joker #7).
  --- Now batting: Min-ho Park ---
  [22 outs | 0-0 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [22 outs | 0-1 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-1.
  [22 outs | 1-1 | 1B, 2B, 3B] BALL IN PLAY
    Min-ho Park runs → line out.
    ROBBED! Shozo Kitagawa lays out for the diving grab — a hit turned into an out!
    Min-ho Park is out.
  [23 outs | 0-0 | 1B, 2B, 3B] JOKER INSERTION
    Hanoi Mercantile sends in joker Yu-hsiang Chao for an extra plate appearance (joker #8).
  [23 outs | 0-0 | 1B, 2B, 3B] DEFENSIVE SUB
    Chee Lai replaces Santiago Aguinaldo at SS.
  --- Now batting: Yu-hsiang Chao ---
  [23 outs | 0-0 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [23 outs | 1-0 | 1B, 2B, 3B] BALL
    Ball 2. Count: 2-0.
  [23 outs | 2-0 | 1B, 2B, 3B] BALL
    Ball 3. Count: 3-0.
  [23 outs | 3-0 | 1B, 2B, 3B] BALL
    WALK — Yu-hsiang Chao awarded 1B.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  [23 outs | 0-0 | 1B, 2B, 3B] JOKER INSERTION
    Hanoi Mercantile sends in joker Becker Washington for an extra plate appearance (joker #9).
  --- Now batting: Becker Washington ---
  [23 outs | 0-0 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [23 outs | 1-0 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 1-1.
  [23 outs | 1-1 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 1-2.
  [23 outs | 1-2 | 1B, 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  [24 outs | 0-0 | 1B, 2B, 3B] PINCH HITTER
    Yūto Adachi pinch-hits for Jesse Russell.
  --- Now batting: Yūto Adachi ---
  [24 outs | 0-0 | 1B, 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [24 outs | 0-1 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-1.
  [24 outs | 1-1 | 1B, 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 1-2.
  [24 outs | 1-2 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 1-2.
  [24 outs | 1-2 | 1B, 2B, 3B] BALL
    Ball 2. Count: 2-2.
  [24 outs | 2-2 | 1B, 2B, 3B] BALL
    Ball 3. Count: 3-2.
  [24 outs | 3-2 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 3-2.
  [24 outs | 3-2 | 1B, 2B, 3B] BALL
    WALK — Yūto Adachi awarded 1B.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  [24 outs | 0-0 | 1B, 2B, 3B] PINCH RUNNER
    Peng Zhang pinch-runs for Yūto Adachi at 1B.
  --- Now batting: Jin-su An ---
  [24 outs | 0-0 | 1B, 2B, 3B] BALL IN PLAY
    Jin-su An takes a SECOND CHANCE at the plate.
    Hit credited (second chance). Total this AB: 1.
    Second chance — fresh 0-0 count.
    Runner at 3B thrown out.
    Runner scores from 2B.
    Runner scores from 1B.
  [25 outs | 0-1 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [25 outs | 0-2 | empty] FOUL
    Foul ball. Count: 0-2.
  [25 outs | 0-2 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Batchuluun Uitumen ---
  [26 outs | 0-0 | empty] CALLED STRIKE
    Strike (called). Count: 0-1.
  [26 outs | 0-1 | empty] FOUL
    Foul ball. Count: 0-2.
  [26 outs | 0-2 | empty] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.

  End of bottom half — Hanoi Mercantile: 8 run(s), 8 hit(s), 27 out(s) | Run rate: 0.296
  ============================================================
  HALFTIME
    Kimchaek Owls: 0 run(s)
    Hanoi Mercantile need 1 run(s) to win
    Required run rate: 0.037 R/out
  ============================================================

  ────────────────────────────────────────────────────────────
  TOP HALF | Kimchaek Owls batting
  ────────────────────────────────────────────────────────────
  --- Now batting: Cheng-hao Liu ---
  [0 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [0 outs | 1-0 | empty] BALL
    Ball 2. Count: 2-0.
  [0 outs | 2-0 | empty] BALL
    Ball 3. Count: 3-0.
  [0 outs | 3-0 | empty] BALL
    WALK — Cheng-hao Liu awarded 1B.
  --- Now batting: Yong-chol Yong ---
  [0 outs | 0-0 | 1B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [0 outs | 0-1 | 1B] FOUL
    Foul ball. Count: 0-2.
  [0 outs | 0-2 | 1B] FOUL
    Foul ball. Count: 0-2.
  [0 outs | 0-2 | 1B] BALL
    Ball 1. Count: 1-2.
  [0 outs | 1-2 | 1B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Boon Heong Oh ---
  [1 outs | 0-0 | 1B] FOUL
    Foul ball. Count: 0-1.
  [1 outs | 0-1 | 1B] BALL IN PLAY
    Boon Heong Oh runs → fly out.
    Boon Heong Oh is out.
  --- Now batting: Seiichiro Eguchi ---
  [2 outs | 0-0 | 1B] SAC BUNT
  --- Now batting: Shozo Kitagawa ---
  [2 outs | 0-0 | 1B, 2B] BALL IN PLAY
    Shozo Kitagawa runs → single.
    Runner scores from 2B.
    Runner at 1B thrown out.
  --- Now batting: Kotaro Makino ---
  [3 outs | 0-0 | 1B] BALL IN PLAY
    Kotaro Makino runs → double.
    Runner scores from 1B.
  --- Now batting: Yu-cheng Chang ---
  [3 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [3 outs | 0-1 | 2B] BALL
    Ball 1. Count: 1-1.
  [3 outs | 1-1 | 2B] FOUL
    Foul ball. Count: 1-2.
  [3 outs | 1-2 | 2B] BALL
    Ball 2. Count: 2-2.
  [3 outs | 2-2 | 2B] FOUL
    Foul ball. Count: 2-2.
  [3 outs | 2-2 | 2B] BALL
    Ball 3. Count: 3-2.
  [3 outs | 3-2 | 2B] BALL
    WALK — Yu-cheng Chang awarded 1B.
  [3 outs | 0-0 | 1B, 2B] JOKER INSERTION
    Kimchaek Owls sends in joker Daiya Akaho for an extra plate appearance (joker #1).
  --- Now batting: Daiya Akaho ---
  [3 outs | 0-0 | 1B, 2B] FOUL
    Foul ball. Count: 0-1.
  [3 outs | 0-1 | 1B, 2B] BALL IN PLAY
    Daiya Akaho runs → double.
    Runner scores from 2B.
    Runner scores from 1B.
  [3 outs | 0-0 | 2B] JOKER INSERTION
    Kimchaek Owls sends in joker Minato Komano for an extra plate appearance (joker #2).
  --- Now batting: Minato Komano ---
  [3 outs | 0-0 | 2B] HIT BY PITCH
    HBP — Minato Komano awarded 1B.
  [3 outs | 0-0 | 1B, 2B] JOKER INSERTION
    Kimchaek Owls sends in joker Egor Petrova for an extra plate appearance (joker #3).
  --- Now batting: Egor Petrova ---
  [3 outs | 0-0 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [3 outs | 0-1 | 1B, 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [3 outs | 0-2 | 1B, 2B] FOUL
    Foul ball. Count: 0-2.
  [3 outs | 0-2 | 1B, 2B] BALL
    Ball 1. Count: 1-2.
  [3 outs | 1-2 | 1B, 2B] BALL
    Ball 2. Count: 2-2.
  [3 outs | 2-2 | 1B, 2B] BALL IN PLAY
    Egor Petrova runs → single.
    Runner scores from 2B.
    Runner advances from 1B to 2B.
  [3 outs | 0-0 | 1B, 2B] PITCHING CHANGE
    PITCHING CHANGE: Ricardo Flores exits (9 BF this spell).
  --- Now batting: Chee Lai ---
  [3 outs | 0-0 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [3 outs | 0-1 | 1B, 2B] BALL IN PLAY
    Chee Lai runs → HOME RUN.
    Runner scores.
    Runner scores.
    Batter scores (HR).
  --- Now batting: Sebastian Washington [P] ---
  [3 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [3 outs | 1-0 | empty] FOUL
    Foul ball. Count: 1-1.
  [3 outs | 1-1 | empty] BALL
    Ball 2. Count: 2-1.
  [3 outs | 2-1 | empty] BALL IN PLAY
    Sebastian Washington runs → fly out.
    Sebastian Washington is out.
  --- Now batting: Cheng-hao Liu ---
  [4 outs | 0-0 | empty] BALL IN PLAY
    Cheng-hao Liu runs → single.
  --- Now batting: Yong-chol Yong ---
  [4 outs | 0-0 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [4 outs | 0-1 | 1B] STOLEN BASE ATTEMPT
    Stolen base — runner advances to 2B.
  [4 outs | 0-1 | 2B] FOUL
    Foul ball. Count: 0-2.
  [4 outs | 0-2 | 2B] FOUL
    Foul ball. Count: 0-2.
  [4 outs | 0-2 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Boon Heong Oh ---
  [5 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [5 outs | 1-0 | 2B] WILD PITCH
    Wild pitch — runners advance.
    Runner advances from 2B to 3B.
  [5 outs | 1-0 | 3B] BALL IN PLAY
    Boon Heong Oh runs → single.
    Runner scores from 3B.

  End of top half — Kimchaek Owls: 9 run(s), 8 hit(s), 5 out(s) | Run rate: 1.800

  ============================================================
  GAME OVER: KIMCHAEK OWLS WIN 9–8
  ============================================================
  Final score: Kimchaek Owls 9, Hanoi Mercantile 8
  ============================================================
  LINE SCORE
                          1      R
  Kimchaek Owls           9      9
  Hanoi Mercantile        8      8

  ============================================================
  KIMCHAEK OWLS BATTING
  Player                PA   AB    R    H   2B   3B   HR    RBI   BB    K  HBP   2C  2C-R   MH
  ────────────────────────────────────────────────────────────────────────────────────────────────
  Sebastian Washington    1    1    0    0    0    0    0     0    0    0    0    0     0    0
  Boon Heong Oh           2    2    0    1    0    0    0     1    0    0    0    0     0    0
  Kenichi Fukui           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Yong-chol Yong          2    2    0    0    0    0    0     0    0    2    0    0     0    0
  Yu-cheng Chang          1    0    1    0    0    0    0     0    1    0    0    0     0    0
  Jong-ho Ha              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Chien-fu Chen           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kotaro Makino           1    1    1    1    1    0    0     1    0    0    0    0     0    0
  Seiichiro Eguchi        1    1    0    1    0    0    0     0    0    0    0    0     0    0
  Daiya Akaho             1    1    1    1    1    0    0     2    0    0    0    0     0    0
  Egor Petrova            1    1    1    1    0    0    0     1    0    0    0    0     0    0
  Minato Komano           1    0    1    0    0    0    0     0    0    0    1    0     0    0
  Tzu-chiang Tsai         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Fakhrul Syed            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Miki Saito              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Chee Lai                1    1    1    1    0    0    1     3    0    0    0    0     0    0
  Otis Morganov           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Khuất Hưng              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Shozo Kitagawa          1    1    1    1    0    0    0     1    0    0    0    0     0    0
  Mao Onoda               0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Santiago Aguinaldo      0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Doug Hombrecherov       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Boy Ott                 0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kolya Cookov            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Khulan Sukhbaatar       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Seok-jin Ko             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Fajar Sukarno           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Cheng-hao Hsu           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Wei-lun Tsao            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Min-jun Gong            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Daizen Uesugi           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kyung-min Geum          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Yusei Shiraishi         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Hiroki Sawayanagi       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Vasanth Chandran        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kyung-min Chu           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Sota Minokoshi          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kenzo Osako             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Rizal Khairi            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  In-il Tong              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kenichi Kunieda         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Cheng-hao Liu           2    1    2    1    0    0    0     0    1    0    0    0     0    0
  Chia-ming Ko            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Bong-il Hwang           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  ────────────────────────────────────────────────────────────────────────────────────────────────
  TOTALS                 15   12    9    8    2    0    1     9    2    2    1    0     0    0

  Pitcher                BF  OUT    H    R   BB    K  HBP
  ──────────────────────────────────────────────────────
  Sebastian Washington   11    8    5    4    0    0    0
  Sota Minokoshi         15   12    1    1    3    6    0
  Cheng-hao Hsu           8    7    1    3    2    5    0

  ============================================================
  HANOI MERCANTILE BATTING
  Player                PA   AB    R    H   2B   3B   HR    RBI   BB    K  HBP   2C  2C-R   MH
  ────────────────────────────────────────────────────────────────────────────────────────────────
  Ricardo Flores          1    0    0    0    0    0    0     0    1    0    0    0     0    0
  Khaltmaa Ulaan          1    1    0    0    0    0    0     0    0    1    0    0     0    0
  Kenji Higashiguchi      1    1    0    1    0    0    0     0    0    0    0    0     0    0
  Izzat Tahir             3    3    0    0    0    0    0     0    0    2    0    0     0    0
  Jin-su An               2    2    1    1    0    0    0     1    0    2    0    1     1    0
  Amarjargal Sechen       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Yasufumi Hayashi        2    2    0    0    0    0    0     0    0    1    0    0     0    0
  Batkhuu Khoton          3    2    1    2    1    0    0     2    1    0    0    0     0    0
  Min-ho Park             3    3    0    1    0    0    0     1    0    1    0    0     0    0
  Yu-hsiang Chao          3    2    2    1    0    0    0     1    1    0    0    0     0    0
  Becker Washington       4    4    1    2    1    0    0     2    0    1    0    0     0    0
  Zhai Zheng              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  In-il O                 0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Khamtai Inthavong       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Tae-yang Yang           3    3    0    0    0    0    0     0    0    2    0    0     0    0
  Michio Morii            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ekanit Kesarat          3    3    0    0    0    0    0     0    0    0    0    0     0    0
  Asahi Murata            2    1    0    0    0    0    0     0    1    0    0    0     0    0
  Yūto Adachi             1    0    0    0    0    0    0     1    1    0    0    0     0    0
  Jesse Russell           0    0    1    0    0    0    0     0    0    0    0    0     0    0
  Batchuluun Uitumen      1    1    1    0    0    0    0     0    0    1    0    0     0    0
  Jhun Rabanal            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Peng Zhang              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Joon-young Yeo          3    3    0    0    0    0    0     0    0    0    0    0     0    0
  Ario Vikri              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Sang-min Pyon-Hwa       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Zae Modozin             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Crawford Manske         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Tatsuma Sanada          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Wen-pin Shen            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Leon Mosier             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Sosuke Ono              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kei Inamoto             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ha-jun Moon             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Chia-hao Liu            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Brian Falconi           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Mark Ijams              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Jui-chi Shih            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Tzu-wei Tai             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Yong-jin Song           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kiyoshi Miyagawa        0    0    1    0    0    0    0     0    0    0    0    0     0    0
  Hirotaka Kobayashi      0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ihor Konoplya           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  ────────────────────────────────────────────────────────────────────────────────────────────────
  TOTALS                 36   31    8    8    2    0    0     8    5   11    0    1     1    0

  Pitcher                BF  OUT    H    R   BB    K  HBP
  ──────────────────────────────────────────────────────
  Ricardo Flores          9    3    4    5    2    1    1
  Leon Mosier             5    2    3    4    0    1    0

  ============================================================
  Run rate:  Kimchaek Owls  0.333    Hanoi Mercantile  0.296
  Second-Chance ABs:  Kimchaek Owls  0    Hanoi Mercantile  1
  IBB (Hanoi Mercantile): Ricardo Flores; Asahi Murata.
  Required run rate (Hanoi Mercantile): 0.037 R/out (needed 1 runs in 27 outs)
  ============================================================
  ============================================================
  PARTNERSHIP LOG
  Batter 1              Batter 2                Runs  Half
  ──────────────────────────────────────────────────────────────────
  Ekanit Kesarat        Yasufumi Hayashi           0  bottom
  Yasufumi Hayashi      Joon-young Yeo             0  bottom
  Joon-young Yeo        Izzat Tahir                0  bottom
  Izzat Tahir           Tae-yang Yang              0  bottom
  Tae-yang Yang         Asahi Murata               0  bottom
  Asahi Murata          Min-ho Park                1  bottom
  Min-ho Park           Becker Washington          1  bottom
  Becker Washington     Ekanit Kesarat             2  bottom
  Ekanit Kesarat        Yasufumi Hayashi           0  bottom
  Yasufumi Hayashi      Joon-young Yeo             0  bottom
  Joon-young Yeo        Izzat Tahir                0  bottom
  Izzat Tahir           Tae-yang Yang              0  bottom
  Tae-yang Yang         Jin-su An                  0  bottom
  Jin-su An             Min-ho Park                0  bottom
  Min-ho Park           Batkhuu Khoton             0  bottom
  Batkhuu Khoton        Becker Washington          1  bottom
  Becker Washington     Ekanit Kesarat             0  bottom
  Ekanit Kesarat        Khaltmaa Ulaan             0  bottom
  Khaltmaa Ulaan        Joon-young Yeo             0  bottom
  Joon-young Yeo        Izzat Tahir                0  bottom
  Izzat Tahir           Tae-yang Yang              0  bottom
  Tae-yang Yang         Min-ho Park                0  bottom
  Min-ho Park           Becker Washington          1  bottom
  Becker Washington     Kiyoshi Miyagawa           2  bottom
  Kiyoshi Miyagawa      Jin-su An                  0  bottom
  Jin-su An             Batchuluun Uitumen         0  bottom
  Yong-chol Yong        Boon Heong Oh              0  top
  Boon Heong Oh         Seiichiro Eguchi           1  top
  Seiichiro Eguchi      Sebastian Washington       7  top
  Sebastian Washington  Yong-chol Yong             0  top
  ──────────────────────────────────────────────────────────────────
  Total partnerships: 30  |  Avg runs/partnership: 0.53
  ============================================================
  PITCHER SPELL LOG
  Pitcher               Half         PA#   BF  OUT    R    H   BB    K  HBP
  ──────────────────────────────────────────────────────────────────────────
  Sebastian Washington  bottom         1   11    8     4     5     0     0     0
  Sota Minokoshi        bottom        14   15   12     1     1     3     6     0
  Cheng-hao Hsu         bottom        29    8    7     3     1     2     5     0
  Ricardo Flores        top            1    9    3     5     4     2     1     1
  Leon Mosier           top           11    5    2     4     3     0     1     0
  ──────────────────────────────────────────────────────────────────────────
  Total spells: 5


pbp_text:
  ────────────────────────────────────────────────────────────
  BOTTOM HALF | Chennai Baseball Club batting
  ────────────────────────────────────────────────────────────
  --- Now batting: Nnamdi Aurier ---
  [0 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [0 outs | 1-0 | empty] BALL
    Ball 2. Count: 2-0.
  [0 outs | 2-0 | empty] FOUL
    Foul ball. Count: 2-1.
  [0 outs | 2-1 | empty] BALL IN PLAY
    Nnamdi Aurier runs → single.
  --- Now batting: Simon Aurier ---
  [0 outs | 0-0 | 1B] BALL IN PLAY
    Simon Aurier runs → fly out.
    Simon Aurier is out.
  --- Now batting: Wassim Bentaleb ---
  [1 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [1 outs | 1-0 | 1B] BALL
    Ball 2. Count: 2-0.
  [1 outs | 2-0 | 1B] BALL IN PLAY
    Wassim Bentaleb runs → single.
    Runner advances from 1B to 2B.
  --- Now batting: Mwaniki Wachira ---
  [1 outs | 0-0 | 1B, 2B] BALL IN PLAY
    Mwaniki Wachira runs → double play.
    Mwaniki Wachira is out.
    Runner at 1B thrown out.
  [3 outs | 0-0 | 2B] JOKER INSERTION
    Chennai Baseball Club sends in joker Laros Cruz for an extra plate appearance (joker #1).
  --- Now batting: Laros Cruz ---
  [3 outs | 0-0 | 2B] FOUL
    Foul ball. Count: 0-1.
  [3 outs | 0-1 | 2B] FOUL
    Foul ball. Count: 0-2.
  [3 outs | 0-2 | 2B] FOUL OUT
    Foul ball. Count: 0-0.
  [4 outs | 0-0 | 2B] JOKER INSERTION
    Chennai Baseball Club sends in joker Mustapha Toumi for an extra plate appearance (joker #2).
  --- Now batting: Mustapha Toumi ---
  [4 outs | 0-0 | 2B] BALL IN PLAY
    Mustapha Toumi runs → single.
    Runner advances from 2B to 3B.
  [4 outs | 0-0 | 1B, 3B] JOKER INSERTION
    Chennai Baseball Club sends in joker Benjaloud Ngamaleu for an extra plate appearance (joker #3).
  --- Now batting: Benjaloud Ngamaleu ---
  [4 outs | 0-0 | 1B, 3B] SAC BUNT
  [4 outs | 0-0 | 1B, 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [4 outs | 0-1 | 1B, 2B] BALL IN PLAY
    Benjaloud Ngamaleu runs → single.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  --- Now batting: Siriné Nchout ---
  [4 outs | 0-0 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 0-1.
  [4 outs | 0-1 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-1.
    Runner advances from 2B to 1B.
    Runner advances from 1B to 2B.
  [4 outs | 1-1 | 1B, 2B, 3B] BALL
    Ball 2. Count: 2-1.
    Runner advances from 2B to 1B.
    Runner advances from 1B to 2B.
  [4 outs | 2-1 | 1B, 2B, 3B] BALL
    Ball 3. Count: 3-1.
    Runner advances from 2B to 1B.
    Runner advances from 1B to 2B.
  [4 outs | 3-1 | 1B, 2B, 3B] BALL
    WALK — Siriné Nchout awarded 1B.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  [4 outs | 0-0 | 1B, 2B, 3B] PINCH RUNNER
    Karl Attah pinch-runs for Siriné Nchout at 1B.
  --- Now batting: Amayas Belhaj ---
  [4 outs | 0-0 | 1B, 2B, 3B] BALL IN PLAY
    Amayas Belhaj takes a SECOND CHANCE — but is OUT (2-strike contact or caught fly).
    Runner advances from 3B to 2B.
    Runner advances from 2B to 3B.
  --- Now batting: Sintayehu Tesfaye ---
  [5 outs | 0-0 | 1B, 2B, 3B] BALL IN PLAY
    Sintayehu Tesfaye runs → fly out.
    Sintayehu Tesfaye is out.
    Runner advances from 3B to 2B.
    Runner advances from 2B to 3B.
  --- Now batting: Tabraiz Botha ---
  [6 outs | 0-0 | 1B, 2B, 3B] SAC BUNT
  --- Now batting: Nnamdi Aurier ---
  [7 outs | 0-0 | 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [7 outs | 1-0 | 2B, 3B] BALL IN PLAY
    Nnamdi Aurier takes a SECOND CHANCE — but is OUT (2-strike contact or caught fly).
  --- Now batting: Simon Aurier ---
  [8 outs | 0-0 | 2B, 3B] BALL IN PLAY
    Simon Aurier takes a SECOND CHANCE — but is OUT (2-strike contact or caught fly).
    Runner at 3B thrown out.
    Runner advances from 2B to 3B.
  --- Now batting: Wassim Bentaleb ---
  [10 outs | 0-0 | 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [10 outs | 0-1 | 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [10 outs | 0-2 | 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Mwaniki Wachira ---
  [11 outs | 0-0 | 3B] BALL
    Ball 1. Count: 1-0.
  [11 outs | 1-0 | 3B] FOUL
    Foul ball. Count: 1-1.
  [11 outs | 1-1 | 3B] BALL
    Ball 2. Count: 2-1.
  [11 outs | 2-1 | 3B] FOUL
    Foul ball. Count: 2-2.
  [11 outs | 2-2 | 3B] FOUL OUT
    Foul ball. Count: 0-0.
  [12 outs | 0-0 | 3B] JOKER INSERTION
    Chennai Baseball Club sends in joker Laros Cruz for an extra plate appearance (joker #4).
  --- Now batting: Laros Cruz ---
  [12 outs | 0-0 | 3B] BALL IN PLAY
    Laros Cruz runs → fly out.
    Laros Cruz is out.
  [13 outs | 0-0 | 3B] JOKER INSERTION
    Chennai Baseball Club sends in joker Mustapha Toumi for an extra plate appearance (joker #5).
  --- Now batting: Mustapha Toumi ---
  [13 outs | 0-0 | 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [13 outs | 0-1 | 3B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [13 outs | 0-2 | 3B] BALL IN PLAY
    Mustapha Toumi runs → single.
  --- Now batting: Asrat Reshid [P] ---
  [13 outs | 0-0 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [13 outs | 0-1 | 1B, 3B] BALL IN PLAY
    Asrat Reshid runs → fly out.
    Asrat Reshid is out.
  [14 outs | 0-0 | 1B, 3B] JOKER INSERTION
    Chennai Baseball Club sends in joker Benjaloud Ngamaleu for an extra plate appearance (joker #6).
  --- Now batting: Benjaloud Ngamaleu ---
  [14 outs | 0-0 | 1B, 3B] BALL IN PLAY
    Benjaloud Ngamaleu takes a SECOND CHANCE — but is OUT (2-strike contact or caught fly).
    Runner at 3B thrown out.
    Runner advances from 1B to 2B.
  --- Now batting: Karl Attah ---
  [16 outs | 0-0 | 2B] FOUL
    Foul ball. Count: 0-1.
  [16 outs | 0-1 | 2B] BALL
    Ball 1. Count: 1-1.
  [16 outs | 1-1 | 2B] FOUL
    Foul ball. Count: 1-2.
  [16 outs | 1-2 | 2B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Amayas Belhaj ---
  [17 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [17 outs | 1-0 | 2B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [17 outs | 1-1 | 2B] BALL IN PLAY
    Amayas Belhaj runs → fly out.
    Amayas Belhaj is out.
  [18 outs | 0-0 | 2B] PHASE TRANSITION
    Chennai Baseball Club switches to its defensive lineup: Mengistu Reshid in for Wassim Bentaleb.
  --- Now batting: Sintayehu Tesfaye ---
  [18 outs | 0-0 | 2B] BALL IN PLAY
    Sintayehu Tesfaye runs → line out.
    Sintayehu Tesfaye is out.
  [19 outs | 0-0 | 2B] DEFENSIVE SUB
    Reeza Benkarth replaces Aiden van Wyk at 2B.
  --- Now batting: Tabraiz Botha ---
  [19 outs | 0-0 | 2B] FOUL
    Foul ball. Count: 0-1.
  [19 outs | 0-1 | 2B] FOUL
    Foul ball. Count: 0-2.
  [19 outs | 0-2 | 2B] BALL
    Ball 1. Count: 1-2.
  [19 outs | 1-2 | 2B] BALL
    Ball 2. Count: 2-2.
  [19 outs | 2-2 | 2B] BALL IN PLAY
    Tabraiz Botha runs → single.
    Runner advances from 2B to 3B.
  [19 outs | 0-0 | 1B, 3B] JOKER INSERTION
    Chennai Baseball Club sends in joker Laros Cruz for an extra plate appearance (joker #7).
  [19 outs | 0-0 | 1B, 3B] DEFENSIVE SWAP
    Karim Fathy comes in for Laros Cruz (defensive swap).
  --- Now batting: Laros Cruz ---
  [19 outs | 0-0 | 1B, 3B] FOUL
    Foul ball. Count: 0-1.
  [19 outs | 0-1 | 1B, 3B] BALL IN PLAY
    Laros Cruz runs → fielder's choice.
    Runner at 3B thrown out.
    Runner advances from 1B to 2B.
  [20 outs | 0-0 | 1B, 2B] JOKER INSERTION
    Chennai Baseball Club sends in joker Mustapha Toumi for an extra plate appearance (joker #8).
  [20 outs | 0-0 | 1B, 2B] DEFENSIVE SWAP
    Dickson Mbemba comes in for Mustapha Toumi (defensive swap).
  --- Now batting: Mustapha Toumi ---
  [20 outs | 0-0 | 1B, 2B] FOUL
    Foul ball. Count: 0-1.
  [20 outs | 0-1 | 1B, 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [20 outs | 0-2 | 1B, 2B] WILD PITCH
    Wild pitch — runners advance.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  [20 outs | 0-2 | 2B, 3B] BALL
    Ball 1. Count: 1-2.
  [20 outs | 1-2 | 2B, 3B] BALL
    Ball 2. Count: 2-2.
  [20 outs | 2-2 | 2B, 3B] BALL
    Ball 3. Count: 3-2.
  [20 outs | 3-2 | 2B, 3B] FOUL
    Foul ball. Count: 3-2.
  [20 outs | 3-2 | 2B, 3B] BALL IN PLAY
    Mustapha Toumi runs → line out.
    Mustapha Toumi is out.
  [21 outs | 0-0 | 2B, 3B] JOKER INSERTION
    Chennai Baseball Club sends in joker Benjaloud Ngamaleu for an extra plate appearance (joker #9).
  --- Now batting: Benjaloud Ngamaleu ---
  [21 outs | 0-0 | 2B, 3B] INTENTIONAL WALK
    INTENTIONAL WALK — Benjaloud Ngamaleu given a free pass.
  [21 outs | 0-0 | 1B, 2B, 3B] PINCH HITTER
    Hugh Khimji pinch-hits for Dickson Mbemba.
  [21 outs | 0-0 | 1B, 2B, 3B] PINCH RUNNER
    Thanduyise Buthelezi pinch-runs for Tabraiz Botha at 3B.
  --- Now batting: Hugh Khimji ---
  [21 outs | 0-0 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [21 outs | 0-1 | 1B, 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [21 outs | 0-2 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 0-2.
  [21 outs | 0-2 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 0-2.
  [21 outs | 0-2 | 1B, 2B, 3B] FOUL OUT
    Foul ball. Count: 0-0.
  [22 outs | 0-0 | 1B, 2B, 3B] PINCH RUNNER
    Surprise Yili pinch-runs for Thanduyise Buthelezi at 3B.
  --- Now batting: Simon Aurier ---
  [22 outs | 0-0 | 1B, 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [22 outs | 0-1 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-1.
  [22 outs | 1-1 | 1B, 2B, 3B] BALL
    Ball 2. Count: 2-1.
  [22 outs | 2-1 | 1B, 2B, 3B] BALL
    Ball 3. Count: 3-1.
  [22 outs | 3-1 | 1B, 2B, 3B] BALL
    WALK — Simon Aurier awarded 1B.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  [22 outs | 0-0 | 1B, 2B, 3B] PINCH RUNNER
    Walid Toumi pinch-runs for Simon Aurier at 1B.
  --- Now batting: Mengistu Reshid ---
  [22 outs | 0-0 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [22 outs | 1-0 | 1B, 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 1-1.
  [22 outs | 1-1 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 1-2.
  [22 outs | 1-2 | 1B, 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  [23 outs | 0-0 | 1B, 2B, 3B] PINCH RUNNER
    Fran Mitchell pinch-runs for Walid Toumi at 1B.
  --- Now batting: Mwaniki Wachira ---
  [23 outs | 0-0 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [23 outs | 1-0 | 1B, 2B, 3B] BALL
    Ball 2. Count: 2-0.
  [23 outs | 2-0 | 1B, 2B, 3B] BALL
    Ball 3. Count: 3-0.
  [23 outs | 3-0 | 1B, 2B, 3B] BALL IN PLAY
    Mwaniki Wachira takes a SECOND CHANCE — but is OUT (2-strike contact or caught fly).
    Runner at 2B thrown out.
    Runner advances from 1B to 2B.
  --- Now batting: Asrat Reshid [P] ---
  [25 outs | 0-0 | 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [25 outs | 0-1 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [25 outs | 0-2 | 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Karl Attah ---
  [26 outs | 0-0 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [26 outs | 0-1 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [26 outs | 0-2 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.

  End of bottom half — Chennai Baseball Club: 4 run(s), 7 hit(s), 27 out(s) | Run rate: 0.148
  ============================================================
  HALFTIME
    Žilina Sharks: 0 run(s)
    Chennai Baseball Club need 1 run(s) to win
    Required run rate: 0.037 R/out
  ============================================================

  ────────────────────────────────────────────────────────────
  TOP HALF | Žilina Sharks batting
  ────────────────────────────────────────────────────────────
  --- Now batting: Benjamin Maledon ---
  [0 outs | 0-0 | empty] FOUL
    Foul ball. Count: 0-1.
  [0 outs | 0-1 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [0 outs | 0-2 | empty] BALL IN PLAY
    Benjamin Maledon runs → single.
  --- Now batting: Bamba Biteghé ---
  [0 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [0 outs | 1-0 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 1-1.
  [0 outs | 1-1 | 1B] FOUL
    Foul ball. Count: 1-2.
  [0 outs | 1-2 | 1B] FOUL
    Foul ball. Count: 1-2.
  [0 outs | 1-2 | 1B] BALL
    Ball 2. Count: 2-2.
  [0 outs | 2-2 | 1B] BALL
    Ball 3. Count: 3-2.
  [0 outs | 3-2 | 1B] BALL
    WALK — Bamba Biteghé awarded 1B.
    Runner advances from 1B to 2B.
  --- Now batting: Azubuike Nikiema ---
  [0 outs | 0-0 | 1B, 2B] BALL IN PLAY
    Azubuike Nikiema runs → line out.
    Azubuike Nikiema is out.
  --- Now batting: Reeza Benkarth ---
  [1 outs | 0-0 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [1 outs | 0-1 | 1B, 2B] BALL
    Ball 1. Count: 1-1.
  [1 outs | 1-1 | 1B, 2B] SWINGING STRIKE
    Strike (swinging). Count: 1-2.
  [1 outs | 1-2 | 1B, 2B] BALL IN PLAY
    Reeza Benkarth runs → ground out.
    Reeza Benkarth is out.
  --- Now batting: Christopher Bahoken [P] ---
  [2 outs | 0-0 | 1B, 2B] SAC BUNT
  --- Now batting: Sintayehu Kassa ---
  [3 outs | 0-0 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [3 outs | 0-1 | 2B, 3B] BALL IN PLAY
    Sintayehu Kassa runs → ground out.
    Sintayehu Kassa is out.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
  --- Now batting: Dhiya Malien ---
  [4 outs | 0-0 | 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [4 outs | 0-1 | 3B] BALL
    Ball 1. Count: 1-1.
  [4 outs | 1-1 | 3B] CALLED STRIKE
    Strike (called). Count: 1-2.
  [4 outs | 1-2 | 3B] BALL
    Ball 2. Count: 2-2.
  [4 outs | 2-2 | 3B] BALL
    Ball 3. Count: 3-2.
  [4 outs | 3-2 | 3B] BALL IN PLAY
    Dhiya Malien runs → double play.
    Dhiya Malien is out.
    Runner at 3B thrown out.
  --- Now batting: Abel Bogale ---
  [6 outs | 0-0 | empty] FOUL
    Foul ball. Count: 0-1.
  [6 outs | 0-1 | empty] BALL IN PLAY
    Abel Bogale runs → single.
  --- Now batting: Naina Guérin ---
  [6 outs | 0-0 | 1B] BALL IN PLAY
    Naina Guérin runs → double.
    Runner scores from 1B.
    Cricket order flips (joker-free trip) — Naina Guérin now leads off.
  [6 outs | 0-0 | 2B] PITCHING CHANGE
    PITCHING CHANGE: Asrat Reshid exits (8 BF this spell).
  [6 outs | 0-0 | 2B] WILD PITCH
    Wild pitch — runners advance.
    Runner advances from 2B to 3B.
  [6 outs | 0-0 | 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [6 outs | 0-1 | 3B] BALL IN PLAY
    Naina Guérin runs → fielder's choice.
    Runner at 3B thrown out.
  [7 outs | 0-0 | 1B] STOLEN BASE ATTEMPT
    Stolen base — runner advances to 2B.
  --- Now batting: Abel Bogale ---
  [7 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [7 outs | 0-1 | 2B] BALL IN PLAY
    Abel Bogale runs → single.
    Runner scores from 2B.
  --- Now batting: Dhiya Malien ---
  [7 outs | 0-0 | 1B] FOUL
    Foul ball. Count: 0-1.
  [7 outs | 0-1 | 1B] FOUL
    Foul ball. Count: 0-2.
  [7 outs | 0-2 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Sintayehu Kassa ---
  [8 outs | 0-0 | 1B] BALL IN PLAY
    Sintayehu Kassa runs → ground out.
    Sintayehu Kassa is out.
    Runner advances from 1B to 2B.
  [9 outs | 0-0 | 2B] JOKER INSERTION
    Žilina Sharks sends in joker Samuel Sunzu for an extra plate appearance (joker #1).
  --- Now batting: Samuel Sunzu ---
  [9 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [9 outs | 0-1 | 2B] BALL IN PLAY
    Samuel Sunzu runs → double.
    Runner scores from 2B.
  [9 outs | 0-0 | 2B] PITCHING CHANGE
    PITCHING CHANGE: Yihun Sowah exits (5 BF this spell).
  [9 outs | 0-0 | 2B] JOKER INSERTION
    Žilina Sharks sends in joker Kudakwashe Nouma for an extra plate appearance (joker #2).
  --- Now batting: Kudakwashe Nouma ---
  [9 outs | 0-0 | 2B] INTENTIONAL WALK
    INTENTIONAL WALK — Kudakwashe Nouma given a free pass.
  [9 outs | 0-0 | 1B, 2B] JOKER INSERTION
    Žilina Sharks sends in joker Alemayehu Adane for an extra plate appearance (joker #3).
  --- Now batting: Alemayehu Adane ---
  [9 outs | 0-0 | 1B, 2B] BALL
    Ball 1. Count: 1-0.
  [9 outs | 1-0 | 1B, 2B] FOUL
    Foul ball. Count: 1-1.
  [9 outs | 1-1 | 1B, 2B] BALL IN PLAY
    Alemayehu Adane runs → HOME RUN.
    Runner scores.
    Runner scores.
    Batter scores (HR).

  End of top half — Žilina Sharks: 7 run(s), 6 hit(s), 9 out(s) | Run rate: 0.778

  ============================================================
  GAME OVER: ŽILINA SHARKS WIN 7–4
  ============================================================
  Final score: Žilina Sharks 7, Chennai Baseball Club 4
  ============================================================
  LINE SCORE
                          1      R
  Žilina Sharks           7      7
  Chennai Baseball Club      4      4

  ============================================================
  ŽILINA SHARKS BATTING
  Player                PA   AB    R    H   2B   3B   HR    RBI   BB    K  HBP   2C  2C-R   MH
  ────────────────────────────────────────────────────────────────────────────────────────────────
  Christopher Bahoken     1    0    0    0    0    0    0     0    0    0    0    0     0    0
  Naina Guérin            2    2    1    1    1    0    0     1    0    0    0    0     0    0
  Bamba Biteghé           1    0    0    0    0    0    0     0    1    0    0    0     0    0
  João Silva              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Azubuike Nikiema        1    1    0    0    0    0    0     0    0    0    0    0     0    0
  Benjamin Maledon        1    1    1    1    0    0    0     0    0    0    0    0     0    0
  Tarryn Mubanga          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ben Boucher             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Dhiya Malien            2    2    0    0    0    0    0     0    0    1    0    0     0    0
  Kudakwashe Nouma        1    0    1    0    0    0    0     0    1    0    0    0     0    0
  Samuel Sunzu            1    1    1    1    1    0    0     1    0    0    0    0     0    0
  Alemayehu Adane         1    1    1    1    0    0    1     3    0    0    0    0     0    0
  Sintayehu Kassa         2    2    0    0    0    0    0     1    0    0    0    0     0    0
  Efe Johnson             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Anis Mansouri           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Steven Maharaj          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Aiden van Wyk           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Tyreese Le Guen         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Toni Mensah             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Mudathir Bukari         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Mouhammad Plumptre      0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Reeza Benkarth          1    1    0    0    0    0    0     0    0    0    0    0     0    0
  Percy Hlongwane         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Elias Mkhwanazi         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Felipe Andrade          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Abel Bogale             2    2    2    2    0    0    0     1    0    0    0    0     0    0
  Miloš Siby              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Esteban Essien          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Rayshaun Khumalo        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Jone Carvalho           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Shimeket Teferi         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Lance Wilson            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Scott Davis             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Fousseni Djoumoi        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Aymen Belkacem          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Walid Mahrez            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Valdelício Silva        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Tó Makuza               0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Aaron Tutu              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Lourens van Zyl         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Jean Razanajatovo       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Hendrik Kruger          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Yahya Chakraborty       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Olisa Nuamah            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Bernard Shittu          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  ────────────────────────────────────────────────────────────────────────────────────────────────
  TOTALS                 16   13    7    6    2    0    1     7    2    1    0    0     0    0

  Pitcher                BF  OUT    H    R   BB    K  HBP
  ──────────────────────────────────────────────────────
  Christopher Bahoken    31   27    6    4    3    5    0

  ============================================================
  CHENNAI BASEBALL CLUB BATTING
  Player                PA   AB    R    H   2B   3B   HR    RBI   BB    K  HBP   2C  2C-R   MH
  ────────────────────────────────────────────────────────────────────────────────────────────────
  Asrat Reshid            2    2    0    0    0    0    0     0    0    1    0    0     0    0
  Tabraiz Botha           2    1    0    1    0    0    0     1    0    0    0    0     0    0
  Wassim Bentaleb         2    2    0    1    0    0    0     0    0    1    0    0     0    0
  Amayas Belhaj           2    2    0    0    0    0    0     0    0    0    0    0     0    0
  Ebrima Kgatlana         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Karl Attah              2    2    0    0    0    0    0     0    0    2    0    0     0    0
  Zira Thuram             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Mengistu Reshid         1    1    0    0    0    0    0     0    0    1    0    0     0    0
  Mustapha Toumi          3    3    1    2    0    0    0     0    0    0    0    0     0    0
  Benjaloud Ngamaleu      4    3    1    2    0    0    0     1    1    0    0    0     0    0
  Laros Cruz              3    3    0    0    0    0    0     0    0    0    0    0     0    0
  Simon Aurier            3    2    0    0    0    0    0     1    1    0    0    0     0    0
  Walid Toumi             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Siriné Nchout           1    0    0    0    0    0    0     1    1    0    0    0     0    0
  Hugh Khimji             1    1    0    0    0    0    0     0    0    0    0    0     0    0
  Christian Ngadeu-Ngadjui    0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Hardus Chetty           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Mwaniki Wachira         3    3    0    0    0    0    0     0    0    0    0    0     0    0
  Karim Fathy             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Itumeleng Ben Boina     0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Dickson Mbemba          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Surprise Yili           0    0    1    0    0    0    0     0    0    0    0    0     0    0
  Thanduyise Buthelezi    0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Nnamdi Aurier           2    2    1    1    0    0    0     0    0    0    0    0     0    0
  Sintayehu Tesfaye       2    2    0    0    0    0    0     0    0    0    0    0     0    0
  Badou Ngadeu-Ngadjui    0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Haile Megersa           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Collin Darko            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kialonda Nkoudou        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Meles Bekele            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Jérémy Mahinmi          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Mehdi Feghouli          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Galal Marei             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Hany Shawky             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Yihun Sowah             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Hassane Mordi           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kamaldeen Parreira      0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Jean Shitembi           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Denzil Venter           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Tafara Legesse          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kobus van Zyl           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Chetan Roy              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Fran Mitchell           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Abdallah Jobe           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  ────────────────────────────────────────────────────────────────────────────────────────────────
  TOTALS                 33   29    4    7    0    0    0     4    3    5    0    0     0    0

  Pitcher                BF  OUT    H    R   BB    K  HBP
  ──────────────────────────────────────────────────────
  Asrat Reshid            8    6    3    2    1    0    0
  Yihun Sowah             5    3    2    2    0    1    0
  Hany Shawky             2    0    1    3    1    0    0

  ============================================================
  Run rate:  Žilina Sharks  0.259    Chennai Baseball Club  0.148
  Second-Chance ABs:  Žilina Sharks  0    Chennai Baseball Club  0
  IBB (Žilina Sharks): Kudakwashe Nouma.
  IBB (Chennai Baseball Club): Benjaloud Ngamaleu.
  Required run rate (Chennai Baseball Club): 0.037 R/out (needed 1 runs in 27 outs)
  Powerplays: Žilina Sharks — Efe Johnson NF (O13-16, 1 PO), Chennai Baseball Club — Christian Ngadeu-Ngadjui NF (O10-10)
  ============================================================
  ============================================================
  PARTNERSHIP LOG
  Batter 1              Batter 2                Runs  Half
  ──────────────────────────────────────────────────────────────────
  Simon Aurier          Wassim Bentaleb            0  bottom
  Wassim Bentaleb       Mwaniki Wachira            0  bottom
  Mwaniki Wachira       Laros Cruz                 0  bottom
  Laros Cruz            Amayas Belhaj              2  bottom
  Amayas Belhaj         Sintayehu Tesfaye          0  bottom
  Sintayehu Tesfaye     Tabraiz Botha              1  bottom
  Tabraiz Botha         Nnamdi Aurier              0  bottom
  Nnamdi Aurier         Benjaloud Ngamaleu         0  bottom
  Benjaloud Ngamaleu    Simon Aurier               0  bottom
  Simon Aurier          Wassim Bentaleb            0  bottom
  Wassim Bentaleb       Mwaniki Wachira            0  bottom
  Mwaniki Wachira       Laros Cruz                 0  bottom
  Laros Cruz            Asrat Reshid               0  bottom
  Asrat Reshid          Karl Attah                 0  bottom
  Karl Attah            Benjaloud Ngamaleu         0  bottom
  Benjaloud Ngamaleu    Karl Attah                 0  bottom
  Karl Attah            Amayas Belhaj              0  bottom
  Amayas Belhaj         Sintayehu Tesfaye          0  bottom
  Sintayehu Tesfaye     Mustapha Toumi             0  bottom
  Mustapha Toumi        Mustapha Toumi             0  bottom
  Mustapha Toumi        Hugh Khimji                0  bottom
  Hugh Khimji           Mengistu Reshid            1  bottom
  Mengistu Reshid       Benjaloud Ngamaleu         0  bottom
  Benjaloud Ngamaleu    Mwaniki Wachira            0  bottom
  Mwaniki Wachira       Asrat Reshid               0  bottom
  Asrat Reshid          Karl Attah                 0  bottom
  Azubuike Nikiema      Reeza Benkarth             0  top
  Reeza Benkarth        Christopher Bahoken        0  top
  Christopher Bahoken   Sintayehu Kassa            1  top
  Sintayehu Kassa       Bamba Biteghé              0  top
  Bamba Biteghé         Dhiya Malien               0  top
  Dhiya Malien          Naina Guérin               1  top
  Naina Guérin          Dhiya Malien               1  top
  Dhiya Malien          Sintayehu Kassa            0  top
  ──────────────────────────────────────────────────────────────────
  Total partnerships: 34  |  Avg runs/partnership: 0.21
  ============================================================
  PITCHER SPELL LOG
  Pitcher               Half         PA#   BF  OUT    R    H   BB    K  HBP
  ──────────────────────────────────────────────────────────────────────────
  Christopher Bahoken   bottom         1   31   27     4     6     3     5     0
  Asrat Reshid          top            1    8    6     2     3     1     0     0
  Yihun Sowah           top           10    5    3     2     2     0     1     0
  Hany Shawky           top           15    2    0     3     1     1     0     0
  ──────────────────────────────────────────────────────────────────────────
  Total spells: 4


pbp_text:
  ────────────────────────────────────────────────────────────
  TOP HALF | Olgii Foundrymen batting
  ────────────────────────────────────────────────────────────
  --- Now batting: Leon Cowell ---
  [0 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [0 outs | 1-0 | empty] BALL
    Ball 2. Count: 2-0.
  [0 outs | 2-0 | empty] BALL
    Ball 3. Count: 3-0.
  [0 outs | 3-0 | empty] CALLED STRIKE
    Strike (called). Count: 3-1.
  [0 outs | 3-1 | empty] BALL IN PLAY
    Leon Cowell runs → fly out.
    Leon Cowell is out.
  --- Now batting: Tsung-han Su ---
  [1 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [1 outs | 1-0 | empty] FOUL
    Foul ball. Count: 1-1.
  [1 outs | 1-1 | empty] BALL
    Ball 2. Count: 2-1.
  [1 outs | 2-1 | empty] BALL IN PLAY
    Tsung-han Su runs → ground out.
    Tsung-han Su is out.
  --- Now batting: Carlo Acosta ---
  [2 outs | 0-0 | empty] BALL IN PLAY
    Carlo Acosta runs → single.
  --- Now batting: Chol-il Ryu ---
  [2 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [2 outs | 1-0 | 1B] BALL IN PLAY
    Chol-il Ryu runs → double.
    Runner scores from 1B.
  --- Now batting: Jun-ho Seon ---
  [2 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [2 outs | 1-0 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 1-1.
  [2 outs | 1-1 | 2B] HIT BY PITCH
    HBP — Jun-ho Seon awarded 1B.
  --- Now batting: Tsogtbayar Nasanjargal ---
  [2 outs | 0-0 | 1B, 2B] BALL
    Ball 1. Count: 1-0.
  [2 outs | 1-0 | 1B, 2B] BALL IN PLAY
    Tsogtbayar Nasanjargal runs → double.
    Runner scores from 2B.
    Runner scores from 1B.
  --- Now batting: Ario Tjahyadi ---
  [2 outs | 0-0 | 2B] BALL IN PLAY
    Ario Tjahyadi runs → fly out.
    Ario Tjahyadi is out.
  [3 outs | 0-0 | 2B] JOKER INSERTION
    Olgii Foundrymen sends in joker Yusof Mustafa for an extra plate appearance (joker #1).
  --- Now batting: Yusof Mustafa ---
  [3 outs | 0-0 | 2B] BALL IN PLAY
    Yusof Mustafa runs → double.
    Runner scores from 2B.
  [3 outs | 0-0 | 2B] JOKER INSERTION
    Olgii Foundrymen sends in joker Alexander Washington for an extra plate appearance (joker #2).
  --- Now batting: Alexander Washington ---
  [3 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [3 outs | 1-0 | 2B] BALL
    Ball 2. Count: 2-0.
  [3 outs | 2-0 | 2B] CALLED STRIKE
    Strike (called). Count: 2-1.
  [3 outs | 2-1 | 2B] BALL
    Ball 3. Count: 3-1.
  [3 outs | 3-1 | 2B] FOUL
    Foul ball. Count: 3-2.
  [3 outs | 3-2 | 2B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  [4 outs | 0-0 | 2B] JOKER INSERTION
    Olgii Foundrymen sends in joker Bayanmunkh Tsogtbaatar for an extra plate appearance (joker #3).
  --- Now batting: Bayanmunkh Tsogtbaatar ---
  [4 outs | 0-0 | 2B] BALL IN PLAY
    Bayanmunkh Tsogtbaatar runs → fly out.
    Bayanmunkh Tsogtbaatar is out.
  --- Now batting: Jun-seok Pi ---
  [5 outs | 0-0 | 2B] BALL IN PLAY
    Jun-seok Pi runs → fly out.
    Jun-seok Pi is out.
  [6 outs | 0-0 | 2B] STOLEN BASE ATTEMPT
    Stolen base — runner advances to 3B.
  --- Now batting: Dean Barker [P] ---
  [6 outs | 0-0 | 3B] FOUL
    Foul ball. Count: 0-1.
  [6 outs | 0-1 | 3B] FOUL
    Foul ball. Count: 0-2.
  [6 outs | 0-2 | 3B] BALL IN PLAY
    Dean Barker runs → fly out.
    Dean Barker is out.
    Runner scores from 3B.
  --- Now batting: Leon Cowell ---
  [7 outs | 0-0 | empty] FOUL
    Foul ball. Count: 0-1.
  [7 outs | 0-1 | empty] CALLED STRIKE
    Strike (called). Count: 0-2.
  [7 outs | 0-2 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Tsung-han Su ---
  [8 outs | 0-0 | empty] CALLED STRIKE
    Strike (called). Count: 0-1.
  [8 outs | 0-1 | empty] BALL IN PLAY
    Tsung-han Su runs → ground out.
    Tsung-han Su is out.
  --- Now batting: Carlo Acosta ---
  [9 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [9 outs | 1-0 | empty] BALL IN PLAY
    Carlo Acosta runs → double.
  --- Now batting: Chol-il Ryu ---
  [9 outs | 0-0 | 2B] BALL IN PLAY
    Chol-il Ryu runs → fielder's choice.
    Runner at 2B thrown out.
  [10 outs | 0-0 | 1B] JOKER INSERTION
    Olgii Foundrymen sends in joker Yusof Mustafa for an extra plate appearance (joker #4).
  --- Now batting: Yusof Mustafa ---
  [10 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [10 outs | 1-0 | 1B] BALL IN PLAY
    Yusof Mustafa runs → double.
    Runner at 1B thrown out.
  --- Now batting: Jun-ho Seon ---
  [11 outs | 0-0 | 2B] INTENTIONAL WALK
    INTENTIONAL WALK — Jun-ho Seon given a free pass.
  --- Now batting: Tsogtbayar Nasanjargal ---
  [11 outs | 0-0 | 1B, 2B] BALL
    Ball 1. Count: 1-0.
  [11 outs | 1-0 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [11 outs | 1-1 | 1B, 2B] BALL IN PLAY
    Tsogtbayar Nasanjargal runs → single.
    Runner scores from 2B.
    Runner advances from 1B to 2B.
  --- Now batting: Ario Tjahyadi ---
  [11 outs | 0-0 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [11 outs | 0-1 | 1B, 2B] FOUL
    Foul ball. Count: 0-2.
  [11 outs | 0-2 | 1B, 2B] FOUL
    Foul ball. Count: 0-2.
  [11 outs | 0-2 | 1B, 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  [12 outs | 0-0 | 1B, 2B] JOKER INSERTION
    Olgii Foundrymen sends in joker Alexander Washington for an extra plate appearance (joker #5).
  [12 outs | 0-0 | 1B, 2B] PICKOFF ATTEMPT
    Pickoff — runner out at 2B!
  --- Now batting: Alexander Washington ---
  [13 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [13 outs | 1-0 | 1B] BALL
    Ball 2. Count: 2-0.
  [13 outs | 2-0 | 1B] BALL
    Ball 3. Count: 3-0.
  [13 outs | 3-0 | 1B] BALL
    WALK — Alexander Washington awarded 1B.
    Runner advances from 1B to 2B.
  [13 outs | 0-0 | 1B, 2B] JOKER INSERTION
    Olgii Foundrymen sends in joker Bayanmunkh Tsogtbaatar for an extra plate appearance (joker #6).
  --- Now batting: Bayanmunkh Tsogtbaatar ---
  [13 outs | 0-0 | 1B, 2B] FOUL
    Foul ball. Count: 0-1.
  [13 outs | 0-1 | 1B, 2B] BALL IN PLAY
    Bayanmunkh Tsogtbaatar runs → double.
    Runner scores from 2B.
    Runner scores from 1B.
  --- Now batting: Jun-seok Pi ---
  [13 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [13 outs | 1-0 | 2B] BALL
    Ball 2. Count: 2-0.
  [13 outs | 2-0 | 2B] STOLEN BASE ATTEMPT
    Runner caught stealing at 3B.
  [14 outs | 2-0 | empty] CALLED STRIKE
    Strike (called). Count: 2-1.
  [14 outs | 2-1 | empty] BALL
    Ball 3. Count: 3-1.
  [14 outs | 3-1 | empty] FOUL
    Foul ball. Count: 3-2.
  [14 outs | 3-2 | empty] BALL IN PLAY
    Jun-seok Pi runs → double.
  --- Now batting: Dean Barker [P] ---
  [14 outs | 0-0 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [14 outs | 0-1 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [14 outs | 0-2 | 2B] BALL
    Ball 1. Count: 1-2.
  [14 outs | 1-2 | 2B] FOUL
    Foul ball. Count: 1-2.
  [14 outs | 1-2 | 2B] FOUL
    Foul ball. Count: 1-2.
  [14 outs | 1-2 | 2B] FOUL OUT
    Foul ball. Count: 0-0.
  --- Now batting: Leon Cowell ---
  [15 outs | 0-0 | 2B] FOUL
    Foul ball. Count: 0-1.
  [15 outs | 0-1 | 2B] BALL
    Ball 1. Count: 1-1.
  [15 outs | 1-1 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 1-2.
  [15 outs | 1-2 | 2B] BALL IN PLAY
    Leon Cowell runs → double.
    Runner scores from 2B.
  [15 outs | 0-0 | 2B] PITCHING CHANGE
    PITCHING CHANGE: Yasuhito Fujimoto exits (25 BF this spell).
  --- Now batting: Tsung-han Su ---
  [15 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [15 outs | 0-1 | 2B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [15 outs | 0-2 | 2B] FOUL
    Foul ball. Count: 0-2.
  [15 outs | 0-2 | 2B] BALL IN PLAY
    Tsung-han Su runs → ground out.
    Tsung-han Su is out.
    Runner at 2B thrown out.
  --- Now batting: Carlo Acosta ---
  [17 outs | 0-0 | empty] CALLED STRIKE
    Strike (called). Count: 0-1.
  [17 outs | 0-1 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [17 outs | 0-2 | empty] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Chol-il Ryu ---
  [18 outs | 0-0 | empty] CALLED STRIKE
    Strike (called). Count: 0-1.
  [18 outs | 0-1 | empty] FOUL
    Foul ball. Count: 0-2.
  [18 outs | 0-2 | empty] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  [19 outs | 0-0 | empty] DEFENSIVE SUB
    Won-il Wang replaces Haru Ishihara at C.
  --- Now batting: Jun-ho Seon ---
  [19 outs | 0-0 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [19 outs | 0-1 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [19 outs | 0-2 | empty] BALL IN PLAY
    Jun-ho Seon runs → HOME RUN.
    Batter scores (HR).
    [Walk-Back — Jun-ho Seon retreats to 3B as the bonus runner.]
    [The Walk-Back is brought to you by RadioShack.]
  --- Now batting: Tsogtbayar Nasanjargal ---
  [19 outs | 0-0 | 3B] FOUL
    Foul ball. Count: 0-1.
  [19 outs | 0-1 | 3B] BALL
    Ball 1. Count: 1-1.
  [19 outs | 1-1 | 3B] BALL IN PLAY
    Tsogtbayar Nasanjargal runs → ground out.
    Tsogtbayar Nasanjargal is out.
    Runner scores from 3B.
  --- Now batting: Ario Tjahyadi ---
  [20 outs | 0-0 | empty] BALL IN PLAY
    Ario Tjahyadi runs → double.
  --- Now batting: Jun-seok Pi ---
  [20 outs | 0-0 | 2B] BALL IN PLAY
    Jun-seok Pi runs → single.
    Runner at 2B thrown out.
  [21 outs | 0-0 | 1B] JOKER INSERTION
    Olgii Foundrymen sends in joker Yusof Mustafa for an extra plate appearance (joker #7).
  --- Now batting: Yusof Mustafa ---
  [21 outs | 0-0 | 1B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [21 outs | 0-1 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [21 outs | 0-2 | 1B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Dean Barker [P] ---
  [22 outs | 0-0 | 1B] SAC BUNT
  --- Now batting: Leon Cowell ---
  [23 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [23 outs | 0-1 | 2B] BALL
    Ball 1. Count: 1-1.
  [23 outs | 1-1 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 1-2.
  [23 outs | 1-2 | 2B] FOUL
    Foul ball. Count: 1-2.
  [23 outs | 1-2 | 2B] FOUL
    Foul ball. Count: 1-2.
  [23 outs | 1-2 | 2B] BALL IN PLAY
    Leon Cowell runs → ground out.
    Leon Cowell is out.
  --- Now batting: Tsung-han Su ---
  [24 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [24 outs | 0-1 | 2B] BALL
    Ball 1. Count: 1-1.
  [24 outs | 1-1 | 2B] FOUL
    Foul ball. Count: 1-2.
  [24 outs | 1-2 | 2B] BALL
    Ball 2. Count: 2-2.
  [24 outs | 2-2 | 2B] BALL IN PLAY
    Tsung-han Su runs → ground out.
    Tsung-han Su is out.
  --- Now batting: Carlo Acosta ---
  [25 outs | 0-0 | 2B] FOUL
    Foul ball. Count: 0-1.
  [25 outs | 0-1 | 2B] FOUL
    Foul ball. Count: 0-2.
  [25 outs | 0-2 | 2B] FOUL OUT
    Foul ball. Count: 0-0.
  --- Now batting: Chol-il Ryu ---
  [26 outs | 0-0 | 2B] DECLARATION
    >> Olgii Foundrymen DECLARES SECONDS at out 26 (11-0).

  End of top half — Olgii Foundrymen: 11 run(s), 13 hit(s), 27 out(s) | Run rate: 0.407
  ============================================================
  HALFTIME
    Olgii Foundrymen: 11 run(s)
    San Cristóbal Jaguars need 12 run(s) to win
    Required run rate: 0.444 R/out
  ============================================================

  ────────────────────────────────────────────────────────────
  BOTTOM HALF | San Cristóbal Jaguars batting
  ────────────────────────────────────────────────────────────
  --- Now batting: Junzo Miyake ---
  [0 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [0 outs | 1-0 | empty] BALL
    Ball 2. Count: 2-0.
  [0 outs | 2-0 | empty] BALL
    Ball 3. Count: 3-0.
  [0 outs | 3-0 | empty] BALL
    WALK — Junzo Miyake awarded 1B.
  [0 outs | 0-0 | 1B] PICKOFF ATTEMPT
    Pickoff — runner out at 1B!
  --- Now batting: Sang-min Baek ---
  [1 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [1 outs | 1-0 | empty] BALL IN PLAY
    Sang-min Baek runs → ground out.
    Sang-min Baek is out.
  --- Now batting: Cheng-hao Yu ---
  [2 outs | 0-0 | empty] BALL IN PLAY
    Cheng-hao Yu runs → double.
  --- Now batting: Masatada Dechmitr ---
  [2 outs | 0-0 | 2B] BALL IN PLAY
    Masatada Dechmitr runs → fly out.
    Masatada Dechmitr is out.
  --- Now batting: Nyamsuren Khovd ---
  [3 outs | 0-0 | 2B] BALL IN PLAY
    Nyamsuren Khovd runs → fly out.
    Nyamsuren Khovd is out.
  --- Now batting: Yerkhumuk Ganbaatar ---
  [4 outs | 0-0 | 2B] BALL IN PLAY
    Yerkhumuk Ganbaatar runs → fly out.
    Yerkhumuk Ganbaatar is out.
  --- Now batting: Won-il Wang ---
  [5 outs | 0-0 | 2B] BALL IN PLAY
    Won-il Wang runs → double.
    Runner advances from 2B to 3B.
  --- Now batting: Teodoro Angeles ---
  [5 outs | 0-0 | 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [5 outs | 1-0 | 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 1-1.
  [5 outs | 1-1 | 2B, 3B] BALL
    Ball 2. Count: 2-1.
  [5 outs | 2-1 | 2B, 3B] BALL
    Ball 3. Count: 3-1.
  [5 outs | 3-1 | 2B, 3B] BALL
    WALK — Teodoro Angeles awarded 1B.
  [5 outs | 0-0 | 1B, 2B, 3B] JOKER INSERTION
    San Cristóbal Jaguars sends in joker Rob Perlotte for an extra plate appearance (joker #1).
  --- Now batting: Rob Perlotte ---
  [5 outs | 0-0 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [5 outs | 1-0 | 1B, 2B, 3B] BALL
    Ball 2. Count: 2-0.
  [5 outs | 2-0 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 2-1.
  [5 outs | 2-1 | 1B, 2B, 3B] BALL
    Ball 3. Count: 3-1.
  [5 outs | 3-1 | 1B, 2B, 3B] BALL
    WALK — Rob Perlotte awarded 1B.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  [5 outs | 0-0 | 1B, 2B, 3B] JOKER INSERTION
    San Cristóbal Jaguars sends in joker Nyamdavaa Sukhbaatar for an extra plate appearance (joker #2).
  --- Now batting: Nyamdavaa Sukhbaatar ---
  [5 outs | 0-0 | 1B, 2B, 3B] BALL IN PLAY
    Nyamdavaa Sukhbaatar takes a SECOND CHANCE at the plate.
    Hit credited (second chance). Total this AB: 1.
    Second chance — fresh 0-0 count.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  [5 outs | 0-1 | 2B, 3B] BALL
    Ball 1. Count: 1-1.
  [5 outs | 1-1 | 2B, 3B] FOUL
    Foul ball. Count: 1-2.
  [5 outs | 1-2 | 2B, 3B] BALL
    Ball 2. Count: 2-2.
  [5 outs | 2-2 | 2B, 3B] BALL IN PLAY
    Nyamdavaa Sukhbaatar runs → single.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
  [5 outs | 0-0 | 1B, 3B] JOKER INSERTION
    San Cristóbal Jaguars sends in joker Darwin Ballancin for an extra plate appearance (joker #3).
  --- Now batting: Darwin Ballancin ---
  [5 outs | 0-0 | 1B, 3B] BALL IN PLAY
    Darwin Ballancin runs → single.
    Runner advances from 1B to 2B.
  --- Now batting: Yasuhito Fujimoto [P] ---
  [5 outs | 0-0 | 1B, 2B, 3B] SAC BUNT
  [6 outs | 0-0 | 2B, 3B] WILD PITCH
    Wild pitch — runners advance.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
    1 run(s) score.
  --- Now batting: Junzo Miyake ---
  [6 outs | 0-0 | 3B] BALL
    Ball 1. Count: 1-0.
  [6 outs | 1-0 | 3B] BALL IN PLAY
    Junzo Miyake runs → ground out.
    Junzo Miyake is out.
  --- Now batting: Sang-min Baek ---
  [7 outs | 0-0 | 3B] BALL IN PLAY
    Sang-min Baek takes a SECOND CHANCE at the plate.
    Hit credited (second chance). Total this AB: 1.
    Second chance — fresh 0-0 count.
    Runner scores from 3B.
  [7 outs | 0-1 | empty] BALL
    Ball 1. Count: 1-1.
  [7 outs | 1-1 | empty] BALL IN PLAY
    Sang-min Baek runs → double.
  [7 outs | 0-0 | 2B] WILD PITCH
    Wild pitch — runners advance.
    Runner advances from 2B to 3B.
  --- Now batting: Cheng-hao Yu ---
  [7 outs | 0-0 | 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [7 outs | 0-1 | 3B] FOUL
    Foul ball. Count: 0-2.
  [7 outs | 0-2 | 3B] BALL IN PLAY
    Cheng-hao Yu runs → fly out.
    Cheng-hao Yu is out.
    Runner scores from 3B.
  --- Now batting: Masatada Dechmitr ---
  [8 outs | 0-0 | empty] FOUL
    Foul ball. Count: 0-1.
  [8 outs | 0-1 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [8 outs | 0-2 | empty] BALL
    Ball 1. Count: 1-2.
  [8 outs | 1-2 | empty] BALL
    Ball 2. Count: 2-2.
  [8 outs | 2-2 | empty] BALL
    Ball 3. Count: 3-2.
  [8 outs | 3-2 | empty] FOUL
    Foul ball. Count: 3-2.
  [8 outs | 3-2 | empty] FOUL OUT
    Foul ball. Count: 0-0.
  --- Now batting: Nyamsuren Khovd ---
  [9 outs | 0-0 | empty] FOUL
    Foul ball. Count: 0-1.
  [9 outs | 0-1 | empty] BALL
    Ball 1. Count: 1-1.
  [9 outs | 1-1 | empty] BALL
    Ball 2. Count: 2-1.
  [9 outs | 2-1 | empty] BALL
    Ball 3. Count: 3-1.
  [9 outs | 3-1 | empty] FOUL
    Foul ball. Count: 3-2.
  [9 outs | 3-2 | empty] FOUL OUT
    Foul ball. Count: 0-0.
  --- Now batting: Yerkhumuk Ganbaatar ---
  [10 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [10 outs | 1-0 | empty] CALLED STRIKE
    Strike (called). Count: 1-1.
  [10 outs | 1-1 | empty] BALL
    Ball 2. Count: 2-1.
  [10 outs | 2-1 | empty] BALL
    Ball 3. Count: 3-1.
  [10 outs | 3-1 | empty] BALL
    WALK — Yerkhumuk Ganbaatar awarded 1B.
  --- Now batting: Won-il Wang ---
  [10 outs | 0-0 | 1B] SAC BUNT
  --- Now batting: Teodoro Angeles ---
  [11 outs | 0-0 | 2B] INTENTIONAL WALK
    INTENTIONAL WALK — Teodoro Angeles given a free pass.
  [11 outs | 0-0 | 1B, 2B] JOKER INSERTION
    San Cristóbal Jaguars sends in joker Rob Perlotte for an extra plate appearance (joker #4).
  --- Now batting: Rob Perlotte ---
  [11 outs | 0-0 | 1B, 2B] BALL
    Ball 1. Count: 1-0.
  [11 outs | 1-0 | 1B, 2B] BALL IN PLAY
    Rob Perlotte runs → single.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  [11 outs | 0-0 | 1B, 2B, 3B] PINCH RUNNER
    Đỗ Anh pinch-runs for Yerkhumuk Ganbaatar at 3B.
  --- Now batting: Yasuhito Fujimoto [P] ---
  [11 outs | 0-0 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [11 outs | 0-1 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-1.
  [11 outs | 1-1 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 1-2.
  [11 outs | 1-2 | 1B, 2B, 3B] BALL
    Ball 2. Count: 2-2.
  [11 outs | 2-2 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 2-2.
  [11 outs | 2-2 | 1B, 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  [12 outs | 0-0 | 1B, 2B, 3B] PINCH RUNNER
    Cris Beard pinch-runs for Teodoro Angeles at 2B.
  --- Now batting: Junzo Miyake ---
  [12 outs | 0-0 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 0-1.
  [12 outs | 0-1 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-1.
  [12 outs | 1-1 | 1B, 2B, 3B] PICKOFF ATTEMPT
    Pickoff — runner out at 2B!
  [13 outs | 1-1 | 1B, 3B] BALL
    Ball 2. Count: 2-1.
  [13 outs | 2-1 | 1B, 3B] FOUL
    Foul ball. Count: 2-2.
  [13 outs | 2-2 | 1B, 3B] FOUL OUT
    Foul ball. Count: 0-0.
  --- Now batting: Sang-min Baek ---
  [14 outs | 0-0 | 1B, 3B] FOUL
    Foul ball. Count: 0-1.
  [14 outs | 0-1 | 1B, 3B] BALL
    Ball 1. Count: 1-1.
  [14 outs | 1-1 | 1B, 3B] FOUL
    Foul ball. Count: 1-2.
  [14 outs | 1-2 | 1B, 3B] FOUL OUT
    Foul ball. Count: 0-0.
  --- Now batting: Cheng-hao Yu ---
  [15 outs | 0-0 | 1B, 3B] HIT BY PITCH
    HBP — Cheng-hao Yu awarded 1B.
    Runner advances from 1B to 2B.
  [15 outs | 0-0 | 1B, 2B, 3B] PINCH HITTER
    Kaichi Morimoto pinch-hits for Masatada Dechmitr.
  --- Now batting: Kaichi Morimoto ---
  [15 outs | 0-0 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [15 outs | 0-1 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-1.
  [15 outs | 1-1 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 1-2.
  [15 outs | 1-2 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 1-2.
  [15 outs | 1-2 | 1B, 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Nyamsuren Khovd ---
  [16 outs | 0-0 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [16 outs | 1-0 | 1B, 2B, 3B] BALL IN PLAY
    Nyamsuren Khovd runs → fly out.
    ROBBED! Hui Fu runs it down — a sure extra-base hit erased!
    Nyamsuren Khovd is out.
    Runner at 3B thrown out.
  [18 outs | 0-0 | 1B, 2B] JOKER INSERTION
    San Cristóbal Jaguars sends in joker Nyamdavaa Sukhbaatar for an extra plate appearance (joker #5).
  --- Now batting: Nyamdavaa Sukhbaatar ---
  [18 outs | 0-0 | 1B, 2B] FOUL
    Foul ball. Count: 0-1.
  [18 outs | 0-1 | 1B, 2B] BALL
    Ball 1. Count: 1-1.
  [18 outs | 1-1 | 1B, 2B] BALL
    Ball 2. Count: 2-1.
  [18 outs | 2-1 | 1B, 2B] BALL IN PLAY
    Nyamdavaa Sukhbaatar runs → double play.
    Nyamdavaa Sukhbaatar is out.
    Runner at 1B thrown out.
  [20 outs | 0-0 | 2B] JOKER INSERTION
    San Cristóbal Jaguars sends in joker Darwin Ballancin for an extra plate appearance (joker #6).
  [20 outs | 0-0 | 2B] DEFENSIVE SUB
    Kohei Nakanishi replaces Chol-il Ryu at C.
  --- Now batting: Darwin Ballancin ---
  [20 outs | 0-0 | 2B] BALL IN PLAY
    Darwin Ballancin runs → fly out.
    Darwin Ballancin is out.
  --- Now batting: Đỗ Anh ---
  [21 outs | 0-0 | 2B] INTENTIONAL WALK
    INTENTIONAL WALK — Đỗ Anh given a free pass.
  [21 outs | 0-0 | 1B, 2B] PICKOFF ATTEMPT
    Pickoff — runner out at 1B!
  --- Now batting: Won-il Wang ---
  [22 outs | 0-0 | 2B] FOUL
    Foul ball. Count: 0-1.
  [22 outs | 0-1 | 2B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [22 outs | 0-2 | 2B] BALL IN PLAY
    Won-il Wang runs → ground out.
    Won-il Wang is out.
  --- Now batting: Cris Beard ---
  [23 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [23 outs | 0-1 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [23 outs | 0-2 | 2B] BALL
    Ball 1. Count: 1-2.
  [23 outs | 1-2 | 2B] BALL IN PLAY
    Cris Beard runs → ground out.
    Cris Beard is out.
  --- Now batting: Yasuhito Fujimoto [P] ---
  [24 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [24 outs | 1-0 | 2B] PICKOFF ATTEMPT
    Pickoff — runner out at 2B!
  [25 outs | 1-0 | empty] BALL IN PLAY
    Yasuhito Fujimoto runs → single.
  --- Now batting: Junzo Miyake ---
  [25 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [25 outs | 1-0 | 1B] BALL
    Ball 2. Count: 2-0.
  [25 outs | 2-0 | 1B] BALL
    Ball 3. Count: 3-0.
  [25 outs | 3-0 | 1B] CALLED STRIKE
    Strike (called). Count: 3-1.
  [25 outs | 3-1 | 1B] FOUL
    Foul ball. Count: 3-2.
  [25 outs | 3-2 | 1B] BALL IN PLAY
    Junzo Miyake runs → single.
    Runner at 1B thrown out.
  --- Now batting: Sang-min Baek ---
  [26 outs | 0-0 | 1B] DECLARATION
    >> San Cristóbal Jaguars DECLARES SECONDS at out 26 (7-11).

  End of bottom half — San Cristóbal Jaguars: 7 run(s), 10 hit(s), 27 out(s) | Run rate: 0.259

  ────────────────────────────────────────────────────────────
  SECONDS_FIRST | Olgii Foundrymen batting
  ────────────────────────────────────────────────────────────
  [0 outs | 0-0 | empty] JOKER INSERTION
    Olgii Foundrymen sends in joker Alexander Washington for an extra plate appearance (joker #8).
  --- Now batting: Alexander Washington ---
  [0 outs | 0-0 | empty] CALLED STRIKE
    Strike (called). Count: 0-1.
  [0 outs | 0-1 | empty] CALLED STRIKE
    Strike (called). Count: 0-2.
  [0 outs | 0-2 | empty] BALL
    Ball 1. Count: 1-2.
  [0 outs | 1-2 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.

  ────────────────────────────────────────────────────────────
  SECONDS_SECOND | San Cristóbal Jaguars batting
  ────────────────────────────────────────────────────────────
  --- Now batting: Sang-min Baek ---
  [0 outs | 0-0 | empty] INTENTIONAL WALK
    INTENTIONAL WALK — Sang-min Baek given a free pass.
  --- Now batting: Cheng-hao Yu ---
  [0 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [0 outs | 1-0 | 1B] BALL IN PLAY
    Cheng-hao Yu runs → fly out.
    Cheng-hao Yu is out.

  ============================================================
  GAME OVER: OLGII FOUNDRYMEN WIN 11–7
  ============================================================
  Final score: Olgii Foundrymen 11, San Cristóbal Jaguars 7
  ============================================================
  LINE SCORE
                          1      2      R
  Olgii Foundrymen       11      0     11
  San Cristóbal Jaguars      7      0      7

  ============================================================
  OLGII FOUNDRYMEN BATTING
  Player                PA   AB    R    H   2B   3B   HR    RBI   BB    K  HBP   2C  2C-R   MH
  ────────────────────────────────────────────────────────────────────────────────────────────────
  Dean Barker             3    2    0    0    0    0    0     1    0    0    0    0     0    0
  Tsung-han Su            4    4    0    0    0    0    0     0    0    0    0    0     0    0
  Seung-woo Heo           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Jun-ho Seon             3    1    3    1    0    0    1     1    1    0    1    0     0    0
  Naranbaatar Batsuren    0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Carlo Acosta            4    4    1    2    1    0    0     0    0    1    0    0     0    0
  Leon Cowell             4    4    0    1    1    0    0     1    0    1    0    0     0    0
  Tatsuya Kamio           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Jun-seok Pi             3    3    1    2    1    0    0     0    0    0    0    0     0    0
  Alexander Washington    3    2    1    0    0    0    0     0    1    2    0    0     0    0
  Yusof Mustafa           3    3    2    2    2    0    0     1    0    1    0    0     0    0
  Bayanmunkh Tsogtbaatar    2    2    0    1    1    0    0     2    0    0    0    0     0    0
  Mario Vosters           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Rio Ota                 0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ashton Slaterov         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ario Tjahyadi           3    3    0    1    1    0    0     0    0    1    0    0     0    0
  Chun-hsiang Chan        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kohei Nakanishi         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Tsogtbayar Nasanjargal    3    3    2    2    1    0    0     4    0    0    0    0     0    0
  Yu-hsiang Lo            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Hui Fu                  0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Geon-woo Koo            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Chol-il Ryu             3    3    1    1    1    0    0     1    0    1    0    0     0    0
  Tae-hyun Na             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Po-hsuan Huang          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Sabri bin Mohammad      0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Yasutaka Ueno           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ji-ho Gu                0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Jae-yong Bae            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Paulo Halim             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Woo-hyun Yoon           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Damdinsuren Selenge     0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Afiq bin Yusof          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Hung-wen Huang          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Hyok-jin Ryu            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Bryan McGahee           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Salleh Kamal            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Daiki Hiejima           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kento Fukushima         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Dani Beachumov          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kohei Morii             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kwang-soo Jeong         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Junjun De Guzman        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ao Hirata               0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Somphone Douangchak     0    0    0    0    0    0    0     0    0    0    0    0     0    0
  ────────────────────────────────────────────────────────────────────────────────────────────────
  TOTALS                 38   34   11   13    9    0    1    11    2    7    1    0     0    0

  Pitcher                BF  OUT    H    R   BB    K  HBP
  ──────────────────────────────────────────────────────
  Dean Barker            34   27   10    7    7    2    1

  ============================================================
  SAN CRISTÓBAL JAGUARS BATTING
  Player                PA   AB    R    H   2B   3B   HR    RBI   BB    K  HBP   2C  2C-R   MH
  ────────────────────────────────────────────────────────────────────────────────────────────────
  Yasuhito Fujimoto       3    2    0    1    0    0    0     1    0    1    0    0     0    0
  Nyamsuren Khovd         3    3    0    0    0    0    0     0    0    0    0    0     0    0
  Kaichi Morimoto         1    1    0    0    0    0    0     0    0    1    0    0     0    0
  Sang-min Baek           4    3    1    2    1    0    0     1    1    0    0    1     1    1
  Mantle Brakerov         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Cheng-hao Yu            4    3    1    1    1    0    0     1    0    0    1    0     0    0
  Đỗ Anh                  1    0    0    0    0    0    0     0    1    0    0    0     0    0
  Junzo Miyake            4    3    0    1    0    0    0     0    1    0    0    0     0    0
  Haru Ishihara           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Darwin Ballancin        2    2    1    1    0    0    0     0    0    0    0    0     0    0
  Nyamdavaa Sukhbaatar    2    2    1    2    0    0    0     2    0    0    0    1     1    1
  Rob Perlotte            2    1    1    1    0    0    0     1    1    0    0    0     0    0
  Teodoro Angeles         2    0    1    0    0    0    0     0    2    0    0    0     0    0
  Eiji Minami             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Yerkhumuk Ganbaatar     2    1    0    0    0    0    0     0    1    0    0    0     0    0
  Izaac Sillov            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Sang-ho Choi            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Woo-hyun Ban            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Makara Svay             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Đạt Luân                0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Won-il Wang             3    2    1    1    1    0    0     0    0    0    0    0     0    0
  Haziq Ting              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Cris Beard              1    1    0    0    0    0    0     0    0    0    0    0     0    0
  Masatada Dechmitr       2    2    0    0    0    0    0     0    0    0    0    0     0    0
  Tzu-wei Hsu             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  In-il Pak               0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Enkhjargal Orkhon       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Yukinari Ueno           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  In-chol Ham             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Chang-su Pak            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Tzu-wei Tsao            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Gōtoku Kagawa           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Enkhbayar Olkhonud      0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Takahiro Urabe          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kenichi Motoi           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Tatsuma Nishiya         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Herbert Faried          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Jaime Sasaki            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Elijah Edlefsen         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Shinji Nakagawa         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Seigo Nakamura          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kosuke Muto             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kei Kuramitsu           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Jae-hyun Byun           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  ────────────────────────────────────────────────────────────────────────────────────────────────
  TOTALS                 36   26    7   10    3    0    0     6    7    2    1    2     2    2

  Pitcher                BF  OUT    H    R   BB    K  HBP
  ──────────────────────────────────────────────────────
  Yasuhito Fujimoto      26   16   10    9    2    4    1
  Takahiro Urabe         11   11    3    2    0    3    0

  ============================================================
  Run rate:  Olgii Foundrymen  0.407    San Cristóbal Jaguars  0.259
  Second-Chance ABs:  Olgii Foundrymen  0    San Cristóbal Jaguars  2
  IBB (Olgii Foundrymen): Jun-ho Seon.
  IBB (San Cristóbal Jaguars): Sang-min Baek; Đỗ Anh; Teodoro Angeles.
  Required run rate (San Cristóbal Jaguars): 0.444 R/out (needed 12 runs in 27 outs)
  Seconds: Olgii Foundrymen o26 (11-0), San Cristóbal Jaguars o26 (7-11)
  ============================================================
  ============================================================
  PARTNERSHIP LOG
  Batter 1              Batter 2                Runs  Half
  ──────────────────────────────────────────────────────────────────
  Leon Cowell           Tsung-han Su               0  top
  Tsung-han Su          Ario Tjahyadi              3  top
  Ario Tjahyadi         Alexander Washington       1  top
  Alexander Washington  Bayanmunkh Tsogtbaatar     0  top
  Bayanmunkh TsogtbaatarJun-seok Pi                0  top
  Jun-seok Pi           Dean Barker                1  top
  Dean Barker           Leon Cowell                0  top
  Leon Cowell           Tsung-han Su               0  top
  Tsung-han Su          Carlo Acosta               0  top
  Carlo Acosta          Chol-il Ryu                0  top
  Chol-il Ryu           Ario Tjahyadi              1  top
  Ario Tjahyadi         Jun-ho Seon                0  top
  Jun-ho Seon           Bayanmunkh Tsogtbaatar     2  top
  Bayanmunkh TsogtbaatarDean Barker                0  top
  Dean Barker           Leon Cowell                1  top
  Leon Cowell           Tsung-han Su               0  top
  Tsung-han Su          Carlo Acosta               0  top
  Carlo Acosta          Chol-il Ryu                0  top
  Chol-il Ryu           Tsogtbayar Nasanjargal     2  top
  Tsogtbayar NasanjargalArio Tjahyadi              0  top
  Ario Tjahyadi         Yusof Mustafa              0  top
  Yusof Mustafa         Dean Barker                0  top
  Dean Barker           Leon Cowell                0  top
  Leon Cowell           Tsung-han Su               0  top
  Tsung-han Su          Carlo Acosta               0  top
  Junzo Miyake          Sang-min Baek              0  bottom
  Sang-min Baek         Masatada Dechmitr          0  bottom
  Masatada Dechmitr     Nyamsuren Khovd            0  bottom
  Nyamsuren Khovd       Yerkhumuk Ganbaatar        0  bottom
  Yerkhumuk Ganbaatar   Yasuhito Fujimoto          4  bottom
  Yasuhito Fujimoto     Junzo Miyake               1  bottom
  Junzo Miyake          Cheng-hao Yu               2  bottom
  Cheng-hao Yu          Masatada Dechmitr          0  bottom
  Masatada Dechmitr     Nyamsuren Khovd            0  bottom
  Nyamsuren Khovd       Won-il Wang                0  bottom
  Won-il Wang           Yasuhito Fujimoto          0  bottom
  Yasuhito Fujimoto     Cris Beard                 0  bottom
  Cris Beard            Junzo Miyake               0  bottom
  Junzo Miyake          Sang-min Baek              0  bottom
  Sang-min Baek         Kaichi Morimoto            0  bottom
  Kaichi Morimoto       Đỗ Anh                     0  bottom
  Đỗ Anh                Nyamsuren Khovd            0  bottom
  Nyamsuren Khovd       Cheng-hao Yu               0  bottom
  Cheng-hao Yu          Nyamdavaa Sukhbaatar       0  bottom
  Nyamdavaa Sukhbaatar  Darwin Ballancin           0  bottom
  Darwin Ballancin      Đỗ Anh                     0  bottom
  Đỗ Anh                Won-il Wang                0  bottom
  Won-il Wang           Cris Beard                 0  bottom
  Cris Beard            Rob Perlotte               0  bottom
  Rob Perlotte          Yasuhito Fujimoto          0  bottom
  ──────────────────────────────────────────────────────────────────
  Total partnerships: 50  |  Avg runs/partnership: 0.36
  ============================================================
  PITCHER SPELL LOG
  Pitcher               Half         PA#   BF  OUT    R    H   BB    K  HBP
  ──────────────────────────────────────────────────────────────────────────
  Yasuhito Fujimoto     top            1   25   15     9    10     2     3     1
  Takahiro Urabe        top           26   11   11     2     3     0     3     0
  Dean Barker           bottom         1   32   26     7    10     6     2     1
  Yasuhito Fujimoto     seconds_first  1    1    1     0     0     0     1     0
  Dean Barker           seconds_second  1    2    1     0     0     1     0     0
  ──────────────────────────────────────────────────────────────────────────
  Total spells: 5


pbp_text:
  ────────────────────────────────────────────────────────────
  TOP HALF | Tokyo Falcons batting
  ────────────────────────────────────────────────────────────
  --- Now batting: Tristan Panya ---
  [0 outs | 0-0 | empty] CALLED STRIKE
    Strike (called). Count: 0-1.
  [0 outs | 0-1 | empty] BALL
    Ball 1. Count: 1-1.
  [0 outs | 1-1 | empty] SWINGING STRIKE
    Strike (swinging). Count: 1-2.
  [0 outs | 1-2 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Ji-min Moon ---
  [1 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [1 outs | 1-0 | empty] FOUL
    Foul ball. Count: 1-1.
  [1 outs | 1-1 | empty] CALLED STRIKE
    Strike (called). Count: 1-2.
  [1 outs | 1-2 | empty] BALL
    Ball 2. Count: 2-2.
  [1 outs | 2-2 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Prakash Ngin ---
  [2 outs | 0-0 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [2 outs | 0-1 | empty] FOUL
    Foul ball. Count: 0-2.
  [2 outs | 0-2 | empty] BALL IN PLAY
    Prakash Ngin runs → fly out.
    ROBBED! Tzu-chiang Chung runs it down — a sure extra-base hit erased!
    Prakash Ngin is out.
  --- Now batting: Dawei Meng ---
  [3 outs | 0-0 | empty] CALLED STRIKE
    Strike (called). Count: 0-1.
  [3 outs | 0-1 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [3 outs | 0-2 | empty] FOUL
    Foul ball. Count: 0-2.
  [3 outs | 0-2 | empty] FOUL
    Foul ball. Count: 0-2.
  [3 outs | 0-2 | empty] BALL IN PLAY
    Dawei Meng runs → single.
  --- Now batting: Hung-wen Hsiung ---
  [3 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [3 outs | 1-0 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 1-1.
  [3 outs | 1-1 | 1B] CALLED STRIKE
    Strike (called). Count: 1-2.
  [3 outs | 1-2 | 1B] BALL
    Ball 2. Count: 2-2.
  [3 outs | 2-2 | 1B] BALL
    Ball 3. Count: 3-2.
  [3 outs | 3-2 | 1B] FOUL
    Foul ball. Count: 3-2.
  [3 outs | 3-2 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Jejomar Chan ---
  [4 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [4 outs | 1-0 | 1B] FOUL
    Foul ball. Count: 1-1.
  [4 outs | 1-1 | 1B] CALLED STRIKE
    Strike (called). Count: 1-2.
  [4 outs | 1-2 | 1B] BALL
    Ball 2. Count: 2-2.
  [4 outs | 2-2 | 1B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  [5 outs | 0-0 | 1B] WILD PITCH
    Wild pitch — runners advance.
    Runner advances from 1B to 2B.
  --- Now batting: Billy Subhash ---
  [5 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [5 outs | 0-1 | 2B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [5 outs | 0-2 | 2B] FOUL
    Foul ball. Count: 0-2.
  [5 outs | 0-2 | 2B] BALL
    Ball 1. Count: 1-2.
  [5 outs | 1-2 | 2B] FOUL
    Foul ball. Count: 1-2.
  [5 outs | 1-2 | 2B] BALL IN PLAY
    Billy Subhash runs → ground out.
    Billy Subhash is out.
    Runner at 2B thrown out.
  --- Now batting: Byung-ho Tak ---
  [7 outs | 0-0 | empty] BALL IN PLAY
    Byung-ho Tak runs → line out.
    ROBBED! Kaichi Hasebe lays out for the diving grab — a hit turned into an out!
    Byung-ho Tak is out.
  [8 outs | 0-0 | empty] JOKER INSERTION
    Tokyo Falcons sends in joker Manabu Hamano for an extra plate appearance (joker #1).
  --- Now batting: Manabu Hamano ---
  [8 outs | 0-0 | empty] BALL IN PLAY
    Manabu Hamano runs → single.
  [8 outs | 0-0 | 1B] JOKER INSERTION
    Tokyo Falcons sends in joker Marlon Rivera for an extra plate appearance (joker #2).
  --- Now batting: Marlon Rivera ---
  [8 outs | 0-0 | 1B] BALL IN PLAY
    Marlon Rivera runs → single.
    Runner advances from 1B to 3B.
  --- Now batting: Zaki Hashim [P] ---
  [8 outs | 0-0 | 1B, 3B] SAC BUNT
  --- Now batting: Tristan Panya ---
  [9 outs | 0-0 | 2B] FOUL
    Foul ball. Count: 0-1.
  [9 outs | 0-1 | 2B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [9 outs | 0-2 | 2B] BALL IN PLAY
    Tristan Panya runs → triple.
    Runner scores from 2B.
  --- Now batting: Ji-min Moon ---
  [9 outs | 0-0 | 3B] BALL
    Ball 1. Count: 1-0.
  [9 outs | 1-0 | 3B] BALL IN PLAY
    Ji-min Moon runs → ground out.
    Ji-min Moon is out.
  --- Now batting: Prakash Ngin ---
  [10 outs | 0-0 | 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [10 outs | 0-1 | 3B] FOUL
    Foul ball. Count: 0-2.
  [10 outs | 0-2 | 3B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Dawei Meng ---
  [11 outs | 0-0 | 3B] BALL IN PLAY
    Dawei Meng runs → single.
    Runner scores from 3B.
  --- Now batting: Hung-wen Hsiung ---
  [11 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [11 outs | 1-0 | 1B] BALL IN PLAY
    Hung-wen Hsiung runs → single.
    Runner advances from 1B to 2B.
  --- Now batting: Jejomar Chan ---
  [11 outs | 0-0 | 1B, 2B] BALL
    Ball 1. Count: 1-0.
  [11 outs | 1-0 | 1B, 2B] SWINGING STRIKE
    Strike (swinging). Count: 1-1.
  [11 outs | 1-1 | 1B, 2B] BALL
    Ball 2. Count: 2-1.
  [11 outs | 2-1 | 1B, 2B] BALL
    Ball 3. Count: 3-1.
  [11 outs | 3-1 | 1B, 2B] SWINGING STRIKE
    Strike (swinging). Count: 3-2.
  [11 outs | 3-2 | 1B, 2B] FOUL
    Foul ball. Count: 3-2.
  [11 outs | 3-2 | 1B, 2B] FOUL
    Foul ball. Count: 3-2.
  [11 outs | 3-2 | 1B, 2B] BALL
    WALK — Jejomar Chan awarded 1B.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  --- Now batting: Billy Subhash ---
  [11 outs | 0-0 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 0-1.
  [11 outs | 0-1 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-1.
  [11 outs | 1-1 | 1B, 2B, 3B] BALL IN PLAY
    Billy Subhash runs → ground out.
    Billy Subhash is out.
    Runner scores from 3B.
    Runner at 2B thrown out.
    Runner advances from 1B to 2B.
  --- Now batting: Byung-ho Tak ---
  [14 outs | 0-0 | 2B] INTENTIONAL WALK
    INTENTIONAL WALK — Byung-ho Tak given a free pass.
  --- Now batting: Zaki Hashim [P] ---
  [14 outs | 0-0 | 1B, 2B] SAC BUNT
  --- Now batting: Tristan Panya ---
  [15 outs | 0-0 | 2B, 3B] FOUL
    Foul ball. Count: 0-1.
  [15 outs | 0-1 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [15 outs | 0-2 | 2B, 3B] BALL
    Ball 1. Count: 1-2.
  [15 outs | 1-2 | 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  [16 outs | 0-0 | 2B, 3B] JOKER INSERTION
    Tokyo Falcons sends in joker Keisuke Tamada for an extra plate appearance (joker #3).
  --- Now batting: Keisuke Tamada ---
  [16 outs | 0-0 | 2B, 3B] INTENTIONAL WALK
    INTENTIONAL WALK — Keisuke Tamada given a free pass.
  [16 outs | 0-0 | 1B, 2B, 3B] PINCH RUNNER
    Hyun-jin Hyun pinch-runs for Jejomar Chan at 3B.
  --- Now batting: Ji-min Moon ---
  [16 outs | 0-0 | 1B, 2B, 3B] BALL IN PLAY
    Ji-min Moon runs → line out.
    Ji-min Moon is out.
  [17 outs | 0-0 | 1B, 2B, 3B] PINCH RUNNER
    Jared Dysart pinch-runs for Byung-ho Tak at 2B.
  --- Now batting: Prakash Ngin ---
  [17 outs | 0-0 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [17 outs | 1-0 | 1B, 2B, 3B] BALL
    Ball 2. Count: 2-0.
  [17 outs | 2-0 | 1B, 2B, 3B] BALL IN PLAY
    Prakash Ngin runs → fly out.
    Prakash Ngin is out.
    Runner at 3B thrown out.
  [19 outs | 0-0 | 1B, 2B] DEFENSIVE SUB
    Somphone Vongphakdy replaces Gastón Delgado at C.
  --- Now batting: Dawei Meng ---
  [19 outs | 0-0 | 1B, 2B] BALL IN PLAY
    Dawei Meng runs → HOME RUN.
    Runner scores.
    Runner scores.
    Batter scores (HR).
    [Walk-Back — Dawei Meng retreats to 3B as the bonus runner.]
    [The Walk-Back is brought to you by Wisk.]
  [19 outs | 0-0 | 3B] PITCHING CHANGE
    PITCHING CHANGE: Hai Ding exits (23 BF this spell).
  --- Now batting: Hung-wen Hsiung ---
  [19 outs | 0-0 | 3B] BALL IN PLAY
    Hung-wen Hsiung runs → double.
    Runner scores from 3B.
  --- Now batting: Hyun-jin Hyun ---
  [19 outs | 0-0 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [19 outs | 0-1 | 2B] BALL IN PLAY
    Hyun-jin Hyun runs → single.
    Runner scores from 2B.
  --- Now batting: Billy Subhash ---
  [19 outs | 0-0 | 1B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [19 outs | 0-1 | 1B] FOUL
    Foul ball. Count: 0-2.
  [19 outs | 0-2 | 1B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Jared Dysart ---
  [20 outs | 0-0 | 1B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [20 outs | 0-1 | 1B] FOUL
    Foul ball. Count: 0-2.
  [20 outs | 0-2 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  [21 outs | 0-0 | 1B] JOKER INSERTION
    Tokyo Falcons sends in joker Manabu Hamano for an extra plate appearance (joker #4).
  [21 outs | 0-0 | 1B] WILD PITCH
    Wild pitch — runners advance.
    Runner advances from 1B to 2B.
  --- Now batting: Manabu Hamano ---
  [21 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [21 outs | 1-0 | 2B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [21 outs | 1-1 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 1-2.
  [21 outs | 1-2 | 2B] BALL IN PLAY
    Manabu Hamano runs → triple.
    Runner scores from 2B.
  [21 outs | 0-0 | 3B] JOKER INSERTION
    Tokyo Falcons sends in joker Marlon Rivera for an extra plate appearance (joker #5).
  --- Now batting: Marlon Rivera ---
  [21 outs | 0-0 | 3B] BALL IN PLAY
    Marlon Rivera runs → ground out.
    Marlon Rivera is out.
    Runner scores from 3B.
  --- Now batting: Zaki Hashim [P] ---
  [22 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [22 outs | 1-0 | empty] BALL
    Ball 2. Count: 2-0.
  [22 outs | 2-0 | empty] BALL IN PLAY
    Zaki Hashim runs → fly out.
    Zaki Hashim is out.
  --- Now batting: Tristan Panya ---
  [23 outs | 0-0 | empty] FOUL
    Foul ball. Count: 0-1.
  [23 outs | 0-1 | empty] CALLED STRIKE
    Strike (called). Count: 0-2.
  [23 outs | 0-2 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Ji-min Moon ---
  [24 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [24 outs | 1-0 | empty] CALLED STRIKE
    Strike (called). Count: 1-1.
  [24 outs | 1-1 | empty] SWINGING STRIKE
    Strike (swinging). Count: 1-2.
  [24 outs | 1-2 | empty] BALL
    Ball 2. Count: 2-2.
  [24 outs | 2-2 | empty] BALL
    Ball 3. Count: 3-2.
  [24 outs | 3-2 | empty] FOUL
    Foul ball. Count: 3-2.
  [24 outs | 3-2 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Prakash Ngin ---
  [25 outs | 0-0 | empty] CALLED STRIKE
    Strike (called). Count: 0-1.
  [25 outs | 0-1 | empty] FOUL
    Foul ball. Count: 0-2.
  [25 outs | 0-2 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Dawei Meng ---
  [26 outs | 0-0 | empty] DECLARATION
    >> Tokyo Falcons DECLARES SECONDS at out 26 (10-0).

  End of top half — Tokyo Falcons: 10 run(s), 10 hit(s), 27 out(s) | Run rate: 0.370
  ============================================================
  HALFTIME
    Tokyo Falcons: 10 run(s)
    Beijing Transit need 11 run(s) to win
    Required run rate: 0.407 R/out
  ============================================================

  ────────────────────────────────────────────────────────────
  BOTTOM HALF | Beijing Transit batting
  ────────────────────────────────────────────────────────────
  --- Now batting: Jun Zhu ---
  [0 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [0 outs | 1-0 | empty] BALL IN PLAY
    Jun Zhu runs → ground out.
    Jun Zhu is out.
  --- Now batting: Takuya Ishii ---
  [1 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [1 outs | 1-0 | empty] CALLED STRIKE
    Strike (called). Count: 1-1.
  [1 outs | 1-1 | empty] BALL IN PLAY
    Takuya Ishii runs → fly out.
    ROBBED! Billy Subhash runs it down — a sure extra-base hit erased!
    Takuya Ishii is out.
  --- Now batting: Kenji Kitagawa ---
  [2 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [2 outs | 1-0 | empty] FOUL
    Foul ball. Count: 1-1.
  [2 outs | 1-1 | empty] FOUL
    Foul ball. Count: 1-2.
  [2 outs | 1-2 | empty] HIT BY PITCH
    HBP — Kenji Kitagawa awarded 1B.
  [2 outs | 0-0 | 1B] WILD PITCH
    Wild pitch — runners advance.
    Runner advances from 1B to 2B.
  --- Now batting: Sabri Shafie ---
  [2 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [2 outs | 1-0 | 2B] BALL IN PLAY
    Sabri Shafie runs → line out.
    Sabri Shafie is out.
  --- Now batting: Hung-wen Chan ---
  [3 outs | 0-0 | 2B] BALL IN PLAY
    Hung-wen Chan runs → fly out.
    Hung-wen Chan is out.
  [4 outs | 0-0 | 2B] JOKER INSERTION
    Beijing Transit sends in joker Jong-ho Tak for an extra plate appearance (joker #1).
  --- Now batting: Jong-ho Tak ---
  [4 outs | 0-0 | 2B] BALL IN PLAY
    Jong-ho Tak runs → single.
    Runner at 2B thrown out.
  [5 outs | 0-0 | 1B] JOKER INSERTION
    Beijing Transit sends in joker Yong Hyon for an extra plate appearance (joker #2).
  --- Now batting: Yong Hyon ---
  [5 outs | 0-0 | 1B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [5 outs | 0-1 | 1B] BALL
    Ball 1. Count: 1-1.
  [5 outs | 1-1 | 1B] BALL IN PLAY
    Yong Hyon runs → fly out.
    Yong Hyon is out.
  [6 outs | 0-0 | 1B] JOKER INSERTION
    Beijing Transit sends in joker Yusuf Tamano for an extra plate appearance (joker #3).
  --- Now batting: Yusuf Tamano ---
  [6 outs | 0-0 | 1B] BALL IN PLAY
    Yusuf Tamano runs → line out.
    Yusuf Tamano is out.
  --- Now batting: Somphone Vongphakdy ---
  [7 outs | 0-0 | 1B] FOUL
    Foul ball. Count: 0-1.
  [7 outs | 0-1 | 1B] BALL
    Ball 1. Count: 1-1.
  [7 outs | 1-1 | 1B] CALLED STRIKE
    Strike (called). Count: 1-2.
  [7 outs | 1-2 | 1B] BALL
    Ball 2. Count: 2-2.
  [7 outs | 2-2 | 1B] BALL IN PLAY
    Somphone Vongphakdy runs → double.
    Runner scores from 1B.
  --- Now batting: Kaichi Hasebe ---
  [7 outs | 0-0 | 2B] BALL IN PLAY
    Kaichi Hasebe runs → ground out.
    Kaichi Hasebe is out.
  --- Now batting: Geron Onoh ---
  [8 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [8 outs | 0-1 | 2B] BALL
    Ball 1. Count: 1-1.
  [8 outs | 1-1 | 2B] BALL
    Ball 2. Count: 2-1.
  [8 outs | 2-1 | 2B] BALL
    Ball 3. Count: 3-1.
  [8 outs | 3-1 | 2B] BALL
    WALK — Geron Onoh awarded 1B.
  --- Now batting: Hai Ding [P] ---
  [8 outs | 0-0 | 1B, 2B] SAC BUNT
  --- Now batting: Jun Zhu ---
  [9 outs | 0-0 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [9 outs | 0-1 | 2B, 3B] BALL
    Ball 1. Count: 1-1.
  [9 outs | 1-1 | 2B, 3B] PICKOFF ATTEMPT
    Pickoff — runner out at 2B!
  [10 outs | 1-1 | 3B] BALL
    Ball 2. Count: 2-1.
  [10 outs | 2-1 | 3B] BALL
    Ball 3. Count: 3-1.
  [10 outs | 3-1 | 3B] BALL
    WALK — Jun Zhu awarded 1B.
  --- Now batting: Takuya Ishii ---
  [10 outs | 0-0 | 1B, 3B] BALL IN PLAY
    Takuya Ishii runs → fly out.
    ROBBED! Ji-min Moon runs it down — a sure extra-base hit erased!
    Takuya Ishii is out.
  --- Now batting: Kenji Kitagawa ---
  [11 outs | 0-0 | 1B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [11 outs | 0-1 | 1B, 3B] BALL IN PLAY
    Kenji Kitagawa runs → double play.
    Kenji Kitagawa is out.
    Runner at 1B thrown out.
  --- Now batting: Sabri Shafie ---
  [13 outs | 0-0 | 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [13 outs | 0-1 | 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [13 outs | 0-2 | 3B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Hung-wen Chan ---
  [14 outs | 0-0 | 3B] BALL IN PLAY
    Hung-wen Chan runs → line out.
    Hung-wen Chan is out.
  --- Now batting: Somphone Vongphakdy ---
  [15 outs | 0-0 | 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [15 outs | 0-1 | 3B] FOUL
    Foul ball. Count: 0-2.
  [15 outs | 0-2 | 3B] BALL
    Ball 1. Count: 1-2.
  [15 outs | 1-2 | 3B] FOUL
    Foul ball. Count: 1-2.
  [15 outs | 1-2 | 3B] BALL
    Ball 2. Count: 2-2.
  [15 outs | 2-2 | 3B] BALL
    Ball 3. Count: 3-2.
  [15 outs | 3-2 | 3B] BALL IN PLAY
    Somphone Vongphakdy runs → single.
    Runner at 3B thrown out.
  --- Now batting: Kaichi Hasebe ---
  [16 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [16 outs | 1-0 | 1B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [16 outs | 1-1 | 1B] CALLED STRIKE
    Strike (called). Count: 1-2.
  [16 outs | 1-2 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Geron Onoh ---
  [17 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [17 outs | 1-0 | 1B] BALL
    Ball 2. Count: 2-0.
  [17 outs | 2-0 | 1B] BALL
    Ball 3. Count: 3-0.
  [17 outs | 3-0 | 1B] BALL IN PLAY
    Geron Onoh runs → double.
    Runner scores from 1B.
  [17 outs | 0-0 | 2B] JOKER INSERTION
    Beijing Transit sends in joker Jong-ho Tak for an extra plate appearance (joker #4).
  --- Now batting: Jong-ho Tak ---
  [17 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [17 outs | 1-0 | 2B] WILD PITCH
    Wild pitch — runners advance.
    Runner advances from 2B to 3B.
  [17 outs | 1-0 | 3B] FOUL
    Foul ball. Count: 1-1.
  [17 outs | 1-1 | 3B] FOUL
    Foul ball. Count: 1-2.
  [17 outs | 1-2 | 3B] BALL
    Ball 2. Count: 2-2.
  [17 outs | 2-2 | 3B] BALL IN PLAY
    Jong-ho Tak runs → single.
  [17 outs | 0-0 | 1B, 3B] JOKER INSERTION
    Beijing Transit sends in joker Yong Hyon for an extra plate appearance (joker #5).
  --- Now batting: Yong Hyon ---
  [17 outs | 0-0 | 1B, 3B] BALL IN PLAY
    Yong Hyon runs → single.
    Runner advances from 1B to 2B.
  [17 outs | 0-0 | 1B, 2B, 3B] JOKER INSERTION
    Beijing Transit sends in joker Yusuf Tamano for an extra plate appearance (joker #6).
  --- Now batting: Yusuf Tamano ---
  [17 outs | 0-0 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [17 outs | 1-0 | 1B, 2B, 3B] BALL IN PLAY
    Yusuf Tamano runs → double play.
    Yusuf Tamano is out.
    Runner at 1B thrown out.
  --- Now batting: Hai Ding [P] ---
  [19 outs | 0-0 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [19 outs | 0-1 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [19 outs | 0-2 | 2B, 3B] BALL IN PLAY
    Hai Ding runs → line out.
    Hai Ding is out.
  [20 outs | 0-0 | 2B, 3B] JOKER INSERTION
    Beijing Transit sends in joker Yong Hyon for an extra plate appearance (joker #7).
  --- Now batting: Yong Hyon ---
  [20 outs | 0-0 | 2B, 3B] FOUL
    Foul ball. Count: 0-1.
  [20 outs | 0-1 | 2B, 3B] BALL
    Ball 1. Count: 1-1.
  [20 outs | 1-1 | 2B, 3B] BALL
    Ball 2. Count: 2-1.
  [20 outs | 2-1 | 2B, 3B] BALL
    Ball 3. Count: 3-1.
  [20 outs | 3-1 | 2B, 3B] BALL
    WALK — Yong Hyon awarded 1B.
  --- Now batting: Jun Zhu ---
  [20 outs | 0-0 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [20 outs | 0-1 | 1B, 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [20 outs | 0-2 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-2.
  [20 outs | 1-2 | 1B, 2B, 3B] BALL IN PLAY
    Jun Zhu runs → ground out.
    Jun Zhu is out.
    Runner scores from 2B.
    Runner advances from 1B to 2B.
  --- Now batting: Takuya Ishii ---
  [21 outs | 0-0 | 2B, 3B] BALL IN PLAY
    Takuya Ishii runs → single.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
  --- Now batting: Kenji Kitagawa ---
  [21 outs | 0-0 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [21 outs | 0-1 | 1B, 3B] FOUL
    Foul ball. Count: 0-2.
  [21 outs | 0-2 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Sabri Shafie ---
  [22 outs | 0-0 | 1B, 3B] BALL IN PLAY
    Sabri Shafie runs → single.
    Runner advances from 1B to 2B.
  --- Now batting: Hung-wen Chan ---
  [22 outs | 0-0 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [22 outs | 1-0 | 1B, 2B, 3B] BALL IN PLAY
    Hung-wen Chan runs → fly out.
    Hung-wen Chan is out.
  [23 outs | 0-0 | 1B, 2B, 3B] JOKER INSERTION
    Beijing Transit sends in joker Jong-ho Tak for an extra plate appearance (joker #8).
  --- Now batting: Jong-ho Tak ---
  [23 outs | 0-0 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [23 outs | 1-0 | 1B, 2B, 3B] HIT BY PITCH
    HBP — Jong-ho Tak awarded 1B.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  [23 outs | 0-0 | 1B, 2B, 3B] PINCH HITTER
    Osamu Konno pinch-hits for Somphone Vongphakdy.
  --- Now batting: Osamu Konno ---
  [23 outs | 0-0 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 0-1.
  [23 outs | 0-1 | 1B, 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [23 outs | 0-2 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-2.
  [23 outs | 1-2 | 1B, 2B, 3B] BALL
    Ball 2. Count: 2-2.
  [23 outs | 2-2 | 1B, 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  [24 outs | 0-0 | 1B, 2B, 3B] PITCHING CHANGE
    PITCHING CHANGE: Zaki Hashim exits (31 BF this spell).
  [24 outs | 0-0 | 1B, 2B, 3B] PICKOFF ATTEMPT
    Pickoff — runner out at 1B!
  --- Now batting: Kaichi Hasebe ---
  [25 outs | 0-0 | 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [25 outs | 1-0 | 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 1-1.
  [25 outs | 1-1 | 2B, 3B] BALL IN PLAY
    Kaichi Hasebe runs → error.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
  [25 outs | 0-0 | 1B, 3B] JOKER INSERTION
    Beijing Transit sends in joker Yusuf Tamano for an extra plate appearance (joker #9).
  --- Now batting: Yusuf Tamano ---
  [25 outs | 0-0 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [25 outs | 0-1 | 1B, 3B] BALL
    Ball 1. Count: 1-1.
  [25 outs | 1-1 | 1B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 1-2.
  [25 outs | 1-2 | 1B, 3B] FOUL
    Foul ball. Count: 1-2.
  [25 outs | 1-2 | 1B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Geron Onoh ---
  [26 outs | 0-0 | 1B, 3B] DECLARATION
    >> Beijing Transit DECLARES SECONDS at out 26 (6-10).

  End of bottom half — Beijing Transit: 6 run(s), 8 hit(s), 27 out(s) | Run rate: 0.222

  ────────────────────────────────────────────────────────────
  SECONDS_FIRST | Tokyo Falcons batting
  ────────────────────────────────────────────────────────────
  --- Now batting: Dawei Meng ---
  [0 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [0 outs | 1-0 | empty] CALLED STRIKE
    Strike (called). Count: 1-1.
  [0 outs | 1-1 | empty] CALLED STRIKE
    Strike (called). Count: 1-2.
  [0 outs | 1-2 | empty] FOUL
    Foul ball. Count: 1-2.
  [0 outs | 1-2 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.

  ────────────────────────────────────────────────────────────
  SECONDS_SECOND | Beijing Transit batting
  ────────────────────────────────────────────────────────────
  --- Now batting: Geron Onoh ---
  [0 outs | 0-0 | empty] BALL IN PLAY
    Geron Onoh runs → single.
  --- Now batting: Hai Ding [P] ---
  [0 outs | 0-0 | 1B] SAC BUNT
  --- Now batting: Jun Zhu ---
  [0 outs | 0-0 | 1B, 2B] BALL
    Ball 1. Count: 1-0.
  [0 outs | 1-0 | 1B, 2B] PICKOFF ATTEMPT
    Pickoff — runner out at 1B!

  ============================================================
  GAME OVER: TOKYO FALCONS WIN 10–6
  ============================================================
  Final score: Tokyo Falcons 10, Beijing Transit 6
  ============================================================
  LINE SCORE
                          1      2      R
  Tokyo Falcons          10      0     10
  Beijing Transit         6      0      6

  ============================================================
  TOKYO FALCONS BATTING
  Player                PA   AB    R    H   2B   3B   HR    RBI   BB    K  HBP   2C  2C-R   MH
  ────────────────────────────────────────────────────────────────────────────────────────────────
  Zaki Hashim             3    1    0    0    0    0    0     1    0    0    0    0     0    0
  Hajime Ishiguro         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Prakash Ngin            4    4    0    0    0    0    0     0    0    2    0    0     0    0
  Billy Subhash           3    3    0    0    0    0    0     0    0    1    0    0     0    0
  Ji-min Moon             4    4    0    0    0    0    0     0    0    2    0    0     0    0
  Dawei Meng              4    4    2    3    0    0    1     4    0    1    0    0     0    0
  Haziq Abdullah          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kyung-min Jeong         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Keisuke Tamada          1    0    1    0    0    0    0     0    1    0    0    0     0    0
  Manabu Hamano           2    2    2    2    0    1    0     1    0    0    0    0     0    0
  Marlon Rivera           2    2    1    1    0    0    0     1    0    0    0    0     0    0
  Hung-wen Hsiung         3    3    1    2    1    0    0     1    0    1    0    0     0    0
  Byung-ho Tak            2    1    0    0    0    0    0     0    1    0    0    0     0    0
  Devan Thangavelu        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Jejomar Chan            2    1    0    0    0    0    0     0    1    1    0    0     0    0
  Tae-woo Tak             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Po-jung Wu              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Joji Nagatomo           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Hyun-jin Hyun           1    1    1    1    0    0    0     1    0    0    0    0     0    0
  Jared Dysart            1    1    1    0    0    0    0     0    0    1    0    0     0    0
  Yu Kuroda               0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Dion Rashid             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Joaquin Harvey          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kyi Naing               0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Tristan Panya           4    4    1    1    0    1    0     1    0    3    0    0     0    0
  Sung-jin Sun            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Hyun-woo Han            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Mohamadou Tahir         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Romeo Velasco           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Keishiro Oka            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Jarvis Mitchell         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Willie Reyes            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Alfred Clappov          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Sung-min Lim            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Min-gyu Kim             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Phong Duong             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kai-wei Chiang          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Byung-hoon Ryu          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Franklin Debuchy        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Hyon-bom Won            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Manabu Murakami         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Daiji Kijimuta          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Adhithya Vest           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Dong-won Sung           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  ────────────────────────────────────────────────────────────────────────────────────────────────
  TOTALS                 36   31   10   10    1    2    1    10    3   12    0    0     0    0

  Pitcher                BF  OUT    H    R   BB    K  HBP
  ──────────────────────────────────────────────────────
  Zaki Hashim            32   25    9    5    3    4    2
  Jarvis Mitchell         2    2    0    1    0    1    0

  ============================================================
  BEIJING TRANSIT BATTING
  Player                PA   AB    R    H   2B   3B   HR    RBI   BB    K  HBP   2C  2C-R   MH
  ────────────────────────────────────────────────────────────────────────────────────────────────
  Hai Ding                3    2    0    1    0    0    0     0    0    0    0    0     0    0
  Geron Onoh              3    2    1    2    1    0    0     1    1    0    0    0     0    0
  Otgonbayar Khalkh       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  John Gokongwei          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Hung-wen Chan           3    3    0    0    0    0    0     0    0    0    0    0     0    0
  Kaichi Hasebe           3    3    0    0    0    0    0     1    0    1    0    0     0    0
  Takuya Ishii            3    3    1    1    0    0    0     1    0    0    0    0     0    0
  Sabri Shafie            3    3    0    1    0    0    0     0    0    1    0    0     0    0
  Jun Zhu                 3    2    0    0    0    0    0     1    1    0    0    0     0    0
  Chih-wei Chang          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Jong-ho Tak             3    2    2    2    0    0    0     1    0    0    1    0     0    0
  Yusuf Tamano            3    3    0    0    0    0    0     0    0    1    0    0     0    0
  Yong Hyon               3    2    1    1    0    0    0     0    1    0    0    0     0    0
  Tzu-chiang Chung        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Osamu Konno             1    1    0    0    0    0    0     0    0    1    0    0     0    0
  James Yu                0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Gastón Delgado          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Xavier Avants           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Somphone Vongphakdy     2    2    1    2    1    0    0     1    0    0    0    0     0    0
  Felipe Roman            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Naidu Selvanathan       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Quincy Shurtleffov      0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Masanosuke Akaho        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Benjamin Rabanal        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Caleb Ariasov           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kenji Kitagawa          3    2    0    0    0    0    0     0    0    1    1    0     0    0
  Jae-hyun Kang           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Yung-chi Chung          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Song-chol Min           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kengo Takahashi         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Min-jun Kang            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Sora Kato               0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Tsuyoshi Hosoya         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Nestor Abellana         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Hubertus Zamorin        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Isao Mizushima          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ganbold Batbayar        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Jae-yong Choi           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Haoyu Du                0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Dante Bailin            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Denesh Ramcharan        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Dmitry Myskina          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Asaad Walker            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Keat Ng                 0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Yuan-hao Tsao           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  ────────────────────────────────────────────────────────────────────────────────────────────────
  TOTALS                 36   30    6   10    2    0    0     6    3    5    2    0     0    0

  Pitcher                BF  OUT    H    R   BB    K  HBP
  ──────────────────────────────────────────────────────
  Hai Ding               24   20    7    6    3    7    0
  Jae-hyun Kang          10    7    3    4    0    5    0

  ============================================================
  Run rate:  Tokyo Falcons  0.370    Beijing Transit  0.222
  Second-Chance ABs:  Tokyo Falcons  0    Beijing Transit  0
  IBB (Tokyo Falcons): Keisuke Tamada; Byung-ho Tak.
  Required run rate (Beijing Transit): 0.407 R/out (needed 11 runs in 27 outs)
  Seconds: Tokyo Falcons o26 (10-0), Beijing Transit o26 (6-10)
  ============================================================
  ============================================================
  PARTNERSHIP LOG
  Batter 1              Batter 2                Runs  Half
  ──────────────────────────────────────────────────────────────────
  Tristan Panya         Ji-min Moon                0  top
  Ji-min Moon           Prakash Ngin               0  top
  Prakash Ngin          Hung-wen Hsiung            0  top
  Hung-wen Hsiung       Jejomar Chan               0  top
  Jejomar Chan          Dawei Meng                 0  top
  Dawei Meng            Billy Subhash              0  top
  Billy Subhash         Byung-ho Tak               0  top
  Byung-ho Tak          Zaki Hashim                1  top
  Zaki Hashim           Ji-min Moon                1  top
  Ji-min Moon           Prakash Ngin               0  top
  Prakash Ngin          Hung-wen Hsiung            1  top
  Hung-wen Hsiung       Dawei Meng                 0  top
  Dawei Meng            Billy Subhash              0  top
  Billy Subhash         Zaki Hashim                0  top
  Zaki Hashim           Tristan Panya              0  top
  Tristan Panya         Ji-min Moon                0  top
  Ji-min Moon           Hyun-jin Hyun              0  top
  Hyun-jin Hyun         Prakash Ngin               0  top
  Prakash Ngin          Billy Subhash              5  top
  Billy Subhash         Jared Dysart               0  top
  Jared Dysart          Marlon Rivera              2  top
  Marlon Rivera         Zaki Hashim                0  top
  Zaki Hashim           Tristan Panya              0  top
  Tristan Panya         Ji-min Moon                0  top
  Ji-min Moon           Prakash Ngin               0  top
  Jun Zhu               Takuya Ishii               0  bottom
  Takuya Ishii          Sabri Shafie               0  bottom
  Sabri Shafie          Hung-wen Chan              0  bottom
  Hung-wen Chan         Kenji Kitagawa             0  bottom
  Kenji Kitagawa        Yong Hyon                  0  bottom
  Yong Hyon             Yusuf Tamano               0  bottom
  Yusuf Tamano          Kaichi Hasebe              1  bottom
  Kaichi Hasebe         Hai Ding                   0  bottom
  Hai Ding              Geron Onoh                 0  bottom
  Geron Onoh            Takuya Ishii               0  bottom
  Takuya Ishii          Jun Zhu                    0  bottom
  Jun Zhu               Kenji Kitagawa             0  bottom
  Kenji Kitagawa        Sabri Shafie               0  bottom
  Sabri Shafie          Hung-wen Chan              0  bottom
  Hung-wen Chan         Somphone Vongphakdy        0  bottom
  Somphone Vongphakdy   Kaichi Hasebe              0  bottom
  Kaichi Hasebe         Yong Hyon                  1  bottom
  Yong Hyon             Yusuf Tamano               0  bottom
  Yusuf Tamano          Hai Ding                   0  bottom
  Hai Ding              Jun Zhu                    1  bottom
  Jun Zhu               Kenji Kitagawa             1  bottom
  Kenji Kitagawa        Hung-wen Chan              0  bottom
  Hung-wen Chan         Osamu Konno                1  bottom
  Osamu Konno           Jong-ho Tak                0  bottom
  Jong-ho Tak           Yusuf Tamano               1  bottom
  ──────────────────────────────────────────────────────────────────
  Total partnerships: 50  |  Avg runs/partnership: 0.32
  ============================================================
  PITCHER SPELL LOG
  Pitcher               Half         PA#   BF  OUT    R    H   BB    K  HBP
  ──────────────────────────────────────────────────────────────────────────
  Hai Ding              top            1   23   19     6     7     3     6     0
  Jae-hyun Kang         top           26   10    7     4     3     0     5     0
  Zaki Hashim           bottom         1   31   24     5     8     3     4     2
  Jarvis Mitchell       bottom        33    2    2     1     0     0     1     0
  Hai Ding              seconds_first  1    1    1     0     0     0     1     0
  Zaki Hashim           seconds_second  1    1    1     0     1     0     0     0
  ──────────────────────────────────────────────────────────────────────────
  Total spells: 6


pbp_text:
  ────────────────────────────────────────────────────────────
  BOTTOM HALF | Shenzhen Knights batting
  ────────────────────────────────────────────────────────────
  --- Now batting: Masahiko Yonezawa ---
  [0 outs | 0-0 | empty] BALL IN PLAY
    Masahiko Yonezawa runs → line out.
    Masahiko Yonezawa is out.
  --- Now batting: Takao Tanaka ---
  [1 outs | 0-0 | empty] CALLED STRIKE
    Strike (called). Count: 0-1.
  [1 outs | 0-1 | empty] BALL
    Ball 1. Count: 1-1.
  [1 outs | 1-1 | empty] SWINGING STRIKE
    Strike (swinging). Count: 1-2.
  [1 outs | 1-2 | empty] BALL
    Ball 2. Count: 2-2.
  [1 outs | 2-2 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  [2 outs | 0-0 | empty] JOKER INSERTION
    Shenzhen Knights sends in joker Chia-hsien Hsu for an extra plate appearance (joker #1).
  --- Now batting: Chia-hsien Hsu ---
  [2 outs | 0-0 | empty] FOUL
    Foul ball. Count: 0-1.
  [2 outs | 0-1 | empty] CALLED STRIKE
    Strike (called). Count: 0-2.
  [2 outs | 0-2 | empty] BALL IN PLAY
    Chia-hsien Hsu runs → double.
  [2 outs | 0-0 | 2B] JOKER INSERTION
    Shenzhen Knights sends in joker Yung-chi Su for an extra plate appearance (joker #2).
  --- Now batting: Yung-chi Su ---
  [2 outs | 0-0 | 2B] FOUL
    Foul ball. Count: 0-1.
  [2 outs | 0-1 | 2B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [2 outs | 0-2 | 2B] FOUL
    Foul ball. Count: 0-2.
  [2 outs | 0-2 | 2B] BALL IN PLAY
    Yung-chi Su runs → single.
    Runner advances from 2B to 3B.
  --- Now batting: Marcus Low ---
  [2 outs | 0-0 | 1B, 3B] BALL IN PLAY
    Marcus Low runs → line out.
    Marcus Low is out.
  --- Now batting: Kei Mori ---
  [3 outs | 0-0 | 1B, 3B] BALL IN PLAY
    Kei Mori runs → ground out.
    Kei Mori is out.
    Runner advances from 1B to 2B.
  --- Now batting: Ho-seok Park ---
  [4 outs | 0-0 | 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [4 outs | 1-0 | 2B, 3B] FOUL
    Foul ball. Count: 1-1.
  [4 outs | 1-1 | 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 1-2.
  [4 outs | 1-2 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Isao Kinoshita ---
  [5 outs | 0-0 | 2B, 3B] BALL IN PLAY
    Isao Kinoshita runs → line out.
    Isao Kinoshita is out.
  [6 outs | 0-0 | 2B, 3B] DEFENSIVE SUB
    Takeshi Yokobori replaces Yu-cheng Cheng at CF.
  --- Now batting: Dramarian Velazquezov ---
  [6 outs | 0-0 | 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [6 outs | 1-0 | 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 1-1.
  [6 outs | 1-1 | 2B, 3B] BALL
    Ball 2. Count: 2-1.
  [6 outs | 2-1 | 2B, 3B] FOUL
    Foul ball. Count: 2-2.
  [6 outs | 2-2 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  [7 outs | 0-0 | 2B, 3B] DEFENSIVE SUB
    Yukinari Endo replaces Satoshi Muramatsu at 2B.
  --- Now batting: Tae-yang Song ---
  [7 outs | 0-0 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [7 outs | 0-1 | 2B, 3B] FOUL
    Foul ball. Count: 0-2.
  [7 outs | 0-2 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  [8 outs | 0-0 | 2B, 3B] DEFENSIVE SUB
    Damdinsuren Chinbat replaces Kim Gravenberch at 3B.
  --- Now batting: Philip Rodriguez [P] ---
  [8 outs | 0-0 | 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [8 outs | 1-0 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [8 outs | 1-1 | 2B, 3B] FOUL
    Foul ball. Count: 1-2.
  [8 outs | 1-2 | 2B, 3B] BALL
    Ball 2. Count: 2-2.
  [8 outs | 2-2 | 2B, 3B] BALL
    Ball 3. Count: 3-2.
  [8 outs | 3-2 | 2B, 3B] BALL IN PLAY
    Philip Rodriguez runs → single.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
  [8 outs | 0-0 | 1B, 3B] DEFENSIVE SUB
    Antony Oliveira replaces Min-jun Ha at LF.
  --- Now batting: Masahiko Yonezawa ---
  [8 outs | 0-0 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [8 outs | 0-1 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [8 outs | 0-2 | 1B, 3B] BALL IN PLAY
    Masahiko Yonezawa runs → double.
    Runner scores from 3B.
    Runner advances from 1B to 3B.
  [8 outs | 0-0 | 2B, 3B] PITCHING CHANGE
    PITCHING CHANGE: Khải Oanh exits (12 BF this spell).
  --- Now batting: Takao Tanaka ---
  [8 outs | 0-0 | 2B, 3B] BALL IN PLAY
    Takao Tanaka takes a SECOND CHANCE at the plate.
    Hit credited (second chance). Total this AB: 1.
    Second chance — fresh 0-0 count.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
  [8 outs | 0-1 | 3B] BALL IN PLAY
    Takao Tanaka runs → fly out.
    ROBBED! Yudai Mizuno runs it down — a sure extra-base hit erased!
    Takao Tanaka is out.
    Runner scores from 3B.
  [9 outs | 0-0 | empty] JOKER INSERTION
    Shenzhen Knights sends in joker Chia-hsien Hsu for an extra plate appearance (joker #3).
  --- Now batting: Chia-hsien Hsu ---
  [9 outs | 0-0 | empty] BALL IN PLAY
    Chia-hsien Hsu runs → double.
  [9 outs | 0-0 | 2B] JOKER INSERTION
    Shenzhen Knights sends in joker Yung-chi Su for an extra plate appearance (joker #4).
  --- Now batting: Yung-chi Su ---
  [9 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [9 outs | 0-1 | 2B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [9 outs | 0-2 | 2B] BALL IN PLAY
    Yung-chi Su runs → fly out.
    Yung-chi Su is out.
  --- Now batting: Marcus Low ---
  [10 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [10 outs | 1-0 | 2B] BALL
    Ball 2. Count: 2-0.
  [10 outs | 2-0 | 2B] FOUL
    Foul ball. Count: 2-1.
  [10 outs | 2-1 | 2B] FOUL
    Foul ball. Count: 2-2.
  [10 outs | 2-2 | 2B] WILD PITCH
    Wild pitch — runners advance.
    Runner advances from 2B to 3B.
  [10 outs | 2-2 | 3B] BALL
    Ball 3. Count: 3-2.
  [10 outs | 3-2 | 3B] FOUL OUT
    Foul ball. Count: 0-0.
  --- Now batting: Kei Mori ---
  [11 outs | 0-0 | 3B] BALL
    Ball 1. Count: 1-0.
  [11 outs | 1-0 | 3B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [11 outs | 1-1 | 3B] FOUL
    Foul ball. Count: 1-2.
  [11 outs | 1-2 | 3B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Ho-seok Park ---
  [12 outs | 0-0 | 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [12 outs | 0-1 | 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [12 outs | 0-2 | 3B] FOUL
    Foul ball. Count: 0-2.
  [12 outs | 0-2 | 3B] FOUL
    Foul ball. Count: 0-2.
  [12 outs | 0-2 | 3B] FOUL OUT
    Foul ball. Count: 0-0.
  --- Now batting: Isao Kinoshita ---
  [13 outs | 0-0 | 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [13 outs | 0-1 | 3B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [13 outs | 0-2 | 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Dramarian Velazquezov ---
  [14 outs | 0-0 | 3B] BALL
    Ball 1. Count: 1-0.
  [14 outs | 1-0 | 3B] BALL IN PLAY
    Dramarian Velazquezov runs → line out.
    Dramarian Velazquezov is out.
  --- Now batting: Tae-yang Song ---
  [15 outs | 0-0 | 3B] INTENTIONAL WALK
    INTENTIONAL WALK — Tae-yang Song given a free pass.
  --- Now batting: Philip Rodriguez [P] ---
  [15 outs | 0-0 | 1B, 3B] FOUL
    Foul ball. Count: 0-1.
  [15 outs | 0-1 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [15 outs | 0-2 | 1B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  [16 outs | 0-0 | 1B, 3B] JOKER INSERTION
    Shenzhen Knights sends in joker Yung-chi Su for an extra plate appearance (joker #5).
  [16 outs | 0-0 | 1B, 3B] WILD PITCH
    Wild pitch — runners advance.
    Runner scores from 3B.
    Runner advances from 1B to 2B.
    1 run(s) score.
  --- Now batting: Yung-chi Su ---
  [16 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [16 outs | 0-1 | 2B] BALL
    Ball 1. Count: 1-1.
  [16 outs | 1-1 | 2B] BALL
    Ball 2. Count: 2-1.
  [16 outs | 2-1 | 2B] BALL IN PLAY
    Yung-chi Su runs → ground out.
    Yung-chi Su is out.
  [17 outs | 0-0 | 2B] PITCHING CHANGE
    PITCHING CHANGE: Ngân Duong exits (11 BF this spell).
  --- Now batting: Masahiko Yonezawa ---
  [17 outs | 0-0 | 2B] FOUL
    Foul ball. Count: 0-1.
  [17 outs | 0-1 | 2B] FOUL
    Foul ball. Count: 0-2.
  [17 outs | 0-2 | 2B] FOUL OUT
    Foul ball. Count: 0-0.
  --- Now batting: Takao Tanaka ---
  [18 outs | 0-0 | 2B] INTENTIONAL WALK
    INTENTIONAL WALK — Takao Tanaka given a free pass.
  [18 outs | 0-0 | 1B, 2B] JOKER INSERTION
    Shenzhen Knights sends in joker Chia-hsien Hsu for an extra plate appearance (joker #6).
  --- Now batting: Chia-hsien Hsu ---
  [18 outs | 0-0 | 1B, 2B] BALL
    Ball 1. Count: 1-0.
  [18 outs | 1-0 | 1B, 2B] BALL
    Ball 2. Count: 2-0.
  [18 outs | 2-0 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 2-1.
  [18 outs | 2-1 | 1B, 2B] BALL
    Ball 3. Count: 3-1.
  [18 outs | 3-1 | 1B, 2B] WILD PITCH
    Wild pitch — runners advance.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  [18 outs | 3-1 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 3-2.
  [18 outs | 3-2 | 2B, 3B] BALL IN PLAY
    Chia-hsien Hsu runs → line out.
    Chia-hsien Hsu is out.
  [19 outs | 0-0 | 2B, 3B] DEFENSIVE SUB
    Roberto Grez replaces Yosuke Kidowaki at SS.
  --- Now batting: Marcus Low ---
  [19 outs | 0-0 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [19 outs | 0-1 | 2B, 3B] FOUL
    Foul ball. Count: 0-2.
  [19 outs | 0-2 | 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Kei Mori ---
  [20 outs | 0-0 | 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [20 outs | 1-0 | 2B, 3B] BALL IN PLAY
    Kei Mori takes a SECOND CHANCE — but is OUT (2-strike contact or caught fly).
    Runner scores from 3B.
  --- Now batting: Ho-seok Park ---
  [21 outs | 0-0 | 2B] INTENTIONAL WALK
    INTENTIONAL WALK — Ho-seok Park given a free pass.
  --- Now batting: Isao Kinoshita ---
  [21 outs | 0-0 | 1B, 2B] BALL IN PLAY
    Isao Kinoshita runs → single.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  --- Now batting: Dramarian Velazquezov ---
  [21 outs | 0-0 | 1B, 2B, 3B] BALL IN PLAY
    Dramarian Velazquezov runs → single.
    Runner at 2B thrown out.
    Runner advances from 1B to 2B.
  --- Now batting: Tae-yang Song ---
  [22 outs | 0-0 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [22 outs | 1-0 | 1B, 2B, 3B] BALL IN PLAY
    Tae-yang Song runs → line out.
    Tae-yang Song is out.
  [23 outs | 0-0 | 1B, 2B, 3B] PINCH HITTER
    Wylie Gurney pinch-hits for Philip Rodriguez.
  [23 outs | 0-0 | 1B, 2B, 3B] DEFENSIVE SUB
    Han-gyul Ko replaces Jong-su Ryu at RF.
  --- Now batting: Wylie Gurney ---
  [23 outs | 0-0 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 0-1.
  [23 outs | 0-1 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-1.
  [23 outs | 1-1 | 1B, 2B, 3B] BALL
    Ball 2. Count: 2-1.
  [23 outs | 2-1 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 2-2.
  [23 outs | 2-2 | 1B, 2B, 3B] FOUL OUT
    Foul ball. Count: 0-0.
  --- Now batting: Masahiko Yonezawa ---
  [24 outs | 0-0 | 1B, 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [24 outs | 0-1 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-1.
  [24 outs | 1-1 | 1B, 2B, 3B] BALL
    Ball 2. Count: 2-1.
  [24 outs | 2-1 | 1B, 2B, 3B] BALL
    Ball 3. Count: 3-1.
  [24 outs | 3-1 | 1B, 2B, 3B] BALL
    WALK — Masahiko Yonezawa awarded 1B.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  --- Now batting: Takao Tanaka ---
  [24 outs | 0-0 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [24 outs | 1-0 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [24 outs | 1-1 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 1-2.
  [24 outs | 1-2 | 1B, 2B, 3B] BALL
    Ball 2. Count: 2-2.
  [24 outs | 2-2 | 1B, 2B, 3B] BALL
    Ball 3. Count: 3-2.
  [24 outs | 3-2 | 1B, 2B, 3B] BALL
    WALK — Takao Tanaka awarded 1B.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  [24 outs | 0-0 | 1B, 2B, 3B] JOKER INSERTION
    Shenzhen Knights sends in joker Chia-hsien Hsu for an extra plate appearance (joker #7).
  [24 outs | 0-0 | 1B, 2B, 3B] PICKOFF ATTEMPT
    Pickoff — runner out at 1B!
  --- Now batting: Chia-hsien Hsu ---
  [25 outs | 0-0 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [25 outs | 0-1 | 2B, 3B] BALL
    Ball 1. Count: 1-1.
  [25 outs | 1-1 | 2B, 3B] FOUL
    Foul ball. Count: 1-2.
  [25 outs | 1-2 | 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Marcus Low ---
  [26 outs | 0-0 | 2B, 3B] DECLARATION
    >> Shenzhen Knights DECLARES SECONDS at out 26 (8-0).

  End of bottom half — Shenzhen Knights: 8 run(s), 8 hit(s), 27 out(s) | Run rate: 0.296
  ============================================================
  HALFTIME
    Osaka Storms: 0 run(s)
    Shenzhen Knights need 1 run(s) to win
    Required run rate: 0.037 R/out
  ============================================================

  ────────────────────────────────────────────────────────────
  TOP HALF | Osaka Storms batting
  ────────────────────────────────────────────────────────────
  --- Now batting: Shintaro Hamada ---
  [0 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [0 outs | 1-0 | empty] BALL IN PLAY
    Shintaro Hamada runs → ground out.
    Shintaro Hamada is out.
  [1 outs | 0-0 | empty] JOKER INSERTION
    Osaka Storms sends in joker Yasuhito Hasebe for an extra plate appearance (joker #1).
  --- Now batting: Yasuhito Hasebe ---
  [1 outs | 0-0 | empty] SAC BUNT
  [1 outs | 0-0 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [1 outs | 0-1 | 1B] FOUL
    Foul ball. Count: 0-2.
  [1 outs | 0-2 | 1B] STOLEN BASE ATTEMPT
    Stolen base — runner advances to 2B.
  [1 outs | 0-2 | 2B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  [2 outs | 0-0 | 2B] JOKER INSERTION
    Osaka Storms sends in joker Joaquín Ramirez for an extra plate appearance (joker #2).
  --- Now batting: Joaquín Ramirez ---
  [2 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [2 outs | 0-1 | 2B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [2 outs | 0-2 | 2B] FOUL
    Foul ball. Count: 0-2.
  [2 outs | 0-2 | 2B] WILD PITCH
    Wild pitch — runners advance.
    Runner advances from 2B to 3B.
  [2 outs | 0-2 | 3B] FOUL
    Foul ball. Count: 0-2.
  [2 outs | 0-2 | 3B] BALL IN PLAY
    Joaquín Ramirez runs → double.
    Runner scores from 3B.
  [2 outs | 0-0 | 2B] JOKER INSERTION
    Osaka Storms sends in joker Samuel Freedman for an extra plate appearance (joker #3).
  --- Now batting: Samuel Freedman ---
  [2 outs | 0-0 | 2B] FOUL
    Foul ball. Count: 0-1.
  [2 outs | 0-1 | 2B] BALL
    Ball 1. Count: 1-1.
  [2 outs | 1-1 | 2B] BALL
    Ball 2. Count: 2-1.
  [2 outs | 2-1 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 2-2.
  [2 outs | 2-2 | 2B] BALL
    Ball 3. Count: 3-2.
  [2 outs | 3-2 | 2B] FOUL
    Foul ball. Count: 3-2.
  [2 outs | 3-2 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Han-gyul Ko ---
  [3 outs | 0-0 | 2B] FOUL
    Foul ball. Count: 0-1.
  [3 outs | 0-1 | 2B] BALL
    Ball 1. Count: 1-1.
  [3 outs | 1-1 | 2B] STOLEN BASE ATTEMPT
    Runner caught stealing at 3B.
  [4 outs | 1-1 | empty] CALLED STRIKE
    Strike (called). Count: 1-2.
  [4 outs | 1-2 | empty] FOUL
    Foul ball. Count: 1-2.
  [4 outs | 1-2 | empty] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Antony Oliveira ---
  [5 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [5 outs | 1-0 | empty] BALL IN PLAY
    Antony Oliveira runs → ground out.
    Antony Oliveira is out.
  --- Now batting: Yukinari Endo ---
  [6 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [6 outs | 1-0 | empty] FOUL
    Foul ball. Count: 1-1.
  [6 outs | 1-1 | empty] FOUL
    Foul ball. Count: 1-2.
  [6 outs | 1-2 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Damdinsuren Chinbat ---
  [7 outs | 0-0 | empty] BALL IN PLAY
    Damdinsuren Chinbat runs → double.
  --- Now batting: Takeshi Yokobori ---
  [7 outs | 0-0 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [7 outs | 0-1 | 2B] WILD PITCH
    Wild pitch — runners advance.
    Runner advances from 2B to 3B.
  [7 outs | 0-1 | 3B] BALL
    Ball 1. Count: 1-1.
  [7 outs | 1-1 | 3B] FOUL
    Foul ball. Count: 1-2.
  [7 outs | 1-2 | 3B] FOUL
    Foul ball. Count: 1-2.
  [7 outs | 1-2 | 3B] FOUL OUT
    Foul ball. Count: 0-0.
  --- Now batting: Yūki Tominaga ---
  [8 outs | 0-0 | 3B] BALL
    Ball 1. Count: 1-0.
  [8 outs | 1-0 | 3B] BALL
    Ball 2. Count: 2-0.
  [8 outs | 2-0 | 3B] BALL
    Ball 3. Count: 3-0.
  [8 outs | 3-0 | 3B] BALL
    WALK — Yūki Tominaga awarded 1B.
  [8 outs | 0-0 | 1B, 3B] PINCH HITTER
    Eun-woo Jeong pinch-hits for Khải Oanh.
  [8 outs | 0-0 | 1B, 3B] PINCH RUNNER
    Yudai Mizuno pinch-runs for Damdinsuren Chinbat at 3B.
  --- Now batting: Eun-woo Jeong ---
  [8 outs | 0-0 | 1B, 3B] BALL IN PLAY
    Eun-woo Jeong runs → single.
    Runner scores from 3B.
    Runner advances from 1B to 2B.
  --- Now batting: Shintaro Hamada ---
  [8 outs | 0-0 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [8 outs | 0-1 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [8 outs | 0-2 | 1B, 2B] FOUL
    Foul ball. Count: 0-2.
  [8 outs | 0-2 | 1B, 2B] BALL IN PLAY
    Shintaro Hamada runs → single.
    Runner at 2B thrown out.
    Runner scores from 1B.
  --- Now batting: Roberto Grez ---
  [10 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [10 outs | 1-0 | 1B] STOLEN BASE ATTEMPT
    Runner caught stealing at 2B.
  [11 outs | 1-0 | empty] CALLED STRIKE
    Strike (called). Count: 1-1.
  [11 outs | 1-1 | empty] BALL
    Ball 2. Count: 2-1.
  [11 outs | 2-1 | empty] BALL
    Ball 3. Count: 3-1.
  [11 outs | 3-1 | empty] CALLED STRIKE
    Strike (called). Count: 3-2.
  [11 outs | 3-2 | empty] BALL IN PLAY
    Roberto Grez runs → line out.
    Roberto Grez is out.
  [12 outs | 0-0 | empty] JOKER INSERTION
    Osaka Storms sends in joker Yasuhito Hasebe for an extra plate appearance (joker #4).
  --- Now batting: Yasuhito Hasebe ---
  [12 outs | 0-0 | empty] CALLED STRIKE
    Strike (called). Count: 0-1.
  [12 outs | 0-1 | empty] CALLED STRIKE
    Strike (called). Count: 0-2.
  [12 outs | 0-2 | empty] FOUL
    Foul ball. Count: 0-2.
  [12 outs | 0-2 | empty] BALL
    Ball 1. Count: 1-2.
  [12 outs | 1-2 | empty] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  [13 outs | 0-0 | empty] JOKER INSERTION
    Osaka Storms sends in joker Joaquín Ramirez for an extra plate appearance (joker #5).
  --- Now batting: Joaquín Ramirez ---
  [13 outs | 0-0 | empty] BALL IN PLAY
    Joaquín Ramirez runs → HOME RUN.
    Batter scores (HR).
    [Walk-Back — Joaquín Ramirez retreats to 3B as the bonus runner.]
    [The Walk-Back is brought to you by Arthur Andersen.]
  [13 outs | 0-0 | 3B] JOKER INSERTION
    Osaka Storms sends in joker Samuel Freedman for an extra plate appearance (joker #6).
  --- Now batting: Samuel Freedman ---
  [13 outs | 0-0 | 3B] INTENTIONAL WALK
    INTENTIONAL WALK — Samuel Freedman given a free pass.
  --- Now batting: Han-gyul Ko ---
  [13 outs | 0-0 | 1B, 3B] BALL IN PLAY
    Han-gyul Ko runs → double.
    Runner scores from 3B.
    Runner advances from 1B to 3B.
  [13 outs | 0-0 | 2B, 3B] PINCH RUNNER
    Yang Seah pinch-runs for Han-gyul Ko at 2B.
  --- Now batting: Antony Oliveira ---
  [13 outs | 0-0 | 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [13 outs | 1-0 | 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 1-1.
  [13 outs | 1-1 | 2B, 3B] BALL
    Ball 2. Count: 2-1.
  [13 outs | 2-1 | 2B, 3B] BALL
    Ball 3. Count: 3-1.
  [13 outs | 3-1 | 2B, 3B] FOUL
    Foul ball. Count: 3-2.
  [13 outs | 3-2 | 2B, 3B] FOUL
    Foul ball. Count: 3-2.
  [13 outs | 3-2 | 2B, 3B] BALL
    WALK — Antony Oliveira awarded 1B.
  [13 outs | 0-0 | 1B, 2B, 3B] PINCH HITTER
    Levar Adams pinch-hits for Yukinari Endo.
  [13 outs | 0-0 | 1B, 2B, 3B] PINCH RUNNER
    Ji-sung Ahn pinch-runs for Antony Oliveira at 1B.
  --- Now batting: Levar Adams ---
  [13 outs | 0-0 | 1B, 2B, 3B] BALL IN PLAY
    Levar Adams runs → ground out.
    Levar Adams is out.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  --- Now batting: Yudai Mizuno ---
  [14 outs | 0-0 | 2B, 3B] INTENTIONAL WALK
    INTENTIONAL WALK — Yudai Mizuno given a free pass.
  [14 outs | 0-0 | 1B, 2B, 3B] PINCH HITTER
    Yong-su Ri pinch-hits for Takeshi Yokobori.
  [14 outs | 0-0 | 1B, 2B, 3B] PINCH RUNNER
    Marcus Cannonov pinch-runs for Ji-sung Ahn at 2B.
  --- Now batting: Yong-su Ri ---
  [14 outs | 0-0 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [14 outs | 1-0 | 1B, 2B, 3B] BALL
    Ball 2. Count: 2-0.
  [14 outs | 2-0 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 2-1.
  [14 outs | 2-1 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 2-2.
  [14 outs | 2-2 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 2-2.
  [14 outs | 2-2 | 1B, 2B, 3B] FOUL OUT
    Foul ball. Count: 0-0.
  [15 outs | 0-0 | 1B, 2B, 3B] PINCH RUNNER
    Bao Wang pinch-runs for Marcus Cannonov at 2B.
  --- Now batting: Yūki Tominaga ---
  [15 outs | 0-0 | 1B, 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [15 outs | 0-1 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-1.
  [15 outs | 1-1 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 1-2.
  [15 outs | 1-2 | 1B, 2B, 3B] BALL IN PLAY
    Yūki Tominaga runs → single.
    Runner scores from 3B.
    Runner at 2B thrown out.
    Runner advances from 1B to 2B.
  [16 outs | 0-0 | 1B, 2B] PITCHING CHANGE
    PITCHING CHANGE: Philip Rodriguez exits (22 BF this spell).
  --- Now batting: Eun-woo Jeong ---
  [16 outs | 0-0 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [16 outs | 0-1 | 1B, 2B] BALL IN PLAY
    Eun-woo Jeong runs → ground out.
    Eun-woo Jeong is out.
    Runner at 2B thrown out.
    Runner advances from 1B to 2B.
  --- Now batting: Shintaro Hamada ---
  [18 outs | 0-0 | 2B] BALL IN PLAY
    Shintaro Hamada runs → fly out.
    Shintaro Hamada is out.
  [19 outs | 0-0 | 2B] JOKER INSERTION
    Osaka Storms sends in joker Yasuhito Hasebe for an extra plate appearance (joker #7).
  [19 outs | 0-0 | 2B] DEFENSIVE SUB
    Putu Wibowo replaces Ho-seok Park at CF.
  --- Now batting: Yasuhito Hasebe ---
  [19 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [19 outs | 1-0 | 2B] BALL
    Ball 2. Count: 2-0.
  [19 outs | 2-0 | 2B] BALL IN PLAY
    Yasuhito Hasebe runs → fly out.
    ROBBED! Pornchai Kraisorn runs it down — a sure extra-base hit erased!
    Yasuhito Hasebe is out.
  [20 outs | 0-0 | 2B] JOKER INSERTION
    Osaka Storms sends in joker Joaquín Ramirez for an extra plate appearance (joker #8).
  --- Now batting: Joaquín Ramirez ---
  [20 outs | 0-0 | 2B] BALL IN PLAY
    Joaquín Ramirez runs → fly out.
    Joaquín Ramirez is out.
  [21 outs | 0-0 | 2B] JOKER INSERTION
    Osaka Storms sends in joker Samuel Freedman for an extra plate appearance (joker #9).
  --- Now batting: Samuel Freedman ---
  [21 outs | 0-0 | 2B] FOUL
    Foul ball. Count: 0-1.
  [21 outs | 0-1 | 2B] BALL IN PLAY
    Samuel Freedman runs → ground out.
    Samuel Freedman is out.
    Runner at 2B thrown out.
  --- Now batting: Roberto Grez ---
  [23 outs | 0-0 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [23 outs | 0-1 | empty] BALL IN PLAY
    Roberto Grez runs → ground out.
    Roberto Grez is out.
  --- Now batting: Yang Seah ---
  [24 outs | 0-0 | empty] CALLED STRIKE
    Strike (called). Count: 0-1.
  [24 outs | 0-1 | empty] CALLED STRIKE
    Strike (called). Count: 0-2.
  [24 outs | 0-2 | empty] BALL
    Ball 1. Count: 1-2.
  [24 outs | 1-2 | empty] BALL
    Ball 2. Count: 2-2.
  [24 outs | 2-2 | empty] FOUL
    Foul ball. Count: 2-2.
  [24 outs | 2-2 | empty] FOUL
    Foul ball. Count: 2-2.
  [24 outs | 2-2 | empty] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  [25 outs | 0-0 | empty] DEFENSIVE SUB
    Akira Miura replaces Dramarian Velazquezov at 3B.
  --- Now batting: Bao Wang ---
  [25 outs | 0-0 | empty] CALLED STRIKE
    Strike (called). Count: 0-1.
  [25 outs | 0-1 | empty] BALL IN PLAY
    Bao Wang runs → triple.
  [25 outs | 0-0 | 3B] DEFENSIVE SUB
    Faisal Wahab replaces Marcus Low at SS.
  --- Now batting: Levar Adams ---
  [25 outs | 0-0 | 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [25 outs | 0-1 | 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [25 outs | 0-2 | 3B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Yudai Mizuno ---
  [26 outs | 0-0 | 3B] DECLARATION
    >> Osaka Storms DECLARES SECONDS at out 26 (6-8).

  End of top half — Osaka Storms: 6 run(s), 9 hit(s), 27 out(s) | Run rate: 0.222

  ────────────────────────────────────────────────────────────
  SECONDS_FIRST | Shenzhen Knights batting
  ────────────────────────────────────────────────────────────
  [0 outs | 0-0 | empty] JOKER INSERTION
    Shenzhen Knights sends in joker Yung-chi Su for an extra plate appearance (joker #8).
  --- Now batting: Yung-chi Su ---
  [0 outs | 0-0 | empty] CALLED STRIKE
    Strike (called). Count: 0-1.
  [0 outs | 0-1 | empty] BALL
    Ball 1. Count: 1-1.
  [0 outs | 1-1 | empty] BALL IN PLAY
    Yung-chi Su runs → double.
  --- Now batting: Faisal Wahab ---
  [0 outs | 0-0 | 2B] BALL IN PLAY
    Faisal Wahab runs → error.
    Runner at 2B thrown out.

  ────────────────────────────────────────────────────────────
  SECONDS_SECOND | Osaka Storms batting
  ────────────────────────────────────────────────────────────
  --- Now batting: Yudai Mizuno ---
  [0 outs | 0-0 | empty] FOUL
    Foul ball. Count: 0-1.
  [0 outs | 0-1 | empty] BALL IN PLAY
    Yudai Mizuno runs → single.
  --- Now batting: Yong-su Ri ---
  [0 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [0 outs | 1-0 | 1B] BALL
    Ball 2. Count: 2-0.
  [0 outs | 2-0 | 1B] BALL
    Ball 3. Count: 3-0.
  [0 outs | 3-0 | 1B] BALL IN PLAY
    Yong-su Ri runs → single.
    Runner at 1B thrown out.

  ============================================================
  GAME OVER: SHENZHEN KNIGHTS WIN 8–6
  ============================================================
  Final score: Shenzhen Knights 8, Osaka Storms 6
  ============================================================
  LINE SCORE
                          1      2      R
  Osaka Storms            6      0      6
  Shenzhen Knights        8      0      8

  ============================================================
  OSAKA STORMS BATTING
  Player                PA   AB    R    H   2B   3B   HR    RBI   BB    K  HBP   2C  2C-R   MH
  ────────────────────────────────────────────────────────────────────────────────────────────────
  Khải Oanh               0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Damdinsuren Chinbat     1    1    0    1    1    0    0     0    0    0    0    0     0    0
  Yudai Mizuno            2    1    1    1    0    0    0     0    1    0    0    0     0    0
  Han-gyul Ko             2    2    0    1    1    0    0     1    0    1    0    0     0    0
  Levar Adams             2    2    0    0    0    0    0     1    0    1    0    0     0    0
  Jong-su Ryu             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Yong-su Ri              2    2    0    1    0    0    0     0    0    0    0    0     0    0
  Antony Oliveira         2    1    0    0    0    0    0     0    1    0    0    0     0    0
  Shintaro Hamada         3    3    0    1    0    0    0     0    0    0    0    0     0    0
  Samuel Freedman         3    2    1    0    0    0    0     0    1    1    0    0     0    0
  Yasuhito Hasebe         4    4    1    1    0    0    0     0    0    2    0    0     0    0
  Joaquín Ramirez         3    3    2    2    1    0    1     2    0    0    0    0     0    0
  Ji-sung Ahn             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Yosuke Kidowaki         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Yukinari Endo           1    1    0    0    0    0    0     0    0    1    0    0     0    0
  Takeshi Yokobori        1    1    0    0    0    0    0     0    0    0    0    0     0    0
  Bao Wang                1    1    0    1    0    1    0     0    0    0    0    0     0    0
  Yūki Tominaga           2    1    0    1    0    0    0     1    1    0    0    0     0    0
  Satoshi Muramatsu       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Yu-cheng Cheng          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ritsu Masuda            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Roberto Grez            2    2    0    0    0    0    0     0    0    0    0    0     0    0
  Yang Seah               1    1    1    0    0    0    0     0    0    1    0    0     0    0
  Eun-woo Jeong           2    2    0    1    0    0    0     1    0    0    0    0     0    0
  Min-jun Ha              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Marcus Cannonov         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Yong Choe               0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kosei Tsujino           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Vance Cronk             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Lorenzo Gregorio        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Gary Tabios             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Farhan Abdullah         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Imran Mohd              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Daisuke Kagawa          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Chan-ho Yang            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ngân Duong              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Shayne Darmawan         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Chong Lim               0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Geon-woo Park           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Thaksin Boonyasak       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Jong-ho Ko              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ethan Jacquet           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kim Gravenberch         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Seung-woo Yook          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  ────────────────────────────────────────────────────────────────────────────────────────────────
  TOTALS                 34   30    6   11    3    1    1     6    4    7    0    0     0    0

  Pitcher                BF  OUT    H    R   BB    K  HBP
  ──────────────────────────────────────────────────────
  Khải Oanh              14    9    5    2    0    4    0
  Ngân Duong             11    9    2    3    1    3    0
  Chong Lim              13    9    2    3    4    2    0

  ============================================================
  SHENZHEN KNIGHTS BATTING
  Player                PA   AB    R    H   2B   3B   HR    RBI   BB    K  HBP   2C  2C-R   MH
  ────────────────────────────────────────────────────────────────────────────────────────────────
  Philip Rodriguez        2    2    1    1    0    0    0     1    0    1    0    0     0    0
  Faisal Pendatun         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Marcus Low              3    3    0    0    0    0    0     0    0    1    0    0     0    0
  Kei Mori                3    3    0    0    0    0    0     1    0    1    0    0     0    0
  Dramarian Velazquezov    3    3    0    1    0    0    0     0    0    1    0    0     0    0
  Akira Miura             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Takao Tanaka            4    2    1    1    0    0    0     3    2    1    0    1     1    0
  Bongbong Blatche        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Davion Appiah           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Chia-hsien Hsu          4    4    2    2    2    0    0     0    0    1    0    0     0    0
  Yung-chi Su             4    4    1    2    1    0    0     0    0    0    0    0     0    0
  Ho-seok Park            3    2    0    0    0    0    0     0    1    1    0    0     0    0
  Tae-yang Song           3    2    1    0    0    0    0     0    1    1    0    0     0    0
  Faisal Wahab            1    1    0    0    0    0    0     0    0    0    0    0     0    0
  Putu Wibowo             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kingman Lloyd           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Sei Hotta               0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Amgalanbaatar Choibalsan    0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Lingam Devan            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Hai Zhou                0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Sein Sein               0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Dong-won Kang           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Pornchai Kraisorn       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Isao Kinoshita          3    3    1    1    0    0    0     0    0    1    0    0     0    0
  Masahiko Yonezawa       4    3    1    1    1    0    0     2    1    0    0    0     0    0
  Hyun-woo Min            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ronald Gregorio         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Shunsuke Togashi        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Mykah Waite             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Rizki Sananta           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Lkhagva Dashdorj        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Dũng Khang              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ji-ho Cha               0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Daichi Komano           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Khánh Thanh             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Isaiah Wood             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Yosuke Kawamori         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Yongqiang Tian          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Jamal bin Hussein       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Bong Fajardo            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Bryan Patiño            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Wylie Gurney            1    1    0    0    0    0    0     0    0    0    0    0     0    0
  Jin-soo Ban             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ming-che Kuo            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  ────────────────────────────────────────────────────────────────────────────────────────────────
  TOTALS                 38   33    8    9    4    0    0     7    5    9    0    1     1    0

  Pitcher                BF  OUT    H    R   BB    K  HBP
  ──────────────────────────────────────────────────────
  Philip Rodriguez       24   17    9    6    4    5    0
  Lkhagva Dashdorj        9   10    1    0    0    2    0

  ============================================================
  Run rate:  Osaka Storms  0.222    Shenzhen Knights  0.296
  Second-Chance ABs:  Osaka Storms  0    Shenzhen Knights  1
  IBB (Osaka Storms): Yudai Mizuno; Samuel Freedman.
  IBB (Shenzhen Knights): Takao Tanaka; Ho-seok Park; Tae-yang Song.
  Required run rate (Shenzhen Knights): 0.037 R/out (needed 1 runs in 27 outs)
  Seconds: Osaka Storms o26 (6-8), Shenzhen Knights o26 (8-0)
  ============================================================
  ============================================================
  PARTNERSHIP LOG
  Batter 1              Batter 2                Runs  Half
  ──────────────────────────────────────────────────────────────────
  Masahiko Yonezawa     Takao Tanaka               0  bottom
  Takao Tanaka          Marcus Low                 0  bottom
  Marcus Low            Kei Mori                   0  bottom
  Kei Mori              Ho-seok Park               0  bottom
  Ho-seok Park          Isao Kinoshita             0  bottom
  Isao Kinoshita        Dramarian Velazquezov      0  bottom
  Dramarian Velazquezov Tae-yang Song              0  bottom
  Tae-yang Song         Takao Tanaka               4  bottom
  Takao Tanaka          Yung-chi Su                0  bottom
  Yung-chi Su           Marcus Low                 0  bottom
  Marcus Low            Kei Mori                   0  bottom
  Kei Mori              Ho-seok Park               0  bottom
  Ho-seok Park          Isao Kinoshita             0  bottom
  Isao Kinoshita        Dramarian Velazquezov      0  bottom
  Dramarian Velazquezov Philip Rodriguez           0  bottom
  Philip Rodriguez      Yung-chi Su                1  bottom
  Yung-chi Su           Masahiko Yonezawa          0  bottom
  Masahiko Yonezawa     Chia-hsien Hsu             0  bottom
  Chia-hsien Hsu        Marcus Low                 0  bottom
  Marcus Low            Kei Mori                   1  bottom
  Kei Mori              Ho-seok Park               0  bottom
  Ho-seok Park          Tae-yang Song              0  bottom
  Tae-yang Song         Wylie Gurney               0  bottom
  Wylie Gurney          Takao Tanaka               2  bottom
  Takao Tanaka          Chia-hsien Hsu             0  bottom
  Shintaro Hamada       Yasuhito Hasebe            0  top
  Yasuhito Hasebe       Samuel Freedman            1  top
  Samuel Freedman       Joaquín Ramirez            0  top
  Joaquín Ramirez       Han-gyul Ko                0  top
  Han-gyul Ko           Antony Oliveira            0  top
  Antony Oliveira       Yukinari Endo              0  top
  Yukinari Endo         Takeshi Yokobori           0  top
  Takeshi Yokobori      Yūki Tominaga              1  top
  Yūki Tominaga         Eun-woo Jeong              0  top
  Eun-woo Jeong         Shintaro Hamada            0  top
  Shintaro Hamada       Roberto Grez               0  top
  Roberto Grez          Yasuhito Hasebe            0  top
  Yasuhito Hasebe       Levar Adams                3  top
  Levar Adams           Yong-su Ri                 0  top
  Yong-su Ri            Bao Wang                   1  top
  Bao Wang              Yudai Mizuno               0  top
  Yudai Mizuno          Eun-woo Jeong              0  top
  Eun-woo Jeong         Shintaro Hamada            0  top
  Shintaro Hamada       Yasuhito Hasebe            0  top
  Yasuhito Hasebe       Joaquín Ramirez            0  top
  Joaquín Ramirez       Yūki Tominaga              0  top
  Yūki Tominaga         Samuel Freedman            0  top
  Samuel Freedman       Roberto Grez               0  top
  Roberto Grez          Yang Seah                  0  top
  Yang Seah             Levar Adams                0  top
  ──────────────────────────────────────────────────────────────────
  Total partnerships: 50  |  Avg runs/partnership: 0.28
  ============================================================
  PITCHER SPELL LOG
  Pitcher               Half         PA#   BF  OUT    R    H   BB    K  HBP
  ──────────────────────────────────────────────────────────────────────────
  Khải Oanh             bottom         1   12    8     2     4     0     4     0
  Ngân Duong            bottom        13   11    9     3     2     1     3     0
  Chong Lim             bottom        24   13    9     3     2     4     2     0
  Philip Rodriguez      top            1   22   16     6     7     4     5     0
  Lkhagva Dashdorj      top           24    9   10     0     1     0     2     0
  Khải Oanh             seconds_first  1    2    1     0     1     0     0     0
  Philip Rodriguez      seconds_second  1    2    1     0     2     0     0     0
  ──────────────────────────────────────────────────────────────────────────
  Total spells: 7


pbp_text:
  ────────────────────────────────────────────────────────────
  TOP HALF | Hermosillo Mariners batting
  ────────────────────────────────────────────────────────────
  --- Now batting: Quentin Naeve ---
  [0 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [0 outs | 1-0 | empty] BALL
    Ball 2. Count: 2-0.
  [0 outs | 2-0 | empty] BALL IN PLAY
    Quentin Naeve runs → ground out.
    Quentin Naeve is out.
  --- Now batting: Edward Holly ---
  [1 outs | 0-0 | empty] BALL IN PLAY
    Edward Holly runs → single.
  --- Now batting: Shannon Atteck ---
  [1 outs | 0-0 | 1B] FOUL
    Foul ball. Count: 0-1.
  [1 outs | 0-1 | 1B] PICKOFF ATTEMPT
    Pickoff — runner out at 1B!
  [2 outs | 0-1 | empty] CALLED STRIKE
    Strike (called). Count: 0-2.
  [2 outs | 0-2 | empty] FOUL
    Foul ball. Count: 0-2.
  [2 outs | 0-2 | empty] BALL IN PLAY
    Shannon Atteck runs → fly out.
    Shannon Atteck is out.
  --- Now batting: Juan Devens ---
  [3 outs | 0-0 | empty] CALLED STRIKE
    Strike (called). Count: 0-1.
  [3 outs | 0-1 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [3 outs | 0-2 | empty] FOUL
    Foul ball. Count: 0-2.
  [3 outs | 0-2 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Straight Scherman ---
  [4 outs | 0-0 | empty] BALL IN PLAY
    Straight Scherman runs → single.
  --- Now batting: Patrick Rybakov ---
  [4 outs | 0-0 | 1B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [4 outs | 0-1 | 1B] BALL IN PLAY
    Patrick Rybakov runs → double.
    Runner advances from 1B to 3B.
  [4 outs | 0-0 | 2B, 3B] PINCH RUNNER
    Bergin Etta pinch-runs for Straight Scherman at 3B.
  --- Now batting: Joseph Waterman ---
  [4 outs | 0-0 | 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [4 outs | 0-1 | 2B, 3B] BALL
    Ball 1. Count: 1-1.
  [4 outs | 1-1 | 2B, 3B] BALL
    Ball 2. Count: 2-1.
  [4 outs | 2-1 | 2B, 3B] BALL IN PLAY
    Joseph Waterman runs → double.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
  [4 outs | 0-0 | 2B, 3B] PINCH RUNNER
    Elwood Myers pinch-runs for Patrick Rybakov at 3B.
  --- Now batting: Ted Speltz ---
  [4 outs | 0-0 | 2B, 3B] BALL IN PLAY
    Ted Speltz runs → single.
    Runner scores from 2B.
  [4 outs | 0-0 | 1B, 3B] PITCHING CHANGE
    PITCHING CHANGE: Kadin Meister exits (8 BF this spell).
  [4 outs | 0-0 | 1B, 3B] JOKER INSERTION
    Hermosillo Mariners sends in joker Junior Cruz for an extra plate appearance (joker #1).
  [4 outs | 0-0 | 1B, 3B] PINCH RUNNER
    Chris Ramsey pinch-runs for Ted Speltz at 1B.
  --- Now batting: Junior Cruz ---
  [4 outs | 0-0 | 1B, 3B] BALL IN PLAY
    Junior Cruz runs → double play.
    Junior Cruz is out.
    Runner at 1B thrown out.
  [6 outs | 0-0 | 3B] JOKER INSERTION
    Hermosillo Mariners sends in joker Oliver Warner for an extra plate appearance (joker #2).
  --- Now batting: Oliver Warner ---
  [6 outs | 0-0 | 3B] FOUL
    Foul ball. Count: 0-1.
  [6 outs | 0-1 | 3B] BALL IN PLAY
    Oliver Warner runs → infield single.
    Runner scores from 3B.
  [6 outs | 0-0 | empty] JOKER INSERTION
    Hermosillo Mariners sends in joker Alexei Céspedes for an extra plate appearance (joker #3).
  --- Now batting: Alexei Céspedes ---
  [6 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [6 outs | 1-0 | empty] BALL
    Ball 2. Count: 2-0.
  [6 outs | 2-0 | empty] BALL
    Ball 3. Count: 3-0.
  [6 outs | 3-0 | empty] BALL
    WALK — Alexei Céspedes awarded 1B.
  --- Now batting: Makai Barros [P] ---
  [6 outs | 0-0 | 1B] SAC BUNT
  --- Now batting: Quentin Naeve ---
  [7 outs | 0-0 | 2B] FOUL
    Foul ball. Count: 0-1.
  [7 outs | 0-1 | 2B] BALL IN PLAY
    Quentin Naeve runs → line out.
    Quentin Naeve is out.
  [8 outs | 0-0 | 2B] STOLEN BASE ATTEMPT
    Stolen base — runner advances to 3B.
  --- Now batting: Edward Holly ---
  [8 outs | 0-0 | 3B] BALL
    Ball 1. Count: 1-0.
  [8 outs | 1-0 | 3B] BALL
    Ball 2. Count: 2-0.
  [8 outs | 2-0 | 3B] BALL
    Ball 3. Count: 3-0.
  [8 outs | 3-0 | 3B] FOUL
    Foul ball. Count: 3-1.
  [8 outs | 3-1 | 3B] FOUL
    Foul ball. Count: 3-2.
  [8 outs | 3-2 | 3B] BALL IN PLAY
    Edward Holly runs → fly out.
    Edward Holly is out.
  --- Now batting: Shannon Atteck ---
  [9 outs | 0-0 | 3B] BALL
    Ball 1. Count: 1-0.
  [9 outs | 1-0 | 3B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [9 outs | 1-1 | 3B] BALL
    Ball 2. Count: 2-1.
  [9 outs | 2-1 | 3B] BALL IN PLAY
    Shannon Atteck runs → fly out.
    Shannon Atteck is out.
    Runner scores from 3B.
  --- Now batting: Juan Devens ---
  [10 outs | 0-0 | empty] BALL IN PLAY
    Juan Devens runs → fielder's choice.
  --- Now batting: Bergin Etta ---
  [10 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [10 outs | 1-0 | 1B] FOUL
    Foul ball. Count: 1-1.
  [10 outs | 1-1 | 1B] CALLED STRIKE
    Strike (called). Count: 1-2.
  [10 outs | 1-2 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Elwood Myers ---
  [11 outs | 0-0 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [11 outs | 0-1 | 1B] BALL IN PLAY
    Elwood Myers runs → ground out.
    Elwood Myers is out.
    Runner advances from 1B to 2B.
  --- Now batting: Joseph Waterman ---
  [12 outs | 0-0 | 2B] FOUL
    Foul ball. Count: 0-1.
  [12 outs | 0-1 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [12 outs | 0-2 | 2B] BALL IN PLAY
    Joseph Waterman runs → double.
    Runner advances from 2B to 3B.
  [12 outs | 0-0 | 2B, 3B] JOKER INSERTION
    Hermosillo Mariners sends in joker Junior Cruz for an extra plate appearance (joker #4).
  --- Now batting: Junior Cruz ---
  [12 outs | 0-0 | 2B, 3B] INTENTIONAL WALK
    INTENTIONAL WALK — Junior Cruz given a free pass.
  [12 outs | 0-0 | 1B, 2B, 3B] JOKER INSERTION
    Hermosillo Mariners sends in joker Oliver Warner for an extra plate appearance (joker #5).
  --- Now batting: Oliver Warner ---
  [12 outs | 0-0 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 0-1.
  [12 outs | 0-1 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-1.
  [12 outs | 1-1 | 1B, 2B, 3B] BALL
    Ball 2. Count: 2-1.
  [12 outs | 2-1 | 1B, 2B, 3B] BALL IN PLAY
    Oliver Warner runs → ground out.
    Oliver Warner is out.
    Runner at 3B thrown out.
    Runner scores from 2B.
    Runner advances from 1B to 2B.
  [14 outs | 0-0 | 2B] PITCHING CHANGE
    PITCHING CHANGE: Vivek Permaul exits (12 BF this spell).
  [14 outs | 0-0 | 2B] JOKER INSERTION
    Hermosillo Mariners sends in joker Alexei Céspedes for an extra plate appearance (joker #6).
  --- Now batting: Alexei Céspedes ---
  [14 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [14 outs | 1-0 | 2B] BALL
    Ball 2. Count: 2-0.
  [14 outs | 2-0 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 2-1.
  [14 outs | 2-1 | 2B] BALL IN PLAY
    Alexei Céspedes runs → double.
    Runner scores from 2B.
  --- Now batting: Chris Ramsey ---
  [14 outs | 0-0 | 2B] FOUL
    Foul ball. Count: 0-1.
  [14 outs | 0-1 | 2B] STOLEN BASE ATTEMPT
    Stolen base — runner advances to 3B.
  [14 outs | 0-1 | 3B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [14 outs | 0-2 | 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Makai Barros [P] ---
  [15 outs | 0-0 | 3B] INTENTIONAL WALK
    INTENTIONAL WALK — Makai Barros given a free pass.
  [15 outs | 0-0 | 1B, 3B] JOKER INSERTION
    Hermosillo Mariners sends in joker Junior Cruz for an extra plate appearance (joker #7).
  [15 outs | 0-0 | 1B, 3B] PICKOFF ATTEMPT
    Pickoff — runner out at 1B!
  --- Now batting: Junior Cruz ---
  [16 outs | 0-0 | 3B] BALL
    Ball 1. Count: 1-0.
  [16 outs | 1-0 | 3B] SWINGING STRIKE
    Strike (swinging). Count: 1-1.
  [16 outs | 1-1 | 3B] FOUL
    Foul ball. Count: 1-2.
  [16 outs | 1-2 | 3B] FOUL
    Foul ball. Count: 1-2.
  [16 outs | 1-2 | 3B] BALL IN PLAY
    Junior Cruz runs → single.
  [16 outs | 0-0 | 1B, 3B] WILD PITCH
    Wild pitch — runners advance.
    Runner scores from 3B.
    Runner advances from 1B to 2B.
    1 run(s) score.
  --- Now batting: Quentin Naeve ---
  [16 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [16 outs | 1-0 | 2B] HIT BY PITCH
    HBP — Quentin Naeve awarded 1B.
  --- Now batting: Edward Holly ---
  [16 outs | 0-0 | 1B, 2B] FOUL
    Foul ball. Count: 0-1.
  [16 outs | 0-1 | 1B, 2B] BALL
    Ball 1. Count: 1-1.
  [16 outs | 1-1 | 1B, 2B] WILD PITCH
    Wild pitch — runners advance.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  [16 outs | 1-1 | 2B, 3B] FOUL
    Foul ball. Count: 1-2.
  [16 outs | 1-2 | 2B, 3B] BALL IN PLAY
    Edward Holly runs → double.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
  --- Now batting: Shannon Atteck ---
  [16 outs | 0-0 | 2B, 3B] FOUL
    Foul ball. Count: 0-1.
  [16 outs | 0-1 | 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [16 outs | 0-2 | 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Juan Devens ---
  [17 outs | 0-0 | 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [17 outs | 1-0 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [17 outs | 1-1 | 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 1-2.
  [17 outs | 1-2 | 2B, 3B] FOUL
    Foul ball. Count: 1-2.
  [17 outs | 1-2 | 2B, 3B] BALL
    Ball 2. Count: 2-2.
  [17 outs | 2-2 | 2B, 3B] FOUL
    Foul ball. Count: 2-2.
  [17 outs | 2-2 | 2B, 3B] BALL
    Ball 3. Count: 3-2.
  [17 outs | 3-2 | 2B, 3B] BALL IN PLAY
    Juan Devens runs → single.
    Runner scores from 3B.
    Runner at 2B thrown out.
  [18 outs | 0-0 | 1B] STOLEN BASE ATTEMPT
    Runner caught stealing at 2B.
  --- Now batting: Bergin Etta ---
  [19 outs | 0-0 | empty] BALL IN PLAY
    Bergin Etta runs → single.
  [19 outs | 0-0 | 1B] DEFENSIVE SUB
    Jameson Holmes-Holt replaces Brad Fagan at 2B.
  --- Now batting: Elwood Myers ---
  [19 outs | 0-0 | 1B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [19 outs | 0-1 | 1B] BALL
    Ball 1. Count: 1-1.
  [19 outs | 1-1 | 1B] BALL
    Ball 2. Count: 2-1.
  [19 outs | 2-1 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 2-2.
  [19 outs | 2-2 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Joseph Waterman ---
  [20 outs | 0-0 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [20 outs | 0-1 | 1B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [20 outs | 0-2 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  [21 outs | 0-0 | 1B] JOKER INSERTION
    Hermosillo Mariners sends in joker Oliver Warner for an extra plate appearance (joker #8).
  --- Now batting: Oliver Warner ---
  [21 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [21 outs | 1-0 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 1-1.
  [21 outs | 1-1 | 1B] CALLED STRIKE
    Strike (called). Count: 1-2.
  [21 outs | 1-2 | 1B] FOUL
    Foul ball. Count: 1-2.
  [21 outs | 1-2 | 1B] BALL
    Ball 2. Count: 2-2.
  [21 outs | 2-2 | 1B] FOUL
    Foul ball. Count: 2-2.
  [21 outs | 2-2 | 1B] BALL IN PLAY
    Oliver Warner runs → fly out.
    Oliver Warner is out.
  [22 outs | 0-0 | 1B] JOKER INSERTION
    Hermosillo Mariners sends in joker Alexei Céspedes for an extra plate appearance (joker #9).
  --- Now batting: Alexei Céspedes ---
  [22 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [22 outs | 1-0 | 1B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [22 outs | 1-1 | 1B] BALL IN PLAY
    Alexei Céspedes runs → double play.
    Alexei Céspedes is out.
    Runner at 1B thrown out.
  --- Now batting: Chris Ramsey ---
  [24 outs | 0-0 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [24 outs | 0-1 | empty] FOUL
    Foul ball. Count: 0-2.
  [24 outs | 0-2 | empty] FOUL
    Foul ball. Count: 0-2.
  [24 outs | 0-2 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Makai Barros [P] ---
  [25 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [25 outs | 1-0 | empty] CALLED STRIKE
    Strike (called). Count: 1-1.
  [25 outs | 1-1 | empty] BALL
    Ball 2. Count: 2-1.
  [25 outs | 2-1 | empty] BALL
    Ball 3. Count: 3-1.
  [25 outs | 3-1 | empty] FOUL
    Foul ball. Count: 3-2.
  [25 outs | 3-2 | empty] FOUL
    Foul ball. Count: 3-2.
  [25 outs | 3-2 | empty] FOUL OUT
    Foul ball. Count: 0-0.
  --- Now batting: Quentin Naeve ---
  [26 outs | 0-0 | empty] BALL IN PLAY
    Quentin Naeve runs → line out.
    Quentin Naeve is out.

  End of top half — Hermosillo Mariners: 9 run(s), 12 hit(s), 27 out(s) | Run rate: 0.333
  ============================================================
  HALFTIME
    Hermosillo Mariners: 9 run(s)
    Lima Miners need 10 run(s) to win
    Required run rate: 0.370 R/out
  ============================================================

  ────────────────────────────────────────────────────────────
  BOTTOM HALF | Lima Miners batting
  ────────────────────────────────────────────────────────────
  --- Now batting: Mitty Tippmann ---
  [0 outs | 0-0 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [0 outs | 0-1 | empty] CALLED STRIKE
    Strike (called). Count: 0-2.
  [0 outs | 0-2 | empty] BALL
    Ball 1. Count: 1-2.
  [0 outs | 1-2 | empty] BALL IN PLAY
    Mitty Tippmann runs → HOME RUN.
    Batter scores (HR).
    [Walk-Back — Mitty Tippmann retreats to 3B as the bonus runner.]
    [The Walk-Back is brought to you by Arthur Andersen.]
  --- Now batting: Yoelvis Céspedes ---
  [0 outs | 0-0 | 3B] BALL IN PLAY
    Yoelvis Céspedes runs → double.
    Runner scores from 3B.
  --- Now batting: Eriq Carmona ---
  [0 outs | 0-0 | 2B] BALL IN PLAY
    Eriq Carmona runs → double.
    Runner scores from 2B.
  --- Now batting: Jameson Holmes-Holt ---
  [0 outs | 0-0 | 2B] BALL IN PLAY
    Jameson Holmes-Holt runs → single.
    Runner scores from 2B.
  [0 outs | 0-0 | 1B] PITCHING CHANGE
    PITCHING CHANGE: Makai Barros exits (4 BF this spell).
  --- Now batting: Joaquín Reina ---
  [0 outs | 0-0 | 1B] BALL IN PLAY
    Joaquín Reina runs → double.
    Runner scores from 1B.
  --- Now batting: Sebastian Stark ---
  [0 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [0 outs | 1-0 | 2B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [0 outs | 1-1 | 2B] FOUL
    Foul ball. Count: 1-2.
  [0 outs | 1-2 | 2B] BALL IN PLAY
    Sebastian Stark runs → double.
    Runner scores from 2B.
  --- Now batting: Collin Rohan ---
  [0 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [0 outs | 1-0 | 2B] BALL
    Ball 2. Count: 2-0.
  [0 outs | 2-0 | 2B] BALL
    Ball 3. Count: 3-0.
  [0 outs | 3-0 | 2B] CALLED STRIKE
    Strike (called). Count: 3-1.
  [0 outs | 3-1 | 2B] BALL
    WALK — Collin Rohan awarded 1B.
  --- Now batting: Jaquan Fretz ---
  [0 outs | 0-0 | 1B, 2B] BALL IN PLAY
    Jaquan Fretz runs → ground out.
    Jaquan Fretz is out.
    Runner at 2B thrown out.
    Runner advances from 1B to 2B.
  [2 outs | 0-0 | 2B] PITCHING CHANGE
    PITCHING CHANGE: Dennis Balfour exits (4 BF this spell).
  [2 outs | 0-0 | 2B] JOKER INSERTION
    Lima Miners sends in joker Mário Ortiz for an extra plate appearance (joker #1).
  --- Now batting: Mário Ortiz ---
  [2 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [2 outs | 1-0 | 2B] BALL
    Ball 2. Count: 2-0.
  [2 outs | 2-0 | 2B] BALL
    Ball 3. Count: 3-0.
  [2 outs | 3-0 | 2B] CALLED STRIKE
    Strike (called). Count: 3-1.
  [2 outs | 3-1 | 2B] BALL
    WALK — Mário Ortiz awarded 1B.
  [2 outs | 0-0 | 1B, 2B] JOKER INSERTION
    Lima Miners sends in joker Steve Yonas for an extra plate appearance (joker #2).
  --- Now batting: Steve Yonas ---
  [2 outs | 0-0 | 1B, 2B] BALL IN PLAY
    Steve Yonas runs → fly out.
    Steve Yonas is out.
  --- Now batting: Kadin Meister [P] ---
  [3 outs | 0-0 | 1B, 2B] BALL IN PLAY
    Kadin Meister runs → error.
    Runner scores from 2B.
    Runner advances from 1B to 2B.
  --- Now batting: Mitty Tippmann ---
  [3 outs | 0-0 | 1B, 2B] SAC BUNT
  --- Now batting: Yoelvis Céspedes ---
  [4 outs | 0-0 | 2B, 3B] FOUL
    Foul ball. Count: 0-1.
  [4 outs | 0-1 | 2B, 3B] FOUL
    Foul ball. Count: 0-2.
  [4 outs | 0-2 | 2B, 3B] BALL
    Ball 1. Count: 1-2.
  [4 outs | 1-2 | 2B, 3B] FOUL OUT
    Foul ball. Count: 0-0.
  --- Now batting: Eriq Carmona ---
  [5 outs | 0-0 | 2B, 3B] FOUL
    Foul ball. Count: 0-1.
  [5 outs | 0-1 | 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [5 outs | 0-2 | 2B, 3B] FOUL
    Foul ball. Count: 0-2.
  [5 outs | 0-2 | 2B, 3B] BALL IN PLAY
    Eriq Carmona runs → single.
    Runner scores from 3B.
    Runner scores from 2B.
  [5 outs | 0-0 | 1B] PITCHING CHANGE
    PITCHING CHANGE: Yannic Kalicharan exits (5 BF this spell).
  --- Now batting: Jameson Holmes-Holt ---
  [5 outs | 0-0 | 1B] BALL IN PLAY
    Jameson Holmes-Holt runs → ground out.
    Jameson Holmes-Holt is out.
    Runner advances from 1B to 2B.
  --- Now batting: Joaquín Reina ---
  [6 outs | 0-0 | 2B] FOUL
    Foul ball. Count: 0-1.
  [6 outs | 0-1 | 2B] BALL IN PLAY
    Joaquín Reina runs → single.
    Runner scores from 2B.

  End of bottom half — Lima Miners: 10 run(s), 8 hit(s), 6 out(s) | Run rate: 1.667

  ============================================================
  GAME OVER: LIMA MINERS WIN 10–9
  ============================================================
  Final score: Lima Miners 10, Hermosillo Mariners 9
  ============================================================
  LINE SCORE
                          1      R
  Hermosillo Mariners      9      9
  Lima Miners            10     10

  ============================================================
  HERMOSILLO MARINERS BATTING
  Player                PA   AB    R    H   2B   3B   HR    RBI   BB    K  HBP   2C  2C-R   MH
  ────────────────────────────────────────────────────────────────────────────────────────────────
  Makai Barros            3    1    0    0    0    0    0     0    1    0    0    0     0    0
  Joseph Waterman         3    3    1    2    2    0    0     1    0    1    0    0     0    0
  William Earn            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Edward Holly            3    3    0    2    1    0    0     1    0    0    0    0     0    0
  Yuli Pestano            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Shannon Atteck          3    3    0    0    0    0    0     1    0    1    0    0     0    0
  Deonarine Persaud       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Juan Devens             3    3    1    1    0    0    0     1    0    1    0    0     0    0
  Chris Ramsey            2    2    0    0    0    0    0     0    0    2    0    0     0    0
  Junior Cruz             3    2    2    1    0    0    0     0    1    0    0    0     0    0
  Oliver Warner           3    3    0    1    0    0    0     2    0    0    0    0     0    0
  Alexei Céspedes         3    2    2    1    1    0    0     1    1    0    0    0     0    0
  Lavon Forman            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Straight Scherman       1    1    0    1    0    0    0     0    0    0    0    0     0    0
  Bergin Etta             2    2    1    1    0    0    0     0    0    1    0    0     0    0
  Elwood Myers            2    2    1    0    0    0    0     0    0    1    0    0     0    0
  Edrick Mascherano       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ted Speltz              1    1    0    1    0    0    0     1    0    0    0    0     0    0
  Brandon Hemraj          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Riley Griffith          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Lourdes Olivera         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Lamar Beers             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Joaquín Alarcón         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Chase Stoll             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Patrick Rybakov         1    1    0    1    1    0    0     0    0    0    0    0     0    0
  Quentin Naeve           4    3    1    0    0    0    0     0    0    0    1    0     0    0
  Rod Link                0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Tally Cory              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Hugo Nash               0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Chad Hemphill           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ernest Craig            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Danilo Giraldo          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Jack Zamarripa          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Mark Beach              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Dennis Balfour          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Francisco Góndola       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kade Greene             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Alexei Puig             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Yannic Kalicharan       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Matthew Doherty         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Janiran Berhalter       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Rykar Bell-Haynes       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Rusney Hernández        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Vikram Latchman         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Yosvani Tomás           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  ────────────────────────────────────────────────────────────────────────────────────────────────
  TOTALS                 37   32    9   12    5    0    0     8    3    7    1    0     0    0

  Pitcher                BF  OUT    H    R   BB    K  HBP
  ──────────────────────────────────────────────────────
  Makai Barros            4    0    4    4    0    0    0
  Dennis Balfour          4    2    2    2    1    0    0
  Yannic Kalicharan       5    3    1    3    1    0    0
  Francisco Góndola       2    1    1    1    0    0    0

  ============================================================
  LIMA MINERS BATTING
  Player                PA   AB    R    H   2B   3B   HR    RBI   BB    K  HBP   2C  2C-R   MH
  ────────────────────────────────────────────────────────────────────────────────────────────────
  Kadin Meister           1    1    1    0    0    0    0     1    0    0    0    0     0    0
  Yoelvis Céspedes        2    2    1    1    1    0    0     1    0    0    0    0     0    0
  Jayvin Sewing           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Brad Fagan              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Collin Rohan            1    0    1    0    0    0    0     0    1    0    0    0     0    0
  Sebastian Stark         1    1    0    1    1    0    0     1    0    0    0    0     0    0
  Yuli Morejón            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Eriq Carmona            2    2    2    2    1    0    0     3    0    0    0    0     0    0
  Mitty Tippmann          2    1    2    1    0    0    1     1    0    0    0    0     0    0
  Mário Ortiz             1    0    1    0    0    0    0     0    1    0    0    0     0    0
  Steve Yonas             1    1    0    0    0    0    0     0    0    0    0    0     0    0
  Kevin Walsh             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Zach Feilhaber          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Caleb Sheehy            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Jameson Holmes-Holt     2    2    1    1    0    0    0     1    0    0    0    0     0    0
  Germán Wayar            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Titus Grabb             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Jaquan Fretz            1    1    0    0    0    0    0     0    0    0    0    0     0    0
  Iose Dunn               0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Alexios Keenan          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Dwight Kerns            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Dayán Sánchez           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Cecil Eliuk             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Gastón Aldama           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Joaquín Reina           2    2    1    2    1    0    0     2    0    0    0    0     0    0
  Aaron Piette            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Fiske Wyatt             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Pedro Féliz             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Collin Coates           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Bjorn Alloo             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Stone Wildey            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ladislav Reece          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Zaydrius Tracy          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ammar Connelly          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Vivek Permaul           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kolby Corontzes         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Learner Koury           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Eliot Edmond            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Franklin Rabasco        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Rodmond Enquist         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Bill Okla               0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Howard Caner            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Sandy Gambill           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Vivek Maharaj           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  ────────────────────────────────────────────────────────────────────────────────────────────────
  TOTALS                 16   13   10    8    4    0    1    10    2    0    0    0     0    0

  Pitcher                BF  OUT    H    R   BB    K  HBP
  ──────────────────────────────────────────────────────
  Kadin Meister           8    4    5    2    0    1    0
  Vivek Permaul          12   10    2    3    2    1    0
  Fiske Wyatt            16   13    5    4    1    5    1

  ============================================================
  Run rate:  Hermosillo Mariners  0.333    Lima Miners  0.370
  Second-Chance ABs:  Hermosillo Mariners  0    Lima Miners  0
  IBB (Hermosillo Mariners): Makai Barros; Junior Cruz.
  Required run rate (Lima Miners): 0.370 R/out (needed 10 runs in 27 outs)
  ============================================================
  ============================================================
  PARTNERSHIP LOG
  Batter 1              Batter 2                Runs  Half
  ──────────────────────────────────────────────────────────────────
  Quentin Naeve         Edward Holly               0  top
  Edward Holly          Shannon Atteck             0  top
  Shannon Atteck        Juan Devens                0  top
  Juan Devens           Chris Ramsey               2  top
  Chris Ramsey          Junior Cruz                0  top
  Junior Cruz           Makai Barros               1  top
  Makai Barros          Quentin Naeve              0  top
  Quentin Naeve         Edward Holly               0  top
  Edward Holly          Shannon Atteck             1  top
  Shannon Atteck        Bergin Etta                0  top
  Bergin Etta           Elwood Myers               0  top
  Elwood Myers          Juan Devens                1  top
  Juan Devens           Oliver Warner              0  top
  Oliver Warner         Chris Ramsey               1  top
  Chris Ramsey          Makai Barros               0  top
  Makai Barros          Shannon Atteck             2  top
  Shannon Atteck        Edward Holly               1  top
  Edward Holly          Juan Devens                0  top
  Juan Devens           Elwood Myers               0  top
  Elwood Myers          Joseph Waterman            0  top
  Joseph Waterman       Oliver Warner              0  top
  Oliver Warner         Bergin Etta                0  top
  Bergin Etta           Alexei Céspedes            0  top
  Alexei Céspedes       Chris Ramsey               0  top
  Chris Ramsey          Makai Barros               0  top
  Makai Barros          Quentin Naeve              0  top
  Sebastian Stark       Jaquan Fretz               6  bottom
  Jaquan Fretz          Steve Yonas                0  bottom
  Steve Yonas           Mitty Tippmann             1  bottom
  Mitty Tippmann        Yoelvis Céspedes           0  bottom
  Yoelvis Céspedes      Jameson Holmes-Holt        2  bottom
  ──────────────────────────────────────────────────────────────────
  Total partnerships: 31  |  Avg runs/partnership: 0.58
  ============================================================
  PITCHER SPELL LOG
  Pitcher               Half         PA#   BF  OUT    R    H   BB    K  HBP
  ──────────────────────────────────────────────────────────────────────────
  Kadin Meister         top            1    8    4     2     5     0     1     0
  Vivek Permaul         top            9   12   10     3     2     2     1     0
  Fiske Wyatt           top           22   16   13     4     5     1     5     1
  Makai Barros          bottom         1    4    0     4     4     0     0     0
  Dennis Balfour        bottom         5    4    2     2     2     1     0     0
  Yannic Kalicharan     bottom         9    5    3     3     1     1     0     0
  Francisco Góndola     bottom        15    2    1     1     1     0     0     0
  ──────────────────────────────────────────────────────────────────────────
  Total spells: 7


pbp_text:
  ────────────────────────────────────────────────────────────
  TOP HALF | Brno New Soap Works batting
  ────────────────────────────────────────────────────────────
  --- Now batting: Edwin Maas ---
  [0 outs | 0-0 | empty] BALL IN PLAY
    Edwin Maas runs → double.
  [0 outs | 0-0 | 2B] PINCH RUNNER
    Triệu Pham pinch-runs for Edwin Maas at 2B.
  --- Now batting: Topias Kauppinen ---
  [0 outs | 0-0 | 2B] FOUL
    Foul ball. Count: 0-1.
  [0 outs | 0-1 | 2B] BALL
    Ball 1. Count: 1-1.
  [0 outs | 1-1 | 2B] BALL
    Ball 2. Count: 2-1.
  [0 outs | 2-1 | 2B] WILD PITCH
    Wild pitch — runners advance.
    Runner advances from 2B to 3B.
  [0 outs | 2-1 | 3B] BALL
    Ball 3. Count: 3-1.
  [0 outs | 3-1 | 3B] BALL IN PLAY
    Topias Kauppinen runs → triple.
    Runner scores from 3B.
  [0 outs | 0-0 | 3B] PINCH RUNNER
    Radim Douděra pinch-runs for Topias Kauppinen at 3B.
  --- Now batting: Mark O'Brien ---
  [0 outs | 0-0 | 3B] BALL IN PLAY
    Mark O'Brien runs → single.
    Runner scores from 3B.
  [0 outs | 0-0 | 1B] PINCH RUNNER
    Norbert Pešek pinch-runs for Mark O'Brien at 1B.
  --- Now batting: Czesław Skorupski ---
  [0 outs | 0-0 | 1B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [0 outs | 0-1 | 1B] BALL
    Ball 1. Count: 1-1.
  [0 outs | 1-1 | 1B] FOUL
    Foul ball. Count: 1-2.
  [0 outs | 1-2 | 1B] BALL IN PLAY
    Czesław Skorupski runs → double.
    Runner scores from 1B.
  [0 outs | 0-0 | 2B] PITCHING CHANGE
    PITCHING CHANGE: Marco O'Carroll exits (4 BF this spell).
  --- Now batting: David Visser ---
  [0 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [0 outs | 0-1 | 2B] BALL
    Ball 1. Count: 1-1.
  [0 outs | 1-1 | 2B] BALL
    Ball 2. Count: 2-1.
  [0 outs | 2-1 | 2B] BALL IN PLAY
    David Visser runs → double.
    Runner scores from 2B.
  --- Now batting: Radek Marek ---
  [0 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [0 outs | 1-0 | 2B] FOUL
    Foul ball. Count: 1-1.
  [0 outs | 1-1 | 2B] FOUL
    Foul ball. Count: 1-2.
  [0 outs | 1-2 | 2B] FOUL OUT
    Foul ball. Count: 0-0.
  --- Now batting: Luke Spalletti ---
  [1 outs | 0-0 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [1 outs | 0-1 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [1 outs | 0-2 | 2B] BALL
    Ball 1. Count: 1-2.
  [1 outs | 1-2 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Greg Rennie ---
  [2 outs | 0-0 | 2B] FOUL
    Foul ball. Count: 0-1.
  [2 outs | 0-1 | 2B] BALL
    Ball 1. Count: 1-1.
  [2 outs | 1-1 | 2B] BALL
    Ball 2. Count: 2-1.
  [2 outs | 2-1 | 2B] FOUL
    Foul ball. Count: 2-2.
  [2 outs | 2-2 | 2B] BALL IN PLAY
    Greg Rennie runs → single.
    Runner at 2B thrown out.
  --- Now batting: Clément Van Leeuwen [P] ---
  [3 outs | 0-0 | 1B] SAC BUNT
    Cricket order flips (joker-free trip) — Clément Van Leeuwen now leads off.
  [4 outs | 0-0 | 2B] INTENTIONAL WALK
    INTENTIONAL WALK — Clément Van Leeuwen given a free pass.
  [4 outs | 0-0 | 1B, 2B] PINCH RUNNER
    San Smit pinch-runs for Clément Van Leeuwen at 1B.
  [4 outs | 0-0 | 1B, 2B] STOLEN BASE ATTEMPT
    Runner caught stealing at 3B.
  --- Now batting: Greg Rennie ---
  [5 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [5 outs | 1-0 | 1B] BALL IN PLAY
    Greg Rennie runs → ground out.
    Greg Rennie is out.
    Runner advances from 1B to 2B.
  --- Now batting: Luke Spalletti ---
  [6 outs | 0-0 | 2B] INTENTIONAL WALK
    INTENTIONAL WALK — Luke Spalletti given a free pass.
  [6 outs | 0-0 | 1B, 2B] PINCH RUNNER
    Kyrylo Sydorchuk pinch-runs for Luke Spalletti at 1B.
  --- Now batting: Radek Marek ---
  [6 outs | 0-0 | 1B, 2B] BALL
    Ball 1. Count: 1-0.
  [6 outs | 1-0 | 1B, 2B] BALL IN PLAY
    Radek Marek runs → line out.
    Radek Marek is out.
  --- Now batting: David Visser ---
  [7 outs | 0-0 | 1B, 2B] BALL IN PLAY
    David Visser runs → single.
    Runner scores from 2B.
    Runner advances from 1B to 3B.
  [7 outs | 0-0 | 1B, 3B] PITCHING CHANGE
    PITCHING CHANGE: Filip Beneš exits (9 BF this spell).
  [7 outs | 0-0 | 1B, 3B] PINCH RUNNER
    Klaus Cerci pinch-runs for David Visser at 1B.
  --- Now batting: Czesław Skorupski ---
  [7 outs | 0-0 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [7 outs | 0-1 | 1B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [7 outs | 0-2 | 1B, 3B] FOUL
    Foul ball. Count: 0-2.
  [7 outs | 0-2 | 1B, 3B] BALL IN PLAY
    Czesław Skorupski runs → single.
    Runner scores from 3B.
    Runner advances from 1B to 3B.
  --- Now batting: Norbert Pešek ---
  [7 outs | 0-0 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [7 outs | 0-1 | 1B, 3B] BALL IN PLAY
    Norbert Pešek runs → double.
    Runner scores from 3B.
    Runner scores from 1B.
  --- Now batting: Radim Douděra ---
  [7 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [7 outs | 0-1 | 2B] BALL
    Ball 1. Count: 1-1.
  [7 outs | 1-1 | 2B] CALLED STRIKE
    Strike (called). Count: 1-2.
  [7 outs | 1-2 | 2B] BALL IN PLAY
    Radim Douděra runs → ground out.
    Radim Douděra is out.
    Runner at 2B thrown out.
  [9 outs | 0-0 | empty] JOKER INSERTION
    Brno New Soap Works sends in joker Maurizio Cernoia for an extra plate appearance (joker #1).
  --- Now batting: Maurizio Cernoia ---
  [9 outs | 0-0 | empty] BALL IN PLAY
    Maurizio Cernoia runs → line out.
    ROBBED! Elia Roberts lays out for the diving grab — a hit turned into an out!
    Maurizio Cernoia is out.
  [10 outs | 0-0 | empty] JOKER INSERTION
    Brno New Soap Works sends in joker Jesse Brook for an extra plate appearance (joker #2).
  --- Now batting: Jesse Brook ---
  [10 outs | 0-0 | empty] CALLED STRIKE
    Strike (called). Count: 0-1.
  [10 outs | 0-1 | empty] BALL IN PLAY
    Jesse Brook runs → line out.
    Jesse Brook is out.
  --- Now batting: Triệu Pham ---
  [11 outs | 0-0 | empty] FOUL
    Foul ball. Count: 0-1.
  [11 outs | 0-1 | empty] FOUL
    Foul ball. Count: 0-2.
  [11 outs | 0-2 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: San Smit ---
  [12 outs | 0-0 | empty] BALL IN PLAY
    San Smit runs → triple.
  --- Now batting: Greg Rennie ---
  [12 outs | 0-0 | 3B] BALL
    Ball 1. Count: 1-0.
  [12 outs | 1-0 | 3B] FOUL
    Foul ball. Count: 1-1.
  [12 outs | 1-1 | 3B] SWINGING STRIKE
    Strike (swinging). Count: 1-2.
  [12 outs | 1-2 | 3B] BALL
    Ball 2. Count: 2-2.
  [12 outs | 2-2 | 3B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  [13 outs | 0-0 | 3B] JOKER INSERTION
    Brno New Soap Works sends in joker Maurizio Cernoia for an extra plate appearance (joker #3).
  --- Now batting: Maurizio Cernoia ---
  [13 outs | 0-0 | 3B] BALL IN PLAY
    Maurizio Cernoia takes a SECOND CHANCE at the plate.
    Hit credited (second chance). Total this AB: 1.
    Second chance — fresh 0-0 count.
    Runner scores from 3B.
  [13 outs | 0-1 | empty] FOUL
    Foul ball. Count: 0-2.
  [13 outs | 0-2 | empty] FOUL
    Foul ball. Count: 0-2.
  [13 outs | 0-2 | empty] BALL IN PLAY
    Maurizio Cernoia runs → double.
  [13 outs | 0-0 | 2B] PITCHING CHANGE
    PITCHING CHANGE: Karel Vitík exits (9 BF this spell).
  [13 outs | 0-0 | 2B] JOKER INSERTION
    Brno New Soap Works sends in joker Jesse Brook for an extra plate appearance (joker #4).
  --- Now batting: Jesse Brook ---
  [13 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [13 outs | 1-0 | 2B] BALL
    Ball 2. Count: 2-0.
  [13 outs | 2-0 | 2B] BALL IN PLAY
    Jesse Brook runs → HOME RUN.
    Runner scores.
    Batter scores (HR).
    [Walk-Back — Jesse Brook retreats to 3B as the bonus runner.]
    [The Walk-Back is brought to you by Washington Mutual.]
  --- Now batting: Kyrylo Sydorchuk ---
  [13 outs | 0-0 | 3B] BALL IN PLAY
    Kyrylo Sydorchuk runs → fly out.
    Kyrylo Sydorchuk is out.
    Runner at 3B thrown out.
  --- Now batting: Radek Marek ---
  [15 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [15 outs | 1-0 | empty] BALL IN PLAY
    Radek Marek runs → single.
  --- Now batting: Klaus Cerci ---
  [15 outs | 0-0 | 1B] FOUL
    Foul ball. Count: 0-1.
  [15 outs | 0-1 | 1B] BALL
    Ball 1. Count: 1-1.
  [15 outs | 1-1 | 1B] STOLEN BASE ATTEMPT
    Stolen base — runner advances to 2B.
  [15 outs | 1-1 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 1-2.
  [15 outs | 1-2 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Czesław Skorupski ---
  [16 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [16 outs | 1-0 | 2B] FOUL
    Foul ball. Count: 1-1.
  [16 outs | 1-1 | 2B] BALL
    Ball 2. Count: 2-1.
  [16 outs | 2-1 | 2B] BALL IN PLAY
    Czesław Skorupski runs → fielder's choice.
    Runner at 2B thrown out.
  --- Now batting: Norbert Pešek ---
  [17 outs | 0-0 | 1B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [17 outs | 0-1 | 1B] FOUL
    Foul ball. Count: 0-2.
  [17 outs | 0-2 | 1B] BALL
    Ball 1. Count: 1-2.
  [17 outs | 1-2 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Radim Douděra ---
  [18 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [18 outs | 1-0 | 1B] BALL IN PLAY
    Radim Douděra runs → HOME RUN.
    Runner scores.
    Batter scores (HR).
    [Walk-Back — Radim Douděra retreats to 3B as the bonus runner.]
    [The Walk-Back is brought to you by ShowBiz Pizza.]
  [18 outs | 0-0 | 3B] PITCHING CHANGE
    PITCHING CHANGE: Brendan Maguire exits (7 BF this spell).
  --- Now batting: Triệu Pham ---
  [18 outs | 0-0 | 3B] BALL
    Ball 1. Count: 1-0.
  [18 outs | 1-0 | 3B] BALL
    Ball 2. Count: 2-0.
  [18 outs | 2-0 | 3B] BALL IN PLAY
    Triệu Pham runs → error.
    Runner scores from 3B.
  [18 outs | 0-0 | 1B] JOKER INSERTION
    Brno New Soap Works sends in joker Maurizio Cernoia for an extra plate appearance (joker #5).
  --- Now batting: Maurizio Cernoia ---
  [18 outs | 0-0 | 1B] BALL IN PLAY
    Maurizio Cernoia runs → single.
    Runner advances from 1B to 3B.
  [18 outs | 0-0 | 1B, 3B] JOKER INSERTION
    Brno New Soap Works sends in joker Jesse Brook for an extra plate appearance (joker #6).
  --- Now batting: Jesse Brook ---
  [18 outs | 0-0 | 1B, 3B] FOUL
    Foul ball. Count: 0-1.
  [18 outs | 0-1 | 1B, 3B] FOUL
    Foul ball. Count: 0-2.
  [18 outs | 0-2 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  [19 outs | 0-0 | 1B, 3B] PINCH HITTER
    Sten Söderberg pinch-hits for San Smit.
  [19 outs | 0-0 | 1B, 3B] DEFENSIVE SUB
    Lucas Durante replaces Miroslav Čelůstka at 2B.
  --- Now batting: Sten Söderberg ---
  [19 outs | 0-0 | 1B, 3B] BALL
    Ball 1. Count: 1-0.
  [19 outs | 1-0 | 1B, 3B] BALL
    Ball 2. Count: 2-0.
  [19 outs | 2-0 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 2-1.
  [19 outs | 2-1 | 1B, 3B] FOUL
    Foul ball. Count: 2-2.
  [19 outs | 2-2 | 1B, 3B] BALL
    Ball 3. Count: 3-2.
  [19 outs | 3-2 | 1B, 3B] FOUL
    Foul ball. Count: 3-2.
  [19 outs | 3-2 | 1B, 3B] FOUL OUT
    Foul ball. Count: 0-0.
  --- Now batting: Greg Rennie ---
  [20 outs | 0-0 | 1B, 3B] BALL
    Ball 1. Count: 1-0.
  [20 outs | 1-0 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [20 outs | 1-1 | 1B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 1-2.
  [20 outs | 1-2 | 1B, 3B] FOUL
    Foul ball. Count: 1-2.
  [20 outs | 1-2 | 1B, 3B] FOUL
    Foul ball. Count: 1-2.
  [20 outs | 1-2 | 1B, 3B] FOUL OUT
    Foul ball. Count: 0-0.
  [21 outs | 0-0 | 1B, 3B] PHASE TRANSITION
    Brno New Soap Works switches to its defensive lineup: Jon Moen in for Triệu Pham.
  --- Now batting: Kyrylo Sydorchuk ---
  [21 outs | 0-0 | 1B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [21 outs | 0-1 | 1B, 3B] FOUL
    Foul ball. Count: 0-2.
  [21 outs | 0-2 | 1B, 3B] BALL IN PLAY
    Kyrylo Sydorchuk runs → single.
    Runner scores from 3B.
    Runner advances from 1B to 3B.
  --- Now batting: Radek Marek ---
  [21 outs | 0-0 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [21 outs | 0-1 | 1B, 3B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [21 outs | 0-2 | 1B, 3B] BALL IN PLAY
    Radek Marek runs → single.
    Runner advances from 1B to 2B.
  [21 outs | 0-0 | 1B, 2B, 3B] PINCH HITTER
    Artur Piotrowski pinch-hits for Klaus Cerci.
  --- Now batting: Artur Piotrowski ---
  [21 outs | 0-0 | 1B, 2B, 3B] BALL IN PLAY
    Artur Piotrowski takes a SECOND CHANCE at the plate.
    Hit credited (second chance). Total this AB: 1.
    Second chance — fresh 0-0 count.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  [21 outs | 0-1 | 2B, 3B] BALL
    Ball 1. Count: 1-1.
  [21 outs | 1-1 | 2B, 3B] FOUL
    Foul ball. Count: 1-2.
  [21 outs | 1-2 | 2B, 3B] BALL IN PLAY
    Artur Piotrowski runs → ground out.
    Artur Piotrowski is out.
    Runner scores from 3B.
    Runner advances from 2B to 3B.
  [22 outs | 0-0 | 3B] PITCHING CHANGE
    PITCHING CHANGE: Timo Freitas exits (8 BF this spell).
  --- Now batting: Czesław Skorupski ---
  [22 outs | 0-0 | 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [22 outs | 0-1 | 3B] BALL
    Ball 1. Count: 1-1.
  [22 outs | 1-1 | 3B] FOUL
    Foul ball. Count: 1-2.
  [22 outs | 1-2 | 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  [23 outs | 0-0 | 3B] DEFENSIVE SWAP
    Anders Brenn comes in for Norbert Pešek (defensive swap).
  --- Now batting: Anders Brenn ---
  [23 outs | 0-0 | 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [23 outs | 0-1 | 3B] FOUL
    Foul ball. Count: 0-2.
  [23 outs | 0-2 | 3B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Radim Douděra ---
  [24 outs | 0-0 | 3B] BALL IN PLAY
    Radim Douděra runs → single.
    Runner scores from 3B.
  --- Now batting: Jon Moen ---
  [24 outs | 0-0 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [24 outs | 0-1 | 1B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [24 outs | 0-2 | 1B] FOUL
    Foul ball. Count: 0-2.
  [24 outs | 0-2 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  [25 outs | 0-0 | 1B] JOKER INSERTION
    Brno New Soap Works sends in joker Maurizio Cernoia for an extra plate appearance (joker #7).
  --- Now batting: Maurizio Cernoia ---
  [25 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [25 outs | 1-0 | 1B] BALL IN PLAY
    Maurizio Cernoia runs → line out.
    Maurizio Cernoia is out.
  [26 outs | 0-0 | 1B] JOKER INSERTION
    Brno New Soap Works sends in joker Jesse Brook for an extra plate appearance (joker #8).
  --- Now batting: Jesse Brook ---
  [26 outs | 0-0 | 1B] FOUL
    Foul ball. Count: 0-1.
  [26 outs | 0-1 | 1B] BALL
    Ball 1. Count: 1-1.
  [26 outs | 1-1 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 1-2.
  [26 outs | 1-2 | 1B] FOUL
    Foul ball. Count: 1-2.
  [26 outs | 1-2 | 1B] BALL IN PLAY
    Jesse Brook runs → double.
    Runner advances from 1B to 3B.
  --- Now batting: Sten Söderberg ---
  [26 outs | 0-0 | 2B, 3B] FOUL
    Foul ball. Count: 0-1.
  [26 outs | 0-1 | 2B, 3B] BALL IN PLAY
    Sten Söderberg runs → double.
    Runner scores from 3B.
    Runner scores from 2B.
  [26 outs | 0-0 | 2B] PINCH RUNNER
    Owen Cole pinch-runs for Sten Söderberg at 2B.
  --- Now batting: Greg Rennie ---
  [26 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [26 outs | 0-1 | 2B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [26 outs | 0-2 | 2B] FOUL
    Foul ball. Count: 0-2.
  [26 outs | 0-2 | 2B] FOUL
    Foul ball. Count: 0-2.
  [26 outs | 0-2 | 2B] FOUL OUT
    Foul ball. Count: 0-0.

  End of top half — Brno New Soap Works: 20 run(s), 22 hit(s), 27 out(s) | Run rate: 0.741
  ============================================================
  HALFTIME
    Brno New Soap Works: 20 run(s)
    Pirelli Cougars need 21 run(s) to win
    Required run rate: 0.778 R/out
  ============================================================

  ────────────────────────────────────────────────────────────
  BOTTOM HALF | Pirelli Cougars batting
  ────────────────────────────────────────────────────────────
  --- Now batting: Kemal Brahimi ---
  [0 outs | 0-0 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [0 outs | 0-1 | empty] BALL
    Ball 1. Count: 1-1.
  [0 outs | 1-1 | empty] CALLED STRIKE
    Strike (called). Count: 1-2.
  [0 outs | 1-2 | empty] BALL
    Ball 2. Count: 2-2.
  [0 outs | 2-2 | empty] FOUL
    Foul ball. Count: 2-2.
  [0 outs | 2-2 | empty] BALL IN PLAY
    Kemal Brahimi runs → single.
  --- Now batting: Joel Hämäläinen ---
  [0 outs | 0-0 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [0 outs | 0-1 | 1B] WILD PITCH
    Wild pitch — runners advance.
    Runner advances from 1B to 2B.
  [0 outs | 0-1 | 2B] BALL
    Ball 1. Count: 1-1.
  [0 outs | 1-1 | 2B] CALLED STRIKE
    Strike (called). Count: 1-2.
  [0 outs | 1-2 | 2B] BALL
    Ball 2. Count: 2-2.
  [0 outs | 2-2 | 2B] BALL
    Ball 3. Count: 3-2.
  [0 outs | 3-2 | 2B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Thomas Sagna ---
  [1 outs | 0-0 | 2B] FOUL
    Foul ball. Count: 0-1.
  [1 outs | 0-1 | 2B] STOLEN BASE ATTEMPT
    Stolen base — runner advances to 3B.
  [1 outs | 0-1 | 3B] BALL IN PLAY
    Thomas Sagna takes a SECOND CHANCE — but is OUT (2-strike contact or caught fly).
    Runner at 3B thrown out.
  --- Now batting: Alfie Alba ---
  [3 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [3 outs | 1-0 | empty] HIT BY PITCH
    HBP — Alfie Alba awarded 1B.
  --- Now batting: Lucas Durante ---
  [3 outs | 0-0 | 1B] SAC BUNT
  --- Now batting: Šimon Kyzlink ---
  [4 outs | 0-0 | 2B] FOUL
    Foul ball. Count: 0-1.
  [4 outs | 0-1 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [4 outs | 0-2 | 2B] FOUL
    Foul ball. Count: 0-2.
  [4 outs | 0-2 | 2B] BALL IN PLAY
    Šimon Kyzlink runs → double.
    Runner scores from 2B.
  --- Now batting: Sayouba Muntari ---
  [4 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [4 outs | 1-0 | 2B] FOUL
    Foul ball. Count: 1-1.
  [4 outs | 1-1 | 2B] FOUL
    Foul ball. Count: 1-2.
  [4 outs | 1-2 | 2B] BALL IN PLAY
    Sayouba Muntari runs → single.
    Runner scores from 2B.
  --- Now batting: Philipp Labeyrie ---
  [4 outs | 0-0 | 1B] FOUL
    Foul ball. Count: 0-1.
  [4 outs | 0-1 | 1B] BALL
    Ball 1. Count: 1-1.
  [4 outs | 1-1 | 1B] FOUL
    Foul ball. Count: 1-2.
  [4 outs | 1-2 | 1B] BALL
    Ball 2. Count: 2-2.
  [4 outs | 2-2 | 1B] BALL IN PLAY
    Philipp Labeyrie runs → fly out.
    Philipp Labeyrie is out.
  --- Now batting: Marco O'Carroll [P] ---
  [5 outs | 0-0 | 1B] BALL IN PLAY
    Marco O'Carroll runs → single.
    Runner advances from 1B to 2B.
  --- Now batting: Kemal Brahimi ---
  [5 outs | 0-0 | 1B, 2B] BALL
    Ball 1. Count: 1-0.
  [5 outs | 1-0 | 1B, 2B] BALL
    Ball 2. Count: 2-0.
  [5 outs | 2-0 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 2-1.
  [5 outs | 2-1 | 1B, 2B] BALL IN PLAY
    Kemal Brahimi runs → double.
    Runner scores from 2B.
    Runner scores from 1B.
  --- Now batting: Joel Hämäläinen ---
  [5 outs | 0-0 | 2B] BALL IN PLAY
    Joel Hämäläinen runs → HOME RUN.
    Runner scores.
    Batter scores (HR).
    [Walk-Back — Joel Hämäläinen retreats to 3B as the bonus runner.]
    [The Walk-Back is brought to you by De Soto.]
  [5 outs | 0-0 | 3B] PITCHING CHANGE
    PITCHING CHANGE: Clément Van Leeuwen exits (10 BF this spell).
  --- Now batting: Thomas Sagna ---
  [5 outs | 0-0 | 3B] FOUL
    Foul ball. Count: 0-1.
  [5 outs | 0-1 | 3B] FOUL
    Foul ball. Count: 0-2.
  [5 outs | 0-2 | 3B] BALL IN PLAY
    Thomas Sagna runs → single.
    Runner at 3B thrown out.
  --- Now batting: Alfie Alba ---
  [6 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [6 outs | 1-0 | 1B] WILD PITCH
    Wild pitch — runners advance.
    Runner advances from 1B to 2B.
  [6 outs | 1-0 | 2B] BALL IN PLAY
    Alfie Alba runs → single.
    Runner scores from 2B.
  --- Now batting: Lucas Durante ---
  [6 outs | 0-0 | 1B] FOUL
    Foul ball. Count: 0-1.
  [6 outs | 0-1 | 1B] BALL IN PLAY
    Lucas Durante runs → fielder's choice.
    Runner at 1B thrown out.
  --- Now batting: Šimon Kyzlink ---
  [7 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [7 outs | 1-0 | 1B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [7 outs | 1-1 | 1B] FOUL
    Foul ball. Count: 1-2.
  [7 outs | 1-2 | 1B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Sayouba Muntari ---
  [8 outs | 0-0 | 1B] FOUL
    Foul ball. Count: 0-1.
  [8 outs | 0-1 | 1B] BALL
    Ball 1. Count: 1-1.
  [8 outs | 1-1 | 1B] BALL
    Ball 2. Count: 2-1.
  [8 outs | 2-1 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 2-2.
  [8 outs | 2-2 | 1B] BALL
    Ball 3. Count: 3-2.
  [8 outs | 3-2 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.
  --- Now batting: Philipp Labeyrie ---
  [9 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [9 outs | 1-0 | 1B] FOUL
    Foul ball. Count: 1-1.
  [9 outs | 1-1 | 1B] BALL IN PLAY
    Philipp Labeyrie runs → double.
    Runner scores from 1B.
  [9 outs | 0-0 | 2B] JOKER INSERTION
    Pirelli Cougars sends in joker Zakaria Thiam for an extra plate appearance (joker #1).
  --- Now batting: Zakaria Thiam ---
  [9 outs | 0-0 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [9 outs | 0-1 | 2B] BALL
    Ball 1. Count: 1-1.
  [9 outs | 1-1 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 1-2.
  [9 outs | 1-2 | 2B] BALL
    Ball 2. Count: 2-2.
  [9 outs | 2-2 | 2B] BALL IN PLAY
    Zakaria Thiam runs → ground out.
    Zakaria Thiam is out.
    Runner at 2B thrown out.
  [11 outs | 0-0 | empty] JOKER INSERTION
    Pirelli Cougars sends in joker Lukáš Kratochvíl for an extra plate appearance (joker #2).
  --- Now batting: Lukáš Kratochvíl ---
  [11 outs | 0-0 | empty] CALLED STRIKE
    Strike (called). Count: 0-1.
  [11 outs | 0-1 | empty] FOUL
    Foul ball. Count: 0-2.
  [11 outs | 0-2 | empty] FOUL
    Foul ball. Count: 0-2.
  [11 outs | 0-2 | empty] FOUL OUT
    Foul ball. Count: 0-0.
  [12 outs | 0-0 | empty] JOKER INSERTION
    Pirelli Cougars sends in joker Rafa Marchão for an extra plate appearance (joker #3).
  --- Now batting: Rafa Marchão ---
  [12 outs | 0-0 | empty] BALL
    Ball 1. Count: 1-0.
  [12 outs | 1-0 | empty] BALL
    Ball 2. Count: 2-0.
  [12 outs | 2-0 | empty] FOUL
    Foul ball. Count: 2-1.
  [12 outs | 2-1 | empty] BALL
    Ball 3. Count: 3-1.
  [12 outs | 3-1 | empty] FOUL
    Foul ball. Count: 3-2.
  [12 outs | 3-2 | empty] BALL
    WALK — Rafa Marchão awarded 1B.
  --- Now batting: Marco O'Carroll [P] ---
  [12 outs | 0-0 | 1B] SAC BUNT
  --- Now batting: Kemal Brahimi ---
  [13 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [13 outs | 1-0 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 1-1.
  [13 outs | 1-1 | 1B] BALL
    Ball 2. Count: 2-1.
  [13 outs | 2-1 | 1B] STOLEN BASE ATTEMPT
    Stolen base — runner advances to 2B.
  [13 outs | 2-1 | 2B] BALL IN PLAY
    Kemal Brahimi runs → double.
    Runner scores from 2B.
  --- Now batting: Joel Hämäläinen ---
  [13 outs | 0-0 | 2B] FOUL
    Foul ball. Count: 0-1.
  [13 outs | 0-1 | 2B] BALL IN PLAY
    Joel Hämäläinen runs → single.
    Runner scores from 2B.
  --- Now batting: Thomas Sagna ---
  [13 outs | 0-0 | 1B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [13 outs | 0-1 | 1B] BALL IN PLAY
    Thomas Sagna runs → ground out.
    Thomas Sagna is out.
    Runner advances from 1B to 2B.
  --- Now batting: Alfie Alba ---
  [14 outs | 0-0 | 2B] BALL IN PLAY
    Alfie Alba runs → ground out.
    Alfie Alba is out.
    Runner advances from 2B to 3B.
  --- Now batting: Lucas Durante ---
  [15 outs | 0-0 | 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [15 outs | 0-1 | 3B] BALL
    Ball 1. Count: 1-1.
  [15 outs | 1-1 | 3B] FOUL
    Foul ball. Count: 1-2.
  [15 outs | 1-2 | 3B] WILD PITCH
    Wild pitch — runners advance.
    Runner scores from 3B.
    1 run(s) score.
  [15 outs | 1-2 | empty] FOUL
    Foul ball. Count: 1-2.
  [15 outs | 1-2 | empty] BALL
    Ball 2. Count: 2-2.
  [15 outs | 2-2 | empty] BALL
    Ball 3. Count: 3-2.
  [15 outs | 3-2 | empty] BALL IN PLAY
    Lucas Durante runs → single.
  --- Now batting: Šimon Kyzlink ---
  [15 outs | 0-0 | 1B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [15 outs | 0-1 | 1B] BALL
    Ball 1. Count: 1-1.
  [15 outs | 1-1 | 1B] FOUL
    Foul ball. Count: 1-2.
  [15 outs | 1-2 | 1B] BALL IN PLAY
    Šimon Kyzlink runs → ground out.
    Šimon Kyzlink is out.
    Runner advances from 1B to 2B.
  [16 outs | 0-0 | 2B] PITCHING CHANGE
    PITCHING CHANGE: Anthony Morrison exits (15 BF this spell).
  --- Now batting: Sayouba Muntari ---
  [16 outs | 0-0 | 2B] BALL
    Ball 1. Count: 1-0.
  [16 outs | 1-0 | 2B] FOUL
    Foul ball. Count: 1-1.
  [16 outs | 1-1 | 2B] SWINGING STRIKE
    Strike (swinging). Count: 1-2.
  [16 outs | 1-2 | 2B] BALL IN PLAY
    Sayouba Muntari runs → double.
    Runner scores from 2B.
  --- Now batting: Philipp Labeyrie ---
  [16 outs | 0-0 | 2B] FOUL
    Foul ball. Count: 0-1.
  [16 outs | 0-1 | 2B] BALL IN PLAY
    Philipp Labeyrie runs → ground out.
    Philipp Labeyrie is out.
    Runner advances from 2B to 3B.
  [17 outs | 0-0 | 3B] JOKER INSERTION
    Pirelli Cougars sends in joker Zakaria Thiam for an extra plate appearance (joker #4).
  --- Now batting: Zakaria Thiam ---
  [17 outs | 0-0 | 3B] FOUL
    Foul ball. Count: 0-1.
  [17 outs | 0-1 | 3B] BALL
    Ball 1. Count: 1-1.
  [17 outs | 1-1 | 3B] BALL IN PLAY
    Zakaria Thiam runs → single.
    Runner scores from 3B.
  [17 outs | 0-0 | 1B] JOKER INSERTION
    Pirelli Cougars sends in joker Lukáš Kratochvíl for an extra plate appearance (joker #5).
  --- Now batting: Lukáš Kratochvíl ---
  [17 outs | 0-0 | 1B] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [17 outs | 0-1 | 1B] BALL
    Ball 1. Count: 1-1.
  [17 outs | 1-1 | 1B] FOUL
    Foul ball. Count: 1-2.
  [17 outs | 1-2 | 1B] STOLEN BASE ATTEMPT
    Runner caught stealing at 2B.
  [18 outs | 1-2 | empty] BALL
    Ball 2. Count: 2-2.
  [18 outs | 2-2 | empty] BALL IN PLAY
    Lukáš Kratochvíl runs → single.
  [18 outs | 0-0 | 1B] JOKER INSERTION
    Pirelli Cougars sends in joker Rafa Marchão for an extra plate appearance (joker #6).
  [18 outs | 0-0 | 1B] DEFENSIVE SUB
    Silvestre Kramer replaces Greg Rennie at RF.
  --- Now batting: Rafa Marchão ---
  [18 outs | 0-0 | 1B] BALL
    Ball 1. Count: 1-0.
  [18 outs | 1-0 | 1B] BALL
    Ball 2. Count: 2-0.
  [18 outs | 2-0 | 1B] BALL
    Ball 3. Count: 3-0.
  [18 outs | 3-0 | 1B] BALL
    WALK — Rafa Marchão awarded 1B.
    Runner advances from 1B to 2B.
  --- Now batting: Marco O'Carroll [P] ---
  [18 outs | 0-0 | 1B, 2B] SAC BUNT
  [19 outs | 0-0 | 2B, 3B] DEFENSIVE SUB
    Marcel Szymański replaces Kyrylo Sydorchuk at CF.
  --- Now batting: Kemal Brahimi ---
  [19 outs | 0-0 | 2B, 3B] BALL
    Ball 1. Count: 1-0.
  [19 outs | 1-0 | 2B, 3B] BALL
    Ball 2. Count: 2-0.
  [19 outs | 2-0 | 2B, 3B] BALL
    Ball 3. Count: 3-0.
  [19 outs | 3-0 | 2B, 3B] BALL
    WALK — Kemal Brahimi awarded 1B.
  --- Now batting: Joel Hämäläinen ---
  [19 outs | 0-0 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 0-1.
  [19 outs | 0-1 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-2.
  [19 outs | 0-2 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-2.
  [19 outs | 1-2 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-0.
    STRIKEOUT.
  [20 outs | 0-0 | 1B, 2B, 3B] DEFENSIVE SUB
    Owen Scott replaces Owen Cole at CF.
  --- Now batting: Thomas Sagna ---
  [20 outs | 0-0 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 0-1.
  [20 outs | 0-1 | 1B, 2B, 3B] FOUL
    Foul ball. Count: 0-2.
  [20 outs | 0-2 | 1B, 2B, 3B] BALL
    Ball 1. Count: 1-2.
  [20 outs | 1-2 | 1B, 2B, 3B] BALL
    Ball 2. Count: 2-2.
  [20 outs | 2-2 | 1B, 2B, 3B] BALL IN PLAY
    Thomas Sagna runs → error.
    Runner scores from 3B.
    Runner scores from 2B.
    Runner advances from 1B to 2B.
  [20 outs | 0-0 | 1B, 2B] PITCHING CHANGE
    PITCHING CHANGE: Philippe López-Arostegui exits (8 BF this spell).
  --- Now batting: Alfie Alba ---
  [20 outs | 0-0 | 1B, 2B] BALL
    Ball 1. Count: 1-0.
  [20 outs | 1-0 | 1B, 2B] BALL
    Ball 2. Count: 2-0.
  [20 outs | 2-0 | 1B, 2B] BALL
    Ball 3. Count: 3-0.
  [20 outs | 3-0 | 1B, 2B] STOLEN BASE ATTEMPT
    Stolen base — runner advances to 3B.
  [20 outs | 3-0 | 1B, 3B] FOUL
    Foul ball. Count: 3-1.
  [20 outs | 3-1 | 1B, 3B] STOLEN BASE ATTEMPT
    Stolen base — runner advances to 2B.
  [20 outs | 3-1 | 2B, 3B] BALL
    WALK — Alfie Alba awarded 1B.
  --- Now batting: Lucas Durante ---
  [20 outs | 0-0 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [20 outs | 0-1 | 1B, 2B, 3B] BALL IN PLAY
    Lucas Durante runs → fly out.
    Lucas Durante is out.
    Runner at 3B thrown out.
  [22 outs | 0-0 | 1B, 2B] DEFENSIVE SUB
    Magnus Eklund replaces Owen Scott at LF.
  [22 outs | 0-0 | 1B, 2B] STOLEN BASE ATTEMPT
    Stolen base — runner advances to 3B.
  --- Now batting: Šimon Kyzlink ---
  [22 outs | 0-0 | 1B, 3B] BALL
    Ball 1. Count: 1-0.
  [22 outs | 1-0 | 1B, 3B] BALL IN PLAY
    Šimon Kyzlink runs → single.
    Runner at 3B thrown out.
    Runner advances from 1B to 2B.
  --- Now batting: Sayouba Muntari ---
  [23 outs | 0-0 | 1B, 2B] BALL
    Ball 1. Count: 1-0.
  [23 outs | 1-0 | 1B, 2B] CALLED STRIKE
    Strike (called). Count: 1-1.
  [23 outs | 1-1 | 1B, 2B] FOUL
    Foul ball. Count: 1-2.
  [23 outs | 1-2 | 1B, 2B] FOUL
    Foul ball. Count: 1-2.
  [23 outs | 1-2 | 1B, 2B] FOUL OUT
    Foul ball. Count: 0-0.
  [24 outs | 0-0 | 1B, 2B] PINCH RUNNER
    Kalevi Kettunen pinch-runs for Šimon Kyzlink at 1B.
  --- Now batting: Philipp Labeyrie ---
  [24 outs | 0-0 | 1B, 2B] HIT BY PITCH
    HBP — Philipp Labeyrie awarded 1B.
    Runner advances from 2B to 3B.
    Runner advances from 1B to 2B.
  [24 outs | 0-0 | 1B, 2B, 3B] JOKER INSERTION
    Pirelli Cougars sends in joker Zakaria Thiam for an extra plate appearance (joker #7).
  [24 outs | 0-0 | 1B, 2B, 3B] PINCH RUNNER
    Sergey Sharipov pinch-runs for Philipp Labeyrie at 1B.
  --- Now batting: Zakaria Thiam ---
  [24 outs | 0-0 | 1B, 2B, 3B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [24 outs | 0-1 | 1B, 2B, 3B] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [24 outs | 0-2 | 1B, 2B, 3B] BALL IN PLAY
    Zakaria Thiam runs → double.
    Runner scores from 3B.
    Runner scores from 2B.
    Runner scores from 1B.
  [24 outs | 0-0 | 2B] PITCHING CHANGE
    PITCHING CHANGE: Joe Williamson exits (6 BF this spell).
  [24 outs | 0-0 | 2B] JOKER INSERTION
    Pirelli Cougars sends in joker Lukáš Kratochvíl for an extra plate appearance (joker #8).
  [24 outs | 0-0 | 2B] DEFENSIVE SUB
    Tobias Söderberg replaces Magnus Eklund at CF.
  --- Now batting: Lukáš Kratochvíl ---
  [24 outs | 0-0 | 2B] CALLED STRIKE
    Strike (called). Count: 0-1.
  [24 outs | 0-1 | 2B] STOLEN BASE ATTEMPT
    Runner caught stealing at 3B.
  [25 outs | 0-1 | empty] BALL
    Ball 1. Count: 1-1.
  [25 outs | 1-1 | empty] BALL
    Ball 2. Count: 2-1.
  [25 outs | 2-1 | empty] BALL
    Ball 3. Count: 3-1.
  [25 outs | 3-1 | empty] FOUL
    Foul ball. Count: 3-2.
  [25 outs | 3-2 | empty] FOUL
    Foul ball. Count: 3-2.
  [25 outs | 3-2 | empty] FOUL OUT
    Foul ball. Count: 0-0.
  [26 outs | 0-0 | empty] JOKER INSERTION
    Pirelli Cougars sends in joker Rafa Marchão for an extra plate appearance (joker #9).
  [26 outs | 0-0 | empty] DEFENSIVE SUB
    Heikki Heikkinen replaces Radim Douděra at RF.
  --- Now batting: Rafa Marchão ---
  [26 outs | 0-0 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-1.
  [26 outs | 0-1 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-2.
  [26 outs | 0-2 | empty] SWINGING STRIKE
    Strike (swinging). Count: 0-0.
    STRIKEOUT.

  End of bottom half — Pirelli Cougars: 18 run(s), 17 hit(s), 27 out(s) | Run rate: 0.667

  ============================================================
  GAME OVER: BRNO NEW SOAP WORKS WIN 20–18
  ============================================================
  Final score: Brno New Soap Works 20, Pirelli Cougars 18
  ============================================================
  LINE SCORE
                          1      R
  Brno New Soap Works     20     20
  Pirelli Cougars        18     18

  ============================================================
  BRNO NEW SOAP WORKS BATTING
  Player                PA   AB    R    H   2B   3B   HR    RBI   BB    K  HBP   2C  2C-R   MH
  ────────────────────────────────────────────────────────────────────────────────────────────────
  Clément Van Leeuwen     2    0    0    0    0    0    0     0    1    0    0    0     0    0
  Triệu Pham              2    2    2    0    0    0    0     1    0    1    0    0     0    0
  Mark O'Brien            1    1    0    1    0    0    0     1    0    0    0    0     0    0
  David Visser            2    2    0    2    1    0    0     2    0    0    0    0     0    0
  Sten Söderberg          2    2    0    1    1    0    0     2    0    0    0    0     0    0
  Radek Marek             4    4    1    2    0    0    0     0    0    0    0    0     0    0
  Radim Douděra           3    3    4    2    0    0    1     3    0    0    0    0     0    0
  Jon Moen                1    1    0    0    0    0    0     0    0    1    0    0     0    0
  Edwin Maas              1    1    0    1    1    0    0     0    0    0    0    0     0    0
  Heikki Heikkinen        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Maurizio Cernoia        4    4    2    3    2    0    0     1    0    0    0    1     1    1
  Jesse Brook             4    4    2    2    1    0    1     2    0    1    0    0     0    0
  Magnus Eklund           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Topias Kauppinen        1    1    0    1    0    1    0     1    0    0    0    0     0    0
  Luke Spalletti          2    1    0    0    0    0    0     0    1    1    0    0     0    0
  Tobias Söderberg        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Norbert Pešek           2    2    1    1    1    0    0     2    0    1    0    0     0    0
  Anders Brenn            1    1    0    0    0    0    0     0    0    1    0    0     0    0
  San Smit                1    1    2    1    0    1    0     0    0    0    0    0     0    0
  Artur Piotrowski        1    1    0    1    0    0    0     2    0    0    0    1     1    0
  Greg Rennie             5    5    0    1    0    0    0     0    0    1    0    0     0    0
  Marcel Szymański        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kyrylo Sydorchuk        2    2    2    1    0    0    0     1    0    0    0    0     0    0
  Owen Scott              0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Czesław Skorupski       4    4    3    2    1    0    0     2    0    1    0    0     0    0
  Guilherme Spissu        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Andrés Marozsán         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ansu Dragoni            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Anthony Morrison        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Bernd Schaftenaar       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Joe Williamson          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Dawit Yusef             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Laurent Mangala         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Wojciech Jankowski      0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Jari Mäkelä             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Henrique Sousa          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Przemysław Nawałka      0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Philippe López-Arostegui    0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Evan Coelho             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  İsmet Wiese             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Hüseyin Yalçın          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Silvestre Kramer        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Owen Cole               0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Klaus Cerci             1    1    1    0    0    0    0     0    0    1    0    0     0    0
  ────────────────────────────────────────────────────────────────────────────────────────────────
  TOTALS                 46   43   20   22    8    2    2    20    2    9    0    2     2    1

  Pitcher                BF  OUT    H    R   BB    K  HBP
  ──────────────────────────────────────────────────────
  Clément Van Leeuwen    10    5    6    6    0    1    1
  Anthony Morrison       15   11    6    5    1    2    0
  Philippe López-Arostegui    8    4    3    4    2    1    0
  Joe Williamson          6    4    2    3    1    0    1
  Andrés Marozsán         2    3    0    0    0    1    0

  ============================================================
  PIRELLI COUGARS BATTING
  Player                PA   AB    R    H   2B   3B   HR    RBI   BB    K  HBP   2C  2C-R   MH
  ────────────────────────────────────────────────────────────────────────────────────────────────
  Marco O'Carroll         3    2    2    1    0    0    0     0    0    0    0    0     0    0
  Sayouba Muntari         4    4    2    2    1    0    0     2    0    1    0    0     0    0
  Joel Hämäläinen         4    4    2    2    0    0    1     3    0    2    0    0     0    0
  Turlough O'Neill        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Šimon Kyzlink           4    4    1    2    1    0    0     1    0    1    0    0     0    0
  Kemal Brahimi           4    3    2    3    2    0    0     3    1    0    0    0     0    0
  Gioele Coppola          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ibrahim Promes          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Lucas Durante           4    3    2    1    0    0    0     0    0    0    0    0     0    0
  Rafa Marchão            3    1    1    0    0    0    0     0    2    1    0    0     0    0
  Zakaria Thiam           3    3    0    2    1    0    0     4    0    0    0    0     0    0
  Lukáš Kratochvíl        3    3    1    1    0    0    0     0    0    0    0    0     0    0
  Manuel Janssen          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Miroslav Čelůstka       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Porter Époupa           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Alfie Alba              4    2    2    1    0    0    0     1    1    0    1    0     0    0
  Viktor Kuchta           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Sergey Sharipov         0    0    1    0    0    0    0     0    0    0    0    0     0    0
  Philipp Labeyrie        4    3    0    1    1    0    0     1    0    0    1    0     0    0
  Elia Roberts            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Chris Powell            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Wiktor Slisz            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Antonín Ševčík          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Kalevi Kettunen         0    0    1    0    0    0    0     0    0    0    0    0     0    0
  Thomas Sagna            4    4    1    1    0    0    0     2    0    0    0    0     0    0
  Marc Rosucci            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Michael Conti           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Riley Anelka            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Adam Čermák             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Hervé Schulz            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ronen Bořil             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Egor Semyonov           0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Blaise Sánchez          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Filip Beneš             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Brendan Maguire         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Thiago Reyes            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Rafał Dabrowski         0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Timo Freitas            0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Karel Vitík             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Daniel Guillamón        0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Ufuk Rashid             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Valentin Tagoe          0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Philippe McDaniel       0    0    0    0    0    0    0     0    0    0    0    0     0    0
  Medhi Ziani             0    0    0    0    0    0    0     0    0    0    0    0     0    0
  ────────────────────────────────────────────────────────────────────────────────────────────────
  TOTALS                 44   36   18   17    6    0    1    17    4    5    2    0     0    0

  Pitcher                BF  OUT    H    R   BB    K  HBP
  ──────────────────────────────────────────────────────
  Marco O'Carroll         4    0    4    3    0    0    0
  Filip Beneš             9    7    3    2    2    1    0
  Karel Vitík             9    6    5    4    0    2    0
  Brendan Maguire         7    5    3    4    0    2    0
  Timo Freitas            8    4    4    4    0    1    0
  Chris Powell            8    5    3    3    0    3    0

  ============================================================
  Run rate:  Brno New Soap Works  0.741    Pirelli Cougars  0.667
  Second-Chance ABs:  Brno New Soap Works  2    Pirelli Cougars  0
  IBB (Brno New Soap Works): Clément Van Leeuwen; Luke Spalletti.
  Required run rate (Pirelli Cougars): 0.778 R/out (needed 21 runs in 27 outs)
  Powerplays: Brno New Soap Works — Marcel Szymański NF (O20-23, 1 PO)
  ============================================================
  ============================================================
  PARTNERSHIP LOG
  Batter 1              Batter 2                Runs  Half
  ──────────────────────────────────────────────────────────────────
  Radek Marek           Luke Spalletti             4  top
  Luke Spalletti        David Visser               0  top
  David Visser          Clément Van Leeuwen        0  top
  Clément Van Leeuwen   Greg Rennie                0  top
  Greg Rennie           Greg Rennie                0  top
  Greg Rennie           Radek Marek                0  top
  Radek Marek           Norbert Pešek              4  top
  Norbert Pešek         Radim Douděra              0  top
  Radim Douděra         Maurizio Cernoia           0  top
  Maurizio Cernoia      Jesse Brook                0  top
  Jesse Brook           Triệu Pham                 0  top
  Triệu Pham            Greg Rennie                0  top
  Greg Rennie           Jesse Brook                3  top
  Jesse Brook           Kyrylo Sydorchuk           0  top
  Kyrylo Sydorchuk      Klaus Cerci                0  top
  Klaus Cerci           Radek Marek                0  top
  Radek Marek           Norbert Pešek              0  top
  Norbert Pešek         Jesse Brook                3  top
  Jesse Brook           Sten Söderberg             0  top
  Sten Söderberg        Greg Rennie                0  top
  Greg Rennie           Artur Piotrowski           3  top
  Artur Piotrowski      Czesław Skorupski          0  top
  Czesław Skorupski     Anders Brenn               0  top
  Anders Brenn          Jon Moen                   1  top
  Jon Moen              Maurizio Cernoia           0  top
  Maurizio Cernoia      Greg Rennie                2  top
  Joel Hämäläinen       Kemal Brahimi              0  bottom
  Kemal Brahimi         Thomas Sagna               0  bottom
  Thomas Sagna          Lucas Durante              0  bottom
  Lucas Durante         Philipp Labeyrie           2  bottom
  Philipp Labeyrie      Joel Hämäläinen            4  bottom
  Joel Hämäläinen       Alfie Alba                 1  bottom
  Alfie Alba            Šimon Kyzlink              0  bottom
  Šimon Kyzlink         Sayouba Muntari            0  bottom
  Sayouba Muntari       Philipp Labeyrie           1  bottom
  Philipp Labeyrie      Zakaria Thiam              0  bottom
  Zakaria Thiam         Lukáš Kratochvíl           0  bottom
  Lukáš Kratochvíl      Marco O'Carroll            0  bottom
  Marco O'Carroll       Thomas Sagna               2  bottom
  Thomas Sagna          Alfie Alba                 0  bottom
  Alfie Alba            Šimon Kyzlink              1  bottom
  Šimon Kyzlink         Philipp Labeyrie           1  bottom
  Philipp Labeyrie      Zakaria Thiam              1  bottom
  Zakaria Thiam         Marco O'Carroll            0  bottom
  Marco O'Carroll       Joel Hämäläinen            0  bottom
  Joel Hämäläinen       Kemal Brahimi              2  bottom
  Kemal Brahimi         Lucas Durante              0  bottom
  Lucas Durante         Thomas Sagna               0  bottom
  Thomas Sagna          Sayouba Muntari            0  bottom
  Sayouba Muntari       Zakaria Thiam              3  bottom
  Zakaria Thiam         Lukáš Kratochvíl           0  bottom
  Lukáš Kratochvíl      Rafa Marchão               0  bottom
  ──────────────────────────────────────────────────────────────────
  Total partnerships: 52  |  Avg runs/partnership: 0.73
  ============================================================
  PITCHER SPELL LOG
  Pitcher               Half         PA#   BF  OUT    R    H   BB    K  HBP
  ──────────────────────────────────────────────────────────────────────────
  Marco O'Carroll       top            1    4    0     3     4     0     0     0
  Filip Beneš           top            5    9    7     2     3     2     1     0
  Karel Vitík           top           15    9    6     4     5     0     2     0
  Brendan Maguire       top           24    7    5     4     3     0     2     0
  Timo Freitas          top           31    8    4     4     4     0     1     0
  Chris Powell          top           39    8    5     3     3     0     3     0
  Clément Van Leeuwen   bottom         1   10    5     6     6     0     1     1
  Anthony Morrison      bottom        12   15   11     5     6     1     2     0
  Philippe López-Arosteguibottom        28    8    4     4     3     2     1     0
  Joe Williamson        bottom        37    6    4     3     2     1     0     1
  Andrés Marozsán       bottom        43    2    3     0     0     0     1     0
  ──────────────────────────────────────────────────────────────────────────
  Total spells: 11


