4.793.283 resultados, 29.450.556 comentarios, 1.037.175 imágenes, 80.044 vídeos, 86.434 noticias

Liga Sueca 2023

La temporada finalizó el Domingo, 12 Noviembre 2023.
 
22 Abr 23
15:00 Finalizado
Hammarby IF Hammarby IF 2-0 Varbergs BoIS Varbergs BoIS más información Jugadas destacadas 4
39' N. Dahlström N. Dahlström
48' V. Djukanovic V. Djukanovic 2-0
 
22 Abr 23
17:30 Finalizado
Degerfors IF Degerfors IF 1-2 IF Elfsborg IF Elfsborg más información Jugadas destacadas 7
0-1 7' S. Gudjohnsen S. Gudjohnsen
43' D. Pavlovic D. Pavlovic 1-1
1-2 60' S. Gudjohnsen S. Gudjohnsen
 
23 Abr 23
15:00 Finalizado
Djurgårdens IF Djurgårdens IF 1-0 IFK Göteborg IFK Göteborg más información Jugadas destacadas 5
6' H. Finndell H. Finndell 1-0
99' A. Trondsen A. Trondsen
 
23 Abr 23
15:00 Finalizado
Kalmar FF Kalmar FF 2-0 Halmstads Halmstads más información Jugadas destacadas 1
14' Mileta Rajovic Mileta Rajovic 1-0
78' Mileta Rajovic Mileta Rajovic 2-0
 
23 Abr 23
17:30 Finalizado
IK Sirius IK Sirius 1-4 Häcken Häcken más información Jugadas destacadas 1
0-1 34' O. Uddenäs O. Uddenäs
0-2 52' Mikkel Rygaard Mikkel Rygaard
0-3 73' L. Larsen L. Larsen
86' M. Mathisen M. Mathisen 1-3
1-4 95' Bénie Traoré Bénie Traoré
 
24 Abr 23
19:00 Finalizado
Brommapojkarna Brommapojkarna 2-0 Mjällby AIF Mjällby AIF más información Jugadas destacadas 41
9' Oscar Pettersson Oscar Pettersson 1-0
73' N. Vasic N. Vasic 2-0
 
24 Abr 23
19:00 Finalizado
IFK Varnamo IFK Varnamo 1-0 AIK Solna AIK Solna más información Jugadas destacadas 52
62' O. Johansson O. Johansson 1-0
 
24 Abr 23
19:10 Finalizado
Malmö FF Malmö FF 3-0 IFK Norrköping IFK Norrköping más información Jugadas destacadas 62
14' I. Kiese Thelin I. Kiese Thelin 1-0
72' S. Vecchia S. Vecchia 2-0
78' Taha Ali Taha Ali 3-0
Equipos Puntos J. G. E. P. F. C. Forma
1 Malmö FF Malmö FF 12 4 4 0 0 7 1
  • VICTORIA
  • Malmö FF 1
  • Kalmar FF 0
  • VICTORIA
  • Brommapojkarna 1
  • Malmö FF 2
  • VICTORIA
  • IFK Göteborg 0
  • Malmö FF 1
  • VICTORIA
  • Malmö FF 3
  • IFK Norrköping 0
2 Häcken Häcken 9 4 3 0 1 10 5
  • VICTORIA
  • IF Elfsborg 0
  • Häcken 2
  • VICTORIA
  • Häcken 3
  • Hammarby IF 1
  • DERROTA
  • Häcken 1
  • Kalmar FF 3
  • VICTORIA
  • IK Sirius 1
  • Häcken 4
3 Kalmar FF Kalmar FF 9 4 3 0 1 7 2
  • DERROTA
  • Malmö FF 1
  • Kalmar FF 0
  • VICTORIA
  • Kalmar FF 2
  • IFK Göteborg 0
  • VICTORIA
  • Häcken 1
  • Kalmar FF 3
  • VICTORIA
  • Kalmar FF 2
  • Halmstads 0
4 IF Elfsborg IF Elfsborg 7 4 2 1 1 7 3
  • DERROTA
  • IF Elfsborg 0
  • Häcken 2
  • EMPATE
  • Varbergs BoIS 0
  • IF Elfsborg 0
  • VICTORIA
  • IF Elfsborg 5
  • Brommapojkarna 0
  • VICTORIA
  • Degerfors IF 1
  • IF Elfsborg 2
5 IFK Norrköping IFK Norrköping 7 4 2 1 1 6 5
  • EMPATE
  • IFK Norrköping 1
  • IK Sirius 1
  • VICTORIA
  • AIK Solna 0
  • IFK Norrköping 3
  • VICTORIA
  • IFK Norrköping 2
  • IFK Varnamo 1
  • DERROTA
  • Malmö FF 3
  • IFK Norrköping 0
6 Mjällby AIF Mjällby AIF 7 4 2 1 1 5 4
  • EMPATE
  • Mjällby AIF 2
  • Varbergs BoIS 2
  • VICTORIA
  • IFK Varnamo 0
  • Mjällby AIF 1
  • VICTORIA
  • Mjällby AIF 2
  • Degerfors IF 0
  • DERROTA
  • Brommapojkarna 2
  • Mjällby AIF 0
7 Djurgårdens IF Djurgårdens IF 7 4 2 1 1 4 3
  • VICTORIA
  • Djurgårdens IF 3
  • Brommapojkarna 1
  • EMPATE
  • IK Sirius 0
  • Djurgårdens IF 0
  • DERROTA
  • Halmstads 2
  • Djurgårdens IF 0
  • VICTORIA
  • Djurgårdens IF 1
  • IFK Göteborg 0
8 Hammarby IF Hammarby IF 6 4 2 0 2 6 6
  • VICTORIA
  • Hammarby IF 3
  • Degerfors IF 1
  • DERROTA
  • Häcken 3
  • Hammarby IF 1
  • DERROTA
  • AIK Solna 2
  • Hammarby IF 0
  • VICTORIA
  • Hammarby IF 2
  • Varbergs BoIS 0
9 IFK Varnamo IFK Varnamo 6 4 2 0 2 3 3
  • VICTORIA
  • IFK Göteborg 0
  • IFK Varnamo 1
  • DERROTA
  • IFK Varnamo 0
  • Mjällby AIF 1
  • DERROTA
  • IFK Norrköping 2
  • IFK Varnamo 1
  • VICTORIA
  • IFK Varnamo 1
  • AIK Solna 0
10 Halmstads Halmstads 6 4 2 0 2 5 6
  • VICTORIA
  • Halmstads 2
  • AIK Solna 1
  • DERROTA
  • Degerfors IF 3
  • Halmstads 1
  • VICTORIA
  • Halmstads 2
  • Djurgårdens IF 0
  • DERROTA
  • Kalmar FF 2
  • Halmstads 0
11 Varbergs BoIS Varbergs BoIS 3 4 0 3 1 3 5
  • EMPATE
  • Mjällby AIF 2
  • Varbergs BoIS 2
  • EMPATE
  • Varbergs BoIS 0
  • IF Elfsborg 0
  • EMPATE
  • Varbergs BoIS 1
  • IK Sirius 1
  • DERROTA
  • Hammarby IF 2
  • Varbergs BoIS 0
12 Degerfors IF Degerfors IF 3 4 1 0 3 5 8
  • DERROTA
  • Hammarby IF 3
  • Degerfors IF 1
  • VICTORIA
  • Degerfors IF 3
  • Halmstads 1
  • DERROTA
  • Mjällby AIF 2
  • Degerfors IF 0
  • DERROTA
  • Degerfors IF 1
  • IF Elfsborg 2
13 AIK Solna AIK Solna 3 4 1 0 3 3 6
  • DERROTA
  • Halmstads 2
  • AIK Solna 1
  • DERROTA
  • AIK Solna 0
  • IFK Norrköping 3
  • VICTORIA
  • AIK Solna 2
  • Hammarby IF 0
  • DERROTA
  • IFK Varnamo 1
  • AIK Solna 0
14 IK Sirius IK Sirius 3 4 0 3 1 3 6
  • EMPATE
  • IFK Norrköping 1
  • IK Sirius 1
  • EMPATE
  • IK Sirius 0
  • Djurgårdens IF 0
  • EMPATE
  • Varbergs BoIS 1
  • IK Sirius 1
  • DERROTA
  • IK Sirius 1
  • Häcken 4
15 Brommapojkarna Brommapojkarna 3 4 1 0 3 4 10
  • DERROTA
  • Djurgårdens IF 3
  • Brommapojkarna 1
  • DERROTA
  • Brommapojkarna 1
  • Malmö FF 2
  • DERROTA
  • IF Elfsborg 5
  • Brommapojkarna 0
  • VICTORIA
  • Brommapojkarna 2
  • Mjällby AIF 0
16 IFK Göteborg IFK Göteborg 0 4 0 0 4 0 5
  • DERROTA
  • IFK Göteborg 0
  • IFK Varnamo 1
  • DERROTA
  • Kalmar FF 2
  • IFK Göteborg 0
  • DERROTA
  • IFK Göteborg 0
  • Malmö FF 1
  • DERROTA
  • Djurgårdens IF 1
  • IFK Göteborg 0
Previa de Champions (2ª Ronda) : Malmö FF
Previa de Europa League : Häcken
: Kalmar FF, IF Elfsborg
Playoff Descenso : IK Sirius
Descenso : Brommapojkarna, IFK Göteborg

INFORMACIÓN

La Allsvenskan es la liga de mayor nivel en el sistema del fútbol sueco y comprende a los 16 mejores equipos. Fue creado en 1924. Antes de eso, la mayor liga en Suecia era la Svenska Serien.
Los ganadores de la Allsvenskan son considerados campeones suecos desde 1931. Antes de eso, entre 1924 y 1930, simplemente se les consideraba campeones de liga. Lo mismo ocurrió desde 1982 a 1990 cuando los campeones se decidieron por partidos de play-off y en 1991-1992 cuando fueron elegidos por una liga de continuación llamada Mästerskapsserien.

  USO DE MEMORIA  
6,240,688 bytes
  BENCHMARKS  
Loading Time Base Classes  0.0020
Controller Execution Time ( Home / Category )  0.6996
Total Execution Time  0.7016
  CADENA URL  
/suecia2023/grupo1/jornada4
  GET DATOS  
$_GET['/suecia2023/grupo1/jornada4']  
  POST DATOS  
No hay datos POST existentes
  CONSULTAS (36)  
0.0144  SELECT type FROM routes WHERE alias = 'suecia2023'
0.0293  SELECT c.*, l.*, '' as namec FROM leagues_webci l INNER JOIN categories_webci c ON l.categoryId = c.id WHERE c.alias = 'suecia' AND (l.group_code = 1 OR l.group_code = 1 OR l.group_code = 0) AND l.year = 2023 ORDER BY l.year=c.active_year DESC,l.year DESC, l.group_code=1 DESC LIMIT 1
0.0144  SELECT total FROM bs_rel_resume_items WHERE ln = 'es' AND itemId=22 AND type_rel = 3
0.0150  SELECT rel.newId FROM bs_news_rel rel WHERE rel.type_rel = 3 AND rel.typeId = 22 AND rel.ln = 'es' AND rel.status=1 ORDER BY rel.creation_date desc,rel.cover_points DESC LIMIT 5
0.0147  SELECT /*53 bs_news_model*/ n.id, n.author_id, n.headline, n.external_headline, n.live_headline, n.creation_date, n.update_date, n.pub_date, n.alias, n.subheadline, n.teaser, n.media, n.tags, n.views, n.screens, n.clicks, n.relations, n.comments, n.power_cover, n.cover_points, u.name as user_name FROM bs_news n INNER JOIN bs_editors u ON u.id = n.author_id AND u.ln = 'es' WHERE n.status = 1 AND n.ln = 'es' AND n.id IN (1313442,1312381,1311197,1300414,1300338) ORDER BY n.cover_points DESC, update_date DESC
0.0146  SELECT dt.nameShow,dt.basealias,t.id,t.teamId FROM teams t INNER JOIN datateams dt ON t.teamId = dt.id WHERE t.league_id = 70735 ORDER BY dt.relations DESC, dt.nameShow ASC LIMIT 50
0.0146  SELECT c.id, c.name, c.alias, c.stepParent, l.year FROM categories AS c INNER JOIN leagues AS l ON c.id=l.categoryId AND l.year='2023' WHERE c.parentId=22 GROUP BY c.id ORDER BY c.order_id ASC
0.0145  SELECT url,page_views,page_title FROM rf_statcounter_popular_pages_hourly WHERE type=1 AND last_update > '2024-05-08 23:16:24' GROUP BY url ORDER BY page_views DESC LIMIT 5
0.0144  SELECT url,page_views,page_title FROM rf_statcounter_popular_pages_hourly WHERE type=2 AND last_update > '2024-05-08 23:16:24' GROUP BY url ORDER BY page_views DESC LIMIT 5
0.0145  SELECT url,page_views,page_title FROM rf_statcounter_popular_pages_hourly WHERE type=4 AND last_update > '2024-05-08 23:16:24' GROUP BY url ORDER BY page_views DESC LIMIT 5
0.0145  SELECT url,page_views,page_title FROM rf_statcounter_popular_pages_hourly WHERE type=3 AND last_update > '2024-05-08 23:16:24' GROUP BY url ORDER BY page_views DESC LIMIT 5
0.0149  SELECT c.*, l.*, '' as namec FROM leagues_webci l INNER JOIN categories_webci c ON l.categoryId = c.id WHERE c.alias = 'suecia' AND (l.group_code = 0 OR l.group_code = 1 OR l.group_code = 0) AND l.year = 2023 ORDER BY l.year=c.active_year DESC,l.year DESC, l.group_code=0 DESC LIMIT 1
0.0154  SELECT e.action, count(e.action) as total, e.player_id FROM events2023 e WHERE e.league_id IN (70735) AND (e.action IN (1,2,11,12,13) ) GROUP BY e.player_id ORDER BY total DESC, e.player_id ASC LIMIT 20
0.0153  SELECT dp.name, dp.last_name, dp.nick,dp.CountryCode,dp.alias,rp.team_id,dt.nameShow,dt.short_name,dt.basealias,rp.player_id,rp.teamId,dp.role FROM dataplayers AS dp INNER JOIN rel_players AS rp ON rp.player_id=dp.id AND rp.league_id IN (70735) INNER JOIN datateams AS dt ON rp.teamId=dt.id WHERE dp.id IN (211693,1027018,214698,320716,432796,925250,325881,818075,893359,212209,219195,225842,250906,286137,319452,372291,211692,236984,380503,38034) ORDER BY rp.in_squad = 1 DESC
0.0155  SELECT e.action, count(e.action) as total, e.player_id FROM events2023 e WHERE e.league_id IN (70735) AND (e.action IN (4,5) ) GROUP BY e.player_id ORDER BY total DESC, e.player_id ASC LIMIT 20
0.0152  SELECT dp.name, dp.last_name, dp.nick,dp.CountryCode,dp.alias,rp.team_id,dt.nameShow,dt.short_name,dt.basealias,rp.player_id,rp.teamId,dp.role FROM dataplayers AS dp INNER JOIN rel_players AS rp ON rp.player_id=dp.id AND rp.league_id IN (70735) INNER JOIN datateams AS dt ON rp.teamId=dt.id WHERE dp.id IN (280527,217967,291069,435984,871180,894680,217272,304557,359766,726867,3181931,219195,287282,343437,386010,430946,431920,431921,699215,796412) ORDER BY rp.in_squad = 1 DESC
0.0147  SELECT e.action, count(e.action) as total, e.player_id FROM events2023 e WHERE e.league_id IN (70735) AND (e.action IN (3,4) ) GROUP BY e.player_id ORDER BY total DESC, e.player_id ASC LIMIT 20
0.0150  SELECT dp.name, dp.last_name, dp.nick,dp.CountryCode,dp.alias,rp.team_id,dt.nameShow,dt.short_name,dt.basealias,rp.player_id,rp.teamId,dp.role FROM dataplayers AS dp INNER JOIN rel_players AS rp ON rp.player_id=dp.id AND rp.league_id IN (70735) INNER JOIN datateams AS dt ON rp.teamId=dt.id WHERE dp.id IN (275641,276899,211177,211757,217272,275019,276114,277310,280527,281973,288654,291069,304557,368522,374729,381691,431920,447144,468121,699153) ORDER BY rp.in_squad = 1 DESC
0.0154  SELECT e.action, count(e.action) as total, e.player_id FROM events2023 e WHERE e.league_id IN (70735) AND (e.action IN (22) ) GROUP BY e.player_id ORDER BY total DESC, e.player_id ASC LIMIT 20
0.0152  SELECT dp.name, dp.last_name, dp.nick,dp.CountryCode,dp.alias,rp.team_id,dt.nameShow,dt.short_name,dt.basealias,rp.player_id,rp.teamId,dp.role FROM dataplayers AS dp INNER JOIN rel_players AS rp ON rp.player_id=dp.id AND rp.league_id IN (70735) INNER JOIN datateams AS dt ON rp.teamId=dt.id WHERE dp.id IN (225842,213770,818075,213877,954244,186602,212209,468121,848326,152458,321454,386010,432796,697621,898582,954902,147543,211925,274472,280527) ORDER BY rp.in_squad = 1 DESC
0.0156  SELECT rp.lineup as total,p.name, p.last_name, p.nick,p.CountryCode,p.alias,rp.team_id,dt.nameShow,dt.short_name,dt.basealias,rp.player_id,rp.teamId,p.role FROM `rel_players` rp INNER JOIN dataplayers p ON p.id = rp.player_id INNER JOIN datateams dt ON dt.id = rp.teamId WHERE rp.league_id = 70735 AND rp.lineup > 0 ORDER BY rp.lineup DESC,p.pod DESC LIMIT 20
0.0378  SELECT rp.events as total,p.name, p.last_name, p.nick,p.CountryCode,p.alias,rp.team_id,dt.nameShow,dt.short_name,dt.basealias,rp.player_id,rp.teamId,p.role FROM `rel_players` rp INNER JOIN dataplayers p ON p.id = rp.player_id INNER JOIN datateams dt ON dt.id = rp.teamId WHERE rp.league_id = 70735 AND rp.events > 0 ORDER BY rp.events DESC,p.pod DESC LIMIT 20
0.0147  SELECT rel.media_id, rel.team1, rel.team2, m.name, m.type, m.lang, m.location, rel.id AS rel_id, m.url FROM rel_media_match AS rel INNER JOIN media AS m ON m.id=rel.media_id WHERE (m.lang='es' OR m.language='spanish') AND rel.active=1 AND rel.league_id=70735 AND rel.round=4
0.0147  SELECT u.id,u.user_name, esl.points,up.name,up.surname,up.nick,u.changeA FROM editor_stats_leagues esl INNER JOIN fa_user u ON u.id = esl.user_id INNER JOIN fa_user_profile up ON up.id = esl.user_id WHERE esl.league_id = 70735 AND esl.points > 0 ORDER BY esl.points DESC LIMIT 3
0.0147  SELECT count(esl.user_id) as cuenta FROM editor_stats_leagues esl INNER JOIN fa_user u ON u.id = esl.user_id INNER JOIN fa_user_profile up ON up.id = esl.user_id WHERE esl.league_id = 70735 AND esl.points > 0
0.0144  SELECT fau.user_name, c.*, NOW() as difference_time,creation_date FROM (leagues as l) INNER JOIN comments as c ON c.league_id = l.id LEFT JOIN fa_user fau ON fau.id = c.author_id WHERE c.creation_date > "2024-04-09" AND c.`active`= 1 and c.comment_id is null and c.lang = 1 AND l.`id` = 70735 ORDER BY creation_date DESC LIMIT 0, 10
0.0150  SELECT count(c.id) as cuenta FROM (leagues as l) INNER JOIN comments as c ON c.league_id = l.id WHERE c.creation_date > "2024-04-09" AND c.`active`= 1 and comment_id is null and c.lang = 1 AND l.`id` = 70735
0.0162  SELECT c.isVideo, c.id,c.team1, c.team2,c.extra,c.datateam1,c.datateam2,c.type, c.shedule, c.r1, c.r2, c.round, c.comments as total_comentarios, dt1.nameShow as team1_name, dt2.nameShow as team2_name, dt1.basealias as basealias1, dt2.basealias as basealias2,c.betId,c.betId_wh,c.betId_bwin,c.betId_marca,c.betId_888, c.betId_sportium, c.betId_marathon, c.finished, c.penaltis1, c.penaltis2, c.prorroga, c.status, c.minute, dt1.stadium as stadium_name FROM `calendars2023` as c INNER JOIN teams t1 ON t1.id = c.team1 AND t1.league_id = c.league_id INNER JOIN teams t2 ON t2.id = c.team2 AND t2.league_id = c.league_id INNER JOIN datateams as dt1 ON dt1.id = t1.teamId INNER JOIN datateams as dt2 ON dt2.id = t2.teamId WHERE c.`league_id` = 70735 AND c.`round` = 4 ORDER BY shedule ASC LIMIT 200
0.0165  SELECT ev.match_id,dp.alias,ev.minute,ev.action,ev.player_id,e.name,e.classf,dp.nick,rel.squadNumber,rel.player_id as playerId,rel.team_id,rel.teamId FROM events2023 ev INNER JOIN events e ON e.id = ev.action INNER JOIN calendars2023 c ON c.id = ev.match_id INNER JOIN rel_players rel ON rel.player_id = ev.player_id AND rel.league_id = 70735 AND (ev.team1id=rel.team_id OR ev.team2id=rel.team_id) INNER JOIN dataplayers dp ON dp.id = rel.player_id WHERE ev.match_id IN (573174,573172,573173,573175,573177,573171,573178,573176) AND ev.action in (1,2,3,4,6,11,12,13,15) ORDER BY ev.minute ASC
0.0153  SELECT (dt1.qod+dt2.qod+dt1.relations+dt2.relations) as total,c.r1,c.r2,e.action,ev.showName as eventName,ev.largeName,ev.main_action,ev.keyname,ev.classf,e.real_date,e.minute, dp.nick,dp.CountryCode,dp.alias,c.datateam1,c.datateam2,dt1.nameShow as nameShow1,dt2.nameShow as nameShow2,dt1.basealias as basealias1,dt2.basealias as basealias2,e.player_id,e.match_id FROM `events2023` e INNER JOIN calendars2023 c ON c.id = e.match_id INNER JOIN events ev ON ev.id = e.action INNER JOIN dataplayers dp ON dp.id = e.player_id INNER JOIN datateams dt1 ON dt1.id = c.datateam1 INNER JOIN datateams dt2 ON dt2.id = c.datateam2 WHERE ev.main_action = 1 AND c.round = 4 AND e.real_date IS NOT NULL AND e.league_id = 70735 ORDER BY total DESC LIMIT 40
0.0158  SELECT t.*,dt.nameShow,dt.basealias,dt.id as teamId,(cast(t.gf as signed) - cast(t.ga as signed) + 100) as diff,team.teamId FROM `tables2023` as t INNER JOIN teams as team ON team.id = t.team INNER JOIN datateams as dt ON team.teamId = dt.id WHERE t.league_id = 70735 AND t.round = 3 ORDER BY team.conference ASC,t.position ASC,t.points DESC,t.priority DESC, diff DESC, t.gf DESC, dt.nameShow ASC
0.0148  SELECT *,(cast(t.gf as signed) - cast(t.ga as signed) + 100) as diff,team.teamId FROM `tables2023` as t INNER JOIN teams as team ON team.id = t.team INNER JOIN datateams as dt ON team.teamId = dt.id WHERE t.league_id = 70735 AND t.round = 4 ORDER BY team.conference ASC,t.position ASC,t.points DESC,t.priority DESC, diff DESC, t.gf DESC, dt.nameShow ASC
0.0146  SELECT distinct(shedule), round FROM `calendars2023` as c WHERE c.`league_id` = 70735 AND shedule >= '2023/04/01' AND shedule < '2023/05/01' ORDER BY shedule ASC
0.0144  SELECT c.id, 2024 AS year, IF(l.tables = 1 AND t1.points>0,((t1.points / (l.current_round * 3)) + (t2.points / (l.current_round * 3)))/2 * ct.coefficient,0.7 * ct.coefficient) as fcoef FROM `calendars2024` AS c INNER JOIN `leagues` AS l ON c.`league_id` = l.`id` INNER JOIN `categories` AS ct ON ct.`id` = l.`categoryId` LEFT JOIN tables2024 AS t1 ON t1.team = c.team1 AND t1.round = l.current_round LEFT JOIN tables2024 AS t2 ON t2.team = c.team2 AND t2.round = l.current_round WHERE c.`shedule` > '2024-05-09 00:00:00' AND c.`shedule` < '2024-05-13 23:59:59' AND l.id = 70735 ORDER BY c.shedule ASC, fcoef DESC LIMIT 5
0.0152  SELECT data1, data2 FROM services_tags WHERE categoryId=22
0.0152  SELECT group_code, extraName from `leagues` WHERE categoryId=22 AND year=2023