Goals
Expected goals (xG)
AI forecast
TippioAn AI subscription opens everything. You can also earn it by tipping: tip at least 70% of a league's matches in a week and next week it's yours for free. A single outcome opens by watching an ad. Sign in and it shows here too, if you have access.
TV stations
InternationalVenue
Conditions
- Weatherovercast clouds
- RefereeTrustin Farrugia Cann
- 1st AssistantDuncan Sultana
- 2nd AssistantJames Muscat
- 4th OfficialDaniel Portelli
Pressure index
OUTWhich side was pressing, minute by minute. The markers are the events: tap one to read the minute and the player — and, with ball positions loaded, the replay jumps there.
Match flow
Ball positions
The ball's path over the whole match or one half: press play to run through it, drag the slider to jump anywhere. Loaded on request to keep the page light.
Match statistics
Possession and passing
Attack
4 more
Defence and discipline
Other
Possession and passing
Attack
3 more
Defence and discipline
Possession and passing
Attack
4 more
Defence and discipline
Other
The halves are each period's own numbers — not a split of the full-time figures.
The referee
| Avg | Home | Away | Career | |
|---|---|---|---|---|
| Yellow cards | 4.00 | 3.00 | 1.00 | 4.47 |
| Red cards | 0.00 | 0.00 | 0.00 | 0.12 |
| Second yellows | 0.00 | 0.00 | 0.00 | 0.06 |
| Penalties | 0.00 | 0.00 | 0.00 | 0.47 |
Home / away: what the home and the away side received on average. Career: the average over every match officiated.
Expected goals (xG)
Starting XI
The ↓ and minute under a player mean they were substituted off then.
KF Llapi's starting XI cost €1.6M more.
The amount under a player is their last known transfer fee and its year (provider data) — not a market value.
KF Llapi — bench
Wisła Kraków — bench
Player statistics
KF Llapi starters then subs, by rating
Ilir Avdyli#1 · Goalkeeper · 90′–
Goalkeeping
- Saves
- 4
- Goals conceded
- 2
Passing
- Passes (accurate/total)
- 23/25
- Pass accuracy
- 92%
- Key passes
- 0
Possession & duels
- Touches
- 32
- Duels (won/total)
- 0/0
- Possession lost
- 2
- Ball recoveries
- 5
Defence
- Tackles
- 0
Discipline
- Fouls
- 0
Hamdi Namani#7 · Midfielder · 73′–
Attack
- Goals
- 0
- Assists
- 0
- Shots
- 3
- Shots on target
- 0
- Expected goals (xG)
- 0.30
Passing
- Passes (accurate/total)
- 34/41
- Pass accuracy
- 83%
- Key passes
- 1
- Passes in final third
- 6
- Long balls (won/total)
- 1/4
Possession & duels
- Touches
- 56
- Duels (won/total)
- 0/0
- Dribbles (won/attempted)
- 2/0
- Possession lost
- 9
- Ball recoveries
- 2
Defence
- Tackles
- 0
- Interceptions
- 1
- Clearances
- 2
- Dribbled past
- 1
Discipline
- Fouls
- 1
- Fouls drawn
- 2
Benjamin Emini#8 · Defender · 90′–
Attack
- Goals
- 0
- Assists
- 0
- Shots
- 0
- Shots on target
- 0
Passing
- Passes (accurate/total)
- 29/31
- Pass accuracy
- 94%
- Key passes
- 1
- Passes in final third
- 10
- Long balls (won/total)
- 7/7
Possession & duels
- Touches
- 47
- Duels (won/total)
- 5/7
- Aerials won
- 1
- Dribbles (won/attempted)
- 1/0
- Possession lost
- 4
- Ball recoveries
- 2
Defence
- Tackles
- 3
- Interceptions
- 1
- Clearances
- 1
- Dribbled past
- 2
Discipline
- Fouls
- 0
- Fouls drawn
- 1
Blend Baftiu#11 · Midfielder · 90′–
Attack
- Goals
- 0
- Assists
- 0
- Shots
- 1
- Shots on target
- 0
- Expected goals (xG)
- 0.16
- xGoT
- 0.00
Passing
- Passes (accurate/total)
- 7/11
- Pass accuracy
- 64%
- Key passes
- 0
- Passes in final third
- 2
Possession & duels
- Touches
- 20
- Duels (won/total)
- 0/0
- Possession lost
- 10
- Ball recoveries
- 2
Defence
- Tackles
- 0
Discipline
- Fouls
- 1
- Offsides
- 1
Adem Maliqi#14 · Midfielder · 63′–
Attack
- Goals
- 0
- Assists
- 0
- Shots
- 1
- Shots on target
- 0
- Expected goals (xG)
- 0.10
- xGoT
- 0.00
Passing
- Passes (accurate/total)
- 14/18
- Pass accuracy
- 78%
- Key passes
- 4
- Passes in final third
- 2
- Crosses (accurate/total)
- 4/8
Possession & duels
- Touches
- 33
- Duels (won/total)
- 0/0
- Dribbles (won/attempted)
- 3/0
- Possession lost
- 8
- Ball recoveries
- 1
Defence
- Tackles
- 0
Discipline
- Fouls
- 1
- Fouls drawn
- 3
Ilir Krasniqi#16 · Defender · 90′–
Attack
- Goals
- 0
- Assists
- 0
- Shots
- 0
- Shots on target
- 0
Passing
- Passes (accurate/total)
- 68/74
- Pass accuracy
- 92%
- Key passes
- 0
- Passes in final third
- 15
- Long balls (won/total)
- 9/12
Possession & duels
- Touches
- 83
- Duels (won/total)
- 0/0
- Dribbles (won/attempted)
- 1/0
- Possession lost
- 6
- Ball recoveries
- 6
Defence
- Tackles
- 1
- Interceptions
- 1
- Clearances
- 3
- Dribbled past
- 1
Discipline
- Fouls
- 1
- Fouls drawn
- 2
Ilir Blakçori#18 · Midfielder · 90′–
Attack
- Goals
- 0
- Assists
- 1
- Shots
- 1
- Shots on target
- 0
- Expected goals (xG)
- 0.05
Passing
- Passes (accurate/total)
- 24/36
- Pass accuracy
- 67%
- Key passes
- 2
- Passes in final third
- 12
- Crosses (accurate/total)
- 2/6
- Long balls (won/total)
- 5/10
Possession & duels
- Touches
- 69
- Duels (won/total)
- 12/16
- Aerials won
- 1
- Dribbles (won/attempted)
- 4/0
- Possession lost
- 21
- Ball recoveries
- 5
Defence
- Tackles
- 5
- Clearances
- 4
- Dribbled past
- 2
Discipline
- Fouls
- 2
- Fouls drawn
- 3
Muhamed Useini#22 · Defender · 63′–
Attack
- Goals
- 0
- Assists
- 0
- Shots
- 0
- Shots on target
- 0
Passing
- Passes (accurate/total)
- 52/54
- Pass accuracy
- 96%
- Key passes
- 2
- Passes in final third
- 6
- Long balls (won/total)
- 1/2
Possession & duels
- Touches
- 59
- Duels (won/total)
- 0/0
- Possession lost
- 2
- Ball recoveries
- 4
Defence
- Tackles
- 3
- Clearances
- 2
Discipline
- Fouls
- 0
Besar Musolli#23 · Midfielder · 90′–
Attack
- Goals
- 0
- Assists
- 0
- Shots
- 1
- Shots on target
- 1
- Expected goals (xG)
- 0.08
- xGoT
- 0.19
Passing
- Passes (accurate/total)
- 46/48
- Pass accuracy
- 96%
- Key passes
- 0
- Passes in final third
- 4
- Crosses (accurate/total)
- 1/1
- Long balls (won/total)
- 2/3
Possession & duels
- Touches
- 56
- Duels (won/total)
- 0/0
- Possession lost
- 2
- Ball recoveries
- 2
Defence
- Tackles
- 1
- Interceptions
- 1
- Clearances
- 2
- Dribbled past
- 2
Discipline
- Fouls
- 1
- Fouls drawn
- 1
Ahmed Januzi#27 · Attacker · 63′–
Attack
- Goals
- 0
- Assists
- 0
- Shots
- 2
- Shots on target
- 0
- Expected goals (xG)
- 0.17
Passing
- Passes (accurate/total)
- 10/14
- Pass accuracy
- 71%
- Key passes
- 0
- Passes in final third
- 3
Possession & duels
- Touches
- 21
- Duels (won/total)
- 0/0
- Dribbles (won/attempted)
- 1/0
- Possession lost
- 5
- Ball recoveries
- 2
Defence
- Tackles
- 0
- Clearances
- 1
Discipline
- Fouls
- 1
- Fouls drawn
- 1
Elvir Gashjani#77 · Midfielder · 73′–
Attack
- Goals
- 0
- Assists
- 0
- Shots
- 3
- Shots on target
- 2
- Expected goals (xG)
- 0.21
- xGoT
- 0.44
Passing
- Passes (accurate/total)
- 13/18
- Pass accuracy
- 72%
- Key passes
- 3
- Crosses (accurate/total)
- 1/5
Possession & duels
- Touches
- 39
- Duels (won/total)
- 0/0
- Dribbles (won/attempted)
- 4/0
- Possession lost
- 16
Defence
- Tackles
- 0
Discipline
- Fouls
- 3
- Fouls drawn
- 1
Mergim Cernaverni#9 · Attacker · 27′–
Attack
- Goals
- 0
- Assists
- 0
- Shots
- 0
- Shots on target
- 0
Passing
- Passes (accurate/total)
- 2/3
- Pass accuracy
- 67%
- Key passes
- 0
- Passes in final third
- 1
Possession & duels
- Touches
- 7
- Duels (won/total)
- 0/0
- Dribbles (won/attempted)
- 1/0
- Possession lost
- 2
Defence
- Tackles
- 0
Discipline
- Fouls
- 0
- Fouls drawn
- 1
Ergyn Ahmeti#17 · Midfielder · 27′–
Attack
- Goals
- 0
- Assists
- 0
- Shots
- 0
- Shots on target
- 0
Passing
- Passes (accurate/total)
- 5/7
- Pass accuracy
- 71%
- Key passes
- 0
- Passes in final third
- 3
- Crosses (accurate/total)
- 1/1
Possession & duels
- Touches
- 9
- Duels (won/total)
- 0/0
- Possession lost
- 2
Defence
- Tackles
- 0
Discipline
- Fouls
- 0
Arianit Hasani#24 · Attacker · 17′–
Attack
- Goals
- 0
- Assists
- 0
- Shots
- 0
- Shots on target
- 0
Passing
- Passes (accurate/total)
- 1/3
- Pass accuracy
- 33%
- Key passes
- 0
Possession & duels
- Touches
- 4
- Duels (won/total)
- 0/0
- Possession lost
- 3
Defence
- Tackles
- 0
- Dribbled past
- 1
Discipline
- Fouls
- 0
Valmir Veliu#70 · Midfielder · 17′–
Attack
- Goals
- 0
- Assists
- 0
- Shots
- 0
- Shots on target
- 0
Passing
- Passes (accurate/total)
- 2/3
- Pass accuracy
- 67%
- Key passes
- 0
Possession & duels
- Touches
- 7
- Duels (won/total)
- 0/0
- Dribbles (won/attempted)
- 1/0
- Possession lost
- 3
Defence
- Tackles
- 1
Discipline
- Fouls
- 0
Ardit Tahiri#99 · Attacker · 27′–
Attack
- Goals
- 1
- Assists
- 0
- Shots
- 1
- Shots on target
- 1
- Expected goals (xG)
- 0.29
- xGoT
- 0.78
Passing
- Passes (accurate/total)
- 2/4
- Pass accuracy
- 50%
- Key passes
- 0
Possession & duels
- Touches
- 5
- Duels (won/total)
- 0/1
- Aerials won
- 1
- Possession lost
- 2
Defence
- Tackles
- 0
Discipline
- Fouls
- 1
Wisła Kraków starters then subs, by rating
Rafał Mikulec#4 · Defender · 90′–
Attack
- Goals
- 0
- Assists
- 0
- Shots
- 2
- Shots on target
- 1
- Expected goals (xG)
- 0.08
- xGoT
- 0.11
Passing
- Passes (accurate/total)
- 16/17
- Pass accuracy
- 94%
- Key passes
- 0
- Passes in final third
- 1
- Long balls (won/total)
- 1/1
Possession & duels
- Touches
- 36
- Duels (won/total)
- 0/0
- Possession lost
- 3
- Ball recoveries
- 2
Defence
- Tackles
- 2
- Clearances
- 4
- Dribbled past
- 4
Discipline
- Fouls
- 1
- Fouls drawn
- 2
Joseph Colley#5 · Defender · 90′–
Attack
- Goals
- 0
- Assists
- 0
- Shots
- 1
- Shots on target
- 0
- Expected goals (xG)
- 0.05
Passing
- Passes (accurate/total)
- 7/10
- Pass accuracy
- 70%
- Key passes
- 0
- Passes in final third
- 1
Possession & duels
- Touches
- 18
- Duels (won/total)
- 0/1
- Aerials won
- 2
- Possession lost
- 4
- Ball recoveries
- 1
Defence
- Tackles
- 0
- Interceptions
- 2
- Clearances
- 2
Discipline
- Fouls
- 2
Alan Uryga#6 · Defender · 90′–
Attack
- Goals
- 0
- Assists
- 0
- Shots
- 0
- Shots on target
- 0
Passing
- Passes (accurate/total)
- 17/22
- Pass accuracy
- 77%
- Key passes
- 0
- Passes in final third
- 2
- Long balls (won/total)
- 1/5
Possession & duels
- Touches
- 30
- Duels (won/total)
- 0/0
- Possession lost
- 6
- Ball recoveries
- 3
Defence
- Tackles
- 0
- Clearances
- 3
Discipline
- Fouls
- 0
Igor Sapała#7 · Midfielder · 59′–
Attack
- Goals
- 0
- Assists
- 0
- Shots
- 0
- Shots on target
- 0
Passing
- Passes (accurate/total)
- 18/22
- Pass accuracy
- 82%
- Key passes
- 1
- Passes in final third
- 6
Possession & duels
- Touches
- 31
- Duels (won/total)
- 0/0
- Possession lost
- 6
- Ball recoveries
- 4
Defence
- Tackles
- 0
- Clearances
- 2
Discipline
- Fouls
- 1
- Fouls drawn
- 1
Marc Carbó#8 · Midfielder · 90′–
Attack
- Goals
- 0
- Assists
- 0
- Shots
- 0
- Shots on target
- 0
Passing
- Passes (accurate/total)
- 11/17
- Pass accuracy
- 65%
- Key passes
- 0
- Passes in final third
- 5
- Long balls (won/total)
- 2/5
Possession & duels
- Touches
- 25
- Duels (won/total)
- 0/0
- Possession lost
- 7
- Ball recoveries
- 3
Defence
- Tackles
- 1
- Dribbled past
- 1
Discipline
- Fouls
- 0
- Fouls drawn
- 3
Ángel Rodado#9 · Attacker · 90′–
Attack
- Goals
- 1
- Assists
- 0
- Shots
- 3
- Shots on target
- 2
- Big chances missed
- 1
- Expected goals (xG)
- 0.24
- xGoT
- 0.76
Passing
- Passes (accurate/total)
- 12/17
- Pass accuracy
- 71%
- Key passes
- 2
- Passes in final third
- 1
- Long balls (won/total)
- 1/1
Possession & duels
- Touches
- 35
- Duels (won/total)
- 0/0
- Dribbles (won/attempted)
- 2/0
- Possession lost
- 13
- Ball recoveries
- 2
Defence
- Tackles
- 1
- Clearances
- 4
- Dribbled past
- 1
Discipline
- Fouls
- 2
- Offsides
- 1
Mateusz Mlynski#11 · Midfielder · 59′–
Attack
- Goals
- 0
- Assists
- 0
- Shots
- 3
- Shots on target
- 1
- Expected goals (xG)
- 0.44
- xGoT
- 0.08
Passing
- Passes (accurate/total)
- 7/10
- Pass accuracy
- 70%
- Key passes
- 0
- Passes in final third
- 2
- Long balls (won/total)
- 1/2
Possession & duels
- Touches
- 24
- Duels (won/total)
- 0/0
- Dribbles (won/attempted)
- 3/0
- Possession lost
- 5
- Ball recoveries
- 2
Defence
- Tackles
- 1
- Clearances
- 2
- Dribbled past
- 3
Discipline
- Fouls
- 2
- Fouls drawn
- 2
Olivier Sukiennicki#19 · Midfielder · 86′–
Attack
- Goals
- 0
- Assists
- 0
- Shots
- 1
- Shots on target
- 1
- Big chances missed
- 1
- Expected goals (xG)
- 0.24
- xGoT
- 0.32
Passing
- Passes (accurate/total)
- 10/11
- Pass accuracy
- 91%
- Key passes
- 0
- Passes in final third
- 4
Possession & duels
- Touches
- 17
- Duels (won/total)
- 0/0
- Dribbles (won/attempted)
- 1/0
- Possession lost
- 4
- Ball recoveries
- 2
Defence
- Tackles
- 0
- Dribbled past
- 1
Discipline
- Fouls
- 0
- Offsides
- 1
Bartosz Jaroch#25 · Defender · 90′–
Attack
- Goals
- 0
- Assists
- 1
- Shots
- 0
- Shots on target
- 0
Passing
- Passes (accurate/total)
- 10/14
- Pass accuracy
- 71%
- Key passes
- 1
- Passes in final third
- 3
- Crosses (accurate/total)
- 1/2
- Long balls (won/total)
- 1/2
Possession & duels
- Touches
- 32
- Duels (won/total)
- 3/9
- Aerials won
- 3
- Possession lost
- 5
- Ball recoveries
- 1
Defence
- Tackles
- 0
- Clearances
- 1
- Dribbled past
- 3
Discipline
- Fouls
- 3
- Fouls drawn
- 1
Anton Chichkan#31 · Goalkeeper · 90′–
Goalkeeping
- Saves
- 3
- Goals conceded
- 1
- Punches
- 1
Passing
- Passes (accurate/total)
- 12/18
- Pass accuracy
- 67%
- Key passes
- 0
- Passes in final third
- 5
- Long balls (won/total)
- 4/10
Possession & duels
- Touches
- 29
- Duels (won/total)
- 0/0
- Possession lost
- 6
- Ball recoveries
- 8
Defence
- Tackles
- 0
- Clearances
- 1
Discipline
- Fouls
- 0
Ángel Baena#77 · Midfielder · 79′–
Attack
- Goals
- 0
- Assists
- 0
- Shots
- 0
- Shots on target
- 0
- Big chances created
- 1
Passing
- Passes (accurate/total)
- 8/11
- Pass accuracy
- 73%
- Key passes
- 2
- Passes in final third
- 3
- Crosses (accurate/total)
- 1/4
- Long balls (won/total)
- 1/1
Possession & duels
- Touches
- 28
- Duels (won/total)
- 0/0
- Dribbles (won/attempted)
- 1/0
- Possession lost
- 12
- Ball recoveries
- 4
Defence
- Tackles
- 1
- Dribbled past
- 3
Discipline
- Fouls
- 2
- Fouls drawn
- 1
- Offsides
- 1
Patryk Gogol#21 · Midfielder · 31′–
Attack
- Goals
- 0
- Assists
- 1
- Shots
- 0
- Shots on target
- 0
Passing
- Passes (accurate/total)
- 2/4
- Pass accuracy
- 50%
- Key passes
- 1
Possession & duels
- Touches
- 7
- Duels (won/total)
- 0/0
- Possession lost
- 3
- Ball recoveries
- 2
Defence
- Tackles
- 1
Discipline
- Fouls
- 2
Piotr Starzyński#22 · Midfielder · 4′–
Attack
- Goals
- 0
- Assists
- 0
- Shots
- 0
- Shots on target
- 0
Passing
- Passes (accurate/total)
- 0/0
- Pass accuracy
- 0%
- Key passes
- 0
Possession & duels
- Touches
- 3
- Duels (won/total)
- 0/0
- Possession lost
- 2
Defence
- Tackles
- 0
Discipline
- Fouls
- 0
Giannis Kiakos#30 · Defender · 31′–
Attack
- Goals
- 1
- Assists
- 0
- Shots
- 1
- Shots on target
- 1
- Big chances created
- 1
- Expected goals (xG)
- 0.18
- xGoT
- 0.80
Passing
- Passes (accurate/total)
- 3/4
- Pass accuracy
- 75%
- Key passes
- 1
- Passes in final third
- 3
- Long balls (won/total)
- 2/2
Possession & duels
- Touches
- 11
- Duels (won/total)
- 0/0
- Dribbles (won/attempted)
- 2/0
- Possession lost
- 4
- Ball recoveries
- 2
Defence
- Tackles
- 0
Discipline
- Fouls
- 0
- Offsides
- 1
Mariusz Kutwa#50 · Defender · 11′–
Attack
- Goals
- 0
- Assists
- 0
- Shots
- 0
- Shots on target
- 0
Passing
- Passes (accurate/total)
- 3/6
- Pass accuracy
- 50%
- Key passes
- 0
- Passes in final third
- 3
- Long balls (won/total)
- 1/2
Possession & duels
- Touches
- 8
- Duels (won/total)
- 0/2
- Aerials won
- 1
- Possession lost
- 3
Defence
- Tackles
- 0
- Interceptions
- 1
- Clearances
- 1
- Dribbled past
- 2
Discipline
- Fouls
- 0
Coaches
Absentees
4| Player | Reason | Back |
|---|---|---|
| 🩹injury · Cruciate Ligament Tear | 24 Mar 2025 | |
| 🩹injury · Meniscus Irritation | 13 Aug 2024 | |
| 🩹injury · Abdominal Problems | 1 Sept 2024 | |
| 🩹injury · Muscular problems | 31 Jul 2024 |
Officials
- RefereeTrustin Farrugia Cann
- 1st AssistantDuncan Sultana
- 2nd AssistantJames Muscat
- 4th OfficialDaniel Portelli
Odds
Opening markets, for information — Tippio is not a bookmaker. Under each price, the probability it implies.
Match winner (1X2)i
Who wins in regular time: home (1), draw (X) or away (2).
i
Who wins in regular time: home (1), draw (X) or away (2).
| Outcome | bet365 | Unibet |
|---|---|---|
| KF Llapi | 3.3030.3% | 3.2031.25% |
| Draw | 3.0033.33% | 3.1531.75% |
| Wisła Kraków | 2.2045.45% | 2.2045.45% |
Double chancei
Two outcomes in one bet — it wins if either happens.
i
Two outcomes in one bet — it wins if either happens.
| Outcome | bet365 | Unibet |
|---|---|---|
| KF Llapi or Draw | 1.6161.92% | 1.5863.29% |
| KF Llapi or Wisła Kraków | 1.3673.37% | 1.3076.92% |
| Draw or Wisła Kraków | 1.3375.02% | 1.3076.92% |
Goals over/underi
Total goals over or under the line.
i
Total goals over or under the line.
| Outcome | bet365 | Unibet |
|---|---|---|
| 2+ goals | – | 1.3474.63% |
| 0–1 goals | – | 3.0532.79% |
| 3+ goals | 2.2045.45% | 2.1746.08% |
| 0–2 goals | 1.6560.61% | 1.6660.24% |
| 4+ goals | – | 4.1024.39% |
| 0–3 goals | – | 1.2182.64% |
Both teams to scorei
Whether both sides score at least once.
i
Whether both sides score at least once.
| Outcome | bet365 | Unibet |
|---|---|---|
| Yes | 1.9052.38% | 1.8753.48% |
| No | 1.8055.56% | 1.8554.05% |
Half-time resulti
The score at half-time.
i
The score at half-time.
| Outcome | bet365 | Unibet |
|---|---|---|
| KF Llapi | 3.7526.67% | 3.9025.64% |
| Draw | 2.0050% | 2.0449.02% |
| Wisła Kraków | 2.8734.78% | 2.8834.72% |
Half-time / full-timei
Who leads at half-time and who wins at the end — both together.
i
Who leads at half-time and who wins at the end — both together.
| Outcome | bet365 |
|---|---|
| KFLL → KFLL | 5.5018.18% |
| KFLL → X | 17.005.88% |
| KFLL → WKR | 29.003.45% |
| X → KFLL | 7.0014.29% |
| X → X | 4.7521.05% |
| X → WKR | 5.0020% |
| WKR → KFLL | 34.002.94% |
| WKR → X | 15.006.67% |
| WKR → WKR | 3.5028.57% |
Total cornersi
Total corners over or under the line.
i
Total corners over or under the line.
| Outcome | bet365 |
|---|---|
| 12 - 14 | 4.5022.22% |
| 6 - 8 | 3.0033.33% |
| 9 - 11 | 2.6238.1% |
| Under 6 | 9.0011.11% |
| Over 14 | 11.009.09% |
The Tippio app shows an AI forecast and the community's tip split for every match — and in Tipper you compete with your friends.
