diff -pruN 5.4.10+dfsg-1/CHANGELOG-5.4.md 5.4.11+dfsg-1/CHANGELOG-5.4.md
--- 5.4.10+dfsg-1/CHANGELOG-5.4.md	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/CHANGELOG-5.4.md	2022-07-29 12:30:51.000000000 +0000
@@ -7,6 +7,43 @@ in 5.4 minor versions.
 To get the diff for a specific change, go to https://github.com/symfony/symfony/commit/XXX where XXX is the change hash
 To get the diff between two versions, go to https://github.com/symfony/symfony/compare/v5.4.0...v5.4.1
 
+* 5.4.11 (2022-07-29)
+
+ * bug #47069 [Security] Allow redirect after login to absolute URLs (Tim Ward)
+ * bug #47073 [HttpKernel] Fix non-scalar check in surrogate fragment renderer (aschempp)
+ * bug #47003 [Cache] Ensured that redis adapter can use multiple redis sentinel hosts (warslett)
+ * bug #43329 [Serializer] Respect default context in DateTimeNormalizer::denormalize (hultberg)
+ * bug #47070 [Messenger] Fix function name in TriggerSql on postgresql bridge to support table name with schema (zimny9932)
+ * bug #47086 Workaround disabled "var_dump" (nicolas-grekas)
+ * bug #40828 [BrowserKit] Merge fields and files recursively if they are multidimensional array (januszmk)
+ * bug #47010 [String] Fix `width` method in `AbstractUnicodeString` (TBoileau)
+ * bug #47048 [Serializer] Fix XmlEncoder encoding attribute false (alamirault)
+ * bug #47022 [Console] get full command path for command in search path (remicollet)
+ * bug #47000 [ErrorHandler] Fix return type patching for list and class-string pseudo types (derrabus)
+ * bug #43998 [HttpKernel] [HttpCache] Don't throw on 304 Not Modified (aleho)
+ * bug #46792 [Bridge] Corrects bug in test listener trait (magikid)
+ * bug #46985 [DoctrineBridge] Avoid calling `AbstractPlatform::hasNativeGuidType()` (derrabus)
+ * bug #46958 [Serializer] Ignore getter with required parameters (Fix #46592) (astepin)
+ * bug #46981 [Mime]  quote address names if they contain parentheses (xabbuh)
+ * bug #46960 [FrameworkBundle] Fail gracefully when forms use disabled CSRF (HeahDude)
+ * bug #46973 [DependencyInjection] Fail gracefully when attempting to autowire composite types (derrabus)
+ * bug #45884 [Serializer] Fix inconsistent behaviour of nullable objects in key/value arrays (phramz)
+ * bug #46963 [Mime] Fix inline parts when added via attachPart() (fabpot)
+ * bug #46968 [PropertyInfo] Make sure nested composite types do not crash ReflectionExtractor (derrabus)
+ * bug #46931 Flush backend output buffer after closing. (bradjones1)
+ * bug #46947 [Serializer] Prevent that bad Ignore method annotations lead to incorrect results (astepin)
+ * bug #46948 [Validator] : Fix "PHP Warning: Undefined array key 1" in NotCompromisedPasswordValidator (KevinVanSonsbeek)
+ * bug #46905 [BrowserKit] fix sending request to paths containing multiple slashes (xabbuh)
+ * bug #46244 [Validator] Fix traverse option on Valid constraint when used as Attribute (tobias-93)
+ * bug #42033 [HttpFoundation] Fix deleteFileAfterSend on client abortion (nerg4l)
+ * bug #46941 [Messenger] Fix calls to deprecated DBAL methods (derrabus)
+ * bug #46863 [Mime] Fix invalid DKIM signature with multiple parts (BrokenSourceCode)
+ * bug #46808 [HttpFoundation] Fix TypeError on null `$_SESSION`  in `NativeSessionStorage::save()` (chalasr)
+ * bug #46811 [DoctrineBridge] Fix comment for type on Query::setValue (middlewares) (l-vo)
+ * bug #46790 [HttpFoundation] Prevent PHP Warning: Session ID is too long or contains illegal characters (BrokenSourceCode)
+ * bug #46800 Spaces in system temp folder path cause deprecation errors in php 8 (demeritcowboy)
+ * bug #46797 [Messenger] Ceil waiting time when multiplier is a float on retry (WissameMekhilef)
+
 * 5.4.10 (2022-06-26)
 
  * bug #46779 [String] Add an invariable word in french (lemonlab)
diff -pruN 5.4.10+dfsg-1/CONTRIBUTORS.md 5.4.11+dfsg-1/CONTRIBUTORS.md
--- 5.4.10+dfsg-1/CONTRIBUTORS.md	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/CONTRIBUTORS.md	2022-07-29 12:30:51.000000000 +0000
@@ -6,390 +6,497 @@ Symfony is the result of the work of man
 The Symfony Connect username in parenthesis allows to get more information
  - Fabien Potencier (fabpot)
  - Nicolas Grekas (nicolas-grekas)
- - Christian Flothmann (xabbuh)
- - Bernhard Schussek (bschussek)
  - Alexander M. Turek (derrabus)
+ - Christian Flothmann (xabbuh)
  - Robin Chalas (chalas_r)
+ - Bernhard Schussek (bschussek)
  - Tobias Schultze (tobion)
- - Christophe Coevoet (stof)
- - Jordi Boggiano (seldaek)
+ - Thomas Calvet (fancyweb)
+ - Jérémy DERUSSÉ (jderusse)
  - Grégoire Pineau (lyrixx)
+ - Wouter de Jong (wouterj)
  - Maxime Steinhausser (ogizanagi)
+ - Christophe Coevoet (stof)
  - Kévin Dunglas (dunglas)
- - Victor Berchet (victor)
- - Jérémy DERUSSÉ (jderusse)
- - Thomas Calvet (fancyweb)
+ - Jordi Boggiano (seldaek)
  - Roland Franssen (ro0)
- - Wouter de Jong (wouterj)
- - Johannes S (johannes)
+ - Victor Berchet (victor)
+ - Tobias Nyholm (tobias)
+ - Yonel Ceruto (yonelceruto)
+ - Oskar Stark (oskarstark)
  - Ryan Weaver (weaverryan)
- - Kris Wallsmith (kriswallsmith)
- - Jakub Zalas (jakubzalas)
  - Javier Eguiluz (javier.eguiluz)
- - Yonel Ceruto (yonelceruto)
- - Tobias Nyholm (tobias)
+ - Johannes S (johannes)
+ - Jakub Zalas (jakubzalas)
+ - Kris Wallsmith (kriswallsmith)
  - Hugo Hamon (hhamon)
+ - Hamza Amrouche (simperfit)
  - Samuel ROZE (sroze)
- - Oskar Stark (oskarstark)
  - Pascal Borreli (pborreli)
  - Romain Neutron
  - Joseph Bielawski (stloyd)
+ - Jules Pietri (heah)
  - Drak (drak)
  - Abdellatif Ait boudad (aitboudad)
  - Lukas Kahwe Smith (lsmith)
- - Hamza Amrouche (simperfit)
+ - Jan Schädlich (jschaedl)
  - Martin Hasoň (hason)
  - Jeremy Mikola (jmikola)
+ - Jérôme Tamarelle (gromnan)
  - Jean-François Simon (jfsimon)
  - Benjamin Eberlei (beberlei)
- - Igor Wiedler
- - Jules Pietri
- - Jan Schädlich (jschaedl)
  - Kevin Bond (kbond)
- - Jonathan Wage (jwage)
- - Jérôme Tamarelle (gromnan)
+ - Igor Wiedler
  - Valentin Udaltsov (vudaltsov)
+ - Vasilij Duško (staff)
  - Matthias Pigulla (mpdude)
- - Alexandre Salomé (alexandresalome)
+ - Laurent VOULLEMIER (lvo)
+ - Pierre du Plessis (pierredup)
  - Grégoire Paris (greg0ire)
+ - Jonathan Wage (jwage)
+ - Antoine Makdessi (amakdessi)
+ - HypeMC (hypemc)
+ - Gabriel Ostrolucký (gadelat)
+ - David Maicher (dmaicher)
+ - Titouan Galopin (tgalopin)
+ - Alexandre Salomé (alexandresalome)
  - William DURAND
  - ornicar
+ - Alexander Schranz (alexander-schranz)
  - Dany Maillard (maidmaid)
  - Eriksen Costa
  - Diego Saint Esteben (dosten)
  - stealth35 ‏ (stealth35)
  - Alexander Mols (asm89)
- - Pierre du Plessis (pierredup)
+ - Gábor Egyed (1ed)
  - Francis Besset (francisbesset)
+ - Vasilij Dusko | CREATION
  - Bulat Shakirzyanov (avalanche123)
+ - Mathieu Santostefano (welcomattic)
  - Iltar van der Berg
- - David Maicher (dmaicher)
- - Gabriel Ostrolucký (gadelat)
+ - Alexandre Daubois (alexandre-daubois)
  - Miha Vrhovnik (mvrhov)
  - Saša Stamenković (umpirsky)
- - Titouan Galopin (tgalopin)
- - Gábor Egyed (1ed)
  - Mathieu Piot (mpiot)
+ - Guilhem N (guilhemn)
+ - Alex Pott
+ - Vladimir Reznichenko (kalessil)
  - Sarah Khalil (saro0h)
  - Konstantin Kudryashov (everzet)
- - Guilhem N (guilhemn)
  - Bilal Amarni (bamarni)
  - Eriksen Costa
  - Florin Patan (florinpatan)
- - Vladimir Reznichenko (kalessil)
  - Peter Rehm (rpet)
- - Vasilij Duško (staff)
+ - Tomas Norkūnas (norkunas)
  - Henrik Bjørnskov (henrikbjorn)
- - Antoine Makdessi (amakdessi)
- - Laurent VOULLEMIER (lvo)
+ - Vincent Langlet (deviling)
+ - Konstantin Myakshin (koc)
  - Andrej Hudec (pulzarraider)
+ - Julien Falque (julienfalque)
+ - Massimiliano Arione (garak)
+ - Douglas Greenshields (shieldo)
  - Christian Raue
- - Eric Clemmons (ericclemmons)
+ - David Buchmann (dbu)
+ - Graham Campbell (graham)
  - Michel Weimerskirch (mweimerskirch)
+ - Eric Clemmons (ericclemmons)
  - Issei Murasawa (issei_m)
- - Douglas Greenshields (shieldo)
+ - Fran Moreno (franmomu)
  - Jáchym Toušek (enumag)
- - Alexander Schranz (alexander-schranz)
+ - Malte Schlüter (maltemaltesich)
+ - Vasilij Dusko
+ - Mathias Arlaud (mtarld)
  - Denis (yethee)
  - Arnout Boks (aboks)
  - Charles Sarrazin (csarrazi)
- - David Buchmann (dbu)
+ - Przemysław Bogusz (przemyslaw-bogusz)
  - Henrik Westphal (snc)
  - Dariusz Górecki (canni)
+ - Maxime Helias (maxhelias)
  - Ener-Getick
- - Alex Pott
- - Fran Moreno (franmomu)
- - Graham Campbell (graham)
- - HypeMC (hypemc)
+ - Sebastiaan Stok (sstok)
+ - Ruud Kamphuis (ruudk)
+ - Jérôme Vasseur (jvasseur)
+ - Ion Bazan (ionbazan)
  - Lee McDermott
  - Brandon Turner
  - Luis Cordova (cordoval)
  - Daniel Holmes (dholmes)
  - Toni Uebernickel (havvg)
  - Bart van den Burg (burgov)
- - Vasilij Dusko | CREATION
  - Jordan Alliot (jalliot)
- - Mathieu Santostefano (welcomattic)
  - John Wards (johnwards)
  - Dariusz Ruminski
- - Konstantin Myakshin (koc)
+ - Lars Strojny (lstrojny)
+ - Smaine Milianni (ismail1432)
  - Antoine Hérault (herzult)
- - Alexandre Daubois (alexandre-daubois)
- - Julien Falque (julienfalque)
  - Konstantin.Myakshin
+ - Arman Hosseini (arman)
+ - Yanick Witschi (toflar)
  - Arnaud Le Blanc (arnaud-lb)
- - Sebastiaan Stok (sstok)
  - Maxime STEINHAUSSER
- - Massimiliano Arione (garak)
+ - Peter Kokot (maastermedia)
+ - Saif Eddin Gmati (azjezz)
+ - Ahmed TAILOULOUTE (ahmedtai)
+ - Simon Berger
  - Tim Nagel (merk)
+ - Andreas Braun
+ - Teoh Han Hui (teohhanhui)
+ - YaFou
+ - Gary PEGEOT (gary-p)
  - Chris Wilkinson (thewilkybarkid)
- - Jérôme Vasseur (jvasseur)
+ - Rokas Mikalkėnas (rokasm)
  - Brice BERNARD (brikou)
- - Jules Pietri
- - Tomas Norkūnas (norkunas)
+ - Roman Martinuk (a2a4)
+ - Gregor Harlan (gharlan)
+ - Baptiste Clavié (talus)
+ - Adrien Brault (adrienbrault)
  - Michal Piotrowski
  - marc.weistroff
- - Peter Kokot (maastermedia)
- - Lars Strojny (lstrojny)
  - lenar
+ - Théo FIDRY
+ - jeremyFreeAgent (jeremyfreeagent)
  - Włodzimierz Gajda (gajdaw)
- - Adrien Brault (adrienbrault)
+ - Christian Scheb
+ - Guillaume (guill)
+ - Mathieu Lechat (mat_the_cat)
+ - Jesse Rushlow (geeshoe)
  - Jacob Dreesen (jdreesen)
- - Théo FIDRY
+ - Joel Wurtz (brouznouf)
+ - Michael Babker (mbabker)
+ - Olivier Dolbeau (odolbeau)
  - Florian Voutzinos (florianv)
- - Teoh Han Hui (teohhanhui)
- - Przemysław Bogusz (przemyslaw-bogusz)
+ - zairig imad (zairigimad)
  - Colin Frei
  - Javier Spagnoletti (phansys)
- - Vincent Langlet (deviling)
+ - Tugdual Saunier (tucksaun)
  - excelwebzone
+ - Jérôme Parmentier (lctrs)
  - HeahDude
- - Joel Wurtz (brouznouf)
+ - Richard van Laak (rvanlaak)
  - Paráda József (paradajozsef)
- - Baptiste Clavié (talus)
+ - Alessandro Lai (jean85)
  - Alexander Schwenn (xelaris)
  - Fabien Pennequin (fabienpennequin)
  - Gordon Franke (gimler)
- - Malte Schlüter (maltemaltesich)
- - Ruud Kamphuis (ruudk)
- - Vasilij Dusko
- - Yanick Witschi (toflar)
+ - Jeroen Spee (jeroens)
+ - Christopher Hertel (chertel)
+ - Gabriel Caruso
+ - Anthony GRASSIOT (antograssiot)
+ - Jan Rosier (rosier)
  - Daniel Wehner (dawehner)
- - Tugdual Saunier (tucksaun)
- - Mathias Arlaud (mtarld)
+ - Hugo Monteiro (monteiro)
+ - Baptiste Leduc (korbeil)
+ - Marco Pivetta (ocramius)
  - Robert Schönthal (digitalkaoz)
+ - Võ Xuân Tiến (tienvx)
+ - fd6130 (fdtvui)
+ - Tigran Azatyan (tigranazatyan)
  - Eric GELOEN (gelo)
- - Gary PEGEOT (gary-p)
- - Gabriel Caruso
+ - Matthieu Napoli (mnapoli)
+ - Tomáš Votruba (tomas_votruba)
  - Joshua Thijssen
  - Stefano Sala (stefano.sala)
- - Mathieu Lechat (mat_the_cat)
- - Maxime Helias (maxhelias)
+ - Alessandro Chitolina (alekitto)
+ - Valentine Boineau (valentineboineau)
+ - Jeroen Noten (jeroennoten)
+ - Gocha Ossinkine (ossinkine)
+ - Andreas Möller (localheinz)
  - OGAWA Katsuhiro (fivestar)
  - Jhonny Lidfors (jhonne)
- - jeremyFreeAgent (jeremyfreeagent)
+ - Martin Hujer (martinhujer)
+ - Wouter J
+ - Timo Bakx (timobakx)
  - Juti Noppornpitak (shiroyuki)
- - Gregor Harlan (gharlan)
- - Smaine Milianni (ismail1432)
+ - Joe Bennett (kralos)
  - Anthony MARTIN
+ - Colin O&#039;Dell (colinodell)
  - Sebastian Hörl (blogsh)
- - Tigran Azatyan (tigranazatyan)
- - Ion Bazan (ionbazan)
+ - Ben Davies (bendavies)
+ - François-Xavier de Guillebon (de-gui_f)
  - Daniel Gomes (danielcsgomes)
+ - Michael Käfer (michael_kaefer)
  - Hidenori Goto (hidenorigoto)
+ - Albert Casademont (acasademont)
  - Arnaud Kleinpeter (nanocom)
  - Guilherme Blanco (guilhermeblanco)
+ - Chi-teck
+ - Guilliam Xavier
+ - Nate Wiebe (natewiebe13)
+ - Hugo Alliaume (kocal)
+ - Michael Voříšek
  - SpacePossum
- - Richard van Laak (rvanlaak)
- - Andreas Braun
+ - Antoine Lamirault
  - Pablo Godel (pgodel)
- - Tomáš Votruba (tomas_votruba)
- - François-Xavier de Guillebon (de-gui_f)
- - Alessandro Chitolina (alekitto)
+ - Romaric Drigon (romaricdrigon)
+ - Andréia Bohner (andreia)
+ - Jannik Zschiesche
  - Rafael Dohms (rdohms)
+ - George Mponos (gmponos)
+ - Aleksandar Jakovljevic (ajakov)
  - jwdeitch
- - Saif Eddin Gmati (azjezz)
- - Jérôme Parmentier (lctrs)
- - Ahmed TAILOULOUTE (ahmedtai)
- - Michael Babker (mbabker)
+ - Jurica Vlahoviček (vjurica)
+ - David Prévot
+ - Antonio Pauletich (x-coder264)
+ - Vincent Touzet (vincenttouzet)
+ - Fabien Bourigault (fbourigault)
+ - Farhad Safarov (safarov)
  - Jérémy Derussé
- - Matthieu Napoli (mnapoli)
- - Arman Hosseini (arman)
+ - Nicolas Philippe (nikophil)
+ - Andreas Schempp (aschempp)
+ - mcfedr (mcfedr)
+ - Denis Brumann (dbrumann)
+ - Maciej Malarz (malarzm)
+ - Soner Sayakci
+ - Artem Lopata
  - Sokolov Evgeniy (ewgraf)
- - Rokas Mikalkėnas (rokasm)
- - Andréia Bohner (andreia)
+ - Stadly
+ - Justin Hileman (bobthecow)
  - Niels Keurentjes (curry684)
  - Vyacheslav Pavlov
- - Albert Casademont (acasademont)
- - George Mponos (gmponos)
+ - Dāvis Zālītis (k0d3r1s)
  - Richard Shank (iampersistent)
- - Marco Pivetta (ocramius)
- - Vincent Touzet (vincenttouzet)
- - Simon Berger
- - Olivier Dolbeau (odolbeau)
+ - Andre Rømcke (andrerom)
+ - Dmitrii Poddubnyi (karser)
+ - soyuka
  - Rouven Weßling (realityking)
- - YaFou
+ - Zmey
  - Clemens Tolboom
  - Oleg Voronkovich
  - Helmer Aaviksoo
+ - Michał (bambucha15)
+ - Remon van de Kamp
+ - Ben Hakim
+ - Sylvain Fabre (sylfabre)
+ - Filippo Tessarotto (slamdunk)
  - 77web
+ - Bohan Yang (brentybh)
+ - Bastien Jaillot (bastnic)
+ - W0rma
  - Matthieu Ouellette-Vachon (maoueh)
+ - Lynn van der Berg (kjarli)
  - Michał Pipa (michal.pipa)
  - Dawid Nowak
- - Jannik Zschiesche
- - Roman Martinuk (a2a4)
  - Amal Raghav (kertz)
  - Jonathan Ingram
+ - Fritz Michael Gschwantner (fritzmg)
  - Artur Kotyrba
- - Wouter J
  - Tyson Andre
+ - Thomas Landauer (thomas-landauer)
  - GDIBass
  - Samuel NELA (snela)
+ - dFayet
+ - Karoly Gossler (connorhu)
  - Vincent AUBERT (vincent)
- - Fabien Bourigault (fbourigault)
- - zairig imad (zairigimad)
- - Colin O&#039;Dell (colinodell)
- - Ben Davies (bendavies)
- - James Halsall (jaitsu)
- - Christian Scheb
- - Guillaume (guill)
+ - Sebastien Morel (plopix)
+ - Sergey (upyx)
+ - Yoann RENARD (yrenard)
+ - BoShurik
+ - Timothée Barray (tyx)
+ - James Halsall (jaitsu)
+ - Hubert Lenoir (hubert_lenoir)
  - Florent Mata (fmata)
- - Christopher Hertel (chertel)
  - Mikael Pajunen
  - Warnar Boekkooi (boekkooi)
- - Justin Hileman (bobthecow)
- - Alessandro Lai (jean85)
- - Anthony GRASSIOT (antograssiot)
+ - Marco Petersen (ocrampete16)
+ - Benjamin Leveque (benji07)
  - Dmitrii Chekaliuk (lazyhammer)
  - Clément JOBEILI (dator)
+ - Vilius Grigaliūnas
  - Tom Van Looy (tvlooy)
  - Marek Štípek (maryo)
- - Jesse Rushlow (geeshoe)
+ - Patrick Landolt (scube)
+ - François Pluchino (francoispluchino)
  - Daniel Espendiller
  - Arnaud PETITPAS (apetitpa)
  - Dorian Villet (gnutix)
- - Martin Hujer (martinhujer)
+ - Alexey Kopytko (sanmai)
  - Sergey Linnik (linniksa)
  - Richard Miller
+ - Leo Feyer (leofeyer)
  - Mario A. Alvarez Garcia (nomack84)
  - Thomas Rabaix (rande)
  - D (denderello)
+ - Jonathan Scheiber (jmsche)
  - DQNEO
- - David Prévot
- - Andre Rømcke (andrerom)
- - Jeroen Spee (jeroens)
- - Andreas Schempp (aschempp)
+ - Andrii Bodnar
+ - Artem (artemgenvald)
+ - ivan
+ - Sergey Belyshkin (sbelyshkin)
+ - Urinbayev Shakhobiddin (shokhaa)
+ - Ahmed Raafat
+ - Philippe Segatori
+ - Thibaut Cheymol (tcheymol)
+ - Julien Pauli
+ - Islam Israfilov (islam93)
+ - Oleg Andreyev (oleg.andreyev)
+ - Thomas Lallement (raziel057)
+ - Daniel Gorgan
+ - Hendrik Luup (hluup)
+ - Martin Herndl (herndlm)
  - Ruben Gonzalez (rubenrua)
  - Benjamin Dulau (dbenjamin)
- - mcfedr (mcfedr)
- - Remon van de Kamp
+ - Pavel Kirpitsov (pavel-kirpichyov)
  - Mathieu Lemoine (lemoinem)
  - Christian Schmidt
  - Andreas Hucks (meandmymonkey)
- - Jan Rosier (rosier)
  - Noel Guilbert (noel)
- - Stadly
+ - Hamza Makraz (makraz)
+ - Loick Piera (pyrech)
+ - Vitalii Ekert (comrade42)
+ - Clara van Miert
+ - Alexander Menshchikov
  - Stepan Anchugov (kix)
  - bronze1man
  - sun (sun)
+ - Alan Poulain (alanpoulain)
  - Larry Garfield (crell)
- - Michael Käfer (michael_kaefer)
- - Andreas Möller (localheinz)
- - Leo Feyer (leofeyer)
+ - Fabien Villepinte
+ - SiD (plbsid)
+ - Thomas Bisignani (toma)
+ - Edi Modrić (emodric)
  - Philipp Wahala (hifi)
  - Nikolay Labinskiy (e-moe)
+ - Warxcell (warxcell)
  - Martin Schuhfuß (usefulthink)
  - apetitpa
+ - Vladyslav Loboda
  - Pierre Minnieur (pminnieur)
+ - Kyle
  - Dominique Bongiraud
- - Hugo Monteiro (monteiro)
- - Baptiste Leduc (korbeil)
- - Timo Bakx (timobakx)
- - Dmitrii Poddubnyi (karser)
- - Julien Pauli
+ - Hidde Wieringa (hiddewie)
+ - Christopher Davis (chrisguitarguy)
  - Florian Lonqueu-Brochard (florianlb)
- - Joe Bennett (kralos)
  - Leszek Prabucki (l3l0)
+ - Emanuele Panzeri (thepanz)
+ - Matthew Smeets
  - François Zaninotto (fzaninotto)
  - Dustin Whittle (dustinwhittle)
  - jeff
  - John Kary (johnkary)
- - Võ Xuân Tiến (tienvx)
- - fd6130 (fdtvui)
- - Maciej Malarz (malarzm)
+ - smoench
  - Michele Orselli (orso)
- - Denis Brumann (dbrumann)
  - Sven Paulus (subsven)
+ - Daniel STANCU
+ - Markus Fasselt (digilist)
  - Maxime Veber (nek-)
- - Valentine Boineau (valentineboineau)
+ - Marcin Sikoń (marphi)
+ - Martin Auswöger
+ - Sullivan SENECHAL (soullivaneuh)
  - Rui Marinho (ruimarinho)
- - Patrick Landolt (scube)
- - Filippo Tessarotto (slamdunk)
- - Jeroen Noten (jeroennoten)
+ - Marc Weistroff (futurecat)
+ - Dimitri Gritsajuk (ottaviano)
  - Possum
  - Jérémie Augustin (jaugustin)
- - Edi Modrić (emodric)
  - Pascal Montoya
  - Julien Brochet
- - Gocha Ossinkine (ossinkine)
- - François Pluchino (francoispluchino)
+ - Michaël Perrin (michael.perrin)
+ - Wojciech Kania
  - Tristan Darricau (tristandsensio)
+ - Fabien S (bafs)
  - Victor Bocharsky (bocharsky_bw)
+ - Sébastien Alfaiate (seb33300)
  - henrikbjorn
- - Fritz Michael Gschwantner (fritzmg)
+ - Alex Bowers
  - Marcel Beerta (mazen)
- - Chi-teck
+ - Phil Taylor (prazgod)
+ - flack (flack)
+ - Craig Duncan (duncan3dc)
  - Mantis Development
- - Guilliam Xavier
- - Hidde Wieringa (hiddewie)
- - dFayet
- - Antonio Pauletich (x-coder264)
+ - Pablo Lozano (arkadis)
+ - quentin neyrat (qneyrat)
+ - Antonio Jose Cerezo (ajcerezo)
+ - Marcin Szepczynski (czepol)
+ - Lescot Edouard (idetox)
  - Rob Frawley 2nd (robfrawley)
+ - Mohammad Emran Hasan (phpfour)
+ - Dmitriy Mamontov (mamontovdmitriy)
  - Nikita Konstantinov (unkind)
  - Michael Lee (zerustech)
  - Dariusz
- - soyuka
- - Farhad Safarov (safarov)
- - Nate Wiebe (natewiebe13)
- - Hugo Alliaume (kocal)
- - Michael Voříšek
  - Francois Zaninotto
+ - Laurent Masforné (heisenberg)
+ - Claude Khedhiri (ck-developer)
  - Daniel Tschinder
  - Christian Schmidt
  - Alexander Kotynia (olden)
+ - Toni Rudolf (toooni)
  - Elnur Abdurrakhimov (elnur)
+ - Iker Ibarguren (ikerib)
  - Manuel Reinhard (sprain)
- - Nicolas Philippe (nikophil)
+ - Johann Pardanaud
+ - Indra Gunawan (indragunawan)
+ - Tim Goudriaan (codedmonkey)
+ - Harm van Tilborg (hvt)
+ - Baptiste Lafontaine (magnetik)
+ - Dries Vints
  - Adam Prager (padam87)
+ - Judicaël RUFFIEUX (axanagor)
  - Benoît Burnichon (bburnichon)
  - maxime.steinhausser
+ - simon chrzanowski (simonch)
+ - Andrew M-Y (andr)
+ - Krasimir Bosilkov (kbosilkov)
+ - Marcin Michalski (marcinmichalski)
  - Roman Ring (inori)
  - Xavier Montaña Carreras (xmontana)
- - Timothée Barray (tyx)
- - Romaric Drigon (romaricdrigon)
- - Sylvain Fabre (sylfabre)
- - Soner Sayakci
+ - Tarmo Leppänen (tarlepp)
+ - AnneKir
+ - Bob van de Vijver (bobvandevijver)
+ - Tobias Weichart
+ - Miro Michalicka
+ - M. Vondano
  - Xavier Perez
  - Arjen Brouwer (arjenjb)
- - Artem Lopata
+ - Tavo Nieves J (tavoniievez)
+ - Lukáš Holeczy (holicz)
+ - Arjen van der Meijden
  - Patrick McDougle (patrick-mcdougle)
- - Marc Weistroff (futurecat)
+ - Jerzy (jlekowski)
  - Danny Berger (dpb587)
+ - Marek Zajac
  - Alif Rachmawadi
  - Anton Chernikov (anton_ch1989)
  - Pierre-Yves Lebecq (pylebecq)
- - Benjamin Leveque (benji07)
+ - Alireza Mirsepassi (alirezamirsepassi)
  - Jordan Samouh (jordansamouh)
- - Sullivan SENECHAL (soullivaneuh)
- - Loick Piera (pyrech)
+ - Koen Reiniers (koenre)
+ - Nathan Dench (ndenc2)
+ - Gijs van Lammeren
+ - Matthew Grasmick
+ - David Badura (davidbadura)
  - Uwe Jäger (uwej711)
- - Dāvis Zālītis (k0d3r1s)
- - Lynn van der Berg (kjarli)
- - Michaël Perrin (michael.perrin)
  - Eugene Leonovich (rybakit)
  - Joseph Rouff (rouffj)
  - Félix Labrecque (woodspire)
  - GordonsLondon
+ - Roman Anasal
  - Jan Sorgalla (jsor)
+ - Piotr Kugla (piku235)
  - Ray
  - Philipp Cordes (corphi)
  - Chekote
- - Aleksandar Jakovljevic (ajakov)
+ - bhavin (bhavin4u)
+ - Pavel Popov (metaer)
  - Thomas Adam
- - Thomas Landauer (thomas-landauer)
+ - R. Achmad Dadang Nur Hidayanto (dadangnh)
+ - Stefan Kruppa
+ - Petr Duda (petrduda)
+ - Marcos Rezende (rezende79)
  - jdhoek
- - Jurica Vlahoviček (vjurica)
+ - Ivan Kurnosov
+ - Dieter
  - Bob den Otter (bopp)
+ - Johan Vlaar (johjohan)
  - Thomas Schulz (king2500)
+ - Benjamin Morel
+ - Bernd Stellwag
  - Frank de Jonge
- - Jules Pietri
- - Sebastien Morel (plopix)
- - Christopher Davis (chrisguitarguy)
- - Karoly Gossler (connorhu)
+ - Chris Tanaskoski
+ - julien57
+ - Ben Ramsey (ramsey)
  - Matthieu Auger (matthieuauger)
  - Josip Kruslin (jkruslin)
- - Thomas Lallement (raziel057)
- - Sergey (upyx)
  - Giorgio Premi
  - renanbr
  - Sébastien Lavoie (lavoiesl)
@@ -398,782 +505,1159 @@ The Symfony Connect username in parenthe
  - Beau Simensen (simensen)
  - Robert Kiss (kepten)
  - Zan Baldwin (zanbaldwin)
+ - Alexis Lefebvre
  - Antonio J. García Lagar (ajgarlag)
  - Alexandre Quercia (alquerci)
  - Marcos Sánchez
- - BoShurik
- - Zmey
+ - Jérôme Tanghe (deuchnord)
  - Kim Hemsø Rasmussen (kimhemsoe)
- - Oleg Andreyev (oleg.andreyev)
+ - Dane Powell
  - jaugustin
+ - Dmytro Borysovskyi (dmytr0)
+ - Mathias STRASSER (roukmoute)
  - Pascal Luna (skalpa)
  - Wouter Van Hecke
- - Baptiste Lafontaine (magnetik)
- - Iker Ibarguren (ikerib)
- - Indra Gunawan (indragunawan)
  - Peter Kruithof (pkruithof)
- - Antoine Lamirault
  - Michael Holm (hollo)
- - Arjen van der Meijden
+ - Giso Stallenberg (gisostallenberg)
  - Blanchon Vincent (blanchonvincent)
- - Michał (bambucha15)
  - Christian Schmidt
- - Marcin Sikoń (marphi)
- - Ben Hakim
- - Marco Petersen (ocrampete16)
- - Bohan Yang (brentybh)
- - Bastien Jaillot (bastnic)
- - Vilius Grigaliūnas
- - David Badura (davidbadura)
- - Alan Poulain (alanpoulain)
+ - Gonzalo Vilaseca (gonzalovilaseca)
+ - Vadim Borodavko (javer)
+ - Haralan Dobrev (hkdobrev)
+ - Soufian EZ ZANTAR (soezz)
+ - Jan van Thoor (janvt)
+ - Martin Kirilov (wucdbm)
  - Chris Smith (cs278)
- - Thomas Bisignani (toma)
  - Florian Klein (docteurklein)
- - W0rma
+ - Damien Alexandre (damienalexandre)
+ - Bilge
+ - Rhodri Pugh (rodnaph)
  - Manuel Kiessling (manuelkiessling)
- - Alexey Kopytko (sanmai)
+ - Patrick Reimers (preimers)
+ - Anatoly Pashin (b1rdex)
+ - Pol Dellaiera (drupol)
  - Atsuhiro KUBO (iteman)
  - rudy onfroy (ronfroy)
  - Serkan Yildiz (srknyldz)
+ - Jeroen Thora (bolle)
  - Andrew Moore (finewolf)
  - Bertrand Zuchuat (garfield-fr)
  - Marc Morera (mmoreram)
- - Sébastien Alfaiate (seb33300)
+ - Quynh Xuan Nguyen (seriquynh)
  - Gabor Toth (tgabi333)
  - realmfoo
  - Thomas Tourlourat (armetiz)
  - Andrey Esaulov (andremaha)
+ - Simon Podlipsky (simpod)
  - Grégoire Passault (gregwar)
  - Jerzy Zawadzki (jzawadzki)
  - Ismael Ambrosi (iambrosi)
- - Craig Duncan (duncan3dc)
+ - Saif Eddin G
  - Emmanuel BORGES (eborges78)
  - Aurelijus Valeiša (aurelijus)
+ - Evert Harmeling (evertharmeling)
  - Jan Decavele (jandc)
  - Gustavo Piltcher
+ - Grenier Kévin (mcsky_biig)
  - Stepan Tanasiychuk (stfalcon)
- - Ivan Kurnosov
  - Tiago Ribeiro (fixe)
  - Raul Fraile (raulfraile)
  - Adrian Rudnik (kreischweide)
  - Pavel Batanov (scaytrase)
  - Francesc Rosàs (frosas)
  - Bongiraud Dominique
- - Kyle
  - janschoenherr
+ - Marko Kaznovac (kaznovac)
  - Emanuele Gaspari (inmarelibero)
  - Dariusz Rumiński
- - Andrii Bodnar
- - Artem (artemgenvald)
+ - Romain Monteil (ker0x)
+ - Terje Bråten
+ - Gennadi Janzen
+ - James Hemery
+ - Egor Taranov
+ - Philippe Segatori
+ - Loïc Frémont (loic425)
+ - Adrian Nguyen (vuphuong87)
+ - benjaminmal
  - Thierry T (lepiaf)
  - Lorenz Schori
+ - Andrey Sevastianov
+ - Oleksandr Barabolia (oleksandrbarabolia)
+ - Khoo Yong Jun
+ - Christin Gruber (christingruber)
  - Jeremy Livingston (jeremylivingston)
- - ivan
- - Urinbayev Shakhobiddin (shokhaa)
- - Ahmed Raafat
- - Philippe Segatori
- - Thibaut Cheymol (tcheymol)
+ - Julien Turby
+ - scyzoryck
+ - Greg Anderson
+ - Tri Pham (phamuyentri)
+ - marie
+ - Erkhembayar Gantulga (erheme318)
+ - Fractal Zombie
+ - Gunnstein Lye (glye)
+ - Kévin THERAGE (kevin_therage)
+ - Noémi Salaün (noemi-salaun)
+ - Michel Hunziker
+ - Krystian Marcisz (simivar)
+ - Matthias Krauser (mkrauser)
  - Erin Millard
+ - Lorenzo Millucci (lmillucci)
+ - Jérôme Tamarelle (jtamarelle-prismamedia)
+ - Emil Masiakowski
+ - Alexandre Parent
+ - DT Inier (gam6itko)
  - Matthew Lewinski (lewinski)
  - Magnus Nordlander (magnusnordlander)
- - Islam Israfilov (islam93)
  - Ricard Clau (ricardclau)
+ - Dmitrii Tarasov (dtarasov)
+ - Philipp Kolesnikov
+ - Maxim Dovydenok (shiftby)
+ - Carlos Pereira De Amorim (epitre)
+ - Rodrigo Aguilera
  - Roumen Damianoff
+ - Vladimir Varlamov (iamvar)
  - Thomas Royer (cydonia7)
+ - Gildas Quéméner (gquemener)
  - Nicolas LEFEVRE (nicoweb)
- - Emanuele Panzeri (thepanz)
+ - Martins Sipenko
+ - Guilherme Augusto Henschel
+ - Mardari Dorel (dorumd)
+ - Pierrick VIGNAND (pierrick)
  - Mateusz Sip (mateusz_sip)
+ - Andy Palmer (andyexeter)
+ - Marko H. Tamminen (gzumba)
  - Francesco Levorato
+ - Ippei Sumida (ippey_s)
+ - DerManoMann
+ - David Molineus
+ - Desjardins Jérôme (jewome62)
  - Vitaliy Zakharov (zakharovvi)
  - Tobias Sjösten (tobiassjosten)
  - Gyula Sallai (salla)
- - Bob van de Vijver (bobvandevijver)
- - Hendrik Luup (hluup)
+ - Benjamin Cremer (bcremer)
+ - rtek
  - Inal DJAFAR (inalgnu)
  - Christian Gärtner (dagardner)
- - Martin Herndl (herndlm)
- - Dmytro Borysovskyi (dmytr0)
+ - Adrien Jourdier (eclairia)
+ - Ivan Grigoriev (greedyivan)
  - Tomasz Kowalczyk (thunderer)
- - Johann Pardanaud
- - Pavel Kirpitsov (pavel-kirpichyov)
+ - Erik Saunier (snickers)
+ - Kevin SCHNEKENBURGER
+ - Fabien Salles (blacked)
  - Artur Eshenbrener
- - Harm van Tilborg (hvt)
+ - Ahmed Ashraf (ahmedash95)
+ - Gert Wijnalda (cinamo)
+ - Luca Saba (lucasaba)
  - Thomas Perez (scullwm)
- - Yoann RENARD (yrenard)
- - smoench
+ - Thomas P
+ - Kristijan Kanalaš (kristijan_kanalas_infostud)
  - Felix Labrecque
  - Yaroslav Kiliba
+ - “Filip
+ - Simon Watiau (simonwatiau)
+ - Ruben Jacobs (rubenj)
+ - William Arslett
+ - Arkadius Stefanski (arkadius)
+ - Jérémy M (th3mouk)
  - Terje Bråten
- - Gonzalo Vilaseca (gonzalovilaseca)
- - Markus Fasselt (digilist)
- - Tim Goudriaan (codedmonkey)
- - Tarmo Leppänen (tarlepp)
- - Martin Auswöger
+ - Pierre Rineau
+ - Renan Gonçalves (renan_saddam)
+ - Raulnet
+ - Tomasz Kusy
  - Jakub Kucharovic (jkucharovic)
- - Daniel STANCU
  - Kristen Gilden
- - Hubert Lenoir (hubert_lenoir)
  - Robbert Klarenbeek (robbertkl)
- - Hamza Makraz (makraz)
  - Eric Masoero (eric-masoero)
- - Vitalii Ekert (comrade42)
- - Clara van Miert
- - Haralan Dobrev (hkdobrev)
+ - Michael Lutz
+ - Michel Roca (mroca)
+ - Reedy
  - hossein zolfi (ocean)
- - Alexander Menshchikov
  - Clément Gautier (clementgautier)
- - Damien Alexandre (damienalexandre)
+ - Jelle Raaijmakers (gmta)
+ - Roberto Nygaard
+ - Joshua Nye
+ - Dalibor Karlović
+ - Randy Geraads
  - Sanpi (sanpi)
  - Eduardo Gulias (egulias)
+ - Andreas Leathley (iquito)
+ - Nathanael Noblet (gnat)
  - giulio de donato (liuggio)
+ - Mohamed Gamal
+ - Eric COURTIAL
+ - Xesxen
  - ShinDarth
+ - Arun Philip
  - Stéphane PY (steph_py)
+ - Cătălin Dan (dancatalin)
  - Philipp Kräutli (pkraeutli)
- - Rhodri Pugh (rodnaph)
+ - Carl Casbolt (carlcasbolt)
+ - battye
  - Grzegorz (Greg) Zdanowski (kiler129)
- - Dimitri Gritsajuk (ottaviano)
  - Kirill chEbba Chebunin
- - Pol Dellaiera (drupol)
+ - kylekatarnls (kylekatarnls)
+ - Steve Grunwell
  - 
  - Alex (aik099)
- - Fabien Villepinte
- - SiD (plbsid)
+ - Axel Guckelsberger (guite)
  - Greg Thornton (xdissent)
- - Alex Bowers
- - Quynh Xuan Nguyen (seriquynh)
+ - BENOIT POLASZEK (bpolaszek)
+ - Shaharia Azam
+ - Gerben Oolbekkink
+ - Alexandre Parent
+ - Thibault Richard (t-richard)
+ - Oleksii Zhurbytskyi
+ - Guillaume Verstraete
+ - vladimir.panivko
+ - Jason Tan (jt2k)
+ - Jérémy REYNAUD (babeuloula)
  - Costin Bereveanu (schniper)
+ - kick-the-bucket
  - Marek Kalnik (marekkalnik)
+ - Jeremiasz Major
  - Vyacheslav Salakhutdinov (megazoll)
+ - Trevor North
  - Maksym Slesarenko (maksym_slesarenko)
  - Hassan Amouhzi
- - Warxcell (warxcell)
- - Daniel Gorgan
+ - Antonin CLAUZIER (0x346e3730)
+ - Andrei C. (moldman)
  - Tamas Szijarto
+ - stlrnz
+ - Adrien Wilmet (adrienfr)
+ - Yannick Ihmels (ihmels)
+ - Alex Bacart
+ - hugovms
  - Michele Locati
  - Pavel Volokitin (pvolok)
+ - DemigodCode
  - Arthur de Moulins (4rthem)
  - Matthias Althaus (althaus)
- - Saif Eddin G
+ - Maximilian Bösing
+ - Leevi Graham (leevigraham)
  - Endre Fejes
+ - Carlos Buenosvinos (carlosbuenosvinos)
+ - Jake (jakesoft)
  - Tobias Naumann (tna)
+ - Greg ORIOL
+ - Bahman Mehrdad (bahman)
  - Daniel Beyer
- - flack (flack)
+ - Manuel Alejandro Paz Cetina
+ - Youssef Benhssaien (moghreb)
+ - Mario Ramundo (rammar)
+ - Ivan
  - Shein Alexey
- - Phil Taylor (prazgod)
+ - Nico Haase
+ - Jacek Jędrzejewski (jacek.jedrzejewski)
+ - Stefan Kruppa
+ - Shahriar56
+ - Dhananjay Goratela
+ - Kien Nguyen
  - Joe Lencioni
+ - arai
+ - Mouad ZIANI (mouadziani)
  - Daniel Tschinder
  - Diego Agulló (aeoris)
+ - Tomasz Ignatiuk
+ - Joachim Løvgaard (loevgaard)
  - vladimir.reznichenko
+ - Shakhobiddin
  - Kai
  - Lee Rowlands
  - Maximilian Reichel (phramz)
+ - siganushka (siganushka)
  - Alain Hippolyte (aloneh)
- - Grenier Kévin (mcsky_biig)
  - Karoly Negyesi (chx)
  - Xavier HAUSHERR
+ - Loïc Beurlet
+ - Ana Raro
+ - Ana Raro
+ - Tom Klingenberg
+ - Florian Wolfsjaeger (flowolf)
+ - Ivan Sarastov (isarastov)
+ - Jordi Sala Morales (jsala)
  - Albert Jessurum (ajessu)
+ - Samuele Lilli (doncallisto)
+ - Peter Bowyer (pbowyer)
  - Romain Pierre
  - Laszlo Korte
- - Jonathan Scheiber (jmsche)
+ - Gabrielle Langer
  - Alessandro Desantis
  - hubert lecorche (hlecorche)
- - Vladyslav Loboda
+ - bogdan
+ - mmokhi
+ - Daniel Tiringer
+ - Andrew Codispoti
+ - Lctrs
+ - Joppe De Cuyper (joppedc)
  - Marc Morales Valldepérez (kuert)
  - Vadim Kharitonov (vadim)
  - Oscar Cubo Medina (ocubom)
  - Karel Souffriau
+ - Andrii Dembitskyi
  - Christophe L. (christophelau)
+ - Daniël Brekelmans (dbrekelmans)
+ - Simon Heimberg (simon_heimberg)
+ - Morten Wulff (wulff)
+ - Sander Toonen (xatoo)
  - Anthon Pang (robocoder)
  - Julien Galenski (ruian)
+ - Rimas Kudelis
  - Ben Scott (bpscott)
- - Marko Kaznovac (kaznovac)
- - Pablo Lozano (arkadis)
+ - Andrii Dembitskyi
+ - Pavol Tuka
+ - Paulo Ribeiro (paulo)
+ - Marc Laporte
+ - Michał Jusięga
+ - Dmitriy Derepko
+ - Sebastian Paczkowski (sebpacz)
+ - Dragos Protung (dragosprotung)
+ - Thiago Cordeiro (thiagocordeiro)
+ - Julien Maulny
  - Brian King
- - quentin neyrat (qneyrat)
- - Chris Tanaskoski
  - Steffen Roßkamp
  - Alexandru Furculita (afurculita)
  - Michel Salib (michelsalib)
  - Valentin Jonovs
  - geoffrey
+ - Bastien DURAND (deamon)
+ - Jon Gotlin (jongotlin)
  - Jeanmonod David (jeanmonod)
+ - Daniel González (daniel.gonzalez)
+ - Renan (renanbr)
  - Webnet team (webnet)
- - Ben Ramsey (ramsey)
  - Berny Cantos (xphere81)
- - Antonio Jose Cerezo (ajcerezo)
- - Marcin Szepczynski (czepol)
- - Lescot Edouard (idetox)
- - Mohammad Emran Hasan (phpfour)
- - Dmitriy Mamontov (mamontovdmitriy)
+ - Mátyás Somfai (smatyas)
  - Jan Schumann
  - Niklas Fiekas
  - Mark Challoner (markchalloner)
  - Markus Bachmann (baachi)
- - Kévin THERAGE (kevin_therage)
- - Gunnstein Lye (glye)
- - Erkhembayar Gantulga (erheme318)
- - Alexis Lefebvre
- - Greg Anderson
+ - Roger Guasch (rogerguasch)
+ - Luis Tacón (lutacon)
+ - Andrii Popov (andrii-popov)
  - lancergr
- - Tri Pham (phamuyentri)
  - Ivan Nikolaev (destillat)
- - Gildas Quéméner (gquemener)
- - Laurent Masforné (heisenberg)
- - Claude Khedhiri (ck-developer)
- - Desjardins Jérôme (jewome62)
+ - Xavier Leune (xleune)
+ - Ben Roberts (benr77)
+ - Joost van Driel (j92)
+ - ampaze
  - Arturs Vonda
- - Matthew Smeets
- - Toni Rudolf (toooni)
+ - Xavier Briand (xavierbriand)
  - Asmir Mustafic (goetas)
  - vagrant
- - Benjamin Cremer (bcremer)
  - Asier Illarramendi (doup)
  - AKeeman (akeeman)
  - Martijn Cuppens
  - Restless-ET
  - Vlad Gregurco (vgregurco)
  - Boris Vujicic (boris.vujicic)
- - Dries Vints
- - Judicaël RUFFIEUX (axanagor)
  - Chris Sedlmayr (catchamonkey)
- - DerManoMann
- - Jérôme Tanghe (deuchnord)
- - Mathias STRASSER (roukmoute)
- - simon chrzanowski (simonch)
+ - mondrake (mondrake)
  - Kamil Kokot (pamil)
  - Seb Koelen
  - Christoph Mewes (xrstf)
- - Andrew M-Y (andr)
- - Krasimir Bosilkov (kbosilkov)
- - Marcin Michalski (marcinmichalski)
  - Vitaliy Tverdokhlib (vitaliytv)
  - Ariel Ferrandini (aferrandini)
+ - Niklas Keller
  - Dirk Pahl (dirkaholic)
  - Cédric Lombardot (cedriclombardot)
- - Dane Powell
- - Arkadius Stefanski (arkadius)
  - Jonas Flodén (flojon)
- - AnneKir
- - Tobias Weichart
- - Miro Michalicka
- - M. Vondano
+ - Stefan Gehrig (sgehrig)
+ - Adrien Lucas (adrienlucas)
  - Dominik Zogg
- - Tavo Nieves J (tavoniievez)
+ - Kai Dederichs
  - Luc Vieillescazes (iamluc)
- - Lukáš Holeczy (holicz)
- - Erik Saunier (snickers)
+ - Thomas Nunninger
  - François Dume (franek)
- - Jerzy (jlekowski)
- - Raulnet
- - Giso Stallenberg (gisostallenberg)
  - Rob Bast
  - Roberto Espinoza (respinoza)
- - Pierre Rineau
- - Soufian EZ ZANTAR (soezz)
- - Marek Zajac
  - Adam Harvey
- - Cătălin Dan (dancatalin)
  - ilyes kooli (skafandri)
  - Anton Bakai
- - battye
  - Sam Fleming (sam_fleming)
  - Alex Bakhturin
- - Patrick Reimers (preimers)
  - Brayden Williams (redstar504)
  - insekticid
- - Jérémy M (th3mouk)
+ - Trent Steel (trsteel88)
+ - Vitaliy Ryaboy (vitaliy)
  - boombatower
- - Alireza Mirsepassi (alirezamirsepassi)
+ - Douglas Hammond (wizhippo)
  - Jérôme Macias (jeromemacias)
  - Andrey Astakhov (aast)
  - ReenExe
  - Fabian Lange (codingfabian)
  - Yoshio HANAWA
- - Jan van Thoor (janvt)
- - Joshua Nye
- - Martin Kirilov (wucdbm)
- - Koen Reiniers (koenre)
- - Nathan Dench (ndenc2)
- - Gijs van Lammeren
+ - Toon Verwerft (veewee)
+ - Gert de Pagter
  - Sebastian Bergmann
- - Matthew Grasmick
  - Miroslav Šustek (sustmi)
  - Pablo Díez (pablodip)
+ - Damien Fa
  - Kevin McBride
  - Sergio Santoro
+ - James Gilliland (neclimdul)
  - Philipp Rieber (bicpi)
+ - Dennis Væversted (srnzitcom)
  - Manuel de Ruiter (manuel)
- - Nathanael Noblet (gnat)
  - nikos.sotiropoulos
- - BENOIT POLASZEK (bpolaszek)
  - Eduardo Oliveira (entering)
- - Oleksii Zhurbytskyi
- - Bilge
  - Eugene Wissner
  - Ricardo Oliveira (ricardolotr)
  - Roy Van Ginneken (rvanginneken)
  - ondrowan
  - Barry vd. Heuvel (barryvdh)
+ - Jon Dufresne
  - Chad Sikorra (chadsikorra)
- - Fabien S (bafs)
  - Evan S Kaufman (evanskaufman)
+ - Jonathan Sui Lioung Lee Slew (jlslew)
  - mcben
  - Jérôme Vieilledent (lolautruche)
- - Roman Anasal
  - Filip Procházka (fprochazka)
- - Jeroen Thora (bolle)
+ - stoccc
  - Markus Lanthaler (lanthaler)
+ - Xav` (xavismeh)
  - Remi Collet
- - Piotr Kugla (piku235)
+ - Mathieu Rochette (mathroc)
  - Vicent Soria Durá (vicentgodella)
  - Michael Moravec
- - Leevi Graham (leevigraham)
  - Anthony Ferrara
+ - Christian Gripp (core23)
+ - Marcel Hernandez
  - Ioan Negulescu
- - Greg ORIOL
  - Jakub Škvára (jskvara)
  - Andrew Udvare (audvare)
  - alexpods
+ - Dennis Langen (nijusan)
  - Adam Szaraniec
  - Dariusz Ruminski
  - Romain Gautier (mykiwi)
+ - Cyril Pascal (paxal)
  - Matthieu Bontemps
  - Erik Trapman
  - De Cock Xavier (xdecock)
- - Evert Harmeling (evertharmeling)
  - Nicolas Dewez (nicolas_dewez)
+ - Quentin Dreyer
  - Scott Arciszewski
  - Xavier HAUSHERR
+ - Achilles Kaloeridis (achilles)
  - Norbert Orzechowicz (norzechowicz)
+ - Robert-Jan de Dreu
  - Fabrice Bernhard (fabriceb)
  - Matthijs van den Bos (matthijs)
- - bhavin (bhavin4u)
  - Jaik Dean (jaikdean)
  - Krzysztof Piasecki (krzysztek)
- - Pavel Popov (metaer)
  - Lenard Palko
  - Nils Adermann (naderman)
- - Tom Klingenberg
  - Gábor Fási
- - R. Achmad Dadang Nur Hidayanto (dadangnh)
  - Nate (frickenate)
- - Stefan Kruppa
- - Jacek Jędrzejewski (jacek.jedrzejewski)
- - Stefan Kruppa
  - sasezaki
+ - Kristof Van Cauwenbergh (kristofvc)
  - Dawid Pakuła (zulusx)
+ - Marco Lipparini (liarco)
  - Florian Rey (nervo)
  - Rodrigo Borrego Bernabé (rodrigobb)
  - John Bafford (jbafford)
  - Emanuele Iannone
- - Petr Duda (petrduda)
- - Marcos Rezende (rezende79)
+ - Ondrej Machulda (ondram)
  - Denis Gorbachev (starfall)
  - Martin Morávek (keeo)
  - Kevin Saliou (kbsali)
+ - Matthieu Mota (matthieumota)
  - Steven Surowiec (steves)
  - Shawn Iwinski
- - Dieter
- - Samuele Lilli (doncallisto)
  - Gawain Lynch (gawain)
- - Wojciech Kania
- - mmokhi
  - Ryan
  - Alexander Deruwe (aderuwe)
  - Dave Hulbert (dave1010)
+ - Konstantin Grachev (grachevko)
  - Ivan Rey (ivanrey)
  - M. (mbontemps)
  - Marcin Chyłek (songoq)
  - Ned Schwartz
+ - Anderson Müller
  - Ziumin
+ - Matthias Schmidt
  - Lenar Lõhmus
- - Sander Toonen (xatoo)
  - Zach Badgett (zachbadgett)
  - Loïc Faugeron
  - Aurélien Fredouelle
  - Pavel Campr (pcampr)
- - Andrii Dembitskyi
  - Forfarle (forfarle)
  - Johnny Robeson (johnny)
+ - Kai Eichinger (kai_eichinger)
+ - Kuba Werłos (kuba)
+ - Philipp Keck
  - Disquedur
- - Benjamin Morel
+ - Markus S. (staabm)
  - Geoffrey Tran (geoff)
+ - Elan Ruusamäe (glen)
+ - Nicolas de Marqué (nicola)
+ - a.dmitryuk
  - Jannik Zschiesche
- - Bernd Stellwag
  - Jan Ole Behrens (deegital)
- - Romain Monteil (ker0x)
  - Mantas Var (mvar)
- - Terje Bråten
+ - Paul Oms
+ - Yann LUCAS (drixs6o9)
  - Sebastian Krebs
+ - Htun Htun Htet (ryanhhh91)
+ - Sorin Pop (sorinpop)
  - Piotr Stankowski
- - Julien Maulny
- - Gennadi Janzen
- - James Hemery
- - julien57
- - Mátyás Somfai (smatyas)
- - Bastien DURAND (deamon)
+ - Stewart Malik
+ - Stefan Graupner (efrane)
+ - Gemorroj (gemorroj)
+ - Adrien Chinour
+ - Mihail Krasilnikov (krasilnikovm)
+ - iamvar
+ - Pierre Tondereau
+ - Joel Lusavuvu (enigma97)
+ - Alex Vo (votanlean)
+ - André Matthies
+ - Piergiuseppe Longo
+ - Kevin Auivinet
+ - Valentin Nazarov
+ - Aurélien MARTIN
+ - Malte Schlüter
+ - Jules Matsounga (hyoa)
+ - Quentin Dequippe (qdequippe)
+ - Yewhen Khoptynskyi (khoptynskyi)
+ - Jérôme Nadaud (jnadaud)
+ - Alexandre Tranchant (alexandre_t)
+ - Anthony Moutte
+ - shreyadenny
+ - Daniel Iwaniec
+ - Thomas Ferney (thomasf)
+ - Hallison Boaventura (hallisonboaventura)
+ - Mas Iting
+ - Albion Bame (abame)
+ - Ivan Nemets
  - Dmitry Simushev
+ - Grégoire Hébert (gregoirehebert)
  - alcaeus
  - Fred Cox
+ - Iliya Miroslavov Iliev (i.miroslavov)
+ - Safonov Nikita (ns3777k)
  - Simon DELICATA
  - vitaliytv
- - Egor Taranov
- - Philippe Segatori
- - Loïc Frémont (loic425)
- - Jon Gotlin (jongotlin)
- - Adrian Nguyen (vuphuong87)
- - benjaminmal
- - Andrey Sevastianov
- - Oleksandr Barabolia (oleksandrbarabolia)
- - Khoo Yong Jun
- - Christin Gruber (christingruber)
+ - Nicolas Martin (cocorambo)
+ - luffy1727
+ - LHommet Nicolas (nicolaslh)
  - Sebastian Blum
- - Daniel González (daniel.gonzalez)
- - Julien Turby
- - Renan
+ - Amirreza Shafaat (amirrezashafaat)
+ - Laurent Clouet
+ - Adoni Pavlakis (adoni)
+ - Alex Hofbauer (alexhofbauer)
+ - Maarten Nusteling (nusje2000)
+ - Ahmed EBEN HASSINE (famas23)
+ - Eduard Bulava (nonanerz)
  - Ricky Su (ricky)
- - scyzoryck
+ - Igor Timoshenko (igor.timoshenko)
+ - “teerasak”
  - Kyle Evans (kevans91)
+ - Benoit Mallo
  - Max Rath (drak3)
- - marie
+ - Giuseppe Campanelli
+ - Valentin
+ - pizzaminded
+ - Matthieu Calie (matth--)
  - Stéphane Escandell (sescandell)
- - Fractal Zombie
+ - ivan
+ - linh
+ - Oleg Krasavin (okwinza)
+ - Mario Blažek (marioblazek)
+ - Jure (zamzung)
  - James Johnston
- - Noémi Salaün (noemi-salaun)
+ - Michael Nelson
+ - Eric Krona
  - Sinan Eldem
  - Gennady Telegin
+ - Kajetan Kołtuniak (kajtii)
+ - Sander Goossens (sandergo90)
+ - Damien  Fayet (rainst0rm)
  - Alexandre Dupuy (satchette)
- - Michel Hunziker
+ - MatTheCat
  - Malte Blättermann
+ - Erfan Bahramali
  - Simeon Kolev (simeon_kolev9)
- - Joost van Driel (j92)
+ - Abdiel Carrazana (abdielcs)
+ - Arman
+ - Gabi Udrescu
+ - Adamo Crespi (aerendir)
  - Jonas Elfering
+ - Luis Pabon (luispabon)
+ - boulei_n
+ - Anna Filina (afilina)
  - Mihai Stancu
  - Nahuel Cuesta (ncuesta)
+ - Patrick Luca Fazzi (ap3ir0n)
  - Chris Boden (cboden)
  - EStyles (insidestyles)
  - Christophe Villeger (seragan)
- - Krystian Marcisz (simivar)
- - Matthias Krauser (mkrauser)
+ - Bruno Rodrigues de Araujo (brunosinister)
  - Julien Fredon
- - Xavier Leune (xleune)
+ - Jacek Wilczyński (jacekwilczynski)
  - Hany el-Kerdany
  - Wang Jingyu
  - Åsmund Garfors
  - Maxime Douailin
  - Jean Pasdeloup
+ - Laurent Moreau
  - Michael Hirschler (mvhirsch)
- - Lorenzo Millucci (lmillucci)
  - Javier López (loalf)
+ - tamar peled
  - Reinier Kip
- - Jérôme Tamarelle (jtamarelle-prismamedia)
  - Geoffrey Brier (geoffrey-brier)
- - Alexandre Parent
- - Roger Guasch (rogerguasch)
- - DT Inier (gam6itko)
+ - Christophe Meneses (c77men)
  - Vladimir Tsykun
+ - Andrei O
  - Dustin Dobervich (dustin10)
- - Luis Tacón (lutacon)
- - Dmitrii Tarasov (dtarasov)
+ - Alejandro Diaz Torres
+ - Karl Shea
  - dantleech
- - Philipp Kolesnikov
- - Maxim Dovydenok (shiftby)
+ - Valentin
  - Sebastian Marek (proofek)
- - Carlos Pereira De Amorim (epitre)
+ - Łukasz Chruściel (lchrusciel)
+ - Jan Vernieuwe (vernija)
  - zenmate
- - Andrii Popov (andrii-popov)
+ - j.schmitt
+ - Georgi Georgiev
  - David Fuhr
- - Rodrigo Aguilera
- - Vladimir Varlamov (iamvar)
+ - Evgeny Anisiforov
+ - TristanPouliquen
+ - mwos
  - Aurimas Niekis (gcds)
- - Martins Sipenko
- - Guilherme Augusto Henschel
+ - Volker Killesreiter (ol0lll)
+ - Vedran Mihočinec (v-m-i)
+ - creiner
+ - RevZer0 (rav)
+ - remieuronews
+ - Marek Binkowski
  - Rostyslav Kinash
+ - Andrey Lebedev (alebedev)
+ - Cristoforo Cervino (cristoforocervino)
  - Dennis Fridrich (dfridrich)
- - Mardari Dorel (dorumd)
+ - Yoann MOROCUTTI
  - Daisuke Ohata
  - Vincent Simonin
- - Pierrick VIGNAND (pierrick)
+ - Alexander Onatskiy
+ - Philipp Fritsche
+ - tarlepp
  - Alex Bogomazov (alebo)
+ - Claus Due (namelesscoder)
  - aaa2000 (aaa2000)
- - Andy Palmer (andyexeter)
+ - Guillaume Aveline
+ - Alexandru Patranescu
+ - Arkadiusz Rzadkowolski (flies)
+ - Oksana Kozlova (oksanakozlova)
+ - Quentin Moreau (sheitak)
  - Stefan Warman (warmans)
+ - Bert Ramakers
+ - Angelov Dejan (angelov)
  - Tristan Maindron (tmaindron)
  - Behnoush Norouzali (behnoush)
- - Marko H. Tamminen (gzumba)
+ - Marc Duboc (icemad)
  - Wesley Lancel
- - Xavier Briand (xavierbriand)
  - Ke WANG (yktd26)
+ - Timothée BARRAY
+ - Nilmar Sanchez Muguercia
  - Ivo Bathke (ivoba)
- - Ippei Sumida (ippey_s)
- - David Molineus
  - Strate
  - Anton A. Sumin
+ - Atthaphon Urairat
+ - Jon Green (jontjs)
+ - Mickaël Isaert (misaert)
  - Israel J. Carberry
+ - Julius Kiekbusch
  - Miquel Rodríguez Telep (mrtorrent)
- - Stefan Gehrig (sgehrig)
  - Sergey Kolodyazhnyy (skolodyazhnyy)
  - umpirski
+ - Benjamin
  - Quentin de Longraye (quentinus95)
  - Chris Heng (gigablah)
+ - Oleksii Svitiashchuk
+ - Tristan Bessoussa (sf_tristanb)
  - Richard Bradley
+ - Nathanaël Martel (nathanaelmartel)
+ - Nicolas Jourdan (nicolasjc)
  - Ulumuddin Cahyadi Yunus (joenoez)
- - rtek
- - Adrien Jourdier (eclairia)
+ - Benjamin Dos Santos
+ - GagnarTest (gagnartest)
+ - Tomas Javaisis
  - Florian Pfitzer (marmelatze)
- - Ivan Grigoriev (greedyivan)
  - Johann Saunier (prophet777)
- - Kevin SCHNEKENBURGER
- - Fabien Salles (blacked)
+ - Lucas Bäuerle
+ - Dario Savella
+ - Jack Thomas
  - Andreas Erhard (andaris)
- - Sergey Belyshkin (sbelyshkin)
- - Michael Devery (mickadoo)
+ - Evgeny Efimov (edefimov)
+ - John VanDeWeghe
+ - Daniel Badura
+ - Oleg Mifle
+ - gnito-org
+ - Michael Devery (mickadoo)
+ - Loïc Ovigne (oviglo)
  - Antoine Corcy
- - Ahmed Ashraf (ahmedash95)
- - Gert Wijnalda (cinamo)
- - Luca Saba (lucasaba)
+ - Markkus Millend
+ - Clément
+ - Jorrit Schippers (jorrit)
+ - maxime.perrimond
+ - rvoisin
+ - cthulhu
  - Sascha Grossenbacher (berdir)
+ - Dmitry Derepko
+ - Rémi Leclerc
+ - Jan Vernarsky
+ - Jonas Hünig
+ - Amine Yakoubi
  - Robin Lehrmann
  - Szijarto Tamas
- - Thomas P
+ - Arend Hummeling
+ - Makdessi Alex
+ - Juan Miguel Besada Vidal (soutlink)
+ - dlorek
+ - Stuart Fyfe
  - Jaroslav Kuba
  - Benjamin Zikarsky (bzikarsky)
- - Kristijan Kanalaš (kristijan_kanalas_infostud)
+ - Jason Schilling (chapterjason)
+ - Nathan PAGE (nathix)
  - sl_toto (sl_toto)
  - Marek Pietrzak (mheki)
- - “Filip
+ - Dmitrii Lozhkin
+ - Marion Hurteau (marionleherisson)
  - Mickaël Andrieu (mickaelandrieu)
- - Simon Watiau (simonwatiau)
- - Ruben Jacobs (rubenj)
+ - Oscar Esteve (oesteve)
+ - Sobhan Sharifi (50bhan)
+ - Peter Potrowl
+ - Stephen
+ - Tomasz (timitao)
+ - Nguyen Tuan Minh (tuanminhgp)
+ - dbrekelmans
+ - Piet Steinhart
+ - mousezheng
+ - Rémy LESCALLIER
  - Simon Schick (simonsimcity)
+ - Victor Macko (victor_m)
  - Tristan Roussel
- - Niklas Keller
+ - Quentin Devos
+ - Jorge Vahldick (jvahldick)
+ - Vladimir Mantulo (mantulo)
+ - aim8604
+ - Aleksandr Dankovtsev
+ - Maciej Zgadzaj
+ - David Legatt (dlegatt)
  - Cameron Porter
  - Hossein Bukhamsin
  - Oliver Hoff
- - William Arslett
  - Christian Sciberras (uuf6429)
+ - Arthur Woimbée
+ - Théo DELCEY
+ - Andrii Serdiuk (andreyserdjuk)
+ - dangkhoagms (dangkhoagms)
+ - Floran Brutel (notFloran) (floran)
+ - Vlad Gapanovich (gapik)
  - origaminal
  - Matteo Beccati (matteobeccati)
- - Renan Gonçalves (renan_saddam)
- - Vitaliy Ryaboy (vitaliy)
+ - Konstantin Bogomolov
+ - Mark Spink
+ - Cesar Scur (cesarscur)
  - Kevin (oxfouzer)
  - Paweł Wacławczyk (pwc)
+ - Sagrario Meneses
  - Oleg Zinchenko (cystbear)
  - Baptiste Meyer (meyerbaptiste)
+ - Stefano A. (stefano93)
  - Tales Santos (tsantos84)
  - Johannes Klauss (cloppy)
+ - PierreRebeilleau
  - Evan Villemez
+ - Florian Hermann (fhermann)
  - fzerorubigd
  - Thomas Ploch
  - Benjamin Grandfond (benjamin)
  - Tiago Brito (blackmx)
  - Gintautas Miselis (naktibalda)
+ - Christian Rishøj
+ - Roromix
+ - Patrick Berenschot
+ - SuRiKmAn
+ - rtek
+ - Maxime AILLOUD (mailloud)
  - Richard van den Brand (ricbra)
- - Toon Verwerft (veewee)
+ - Sergey Melesh (sergex)
+ - mohammadreza honarkhah
  - develop
  - flip111
- - Douglas Hammond (wizhippo)
+ - Artem Oliinyk (artemoliynyk)
+ - fruty
  - VJ
  - RJ Garcia
- - Adrien Lucas (adrienlucas)
+ - Adam Wójs (awojs)
+ - Justin Reherman (jreherman)
  - Delf Tonder (leberknecht)
+ - Paweł Niedzielski (steveb)
+ - Peter Jaap Blaakmeer
+ - Agustin Gomes
  - Ondrej Exner
  - Mark Sonnabaum
+ - Adiel Cristo (arcristo)
+ - Artem Stepin (astepin)
+ - Fabian Kropfhamer (fabiank)
+ - Junaid Farooq (junaidfarooq)
  - Massimiliano Braglia (massimilianobraglia)
+ - Swen van Zanten (swenvanzanten)
+ - Frankie Wittevrongel
+ - Oleksiy (alexndlm)
  - Richard Quadling
  - James Hudson (mrthehud)
+ - Adam Prickett
  - Raphaëll Roussel
- - Michael Lutz
+ - Luke Towers
+ - Anton Kroshilin
+ - Norman Soetbeer
+ - William Thomson (gauss)
+ - Javier Espinosa (javespi)
  - jochenvdv
- - Michel Roca (mroca)
- - Reedy
+ - František Maša
  - Arturas Smorgun (asarturas)
+ - Andrea Sprega (asprega)
  - Aleksandr Volochnev (exelenz)
+ - Viktor Bajraktar (njutn95)
  - Robin van der Vleuten (robinvdvleuten)
  - Grinbergs Reinis (shima5)
+ - Ruud Arentsen
+ - Harald Tollefsen
+ - Tobias Bönner
+ - Arend-Jan Tetteroo
+ - Mbechezi Nawo
+ - Andre Eckardt (korve)
  - Michael Piecko (michael.piecko)
+ - Osayawe Ogbemudia Terry (terdia)
  - Toni Peric (tperic)
  - yclian
  - Aleksey Prilipko
- - Jelle Raaijmakers (gmta)
+ - AndrolGenhald
  - Andrew Berry
  - Wybren Koelmans (wybren_koelmans)
- - Roberto Nygaard
+ - Dmytro Dzubenko
+ - Benjamin RICHARD
+ - pdommelen
+ - Cedrick Oka
  - Davide Borsatto (davide.borsatto)
- - James Gilliland (neclimdul)
- - Gert de Pagter
+ - Guillaume Sainthillier (guillaume-sainthillier)
+ - Jens Hatlak
+ - Tayfun Aydin
+ - Arne Groskurth
+ - Ilya Chekalsky
+ - Ostrzyciel
  - Julien DIDIER (juliendidier)
- - Dalibor Karlović
- - Randy Geraads
- - Andreas Leathley (iquito)
- - Vadim Borodavko (javer)
+ - Ilia Sergunin (maranqz)
+ - Johan de Ruijter
+ - marbul
+ - Filippos Karailanidis
+ - David Brooks
+ - Volodymyr Kupriienko (greeflas)
  - Sebastian Grodzicki (sgrodzicki)
- - Mohamed Gamal
- - Eric COURTIAL
- - Xesxen
+ - Florian Caron (shalalalala)
+ - Serhiy Lunak (slunak)
+ - Wojciech Błoszyk (wbloszyk)
  - Jeroen van den Enden (endroid)
- - Arun Philip
+ - Jiri Barous
+ - abunch
+ - tamcy
+ - Mikko Pesari
+ - Aurélien Fontaine
  - Pascal Helfenstein
+ - Malcolm Fell (emarref)
+ - phuc vo (phucwan)
  - Baldur Rensch (brensch)
- - Carl Casbolt (carlcasbolt)
+ - Bogdan Scordaliu
+ - Daniel Rotter (danrot)
+ - Foxprodev
+ - developer-av
  - Vladyslav Petrovych
  - Loïc Chardonnet
+ - Hugo Sales
+ - Dale.Nash
  - Alex Xandra Albert Sim
  - Sergey Yastrebov
  - Carson Full (carsonfull)
- - kylekatarnls (kylekatarnls)
- - Trent Steel (trsteel88)
- - Steve Grunwell
  - Yuen-Chi Lian
+ - Maxim Semkin
+ - BrokenSourceCode
+ - Fabian Haase
+ - Nikita Popov (nikic)
  - Tarjei Huse (tarjei)
  - Besnik Br
- - Axel Guckelsberger (guite)
+ - Michael Olšavský
+ - Benny Born
+ - Emirald Mateli
+ - Tristan Pouliquen
  - Jose Gonzalez
- - Jonathan Sui Lioung Lee Slew (jlslew)
  - Claudio Zizza
- - Anatoly Pashin (b1rdex)
+ - Ivo Valchev
+ - Zlatoslav Desyatnikov
+ - Wickex
+ - tuqqu
+ - Neagu Cristian-Doru (cristian-neagu)
  - Dave Marshall (davedevelopment)
  - Jakub Kulhan (jakubkulhan)
- - Shaharia Azam
  - avorobiev
- - Gerben Oolbekkink
  - Gladhon
- - stoccc
+ - Kai
+ - Bartłomiej Zając
  - Grégoire Penverne (gpenverne)
  - Venu
  - Jonatan Männchen
  - Dennis Hotson
  - Andrew Tchircoff (andrewtch)
  - Lars Vierbergen (vierbergenlars)
- - Xav` (xavismeh)
+ - Bart Wach
+ - Jos Elstgeest
+ - Kirill Lazarev
+ - Serhii Smirnov
+ - Martins Eglitis
  - michaelwilliams
- - Alexandre Parent
+ - Wouter Diesveld
+ - Romain
+ - Matěj Humpál
+ - Guillaume Loulier (guikingone)
+ - Pedro Casado (pdr33n)
+ - Pierre Grimaud (pgrimaud)
+ - Alexander Janssen (tnajanssen)
  - 1emming
  - Nykopol (nykopol)
- - Thibault Richard (t-richard)
+ - Julien BERNARD
+ - Michael Zangerle
  - Jordan Deitch
+ - Raphael Hardt
  - Casper Valdemar Poulsen
- - Guillaume Verstraete
- - vladimir.panivko
+ - SnakePin
+ - Matthew Covey
+ - Anthony Massard (decap94)
+ - Chris Maiden (matason)
+ - Andrea Ruggiero (pupax)
  - Josiah (josiah)
- - Dennis Væversted (srnzitcom)
+ - Alexandre Beaujour
+ - George Yiannoulopoulos
  - Joschi Kuphal
  - John Bohn (jbohn)
- - Jason Tan (jt2k)
- - Jérémy REYNAUD (babeuloula)
+ - Peter Schultz
+ - Benhssaein Youssef
+ - bill moll
+ - PaoRuby
+ - Bizley
+ - Dominik Piekarski (dompie)
+ - Rares Sebastian Moldovan (raresmldvn)
  - Felds Liscia (felds)
- - Mathieu Rochette (mathroc)
+ - dsech
+ - Gilbertsoft
+ - tadas
+ - Bastien Picharles
+ - mamazu
+ - Victor Garcia
+ - Juan Mrad
+ - Denis Yuzhanin
+ - knezmilos13
+ - alireza
+ - Marcin Kruk
+ - Marek Víger (freezy)
  - Andrew Hilobok (hilobok)
+ - Wahyu Kristianto (kristories)
  - Noah Heck (myesain)
+ - Stephan Wentz (temp)
  - Christian Soronellas (theunic)
- - kick-the-bucket
  - fedor.f
  - Yosmany Garcia (yosmanyga)
- - Jeremiasz Major
- - Trevor North
+ - Markus Staab
+ - bahram
+ - Marie Minasyan (marie.minassyan)
  - Degory Valentine
  - izzyp
  - Jeroen Fiege (fieg)
  - Martin (meckhardt)
- - Marcel Hernandez
+ - Radosław Kowalewski
+ - JustDylan23
+ - Juraj Surman
+ - Victor
+ - Andreas Allacher
+ - Alexis
+ - Camille Dejoye (cdejoye)
  - Krzysztof Łabuś (crozin)
+ - cybernet (cybernet2u)
+ - Stefan Kleff (stefanxl)
+ - Thijs-jan Veldhuizen (tjveldhuizen)
  - Xavier Lacot (xavier)
- - Jon Dufresne
  - possum
  - Denis Zunke (donalberto)
  - _sir_kane (waly)
- - Antonin CLAUZIER (0x346e3730)
  - Olivier Maisonneuve
+ - Bruno BOUTAREL
+ - John Stevenson
+ - everyx
+ - Stanislav Gamayunov (happyproff)
  - Jonathan Johnson (jrjohnson)
- - Andrei C. (moldman)
+ - Alexander McCullagh (mccullagh)
+ - Paul L McNeely (mcneely)
  - Mike Meier (mykon)
  - Pedro Miguel Maymone de Resende (pedroresende)
- - stlrnz
+ - Sergey Fokin (tyraelqp)
  - Masterklavi
- - Adrien Wilmet (adrienfr)
  - Franco Traversaro (belinde)
  - Francis Turmel (fturmel)
- - Yannick Ihmels (ihmels)
  - Nikita Nefedov (nikita2206)
- - Alex Bacart
+ - Bernat Llibre
  - cgonzalez
- - hugovms
  - Ben
+ - Joni Halme
+ - aetxebeste
+ - roromix
+ - Vitali Tsyrkin
+ - Juga Paazmaya
+ - afaricamp
+ - Glodzienski
+ - riadh26
+ - Konstantinos Alexiou
+ - Dilek Erkut
+ - WaiSkats
+ - Morimoto Ryosuke
+ - Christoph König (chriskoenig)
+ - Dmytro Pigin (dotty)
  - Vincent Composieux (eko)
- - Cyril Pascal (paxal)
+ - Jm Aribau (jmaribau)
  - Jayson Xu (superjavason)
- - DemigodCode
  - fago
+ - popnikos
+ - Tito Costa
  - Jan Prieser
- - Maximilian Bösing
+ - Thiago Melo
+ - Giorgio Premi
  - Matt Johnson (gdibass)
+ - Gerhard Seidel (gseidel)
  - Zhuravlev Alexander (scif)
  - Stefano Degenkamp (steef)
  - James Michael DuPont
- - Carlos Buenosvinos (carlosbuenosvinos)
- - Christian Gripp (core23)
- - Jake (jakesoft)
+ - Eric Schildkamp
+ - agaktr
  - Vincent CHALAMON
- - Bahman Mehrdad (bahman)
+ - Mostafa
+ - kernig
+ - Gennadi Janzen
+ - SenTisso
+ - Joe Springe
+ - Flinsch
+ - botbotbot
+ - Timon van der Vorm
+ - G.R.Dalenoort
+ - Vladimir Khramtsov (chrome)
+ - Denys Voronin (hurricane)
+ - Jordan de Laune (jdelaune)
+ - Juan Gonzalez Montes (juanwilde)
+ - Mathieu Dewet (mdewet)
  - Christopher Hall (mythmakr)
+ - none (nelexa)
  - Patrick Dawkins (pjcdawkins)
  - Paul Kamer (pkamer)
  - Rafał Wrzeszcz (rafalwrzeszcz)
+ - Rémi Faivre (rfv)
  - Nguyen Xuan Quynh
  - Reen Lokum
- - Dennis Langen (nijusan)
  - Martin Parsiegla (spea)
- - Manuel Alejandro Paz Cetina
+ - Bernhard Rusch
+ - Ruben Jansen
+ - Marc Biorklund
+ - shreypuranik
+ - Thibaut Salanon
+ - Urban Suppiger
  - Denis Charrier (brucewouaigne)
- - Youssef Benhssaien (moghreb)
- - Mario Ramundo (rammar)
- - Ivan
- - Nico Haase
+ - Marcello Mönkemeyer (marcello-moenkemeyer)
+ - Sander De la Marche (sanderdlm)
  - Philipp Scheit (pscheit)
  - Pierre Vanliefland (pvanliefland)
  - Roy Klutman (royklutman)
  - Sofiane HADDAG (sofhad)
  - Quentin Schuler (sukei)
+ - VojtaB
  - frost-nzcr4
- - Shahriar56
- - Dhananjay Goratela
- - Kien Nguyen
+ - Yuri Karaban
+ - Johan
+ - Edwin
+ - Andriy
+ - Taylor Otwell
+ - Sami Mussbach
+ - qzylalala
+ - Mikolaj Czajkowski
+ - Shiro
+ - Reda DAOUDI
+ - Jesper Skytte
+ - Christiaan Wiesenekker
  - Bozhidar Hristov
- - arai
- - Achilles Kaloeridis (achilles)
+ - Foxprodev
+ - Eric Hertwig
+ - Sergey Panteleev
+ - Dmitry Hordinky
+ - Oliver Klee
+ - Niels Robin-Aubertin
+ - Mikko Ala-Fossi
+ - Jan Christoph Beyer
+ - Daniel Tiringer
+ - Koray Zorluoglu
+ - Roy-Orbison
+ - kshida
+ - Yasmany Cubela Medina (bitgandtter)
+ - Aryel Tupinamba (dfkimera)
+ - Hans Höchtl (hhoechtl)
+ - Jawira Portugal (jawira)
  - Laurent Bassin (lbassin)
- - Mouad ZIANI (mouadziani)
- - Tomasz Ignatiuk
+ - Roman Igoshin (masterro)
+ - Jeroen van den Nieuwenhuisen (nieuwenhuisen)
+ - Pierre Rebeilleau (pierrereb)
+ - Raphael de Almeida (raphaeldealmeida)
  - andrey1s
  - Abhoryo
  - Fabian Vogler (fabian)
- - Joachim Løvgaard (loevgaard)
- - Simon Podlipsky (simpod)
- - Shakhobiddin
  - Korvin Szanto
+ - Simon Ackermann
  - Stéphan Kochen
+ - Steven Dubois
  - Arjan Keeman
+ - Bálint Szekeres
  - Alaattin Kahramanlar (alaattin)
  - Sergey Zolotov (enleur)
  - Nicole Cordes (ichhabrecht)
+ - Mark Beech (jaybizzle)
  - Maksim Kotlyar (makasim)
- - siganushka (siganushka)
+ - Thibaut Arnoud (thibautarnoud)
  - Neil Ferreira
  - Julie Hourcade (juliehde)
  - Dmitry Parnas (parnas)
- - Loïc Beurlet
- - Ana Raro
- - Ana Raro
+ - Christian Weiske
+ - Maria Grazia Patteri
+ - Sébastien COURJEAN
+ - Marko Vušak
+ - Ismo Vuorinen
  - Tony Malzhacker
+ - Valentin
+ - Ali Tavafi
+ - Viet Pham
+ - Pchol
+ - divinity76
+ - Yiorgos Kalligeros
+ - Arek Bochinski
+ - Rafael Tovar
+ - Amin Hosseini (aminh)
  - Andreas Lutro (anlutro)
  - DUPUCH (bdupuch)
  - Cyril Quintin (cyqui)
+ - Cyrille Bourgois (cyrilleb)
  - Gerard van Helden (drm)
- - Florian Wolfsjaeger (flowolf)
- - Ivan Sarastov (isarastov)
  - Johnny Peck (johnnypeck)
- - Jordi Sala Morales (jsala)
+ - naitsirch (naitsirch)
+ - Geoffrey Monte (numerogeek)
+ - Martijn Boers (plebian)
+ - Plamen Mishev (pmishev)
+ - Sergii Dolgushev (serhey)
+ - Rein Baarsma (solidwebcode)
+ - Stephen Lewis (tehanomalousone)
+ - wicliff wolda (wickedone)
+ - Wim Molenberghs (wimm)
  - Loic Chardonnet
  - Ivan Menshykov
  - David Romaní
@@ -1181,149 +1665,302 @@ The Symfony Connect username in parenthe
  - Alexander Li (aweelex)
  - Gustavo Falco (gfalco)
  - Matt Robinson (inanimatt)
- - Kristof Van Cauwenbergh (kristofvc)
- - Marco Lipparini (liarco)
- - Peter Bowyer (pbowyer)
+ - Marcel Berteler
+ - sdkawata
  - Aleksey Podskrebyshev
  - Calin Mihai Pristavu
- - Gabrielle Langer
+ - Rainrider
+ - Oliver Eglseder
+ - zcodes
  - Jörn Lang
  - David Marín Carreño (davefx)
  - Fabien LUCAS (flucas2)
- - Konstantin Grachev (grachevko)
  - Hidde Boomsma (hboomsma)
- - Johan Vlaar (johjohan)
- - Ondrej Machulda (ondram)
+ - Johan Wilfer (johanwilfer)
+ - Toby Griffiths (tog)
+ - Ashura
+ - Alessandra Lai
+ - Ernest Hymel
+ - Andrea Civita
+ - Nicolás Alonso
  - mwsaz
- - bogdan
- - Daniel Tiringer
+ - LoginovIlya
+ - carlos-ea
+ - Olexandr Kalaidzhy
+ - Jérémy Benoist
+ - Ferran Vidal
+ - youssef saoubou
+ - elattariyassine
+ - Carlos Tasada
+ - zors1
+ - Peter Simoncic
+ - lerminou
+ - Ahmad El-Bardan
+ - pdragun
+ - Noel Light-Hilary
+ - Emre YILMAZ
+ - Marcos Labad
+ - Antoine M
+ - Frank Jogeleit
+ - Ondřej Frei
+ - Volodymyr Panivko
+ - Jenne van der Meer
+ - Storkeus
+ - Anton Zagorskii
+ - ging-dev
+ - zakaria-amm
  - Geert De Deckere
+ - Agata
+ - dakur
  - grizlik
+ - florian-michael-mast
  - Henry Snoek
+ - Vlad Dumitrache
+ - Alex Kalineskou
  - Derek ROTH
  - Jeremy Benoist
  - Ben Johnson
  - Jan Kramer
  - mweimerskirch
- - Andrew Codispoti
+ - robmro27
+ - Vallel Blanco
+ - Bastien Clément
+ - Thomas Talbot
+ - Benjamin Franzke
+ - Pavinthan
+ - Sylvain METAYER
  - Benjamin Laugueux
- - Lctrs
+ - Ivo Valchev
+ - baron (bastien)
  - Benoît Bourgeois (bierdok)
+ - Damien Harper (damien.harper)
+ - Dominik Pesch (dombn)
  - Dmytro Boiko (eagle)
  - Shin Ohno (ganchiku)
- - Joppe De Cuyper (joppedc)
- - Matthieu Mota (matthieumota)
+ - Jaap van Otterdijk (jaapio)
+ - Kubicki Kamil (kubik)
+ - Simon Leblanc (leblanc_simon)
+ - Vladislav Nikolayev (luxemate)
+ - Martin Mandl (m2mtech)
+ - Maxime Pinot (maximepinot)
+ - Misha Klomp (mishaklomp)
  - Jean-Baptiste GOMOND (mjbgo)
+ - Mikhail Prosalov (mprosalov)
+ - Ulrik Nielsen (mrbase)
+ - Artem (nexim)
+ - Nicolas ASSING (nicolasassing)
+ - Pierre Gasté (pierre_g)
+ - Pierre-Olivier Vares (povares)
+ - Ronny López (ronnylt)
+ - Julius (sakalys)
+ - Samaël Villette (samadu61)
  - abdul malik ikhsan (samsonasik)
+ - Dmitry (staratel)
+ - Tito Miguel Costa (titomiguelcosta)
+ - Wim Godden (wimg)
  - Morgan Auchede
  - Christian Morgan
  - Alexander Miehe
- - Andrii Dembitskyi
- - Daniël Brekelmans (dbrekelmans)
  - Sascha Dens (saschadens)
- - Simon Heimberg (simon_heimberg)
- - Morten Wulff (wulff)
+ - Maxime Aknin (3m1x4m)
+ - Geordie
+ - Exploit.cz
  - Don Pinkster
  - Maksim Muruev
  - Emil Einarsson
- - Anderson Müller
+ - Jason Stephens
  - 243083df
+ - Tinjo Schöni
  - Thibault Duplessis
- - Rimas Kudelis
+ - Quentin Favrie
+ - Matthias Derer
+ - vladyslavstartsev
+ - Kévin
  - Marc Abramowitz
+ - michal
  - Martijn Evers
+ - Sjoerd Adema
  - Tony Tran
+ - Evgeniy Koval
+ - Claas Augner
  - Balazs Csaba
+ - Benoit Galati (benoitgalati)
  - Bill Hance (billhance)
  - Douglas Reith (douglas_reith)
  - Harry Walter (haswalt)
+ - Jeffrey Moelands (jeffreymoelands)
  - Jacques MOATI (jmoati)
  - Johnson Page (jwpage)
- - Kuba Werłos (kuba)
  - Ruben Gonzalez (rubenruateltek)
+ - Ruslan Zavacky (ruslanzavacky)
+ - Stefano Cappellini (stefano_cappellini)
  - Michael Roterman (wtfzdotnet)
- - Philipp Keck
- - Pavol Tuka
  - Arno Geurts
  - Adán Lobato (adanlobato)
  - Ian Jenkins (jenkoian)
- - Kai Eichinger (kai_eichinger)
  - Marcos Gómez Vilches (markitosgv)
  - Matthew Davis (mdavis1982)
- - Paulo Ribeiro (paulo)
- - Markus S. (staabm)
- - Marc Laporte
- - Michał Jusięga
+ - George Bateman
+ - misterx
+ - arend
+ - Vincent Godé
+ - helmi
+ - Michael Steininger
+ - Nardberjean
+ - jersoe
+ - Eric Grimois
+ - Beno!t POLASZEK
+ - Armando
+ - Jens Schulze
+ - Olatunbosun Egberinde
+ - Knallcharge
+ - Michel Bardelmeijer
+ - Ikko Ashimine
+ - Erwin Dirks
+ - Brad Jones
+ - Markus Ramšak
  - den
+ - George Dietrich
+ - jannick-holm
+ - Menno Holtkamp
+ - Ser5
+ - Clemens Krack
+ - Bruno Baguette
+ - Alexis Lefebvre
+ - Michal Forbak
+ - Alexey Berezuev
+ - Pierrick Charron
+ - gechetspr
+ - brian978
+ - Talha Zekeriya Durmuş
+ - bch36
+ - Steve Hyde
+ - Ettore Del Negro
+ - dima-gr
  - Gábor Tóth
+ - Rodolfo Ruiz
+ - tsilefy
+ - Enrico
+ - Jérémie Broutier
+ - Success Go
+ - Chris McGehee
+ - Benjamin Rosenberger
+ - Vladyslav Startsev
+ - Markus Klein
+ - Bruno Nogueira Nascimento Wowk
+ - Tomanhez
+ - satalaondrej
+ - Matthias Dötsch
+ - jonmldr
  - ouardisoft
+ - RTUnreal
+ - Richard Hodgson
+ - Sven Fabricius
+ - Bogdan
+ - Marco Pfeiffer
  - Daniel Cestari
  - Matt Janssen
- - Dmitriy Derepko
+ - Kévin Gonella
+ - Matteo Galli
+ - Ash014
+ - Loenix
+ - Simon Frost
+ - Cantepie
+ - detinkin
+ - Harry Wiseman
+ - Steve Marvell
+ - Shyim
+ - sabruss
+ - Andrejs Leonovs
+ - Signor Pedro
+ - Matthias Larisch
+ - Maxime  P
+ - Sean Templeton
+ - Yendric
  - Stéphane Delprat
- - Elan Ruusamäe (glen)
+ - Matthias Meyer
+ - Temuri Takalandze (abgeo)
+ - Bernard van der Esch (adeptofvoltron)
+ - Benedict Massolle (bemas)
+ - Gerard Berengue Llobera (bere)
+ - Ronny (big-r)
+ - Anton (bonio)
+ - Alexandre Fiocre (demos77)
+ - Jordane VASPARD (elementaire)
+ - Erwan Nader (ernadoo)
+ - Faizan Akram Dar (faizanakram)
+ - Gasan Guseynov (gassan)
+ - Greg Szczotka (greg606)
+ - Ian Littman (iansltx)
+ - Nathan DIdier (icz)
+ - Ilia Lazarev (ilzrv)
+ - Arkadiusz Kondas (itcraftsmanpl)
+ - Joao Paulo V Martins (jpjoao)
  - Brunet Laurent (lbrunet)
+ - Jérémy (libertjeremy)
  - Florent Viel (luxifer)
  - Maks 3w (maks3w)
+ - Mamikon Arakelyan (mamikon)
+ - Mathias Brodala (mbrodala)
  - Michiel Boeckaert (milio)
+ - Mike Milano (mmilano)
+ - Guillaume Lajarige (molkobain)
+ - Diego Aguiar (mollokhan)
  - Mikhail Yurasov (mym)
+ - PLAZANET Pierre (pedrotroller)
+ - Igor Tarasov (polosatus)
  - Robert Gruendler (pulse00)
- - Sebastian Paczkowski (sebpacz)
+ - Ramazan APAYDIN (rapaydin)
+ - Babichev Maxim (rez1dent3)
+ - Christopher Georg (sky-chris)
+ - Francisco Alvarez (sormes)
  - Simon Terrien (sterrien)
+ - Stephan Vierkant (svierkant)
  - Benoît Merlet (trompette)
+ - Aaron Piotrowski (trowski)
+ - Roman Tymoshyk (tymoshyk)
+ - Vincent MOULENE (vints24)
  - datibbaw
- - Dragos Protung (dragosprotung)
  - Koen Kuipers (koku)
- - Nicolas de Marqué (nicola)
- - Thiago Cordeiro (thiagocordeiro)
+ - Ryan Linnit
+ - Antoine Leblanc
+ - Andre Johnson
+ - MaPePeR
+ - Marco Pfeiffer
  - Matthieu Bontemps
+ - Vivien
  - Rootie
+ - david-binda
+ - Alexandru Năstase
+ - ddegentesh
+ - Anne-Julia Seitz
+ - Alexander Bauer (abauer)
  - Sébastien Santoro (dereckson)
+ - Gabriel Solomon (gabrielsolomon)
  - Daniel Alejandro Castro Arellano (lexcast)
+ - Aleksandar Dimitrov (netbull)
+ - Gary Houbre (thegarious)
  - Thomas Jarrand
  - Baptiste Leduc (bleduc)
  - Antoine Bluchet (soyuka)
  - Patrick Kaufmann
  - Anton Dyshkant
- - Paul Oms
- - Yann LUCAS (drixs6o9)
  - Reece Fowell (reecefowell)
- - Htun Htun Htet (ryanhhh91)
  - Guillaume Gammelin
  - Valérian Galliat
- - Sorin Pop (sorinpop)
  - d-ph
- - Stewart Malik
  - Renan Taranto (renan-taranto)
- - Stefan Graupner (efrane)
- - Gemorroj (gemorroj)
  - Thomas Talbot
- - Adrien Chinour
  - Rikijs Murgs
- - Mihail Krasilnikov (krasilnikovm)
  - Uladzimir Tsykun
- - iamvar
  - Amaury Leroux de Lens (amo__)
  - Christian Jul Jensen
  - Alexandre GESLIN
  - The Whole Life to Learn
- - Pierre Tondereau
- - Joel Lusavuvu (enigma97)
- - Alex Vo (votanlean)
  - Mikkel Paulson
  - ergiegonzaga
- - André Matthies
- - Piergiuseppe Longo
- - Kevin Auivinet
  - Liverbool (liverbool)
- - Valentin Nazarov
  - Dalibor Karlović
- - Aurélien MARTIN
- - Malte Schlüter
- - Jules Matsounga (hyoa)
- - Quentin Dequippe (qdequippe)
- - Yewhen Khoptynskyi (khoptynskyi)
- - Jérôme Nadaud (jnadaud)
  - Sam Malone
  - Ha Phan (haphan)
  - Chris Jones (leek)
@@ -1332,119 +1969,67 @@ The Symfony Connect username in parenthe
  - xaav
  - Jean-Christophe Cuvelier [Artack]
  - Mahmoud Mostafa (mahmoud)
- - Alexandre Tranchant (alexandre_t)
- - Anthony Moutte
  - Ahmed Abdou
- - shreyadenny
- - Daniel Iwaniec
- - Thomas Ferney (thomasf)
  - Pieter
  - Michael Tibben
- - Hallison Boaventura (hallisonboaventura)
- - Mas Iting
  - Billie Thompson
- - Albion Bame (abame)
  - Ganesh Chandrasekaran (gxc4795)
  - Sander Marechal
- - Ivan Nemets
- - Grégoire Hébert (gregoirehebert)
  - Franz Wilding (killerpoke)
  - Oleg Golovakhin (doc_tr)
  - Icode4Food (icode4food)
  - Radosław Benkel
  - Kevin Nadin (kevinjhappy)
  - jean pasqualini (darkilliant)
- - Iliya Miroslavov Iliev (i.miroslavov)
- - Safonov Nikita (ns3777k)
  - Ross Motley (rossmotley)
  - ttomor
  - Mei Gwilym (meigwilym)
  - Michael H. Arieli
- - Nicolas Martin (cocorambo)
  - Tom Panier (neemzy)
  - Fred Cox
- - luffy1727
  - Luciano Mammino (loige)
- - LHommet Nicolas (nicolaslh)
  - fabios
  - Sander Coolen (scoolen)
- - Emil Masiakowski
- - Amirreza Shafaat (amirrezashafaat)
- - Laurent Clouet
- - Adoni Pavlakis (adoni)
  - Nicolas Le Goff (nlegoff)
- - Alex Hofbauer (alexhofbauer)
- - Maarten Nusteling (nusje2000)
  - Anne-Sophie Bachelard
- - Ahmed EBEN HASSINE (famas23)
  - Marvin Butkereit
  - Ben Oman
  - Chris de Kok
- - Eduard Bulava (nonanerz)
  - Andreas Kleemann (andesk)
- - Igor Timoshenko (igor.timoshenko)
  - Manuele Menozzi
- - “teerasak”
  - Anton Babenko (antonbabenko)
  - Irmantas Šiupšinskas (irmantas)
- - Benoit Mallo
  - Charles-Henri Bruyand
  - Danilo Silva
- - Giuseppe Campanelli
- - Valentin
- - pizzaminded
- - Matthieu Calie (matth--)
  - Konstantin S. M. Möllers (ksmmoellers)
  - Ken Stanley
- - ivan
  - Zachary Tong (polyfractal)
- - linh
- - Oleg Krasavin (okwinza)
- - Mario Blažek (marioblazek)
- - Jure (zamzung)
- - Michael Nelson
  - Ashura
  - Hryhorii Hrebiniuk
- - Eric Krona
  - johnstevenson
  - hamza
  - dantleech
- - Kajetan Kołtuniak (kajtii)
- - Sander Goossens (sandergo90)
  - Rudy Onfroy
  - Tero Alén (tero)
  - DerManoMann
- - Damien  Fayet (rainst0rm)
- - MatTheCat
  - Guillaume Royer
- - Erfan Bahramali
  - Artem (digi)
  - boite
  - Silvio Ginter
  - MGDSoft
- - Abdiel Carrazana (abdielcs)
  - Vadim Tyukov (vatson)
- - Arman
- - Gabi Udrescu
- - Adamo Crespi (aerendir)
  - David Wolter (davewww)
  - Sortex
  - chispita
  - Wojciech Sznapka
- - Luis Pabon (luispabon)
- - boulei_n
- - Anna Filina (afilina)
  - Gavin (gavin-markup)
  - Ksaveras Šakys (xawiers)
  - Shaun Simmons
  - Ariel J. Birnbaum
- - Patrick Luca Fazzi (ap3ir0n)
  - Danijel Obradović
  - Pablo Borowicz
- - Bruno Rodrigues de Araujo (brunosinister)
  - Máximo Cuadros (mcuadros)
  - Lukas Mencl
- - Jacek Wilczyński (jacekwilczynski)
  - tamirvs
  - gauss
  - julien.galenski
@@ -1452,10 +2037,8 @@ The Symfony Connect username in parenthe
  - Chris Tiearney
  - Oliver Hoff
  - Ole Rößner (basster)
- - Laurent Moreau
  - Faton (notaf)
  - Tom Houdmont
- - tamar peled
  - Per Sandström (per)
  - Goran Juric
  - Laurent G. (laurentg)
@@ -1463,36 +2046,22 @@ The Symfony Connect username in parenthe
  - Guido Donnari
  - Mert Simsek (mrtsmsk0)
  - Lin Clark
- - Christophe Meneses (c77men)
  - Jeremy David (jeremy.david)
- - Andrei O
  - Jordi Rejas
  - Troy McCabe
  - Ville Mattila
  - gr1ev0us
  - mlazovla
- - Alejandro Diaz Torres
- - Karl Shea
- - Valentin
  - Max Beutel
- - Łukasz Chruściel (lchrusciel)
- - Jan Vernieuwe (vernija)
  - Antanas Arvasevicius
  - Pierre Dudoret
  - Michal Trojanowski
  - Thomas
- - j.schmitt
- - Georgi Georgiev
+ - Norbert Schultheisz
  - Maximilian Berghoff (electricmaxxx)
- - Evgeny Anisiforov
- - TristanPouliquen
  - Piotr Antosik (antek88)
  - Nacho Martin (nacmartin)
- - mwos
- - Volker Killesreiter (ol0lll)
- - Vedran Mihočinec (v-m-i)
  - Sergey Novikov (s12v)
- - creiner
  - ProgMiner
  - Marcos Quesada (marcos_quesada)
  - Matthew (mattvick)
@@ -1500,45 +2069,26 @@ The Symfony Connect username in parenthe
  - Viktor Novikov (nowiko)
  - Paul Mitchum (paul-m)
  - Angel Koilov (po_taka)
- - RevZer0 (rav)
  - Dan Finnie
- - Marek Binkowski
+ - Sofien Naas
  - Ken Marfilla (marfillaster)
  - Max Grigorian (maxakawizard)
  - benatespina (benatespina)
  - Denis Kop
- - Andrey Lebedev (alebedev)
- - Cristoforo Cervino (cristoforocervino)
  - Jean-Guilhem Rouel (jean-gui)
- - Yoann MOROCUTTI
  - EdgarPE
  - jfcixmedia
- - Tomasz Kusy
  - Dominic Tubach
  - Martijn Evers
- - Alexander Onatskiy
- - Philipp Fritsche
- - tarlepp
  - Benjamin Paap (benjaminpaap)
- - Claus Due (namelesscoder)
- - Guillaume Aveline
  - Christian
- - Alexandru Patranescu
  - Denis Golubovskiy (bukashk0zzz)
- - Arkadiusz Rzadkowolski (flies)
  - Serge (nfx)
- - Oksana Kozlova (oksanakozlova)
- - Quentin Moreau (sheitak)
  - Mikkel Paulson
  - Michał Strzelecki
- - Bert Ramakers
- - Angelov Dejan (angelov)
  - Aurimas Niekis (aurimasniekis)
  - Hugo Fonseca (fonsecas72)
- - Marc Duboc (icemad)
  - Martynas Narbutas
- - Timothée BARRAY
- - Nilmar Sanchez Muguercia
  - Bailey Parker
  - Antanas Arvasevicius
  - Eddie Abou-Jaoude (eddiejaoude)
@@ -1554,256 +2104,164 @@ The Symfony Connect username in parenthe
  - Serhii Polishchuk (spolischook)
  - Tadas Gliaubicas (tadcka)
  - Thanos Polymeneas (thanos)
- - Atthaphon Urairat
  - Benoit Garret
  - Maximilian Ruta (deltachaos)
- - Jon Green (jontjs)
- - Mickaël Isaert (misaert)
  - Jakub Sacha
- - Julius Kiekbusch
  - Olaf Klischat
  - orlovv
  - Claude Dioudonnat
  - Jonathan Hedstrom
  - Peter Smeets (darkspartan)
  - Julien Bianchi (jubianchi)
+ - Tamás Nagy (t-bond)
  - Robert Meijers
+ - Tijs Verkoyen
  - James Sansbury
  - Marcin Chwedziak
- - Benjamin
  - hjkl
  - Dan Wilga
- - Oleksii Svitiashchuk
  - Andrew Tch
  - Alexander Cheprasov
- - Tristan Bessoussa (sf_tristanb)
  - Rodrigo Díez Villamuera (rodrigodiez)
  - Stephen Clouse
  - e-ivanov
- - Nathanaël Martel (nathanaelmartel)
- - Nicolas Jourdan (nicolasjc)
- - Benjamin Dos Santos
  - Yann Rabiller (einenlum)
- - GagnarTest (gagnartest)
  - Jochen Bayer (jocl)
- - Tomas Javaisis
  - Patrick Carlo-Hickman
  - Bruno MATEU
  - Jeremy Bush
- - Lucas Bäuerle
  - Thomason, James
- - Dario Savella
  - Gordienko Vladislav
  - Ener-Getick
  - Viacheslav Sychov
  - Helmut Hummel (helhum)
  - Matt Brunt
- - Jack Thomas
  - Carlos Ortega Huetos
  - Péter Buri (burci)
- - Evgeny Efimov (edefimov)
- - John VanDeWeghe
  - kaiwa
- - Daniel Badura
  - Charles Sanquer (csanquer)
  - Albert Ganiev (helios-ag)
  - Neil Katin
- - Oleg Mifle
  - David Otton
  - Will Donohoe
- - gnito-org
  - peter
+ - Jeroen de Boer
  - Jérémy Jourdin (jjk801)
  - BRAMILLE Sébastien (oktapodia)
- - Loïc Ovigne (oviglo)
  - Artem Kolesnikov (tyomo4ka)
- - Markkus Millend
- - Clément
  - Gustavo Adrian
- - Jorrit Schippers (jorrit)
  - Yannick
- - Kai Dederichs
  - Vladimir Luchaninov (luchaninov)
  - spdionis
- - maxime.perrimond
  - rchoquet
- - rvoisin
  - gitlost
  - Taras Girnyk
- - cthulhu
- - Dmitry Derepko
- - Rémi Leclerc
- - Jan Vernarsky
  - Sergio
- - Jonas Hünig
- - Amine Yakoubi
- - Eduardo García Sanz (coma)
- - Arend Hummeling
- - Makdessi Alex
+ - Eduardo García Sanz (coma)
  - fduch (fduch)
- - Juan Miguel Besada Vidal (soutlink)
- - dlorek
- - Stuart Fyfe
- - Jason Schilling (chapterjason)
  - David de Boer (ddeboer)
  - Eno Mullaraj (emullaraj)
  - Stephan Vock (glaubinix)
- - Nathan PAGE (nathix)
  - Ryan Rogers
  - Arnaud
  - Klaus Purer
- - Dmitrii Lozhkin
  - Gilles Doge (gido)
- - Marion Hurteau (marionleherisson)
- - Oscar Esteve (oesteve)
- - Sobhan Sharifi (50bhan)
- - Peter Potrowl
  - abulford
  - Philipp Kretzschmar
  - Ilya Vertakov
  - Brooks Boyd
- - Stephen
  - Roger Webb
  - Dmitriy Simushev
  - Pawel Smolinski
  - John Espiritu (johnillo)
- - Tomasz (timitao)
- - Nguyen Tuan Minh (tuanminhgp)
  - Oxan van Leeuwen
  - pkowalczyk
- - dbrekelmans
  - Soner Sayakci
  - Max Voloshin (maxvoloshin)
  - Nicolas Fabre (nfabre)
  - Raul Rodriguez (raul782)
- - Piet Steinhart
- - mousezheng
  - mshavliuk
- - Rémy LESCALLIER
  - MightyBranch
  - Kacper Gunia (cakper)
  - Derek Lambert (dlambert)
  - Peter Thompson (petert82)
- - Victor Macko (victor_m)
  - error56
  - Felicitus
  - alexpozzi
- - Quentin Devos
- - Jorge Vahldick (jvahldick)
+ - Marvin Feldmann (breyndotechse)
  - Krzysztof Przybyszewski (kprzybyszewski)
- - Vladimir Mantulo (mantulo)
+ - Boullé William (williamboulle)
  - Frederic Godfrin
  - Paul Matthews
- - aim8604
  - Jakub Kisielewski
  - Vacheslav Silyutin
- - Aleksandr Dankovtsev
- - Maciej Zgadzaj
  - Juan Traverso
- - David Legatt (dlegatt)
  - Alain Flaus (halundra)
- - Arthur Woimbée
  - tsufeki
- - Théo DELCEY
  - Philipp Strube
- - Thomas Nunninger
- - Andrii Serdiuk (andreyserdjuk)
  - Clement Herreman (clemherreman)
- - dangkhoagms (dangkhoagms)
  - Dan Ionut Dumitriu (danionut90)
  - Evgeny (disparity)
- - Floran Brutel (notFloran) (floran)
  - Vladislav Rastrusny (fractalizer)
- - Vlad Gapanovich (gapik)
  - Alexander Kurilo (kamazee)
  - nyro (nyro)
- - Konstantin Bogomolov
  - Marco
  - Marc Torres
- - Mark Spink
+ - gndk
  - Alberto Aldegheri
  - Dalibor Karlović
- - Cesar Scur (cesarscur)
- - Sagrario Meneses
  - Dmitri Petmanson
  - heccjj
  - Alexandre Melard
- - Stefano A. (stefano93)
- - PierreRebeilleau
  - Jay Klehr
  - Sergey Yuferev
  - Tobias Stöckler
  - Mario Young
+ - Sander Hagen
  - Ilia (aliance)
  - cilefen (cilefen)
- - Florian Hermann (fhermann)
  - Mo Di (modi)
  - Pablo Schläpfer
- - Christian Rishøj
- - Roromix
- - Patrick Berenschot
- - SuRiKmAn
- - rtek
  - Christian Wahler (christian)
  - Jelte Steijaert (jelte)
- - Maxime AILLOUD (mailloud)
  - David Négrier (moufmouf)
  - Quique Porta (quiqueporta)
- - mohammadreza honarkhah
- - Artem Oliinyk (artemoliynyk)
- - Ben Roberts (benr77)
  - Andrea Quintino (dirk39)
  - Tomasz Szymczyk (karion)
+ - Peter Dietrich (xosofox)
  - Alex Vasilchenko
  - sez-open
- - fruty
  - ConneXNL
  - Aharon Perkel
  - matze
- - Adam Wójs (awojs)
- - Justin Reherman (jreherman)
  - Rubén Calvo (rubencm)
- - Paweł Niedzielski (steveb)
  - Abdul.Mohsen B. A. A
  - Cédric Girard
- - Peter Jaap Blaakmeer
- - Agustin Gomes
  - pthompson
  - Malaney J. Hill
+ - Patryk Kozłowski
  - Alexandre Pavy
- - Adiel Cristo (arcristo)
- - Artem Stepin (astepin)
  - Christian Flach (cmfcmf)
- - Fabian Kropfhamer (fabiank)
- - Junaid Farooq (junaidfarooq)
  - Lars Ambrosius Wallenborn (larsborn)
  - Oriol Mangas Abellan (oriolman)
  - Sebastian Göttschkes (sgoettschkes)
- - Swen van Zanten (swenvanzanten)
- - Frankie Wittevrongel
  - Tatsuya Tsuruoka
  - Ross Tuck
+ - omniError
  - Zander Baldwin
- - Oleksiy (alexndlm)
  - Kévin Gomez (kevin)
  - Mihai Nica (redecs)
  - Andrei Igna
- - Adam Prickett
  - azine
- - Luke Towers
- - Anton Kroshilin
  - Pierre Tachoire
  - Dawid Sajdak
- - Norman Soetbeer
  - Ludek Stepan
+ - Mark van den Berg
  - Aaron Stephens (astephens)
  - Craig Menning (cmenning)
  - Balázs Benyó (duplabe)
  - Erika Heidi Reinaldo (erikaheidi)
- - William Thomson (gauss)
- - Javier Espinosa (javespi)
  - Marc J. Schmidt (marcjs)
- - František Maša
  - Sebastian Schwarz
  - karolsojko
  - Marco Jantke
@@ -1811,31 +2269,20 @@ The Symfony Connect username in parenthe
  - Zacharias Luiten
  - Sebastian Utz
  - Adrien Gallou (agallou)
- - Andrea Sprega (asprega)
  - Maks Rafalko (bornfree)
  - Conrad Kleinespel (conradk)
  - Clément LEFEBVRE (nemoneph)
- - Viktor Bajraktar (njutn95)
  - Walter Dal Mut (wdalmut)
  - abluchet
- - Ruud Arentsen
- - Harald Tollefsen
- - Tobias Bönner
  - Matthieu
- - Arend-Jan Tetteroo
  - Albin Kerouaton
  - Sébastien HOUZÉ
- - Mbechezi Nawo
  - Jingyu Wang
  - steveYeah
  - Samy D (dinduks)
  - Keri Henare (kerihenare)
- - Andre Eckardt (korve)
  - Cédric Lahouste (rapotor)
  - Samuel Vogel (samuelvogel)
- - Osayawe Ogbemudia Terry (terdia)
- - AndrolGenhald
- - Damien Fa
  - Berat Doğan
  - Guillaume LECERF
  - Juanmi Rodriguez Cerón
@@ -1847,92 +2294,60 @@ The Symfony Connect username in parenthe
  - Klaas Cuvelier (kcuvelier)
  - Flavien Knuchel (knuch)
  - Mathieu TUDISCO (mathieutu)
- - Dmytro Dzubenko
  - Peter Ward
  - markusu49
  - Steve Frécinaux
  - Constantine Shtompel
  - Jules Lamur
+ - zenas1210
  - Renato Mendes Figueiredo
- - Benjamin RICHARD
- - pdommelen
  - Eric Stern
  - ShiraNai7
- - Cedrick Oka
  - Antal Áron (antalaron)
- - Guillaume Sainthillier (guillaume-sainthillier)
  - Vašek Purchart (vasek-purchart)
  - Janusz Jabłoński (yanoosh)
  - Fleuv
- - Tayfun Aydin
  - Łukasz Makuch
- - Arne Groskurth
- - Ilya Chekalsky
- - Ostrzyciel
  - George Giannoulopoulos
  - Alexander Pasichnik (alex_brizzz)
  - Luis Ramirez (luisdeimos)
- - Ilia Sergunin (maranqz)
  - Daniel Richter (richtermeister)
  - Sandro Hopf (senaria)
  - ChrisC
  - Kim Laï Trinh
- - Johan de Ruijter
  - Jason Desrosiers
  - m.chwedziak
- - marbul
- - Filippos Karailanidis
  - Andreas Frömer
  - Philip Frank
- - David Brooks
  - Lance McNearney
  - Illia Antypenko (aivus)
  - Jelizaveta Lemeševa (broken_core)
  - Dominik Ritter (dritter)
  - Frank Neff (fneff)
- - Volodymyr Kupriienko (greeflas)
  - Ilya Biryukov (ibiryukov)
  - Roma (memphys)
- - Florian Caron (shalalalala)
- - Serhiy Lunak (slunak)
- - Wojciech Błoszyk (wbloszyk)
- - Jiri Barous
  - Giorgio Premi
- - abunch
- - tamcy
- - Mikko Pesari
- - Aurélien Fontaine
  - ncou
  - Ian Carroll
  - caponica
  - Daniel Kay (danielkay-cp)
  - Matt Daum (daum)
- - Malcolm Fell (emarref)
  - Alberto Pirovano (geezmo)
  - Pete Mitchell (peterjmit)
- - phuc vo (phucwan)
  - Tom Corrigan (tomcorrigan)
  - Luis Galeas
- - Bogdan Scordaliu
  - Martin Pärtel
- - Daniel Rotter (danrot)
  - Frédéric Bouchery (fbouchery)
  - Patrick Daley (padrig)
- - Foxprodev
- - developer-av
  - Max Summe
  - Ema Panz
- - Hugo Sales
- - Dale.Nash
  - Chihiro Adachi (chihiro-adachi)
  - Benjamin Georgeault (wedgesama)
  - Raphaëll Roussel
  - Tadcka
+ - Abudarham Yuval
  - Beth Binkovitz
- - Maxim Semkin
  - Gonzalo Míguez
- - BrokenSourceCode
- - Fabian Haase
  - Romain Geissler
  - Adrien Moiruad
  - Tomaz Ahlin
@@ -1942,13 +2357,8 @@ The Symfony Connect username in parenthe
  - Daniel González Zaballos (dem3trio)
  - Emmanuel Vella (emmanuel.vella)
  - Guillaume BRETOU (guiguiboy)
- - Nikita Popov (nikic)
  - Carsten Nielsen (phreaknerd)
- - Michael Olšavský
  - Jay Severson
- - Benny Born
- - Emirald Mateli
- - Tristan Pouliquen
  - René Kerner
  - Nathaniel Catchpole
  - Adrien Samson (adriensamson)
@@ -1957,73 +2367,50 @@ The Symfony Connect username in parenthe
  - Nicolas Eeckeloo (neeckeloo)
  - Andriy Prokopenko (sleepyboy)
  - Dariusz Ruminski
- - Ivo Valchev
  - Daniel Tschinder
  - Arnaud CHASSEUX
- - Zlatoslav Desyatnikov
- - Wickex
- - tuqqu
  - Wojciech Gorczyca
- - Neagu Cristian-Doru (cristian-neagu)
  - Mathieu Morlon (glutamatt)
  - Rafał Muszyński (rafmus90)
  - Sébastien Decrême (sebdec)
  - Timothy Anido (xanido)
+ - acoulton
  - Mara Blaga
  - Rick Prent
  - skalpa
- - Kai
- - Bartłomiej Zając
  - Pieter Jordaan
  - Tournoud (damientournoud)
  - Michael Dowling (mtdowling)
  - Karlos Presumido (oneko)
  - Tony Vermeiren (tony)
- - Bart Wach
- - Jos Elstgeest
- - Kirill Lazarev
  - Thomas Counsell
  - BilgeXA
  - mmokhi
- - Serhii Smirnov
  - Robert Queck
  - Peter Bouwdewijn
- - Martins Eglitis
- - Wouter Diesveld
- - Romain
- - Matěj Humpál
+ - Daniil Gentili
+ - Eduard Morcinek
  - Amine Matmati
  - Kristen Gilden
  - caalholm
  - Nouhail AL FIDI (alfidi)
  - Fabian Steiner (fabstei)
  - Felipy Amorim (felipyamorim)
- - Guillaume Loulier (guikingone)
  - Klaus Silveira (klaussilveira)
  - Michael Lively (mlivelyjr)
- - Pedro Casado (pdr33n)
- - Pierre Grimaud (pgrimaud)
  - Abderrahim (phydev)
  - Attila Bukor (r1pp3rj4ck)
- - Alexander Janssen (tnajanssen)
  - Thomas Chmielowiec (chmielot)
  - Jānis Lukss
- - Julien BERNARD
- - Michael Zangerle
  - rkerner
  - Alex Silcock
- - Raphael Hardt
  - Qingshan Luo
  - Ergie Gonzaga
  - Matthew J Mucklo
  - AnrDaemon
- - SnakePin
- - Matthew Covey
- - Anthony Massard (decap94)
+ - Charly Terrier (charlypoppins)
  - Emre Akinci (emre)
- - Chris Maiden (matason)
  - psampaz (psampaz)
- - Andrea Ruggiero (pupax)
  - Maxwell Vandervelde
  - kaywalker
  - Sebastian Ionescu
@@ -2033,9 +2420,7 @@ The Symfony Connect username in parenthe
  - Simon Neidhold
  - Valentin VALCIU
  - Jeremiah VALERIE
- - Alexandre Beaujour
  - Patrik Patie Gmitter
- - George Yiannoulopoulos
  - Yannick Snobbert
  - Kevin Dew
  - James Cowgill
@@ -2044,118 +2429,80 @@ The Symfony Connect username in parenthe
  - Nicolas Schwartz (nicoschwartz)
  - Tim Jabs (rubinum)
  - Stéphane Seng (stephaneseng)
- - Peter Schultz
  - Jonathan Gough
- - Benhssaein Youssef
  - Benoit Leveque
- - bill moll
  - Benjamin Bender
- - PaoRuby
- - Bizley
  - Jared Farrish
+ - Yohann Tilotti
  - karl.rixon
  - raplider
  - Konrad Mohrfeldt
  - Lance Chen
  - Ciaran McNulty (ciaranmcnulty)
- - Dominik Piekarski (dompie)
  - Andrew (drew)
  - j4nr6n (j4nr6n)
  - kor3k kor3k (kor3k)
- - Rares Sebastian Moldovan (raresmldvn)
  - Stelian Mocanita (stelian)
  - Gautier Deuette
- - dsech
- - Gilbertsoft
- - tadas
- - Bastien Picharles
  - Kirk Madera
- - mamazu
  - Keith Maika
  - Mephistofeles
  - Hoffmann András
  - LubenZA
- - Victor Garcia
- - Juan Mrad
- - Denis Yuzhanin
  - Flavian Sierk
- - knezmilos13
- - alireza
  - Michael Bessolov
  - Zdeněk Drahoš
  - Dan Harper
  - moldcraft
- - Marcin Kruk
  - Antoine Bellion (abellion)
  - Ramon Kleiss (akathos)
  - Antonio Peric-Mazar (antonioperic)
  - César Suárez (csuarez)
  - Bjorn Twachtmann (dotbjorn)
- - Marek Víger (freezy)
- - Wahyu Kristianto (kristories)
  - Tobias Genberg (lorceroth)
  - Michael Simonson (mikes)
  - Nicolas Badey (nico-b)
  - Olivier Scherler (oscherler)
  - Shane Preece (shane)
- - Stephan Wentz (temp)
  - Johannes Goslar
  - Geoff
  - georaldc
  - wusuopu
- - Markus Staab
  - Wouter de Wild
  - povilas
  - Gavin Staniforth
- - bahram
  - Alessandro Tagliapietra (alex88)
  - Nikita Starshinov (biji)
  - Alex Teterin (errogaht)
  - Gunnar Lium (gunnarlium)
  - Malte Wunsch (maltewunsch)
- - Marie Minasyan (marie.minassyan)
  - Maarten de Boer (mdeboer)
  - Tiago Garcia (tiagojsag)
  - Artiom
  - Jakub Simon
  - Bouke Haarsma
  - mlievertz
- - Radosław Kowalewski
  - Enrico Schultz
- - JustDylan23
- - Juraj Surman
+ - tpetry
  - Martin Eckhardt
  - natechicago
- - Victor
- - Andreas Allacher
- - Alexis
  - Leonid Terentyev
  - Sergei Gorjunov
  - Jonathan Poston
  - Adrian Olek (adrianolek)
- - Camille Dejoye (cdejoye)
- - cybernet (cybernet2u)
  - Jody Mickey (jwmickey)
  - Przemysław Piechota (kibao)
  - Martin Schophaus (m_schophaus_adcada)
  - Martynas Sudintas (martiis)
- - Stefan Kleff (stefanxl)
- - Thijs-jan Veldhuizen (tjveldhuizen)
+ - Anton Sukhachev (mrsuh)
  - ryunosuke
- - Bruno BOUTAREL
- - John Stevenson
  - Francisco Facioni (fran6co)
- - Stanislav Gamayunov (happyproff)
  - Iwan van Staveren (istaveren)
- - Alexander McCullagh (mccullagh)
- - Paul L McNeely (mcneely)
  - Povilas S. (povilas)
  - Laurent Negre (raulnet)
- - Sergey Fokin (tyraelqp)
  - Victoria Quirante Ruiz (victoria)
  - Evrard Boulou
  - pborreli
- - Bernat Llibre
  - Boris Betzholz
  - Eric Caron
  - Arnau González
@@ -2163,31 +2510,16 @@ The Symfony Connect username in parenthe
  - Wing
  - Thomas Bibb
  - Stefan Koopmanschap
- - Joni Halme
  - Matt Farmer
  - catch
- - aetxebeste
- - roromix
- - Vitali Tsyrkin
- - Juga Paazmaya
  - Alexandre Segura
- - afaricamp
  - Josef Cech
- - Glodzienski
- - riadh26
- - Konstantinos Alexiou
  - Andrii Boiko
- - Dilek Erkut
  - Harold Iedema
- - WaiSkats
- - Morimoto Ryosuke
  - Ikhsan Agustian
  - Benoit Lévêque (benoit_leveque)
  - Simon Bouland (bouland)
- - Christoph König (chriskoenig)
- - Dmytro Pigin (dotty)
  - Jibé Barth (jibbarth)
- - Jm Aribau (jmaribau)
  - Matthew Foster (mfoster)
  - Reyo Stallenberg (reyostallenberg)
  - Paul Seiffert (seiffert)
@@ -2196,11 +2528,9 @@ The Symfony Connect username in parenthe
  - Stefan Hüsges (tronsha)
  - Jake Bishop (yakobeyak)
  - Dan Blows
- - popnikos
  - Matt Wells
  - Nicolas Appriou
  - stloyd
- - Tito Costa
  - Andreas
  - Chris Tickner
  - Andrew Coulton
@@ -2208,85 +2538,58 @@ The Symfony Connect username in parenthe
  - Jeremy Benoist
  - Michal Gebauer
  - Phil Davis
- - Thiago Melo
  - Gleb Sidora
  - David Stone
- - Giorgio Premi
- - Gerhard Seidel (gseidel)
  - Jovan Perovic (jperovic)
  - Pablo Maria Martelletti (pmartelletti)
  - Sander van der Vlugt (stranding)
  - Yassine Guedidi (yguedidi)
+ - Florian Bogey
  - Waqas Ahmed
  - Bert Hekman
  - Luis Muñoz
  - Matthew Donadio
  - Houziaux mike
  - Phobetor
- - Eric Schildkamp
  - Markus
- - agaktr
- - Mostafa
- - kernig
  - Thomas Chmielowiec
  - shdev
  - Andrey Ryaguzov
- - Gennadi Janzen
- - SenTisso
  - Stefan
  - Peter Bex
  - Manatsawin Hanmongkolchai
  - Gunther Konig
- - Joe Springe
  - Mickael GOETZ
+ - Tobias Speicher
+ - Jesper Noordsij
  - DerStoffel
- - Flinsch
  - Maciej Schmidt
- - botbotbot
- - Timon van der Vorm
  - nuncanada
  - Thierry Marianne
  - František Bereň
- - G.R.Dalenoort
- - Quentin Dreyer
  - Jeremiah VALERIE
  - Mike Francis
  - Almog Baku (almogbaku)
- - Vladimir Khramtsov (chrome)
  - Gerd Christian Kunze (derdu)
- - Denys Voronin (hurricane)
  - Ionel Scutelnicu (ionelscutelnicu)
- - Jordan de Laune (jdelaune)
- - Juan Gonzalez Montes (juanwilde)
  - Kamil Madejski (kmadejski)
- - Mathieu Dewet (mdewet)
- - none (nelexa)
  - Nicolas Tallefourtané (nicolab)
  - Botond Dani (picur)
- - Rémi Faivre (rfv)
  - Nick Stemerdink
- - Bernhard Rusch
  - David Stone
  - Grayson Koonce
- - Ruben Jansen
- - Marc Biorklund
- - shreypuranik
- - Thibaut Salanon
  - Romain Dorgueil
  - Christopher Parotat
  - Dennis Haarbrink
- - Urban Suppiger
  - 蝦米
  - Julius Beckmann (h4cc)
  - Andrey Helldar (helldar)
  - Julien JANVIER (jjanvier)
  - Karim Cassam Chenaï (ka)
  - Lorenzo Adinolfi (loru88)
- - Marcello Mönkemeyer (marcello-moenkemeyer)
  - Ahmed Shamim Hassan (me_shaon)
  - Michal Kurzeja (mkurzeja)
  - Nicolas Bastien (nicolas_bastien)
- - Sander De la Marche (sanderdlm)
  - Nikola Svitlica (thecelavi)
  - Andrew Zhilin (zhil)
  - Sjors Ottjes
@@ -2294,13 +2597,8 @@ The Symfony Connect username in parenthe
  - Andy Stanberry
  - Felix Marezki
  - Normunds
- - Yuri Karaban
- - Johan
  - Thomas Rothe
- - Edwin
  - nietonfir
- - Andriy
- - Taylor Otwell
  - alefranz
  - David Barratt
  - Andrea Giannantonio
@@ -2308,91 +2606,59 @@ The Symfony Connect username in parenthe
  - avi123
  - Pavel Prischepa
  - Philip Dahlstrøm
- - Sami Mussbach
- - qzylalala
+ - Pierre Schmitz
  - alsar
  - downace
  - Aarón Nieves Fernández
- - Mikolaj Czajkowski
  - Ph3nol
  - Kirill Saksin
- - Shiro
- - Reda DAOUDI
  - Koalabaerchen
  - michalmarcinkowski
  - Warwick
- - Jesper Skytte
  - Chris
  - Farid Jalilov
- - Christiaan Wiesenekker
- - Florent Olivaud
- - Foxprodev
- - Eric Hertwig
- - Sergey Panteleev
- - JakeFr
- - Dmitry Hordinky
- - Oliver Klee
- - Niels Robin-Aubertin
+ - Florent Olivaud
+ - JakeFr
  - Simon Sargeant
  - efeen
- - Mikko Ala-Fossi
- - Jan Christoph Beyer
  - Nicolas Pion
  - Muhammed Akbulut
- - Daniel Tiringer
- - Koray Zorluoglu
- - Roy-Orbison
  - Aaron Somi
- - kshida
- - Yasmany Cubela Medina (bitgandtter)
  - Michał Dąbrowski (defrag)
- - Aryel Tupinamba (dfkimera)
- - Hans Höchtl (hhoechtl)
  - Simone Fumagalli (hpatoio)
  - Brian Graham (incognito)
  - Kevin Vergauwen (innocenzo)
  - Alessio Baglio (ioalessio)
- - Jawira Portugal (jawira)
  - Johannes Müller (johmue)
  - Jordi Llonch (jordillonch)
  - julien_tempo1 (julien_tempo1)
- - Roman Igoshin (masterro)
  - Nicholas Ruunu (nicholasruunu)
- - Jeroen van den Nieuwenhuisen (nieuwenhuisen)
- - Pierre Rebeilleau (pierrereb)
  - Milos Colakovic (project2481)
- - Raphael de Almeida (raphaeldealmeida)
  - Rénald Casagraude (rcasagraude)
  - Robin Duval (robin-duval)
  - Artem Lopata (bumz)
  - alex
  - Roman Orlov
- - Simon Ackermann
  - VolCh
  - Alexey Popkov
  - Gijs Kunze
  - Artyom Protaskin
- - Steven Dubois
  - Nathanael d. Noblet
  - helmer
  - ged15
+ - Simon Asika
  - Daan van Renterghem
- - Bálint Szekeres
  - amcastror
  - Bram Van der Sype (brammm)
  - Guile (guile)
- - Mark Beech (jaybizzle)
  - Julien Moulin (lizjulien)
  - Raito Akehanareru (raito)
  - Mauro Foti (skler)
- - Thibaut Arnoud (thibautarnoud)
  - Yannick Warnier (ywarnier)
  - Jörn Lang
  - Kevin Decherf
  - Paul LE CORRE
  - Jason Woods
- - Christian Weiske
- - Maria Grazia Patteri
  - klemens
  - dened
  - jpauli
@@ -2400,22 +2666,16 @@ The Symfony Connect username in parenthe
  - Michael van Tricht
  - ReScO
  - Tim Strehle
- - Sébastien COURJEAN
  - Sam Ward
  - Hans N. Hjort
  - Walther Lalk
  - Adam
  - Ivo
- - Ismo Vuorinen
- - Valentin
  - Sören Bernstein
  - devel
  - taiiiraaa
- - Ali Tavafi
  - gedrox
- - Viet Pham
  - Alan Bondarchuk
- - Pchol
  - dropfen
  - Andrey Chernykh
  - Edvinas Klovas
@@ -2424,22 +2684,16 @@ The Symfony Connect username in parenthe
  - Kevin EMO
  - Chansig
  - Tischoi
- - divinity76
  - Andreas Hasenack
  - J Bruni
  - Alexey Prilipko
  - vlakoff
  - thib92
- - Yiorgos Kalligeros
  - Rudolf Ratusiński
  - Bertalan Attila
- - Arek Bochinski
- - Rafael Tovar
- - Amin Hosseini (aminh)
  - AmsTaFF (amstaff)
  - Simon Müller (boscho)
  - Yannick Bensacq (cibou)
- - Cyrille Bourgois (cyrilleb)
  - Damien Vauchel (damien_vauchel)
  - Dmitrii Fedorenko (dmifedorenko)
  - Frédéric G. Marand (fgm)
@@ -2452,27 +2706,16 @@ The Symfony Connect username in parenthe
  - Maxime Corteel (mcorteel)
  - Dan Patrick (mdpatrick)
  - Mathieu MARCHOIS (mmar)
- - naitsirch (naitsirch)
- - Geoffrey Monte (numerogeek)
- - Martijn Boers (plebian)
- - Plamen Mishev (pmishev)
  - Pedro Magalhães (pmmaga)
  - Rares Vlaseanu (raresvla)
  - Trevor N. Suarez (rican7)
- - Sergii Dolgushev (serhey)
  - Clément Bertillon (skigun)
- - Rein Baarsma (solidwebcode)
  - tante kinast (tante)
- - Stephen Lewis (tehanomalousone)
  - Adam RANDI (tiecoders)
  - Vincent LEFORT (vlefort)
  - Walid BOUGHDIRI (walidboughdiri)
- - wicliff wolda (wickedone)
- - Wim Molenberghs (wimm)
  - Darryl Hein (xmmedia)
  - Vladimir Sadicov (xtech)
- - Marcel Berteler
- - sdkawata
  - Peter van Dommelen
  - Tim van Densen
  - Andrzej
@@ -2487,12 +2730,9 @@ The Symfony Connect username in parenthe
  - Tom Maguire
  - Mateusz Lerczak
  - Richard Quadling
- - Rainrider
  - David Zuelke
  - Adrian
- - Oliver Eglseder
  - neFAST
- - zcodes
  - Pierre Rineau
  - Florian Morello
  - Maxim Lovchikov
@@ -2501,98 +2741,59 @@ The Symfony Connect username in parenthe
  - Ari Pringle (apringle)
  - Dan Ordille (dordille)
  - Jan Eichhorn (exeu)
+ - Georg Ringer (georgringer)
  - Grégory Pelletier (ip512)
- - Johan Wilfer (johanwilfer)
  - John Nickell (jrnickell)
  - Martin Mayer (martin)
  - Grzegorz Łukaszewicz (newicz)
  - Omar Yepez (oyepez003)
  - Jonny Schmid (schmidjon)
- - Toby Griffiths (tog)
- - Ashura
  - Götz Gottwald
- - Alessandra Lai
- - Ernest Hymel
- - Andrea Civita
- - Nicolás Alonso
- - LoginovIlya
  - Nick Chiu
  - Robert Campbell
  - Matt Lehner
- - carlos-ea
- - Olexandr Kalaidzhy
  - Helmut Januschka
- - Jérémy Benoist
  - Hein Zaw Htet™
  - Ruben Kruiswijk
  - Cosmin-Romeo TANASE
- - Ferran Vidal
  - Michael J
- - youssef saoubou
  - Joseph Maarek
  - Alexander Menk
  - Alex Pods
  - timaschew
  - Jelle Kapitein
  - Jochen Mandl
- - elattariyassine
  - Marin Nicolae
  - Alessandro Loffredo
  - Ian Phillips
- - Carlos Tasada
  - Haritz
  - Matthieu Prat
  - Brieuc Thomas
- - zors1
- - Peter Simoncic
- - lerminou
- - Ahmad El-Bardan
  - mantulo
- - pdragun
  - Paul Le Corre
- - Noel Light-Hilary
  - Filipe Guerra
  - Jean Ragouin
  - Gerben Wijnja
- - Emre YILMAZ
  - Rowan Manning
- - Marcos Labad
+ - qsz
  - Per Modin
  - David Windell
- - Antoine M
- - Frank Jogeleit
- - Ondřej Frei
- - Volodymyr Panivko
  - Gabriel Birke
  - Derek Bonner
+ - Ivan Kurnosov
  - martijn
- - Jenne van der Meer
  - annesosensio
  - NothingWeAre
- - Storkeus
  - goabonga
  - Alan Chen
- - Anton Zagorskii
- - ging-dev
- - zakaria-amm
  - Maerlyn
  - Even André Fiskvik
- - Agata
- - dakur
- - Matthias Schmidt
- - florian-michael-mast
- - Vlad Dumitrache
- - Alex Kalineskou
  - Erik van Wingerden
  - Valouleloup
- - robmro27
- - Vallel Blanco
  - Alexis MARQUIS
  - Gerrit Drost
  - Linnaea Von Lavia
  - Simon Mönch
- - Bastien Clément
- - Thomas Talbot
  - Javan Eskander
  - Lenar Lõhmus
  - Cristian Gonzalez
@@ -2601,28 +2802,21 @@ The Symfony Connect username in parenthe
  - hainey
  - Juan M Martínez
  - Gilles Gauthier
- - Benjamin Franzke
- - Pavinthan
- - Sylvain METAYER
  - ddebree
  - Gyula Szucs
  - Tomas Liubinas
- - Ivo Valchev
  - Jan Hort
  - Klaas Naaijkens
  - Rafał
  - Adria Lopez (adlpz)
  - Aaron Scherer (aequasi)
- - baron (bastien)
  - Rosio (ben-rosio)
  - Simon Paarlberg (blamh)
  - Masao Maeda (brtriver)
- - Damien Harper (damien.harper)
  - Darius Leskauskas (darles)
  - david perez (davidpv)
  - David Joos (djoos)
  - Denis Klementjev (dklementjev)
- - Dominik Pesch (dombn)
  - Dominik Hajduk (dominikalp)
  - Tomáš Polívka (draczris)
  - Dennis Smink (dsmink)
@@ -2634,7 +2828,6 @@ The Symfony Connect username in parenthe
  - Hadrien Cren (hcren)
  - Gusakov Nikita (hell0w0rd)
  - Oz (import)
- - Jaap van Otterdijk (jaapio)
  - Javier Núñez Berrocoso (javiernuber)
  - Jelle Bekker (jbekker)
  - Giovanni Albero (johntree)
@@ -2642,93 +2835,59 @@ The Symfony Connect username in parenthe
  - Joeri Verdeyen (jverdeyen)
  - Kevin Verschaeve (keversc)
  - Kevin Herrera (kherge)
- - Kubicki Kamil (kubik)
- - Simon Leblanc (leblanc_simon)
  - Luis Ramón López López (lrlopez)
- - Vladislav Nikolayev (luxemate)
- - Martin Mandl (m2mtech)
  - Mehdi Mabrouk (mehdidev)
  - Bart Reunes (metalarend)
  - Muriel (metalmumu)
  - Michael Pohlers (mick_the_big)
- - Misha Klomp (mishaklomp)
  - mlpo (mlpo)
- - Mikhail Prosalov (mprosalov)
- - Ulrik Nielsen (mrbase)
  - Marek Šimeček (mssimi)
  - Dmitriy Tkachenko (neka)
  - Cayetano Soriano Gallego (neoshadybeat)
- - Artem (nexim)
- - Nicolas ASSING (nicolasassing)
  - Olivier Laviale (olvlvl)
- - Pierre Gasté (pierre_g)
  - Pablo Monterde Perez (plebs)
- - Pierre-Olivier Vares (povares)
  - Jimmy Leger (redpanda)
- - Ronny López (ronnylt)
- - Julius (sakalys)
- - Samaël Villette (samadu61)
- - Dmitry (staratel)
  - Marcin Szepczynski (szepczynski)
- - Tito Miguel Costa (titomiguelcosta)
  - Simone Di  Maulo (toretto460)
  - Cyrille Jouineau (tuxosaurus)
  - Lajos Veres (vlajos)
  - Vladimir Chernyshev (volch)
- - Wim Godden (wimg)
  - Yorkie Chadwick (yorkie76)
- - Maxime Aknin (3m1x4m)
- - Geordie
- - Exploit.cz
  - GuillaumeVerdon
  - ureimers
  - akimsko
  - Youpie
- - Jason Stephens
  - srsbiz
- - Tinjo Schöni
  - Taylan Kasap
  - Michael Orlitzky
  - Nicolas A. Bérard-Nault
- - Quentin Favrie
- - Matthias Derer
- - vladyslavstartsev
  - Saem Ghani
- - Kévin
  - Stefan Oderbolz
  - Gabriel Moreira
  - Alexey Popkov
  - ChS
- - michal
  - Alexis MARQUIS
  - Joseph Deray
  - Damian Sromek
  - Ben
  - Evgeniy Tetenchuk
- - Sjoerd Adema
  - Shrey Puranik
- - Evgeniy Koval
  - Lars Moelleken
  - dasmfm
- - Claas Augner
  - Mathias Geat
  - Angel Fernando Quiroz Campos (angelfqc)
  - Arnaud Buathier (arnapou)
- - Benoit Galati (benoitgalati)
  - Curtis (ccorliss)
  - chesteroni (chesteroni)
  - Mauricio Lopez (diaspar)
  - HADJEDJ Vincent (hadjedjvincent)
  - Daniele Cesarini (ijanki)
  - Ismail Asci (ismailasci)
- - Jeffrey Moelands (jeffreymoelands)
  - Simon (kosssi)
  - Ondřej Mirtes (mirtes)
  - Paulius Jarmalavičius (pjarmalavicius)
  - Ramon Ornelas (ramonornela)
  - Ricardo de Vries (ricardodevries)
- - Ruslan Zavacky (ruslanzavacky)
- - Stefano Cappellini (stefano_cappellini)
  - Thomas Dutrion (theocrite)
  - Till Klampaeckel (till)
  - Tobias Weinert (tweini)
@@ -2736,49 +2895,32 @@ The Symfony Connect username in parenthe
  - goohib
  - Tom Counsell
  - Sepehr Lajevardi
- - George Bateman
  - Xavier HAUSHERR
  - Edwin Hageman
  - Mantas Urnieža
  - temperatur
  - Paul Andrieux
- - misterx
  - Cas
- - arend
- - Vincent Godé
- - helmi
- - Michael Steininger
- - Nardberjean
  - ghazy ben ahmed
  - Karolis
  - Myke79
- - jersoe
  - Brian Debuire
- - Eric Grimois
  - Piers Warmers
  - Sylvain Lorinet
  - klyk50
  - jc
  - BenjaminBeck
  - Aurelijus Rožėnas
- - Beno!t POLASZEK
- - Armando
  - Jordan Hoff
  - znerol
  - Christian Eikermann
+ - Sergei Shitikov
  - Antonio Angelino
- - Jens Schulze
+ - Pavel Golovin
  - Matt Fields
- - Olatunbosun Egberinde
  - Andras Debreczeni
- - Knallcharge
  - Vladimir Sazhin
- - Michel Bardelmeijer
  - Tomas Kmieliauskas
- - Ikko Ashimine
- - Erwin Dirks
- - Brad Jones
- - Markus Ramšak
  - Billie Thompson
  - lol768
  - jamogon
@@ -2788,11 +2930,7 @@ The Symfony Connect username in parenthe
  - Jakub Chábek
  - Johannes
  - Jörg Rühl
- - George Dietrich
- - jannick-holm
  - wesleyh
- - Menno Holtkamp
- - Ser5
  - Michael Hudson-Doyle
  - Daniel Bannert
  - Karim Miladi
@@ -2800,58 +2938,41 @@ The Symfony Connect username in parenthe
  - patrick-mcdougle
  - Tyler Stroud
  - Dariusz Czech
- - Clemens Krack
- - Bruno Baguette
  - Jack Wright
  - MrNicodemuz
  - Anonymous User
  - Paweł Tomulik
  - Eric J. Duran
+ - Blackfelix
  - Alexandru Bucur
- - Alexis Lefebvre
  - cmfcmf
- - Michal Forbak
  - Drew Butler
- - Alexey Berezuev
  - pawel-lewtak
- - Pierrick Charron
  - Steve Müller
  - omerida
  - Andras Ratz
  - andreabreu98
- - gechetspr
- - brian978
  - Michael Schneider
  - n-aleha
- - Talha Zekeriya Durmuş
  - Anatol Belski
  - Alexis BOYER
- - bch36
  - Kaipi Yann
  - adam-mospan
- - Steve Hyde
  - Sam Williams
- - Ettore Del Negro
  - Guillaume Aveline
  - Adrian Philipp
  - James Michael DuPont
  - Markus Tacker
  - Kasperki
- - dima-gr
  - Tammy D
- - Rodolfo Ruiz
- - tsilefy
- - Enrico
  - Ryan Rud
  - Ondrej Slinták
- - Jérémie Broutier
  - vlechemin
  - Brian Corrigan
  - Ladislav Tánczos
  - Brian Freytag
  - Skorney
  - Lucas Matte
- - Success Go
  - fmarchalemisys
  - mieszko4
  - Steve Preston
@@ -2861,39 +2982,24 @@ The Symfony Connect username in parenthe
  - Neophy7e
  - bokonet
  - Arrilot
- - ampaze
- - Chris McGehee
  - Shaun Simmons
  - Markus Staab
  - Pierre-Louis LAUNAY
  - djama
- - Benjamin Rosenberger
- - Vladyslav Startsev
  - Michael Gwynne
  - Eduardo Conceição
  - changmin.keum
  - Jon Cave
  - Sébastien HOUZE
  - Abdulkadir N. A.
- - Markus Klein
  - Adam Klvač
- - Bruno Nogueira Nascimento Wowk
- - Tomanhez
- - satalaondrej
- - Matthias Dötsch
- - jonmldr
  - Yevgen Kovalienia
  - Lebnik
  - Shude
- - RTUnreal
- - Richard Hodgson
- - Sven Fabricius
  - Ondřej Führer
- - Bogdan
  - Sema
  - Thorsten Hallwas
  - Brian Freytag
- - Marco Pfeiffer
  - Alex Nostadt
  - Michael Squires
  - Egor Gorbachev
@@ -2906,20 +3012,13 @@ The Symfony Connect username in parenthe
  - Edvin Hultberg
  - Vincent
  - Benjamin Long
- - Kévin Gonella
  - Ben Miller
  - Peter Gribanov
- - Matteo Galli
  - Bart Ruysseveldt
- - Ash014
- - Loenix
  - kwiateusz
  - Ilya Bulakh
  - David Soria Parra
- - Simon Frost
  - Sergiy Sokolenko
- - Cantepie
- - detinkin
  - Ahmed Abdulrahman
  - dinitrol
  - Penny Leach
@@ -2932,41 +3031,28 @@ The Symfony Connect username in parenthe
  - Peter Zwosta
  - Michal Čihař
  - parhs
- - Harry Wiseman
  - Diego Campoy
  - Oncle Tom
  - Sam Anthony
  - Christian Stocker
  - Oussama Elgoumri
  - David Lima
- - Steve Marvell
  - Dawid Nowak
  - Lesnykh Ilia
- - Shyim
- - sabruss
  - darnel
  - Nicolas
  - Sergio Santoro
  - tirnanog06
- - Andrejs Leonovs
  - Alfonso Fernández García
  - phc
  - Дмитрий Пацура
- - Signor Pedro
- - Matthias Larisch
- - Maxime  P
- - Sean Templeton
  - Michaël VEROUX
  - Julia
  - Lin Lu
  - arduanov
  - sualko
- - Yendric
  - ADmad
  - Nicolas Roudaire
- - Matthias Meyer
- - Temuri Takalandze (abgeo)
- - Bernard van der Esch (adeptofvoltron)
  - Andreas Forsblom (aforsblo)
  - Alex Olmos (alexolmos)
  - Cedric BERTOLINI (alsciende)
@@ -2975,11 +3061,7 @@ The Symfony Connect username in parenthe
  - Juan Ases García (ases)
  - Siragusa (asiragusa)
  - Daniel Basten (axhm3a)
- - Benedict Massolle (bemas)
- - Gerard Berengue Llobera (bere)
- - Ronny (big-r)
  - Bernd Matzner (bmatzner)
- - Anton (bonio)
  - Bram Tweedegolf (bram_tweedegolf)
  - Brandon Kelly (brandonkelly)
  - Choong Wei Tjeng (choonge)
@@ -2987,40 +3069,30 @@ The Symfony Connect username in parenthe
  - Loïc Vernet (coil)
  - Christoph Vincent Schaefer (cvschaefer)
  - Damon Jones (damon__jones)
- - Alexandre Fiocre (demos77)
+ - David Courtey (david-crty)
  - Łukasz Giza (destroyer)
  - Daniel Londero (dlondero)
  - Dušan Kasan (dudo1904)
  - Sebastian Landwehr (dword123)
  - Adel ELHAIBA (eadel)
  - Damián Nohales (eagleoneraptor)
- - Jordane VASPARD (elementaire)
  - Elliot Anderson (elliot)
- - Erwan Nader (ernadoo)
  - Fabien D. (fabd)
- - Faizan Akram Dar (faizanakram)
  - Carsten Eilers (fnc)
  - Sorin Gitlan (forapathy)
  - Yohan Giarelli (frequence-web)
- - Gasan Guseynov (gassan)
  - Gerry Vandermaesen (gerryvdm)
  - Arash Tabrizian (ghost098)
- - Greg Szczotka (greg606)
- - Ian Littman (iansltx)
- - Nathan DIdier (icz)
  - Vladislav Krupenkin (ideea)
  - Ilija Tovilo (ilijatovilo)
  - Peter Orosz (ill_logical)
- - Ilia Lazarev (ilzrv)
  - Imangazaliev Muhammad (imangazaliev)
- - Arkadiusz Kondas (itcraftsmanpl)
  - j0k (j0k)
  - joris de wit (jdewit)
  - Jérémy CROMBEZ (jeremy)
  - Jose Manuel Gonzalez (jgonzalez)
  - Joachim Krempel (jkrempel)
  - Jorge Maiden (jorgemaiden)
- - Joao Paulo V Martins (jpjoao)
  - Justin Rainbow (jrainbow)
  - Juan Luis (juanlugb)
  - JuntaTom (juntatom)
@@ -3033,17 +3105,11 @@ The Symfony Connect username in parenthe
  - samuel laulhau (lalop)
  - Laurent Bachelier (laurentb)
  - Luís Cobucci (lcobucci)
- - Jérémy (libertjeremy)
  - Mehdi Achour (machour)
- - Mamikon Arakelyan (mamikon)
  - Matt Ketmo (mattketmo)
  - Moritz Borgmann (mborgmann)
- - Mathias Brodala (mbrodala)
  - Matt Drollette (mdrollette)
  - Adam Monsen (meonkeys)
- - Mike Milano (mmilano)
- - Guillaume Lajarige (molkobain)
- - Diego Aguiar (mollokhan)
  - Ala Eddine Khefifi (nayzo)
  - emilienbouard (neime)
  - Nicholas Byfleet (nickbyfleet)
@@ -3051,17 +3117,13 @@ The Symfony Connect username in parenthe
  - ollie harridge (ollietb)
  - Pawel Szczepanek (pauluz)
  - Philippe Degeeter (pdegeeter)
- - PLAZANET Pierre (pedrotroller)
  - Christian López Espínola (penyaskito)
  - Petr Jaroš (petajaros)
  - Philipp Hoffmann (philipphoffmann)
  - Alex Carol (picard89)
  - Daniel Perez Pinazo (pitiflautico)
- - Igor Tarasov (polosatus)
  - Maksym Pustynnikov (pustynnikov)
  - Ralf Kühnel (ralfkuehnel)
- - Ramazan APAYDIN (rapaydin)
- - Babichev Maxim (rez1dent3)
  - Rich Sage (richsage)
  - scourgen hung (scourgen)
  - Sebastian Busch (sebu)
@@ -3072,21 +3134,15 @@ The Symfony Connect username in parenthe
  - Şəhriyar İmanov (shehriyari)
  - Thomas Baumgartner (shoplifter)
  - Schuyler Jager (sjager)
- - Christopher Georg (sky-chris)
  - Volker (skydiablo)
- - Francisco Alvarez (sormes)
  - Julien Sanchez (sumbobyboys)
- - Stephan Vierkant (svierkant)
  - Ron Gähler (t-ronx)
  - Guillermo Gisinger (t3chn0r)
  - Tom Newby (tomnewbyau)
  - Andrew Clark (tqt_andrew_clark)
- - Aaron Piotrowski (trowski)
  - David Lumaye (tux1124)
- - Roman Tymoshyk (tymoshyk)
  - Moritz Kraft (userfriendly)
  - Víctor Mateo (victormateo)
- - Vincent MOULENE (vints24)
  - David Grüner (vworldat)
  - Eugene Babushkin (warl)
  - Wouter Sioen (wouter_sioen)
@@ -3094,41 +3150,29 @@ The Symfony Connect username in parenthe
  - Jesper Søndergaard Pedersen (zerrvox)
  - Florent Cailhol
  - szymek
- - Ryan Linnit
- - a.dmitryuk
  - Kovacs Nicolas
  - craigmarvelley
  - Stano Turza
- - Antoine Leblanc
  - drublic
- - Andre Johnson
- - MaPePeR
  - Andreas Streichardt
  - Alexandre Segura
- - Marco Pfeiffer
- - Vivien
  - Pascal Hofmann
- - david-binda
  - smokeybear87
  - Gustavo Adrian
  - damaya
  - Kevin Weber
- - Alexandru Năstase
  - Dionysis Arvanitis
  - Sergey Fedotov
  - Konstantin Scheumann
  - Michael
  - fh-github@fholzhauer.de
  - AbdElKader Bouadjadja
- - ddegentesh
  - DSeemiller
  - Jan Emrich
- - Anne-Julia Seitz
  - Mark Topper
  - Romain
  - Xavier REN
  - max
- - Alexander Bauer (abauer)
  - Ahmad Mayahi (ahmadmayahi)
  - Mohamed Karnichi (amiral)
  - Andrew Carter (andrewcarteruk)
@@ -3137,18 +3181,16 @@ The Symfony Connect username in parenthe
  - Bogdan Rancichi (devck)
  - Daniel Kolvik (dkvk)
  - Marc Lemay (flug)
- - Gabriel Solomon (gabrielsolomon)
  - Henne Van Och (hennevo)
  - Jeroen De Dauw (jeroendedauw)
  - Maxime COLIN (maximecolin)
  - Muharrem Demirci (mdemirci)
  - Evgeny Z (meze)
- - Aleksandar Dimitrov (netbull)
+ - Pierre-Henry Soria 🌴 (pierrehenry)
  - Pierre Geyer (ptheg)
  - Thomas BERTRAND (sevrahk)
  - Vladislav (simpson)
  - Matej Žilák (teo_sk)
- - Gary Houbre (thegarious)
  - Vladislav Vlastovskiy (vlastv)
  - RENAUDIN Xavier (xorrox)
  - Yannick Vanhaeren (yvh)
diff -pruN 5.4.10+dfsg-1/debian/changelog 5.4.11+dfsg-1/debian/changelog
--- 5.4.10+dfsg-1/debian/changelog	2022-06-29 06:07:16.000000000 +0000
+++ 5.4.11+dfsg-1/debian/changelog	2022-08-01 06:23:35.000000000 +0000
@@ -1,3 +1,14 @@
+symfony (5.4.11+dfsg-1) unstable; urgency=medium
+
+  [ Fabien Potencier ]
+  * Update VERSION for 5.4.11
+
+  [ David Prévot ]
+  * Update Homepage for php-symfony-inflector and php-symfony-security-guard
+  * Update Standards-Version to 4.6.1
+
+ -- David Prévot <taffit@debian.org>  Mon, 01 Aug 2022 08:23:35 +0200
+
 symfony (5.4.10+dfsg-1) unstable; urgency=medium
 
   [ Fabien Potencier ]
diff -pruN 5.4.10+dfsg-1/debian/control 5.4.11+dfsg-1/debian/control
--- 5.4.10+dfsg-1/debian/control	2022-06-29 05:53:17.000000000 +0000
+++ 5.4.11+dfsg-1/debian/control	2022-08-01 06:23:35.000000000 +0000
@@ -3,7 +3,7 @@ Maintainer: Debian PHP PEAR Maintainers
 Uploaders: Daniel Beyer <dabe@deb.ymc.ch>, David Prévot <taffit@debian.org>
 Section: php
 Priority: optional
-Standards-Version: 4.6.0
+Standards-Version: 4.6.1
 Build-Depends: debhelper-compat (= 13),
                dh-sequence-phpcomposer,
                pkg-php-tools (>= 1.41~)
@@ -58,7 +58,7 @@ Build-Depends-Indep: composer,
 Build-Conflicts: php-redis
 Homepage: https://symfony.com/
 Vcs-Browser: https://salsa.debian.org/php-team/pear/symfony
-Vcs-Git: https://salsa.debian.org/php-team/pear/symfony.git -b debian/latest
+Vcs-Git: https://salsa.debian.org/php-team/pear/symfony.git
 Rules-Requires-Root: no
 
 Package: php-symfony
@@ -360,7 +360,7 @@ Suggests: ${phpcomposer:Debian-suggest}
 Replaces: ${phpcomposer:Debian-replace}
 Breaks: ${phpcomposer:Debian-conflict}, ${phpcomposer:Debian-replace}
 Provides: ${phpcomposer:Debian-provide}
-Homepage: https://symfony.com/doc/5.3/components/inflector.html
+Homepage: https://symfony.com/doc/5.4/components/inflector.html
 Description: words conversion between their singular and plural forms
  The Symfony Inflector Component converts words between their singular
  and plural forms (English only).
@@ -647,7 +647,7 @@ Suggests: ${phpcomposer:Debian-suggest}
 Replaces: ${phpcomposer:Debian-replace}
 Breaks: ${phpcomposer:Debian-conflict}, ${phpcomposer:Debian-replace}
 Provides: ${phpcomposer:Debian-provide}
-Homepage: https://symfony.com/doc/5.3/components/security.html
+Homepage: https://symfony.com/doc/5.4/components/security.html
 Description: infrastructure for authorization systems - Guard features
  The ${phpcomposer:description} brings many layers
  of authentication together, making it much easier to create complex
diff -pruN 5.4.10+dfsg-1/debian/licensing/image-checksums.dcf 5.4.11+dfsg-1/debian/licensing/image-checksums.dcf
--- 5.4.10+dfsg-1/debian/licensing/image-checksums.dcf	2022-05-28 09:56:16.000000000 +0000
+++ 5.4.11+dfsg-1/debian/licensing/image-checksums.dcf	2022-08-01 06:23:35.000000000 +0000
@@ -293,7 +293,7 @@ License: Expat
 FirstAppearance: https://github.com/symfony/symfony/commit/0f85ba030b8725642ed0fdef804e969d88fcd7e5#diff-5dd4839cda3dec6eb13c926393862c2ad109e5dfbe7acc2aa8f052fc09ef9838
 Comment: A 16x9 white image, for tests.
 
-Checksum-Sha256: dae77f9317d633f3b329bdbf3f6630dbdf589fa3ffd7569c21f283be581bc4af
+Checksum-Sha256: af432c5196122f5b2153a12034d9bf09eb658499ad982ef55f2abc0bd8a07fe6
 Files: src/Symfony/Component/String/AbstractUnicodeString.php
 License: Expat
 FirstAppearance: irrelevant
@@ -380,7 +380,7 @@ License: Expat
 FirstAppearance: https://github.com/symfony/symfony/commit/9d0c26377ff0517f30d15bfb9c438aec6da0203e#diff-3a40f1b1d05c691c4fb190617abeb1ac
 Comment: Icon showing a black minus on a white background. Added under the terms of Expat.
 
-Checksum-Sha256: e18946caee10e742beb336d179152cb1ed64a1ff5af5c9385caab0db59109986
+Checksum-Sha256: a74e2d65ef3fa7a9e510f293358955fb7a761b0c9e020aa9930400af88d0058b
 Files: src/Symfony/Component/String/Tests/AbstractUnicodeTestCase.php
 License: Expat
 FirstAppearance: irrelevant
diff -pruN 5.4.10+dfsg-1/debian/patches/Add-more-tests-to-group-tty.patch 5.4.11+dfsg-1/debian/patches/Add-more-tests-to-group-tty.patch
--- 5.4.10+dfsg-1/debian/patches/Add-more-tests-to-group-tty.patch	2022-06-29 05:53:28.000000000 +0000
+++ 5.4.11+dfsg-1/debian/patches/Add-more-tests-to-group-tty.patch	2022-08-01 06:23:35.000000000 +0000
@@ -13,7 +13,7 @@ Forwarded: no
  1 file changed, 9 insertions(+)
 
 diff --git a/src/Symfony/Component/Process/Tests/ProcessTest.php b/src/Symfony/Component/Process/Tests/ProcessTest.php
-index 4cf2e5d..7a8435d 100644
+index 1646bcb..de9568d 100644
 --- a/src/Symfony/Component/Process/Tests/ProcessTest.php
 +++ b/src/Symfony/Component/Process/Tests/ProcessTest.php
 @@ -473,6 +473,9 @@ class ProcessTest extends TestCase
diff -pruN 5.4.10+dfsg-1/debian/patches/Drop-failing-tests-with-recent-PHP.patch 5.4.11+dfsg-1/debian/patches/Drop-failing-tests-with-recent-PHP.patch
--- 5.4.10+dfsg-1/debian/patches/Drop-failing-tests-with-recent-PHP.patch	2022-06-29 05:53:28.000000000 +0000
+++ 5.4.11+dfsg-1/debian/patches/Drop-failing-tests-with-recent-PHP.patch	2022-08-01 06:23:35.000000000 +0000
@@ -10,7 +10,7 @@ Bug-Debian: https://bugs.debian.org/9300
  1 file changed, 2 deletions(-)
 
 diff --git a/src/Symfony/Component/Validator/Tests/Constraints/EmailValidatorTest.php b/src/Symfony/Component/Validator/Tests/Constraints/EmailValidatorTest.php
-index 08456bd..4516601 100644
+index 3fff0c3..e31d895 100644
 --- a/src/Symfony/Component/Validator/Tests/Constraints/EmailValidatorTest.php
 +++ b/src/Symfony/Component/Validator/Tests/Constraints/EmailValidatorTest.php
 @@ -284,8 +284,6 @@ class EmailValidatorTest extends ConstraintValidatorTestCase
diff -pruN 5.4.10+dfsg-1/debian/patches/HttpKernel-Drop-tests-using-unexpected-path-as-cache.patch 5.4.11+dfsg-1/debian/patches/HttpKernel-Drop-tests-using-unexpected-path-as-cache.patch
--- 5.4.10+dfsg-1/debian/patches/HttpKernel-Drop-tests-using-unexpected-path-as-cache.patch	2022-06-29 05:53:28.000000000 +0000
+++ 5.4.11+dfsg-1/debian/patches/HttpKernel-Drop-tests-using-unexpected-path-as-cache.patch	2022-08-01 06:23:35.000000000 +0000
@@ -8,7 +8,7 @@ To be investigated
  1 file changed, 87 deletions(-)
 
 diff --git a/src/Symfony/Component/HttpKernel/Tests/KernelTest.php b/src/Symfony/Component/HttpKernel/Tests/KernelTest.php
-index 6c90943..5429217 100644
+index 2dab2ec..3f59b4d 100644
 --- a/src/Symfony/Component/HttpKernel/Tests/KernelTest.php
 +++ b/src/Symfony/Component/HttpKernel/Tests/KernelTest.php
 @@ -165,59 +165,6 @@ class KernelTest extends TestCase
diff -pruN 5.4.10+dfsg-1/debian/patches/Increasing-timeout-in-test-AbstractProcessTest-testS.patch 5.4.11+dfsg-1/debian/patches/Increasing-timeout-in-test-AbstractProcessTest-testS.patch
--- 5.4.10+dfsg-1/debian/patches/Increasing-timeout-in-test-AbstractProcessTest-testS.patch	2022-06-29 05:53:28.000000000 +0000
+++ 5.4.11+dfsg-1/debian/patches/Increasing-timeout-in-test-AbstractProcessTest-testS.patch	2022-08-01 06:23:35.000000000 +0000
@@ -12,7 +12,7 @@ Forwarded: no
  1 file changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/src/Symfony/Component/Process/Tests/ProcessTest.php b/src/Symfony/Component/Process/Tests/ProcessTest.php
-index 7a8435d..de8bfc3 100644
+index de9568d..f1b1b43 100644
 --- a/src/Symfony/Component/Process/Tests/ProcessTest.php
 +++ b/src/Symfony/Component/Process/Tests/ProcessTest.php
 @@ -871,9 +871,9 @@ class ProcessTest extends TestCase
diff -pruN 5.4.10+dfsg-1/debian/patches/PhpUnit-Use-phpunit-directly.patch 5.4.11+dfsg-1/debian/patches/PhpUnit-Use-phpunit-directly.patch
--- 5.4.10+dfsg-1/debian/patches/PhpUnit-Use-phpunit-directly.patch	2022-06-29 05:53:28.000000000 +0000
+++ 5.4.11+dfsg-1/debian/patches/PhpUnit-Use-phpunit-directly.patch	2022-08-01 06:23:35.000000000 +0000
@@ -4,8 +4,9 @@ Subject: [PhpUnit] Use phpunit directly
 
 ---
  src/Symfony/Bridge/PhpUnit/Tests/expectdeprecationfail.phpt | 2 +-
+ src/Symfony/Bridge/PhpUnit/Tests/expectnotrisky.phpt        | 2 +-
  src/Symfony/Bridge/PhpUnit/Tests/expectrisky.phpt           | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
+ 3 files changed, 3 insertions(+), 3 deletions(-)
 
 diff --git a/src/Symfony/Bridge/PhpUnit/Tests/expectdeprecationfail.phpt b/src/Symfony/Bridge/PhpUnit/Tests/expectdeprecationfail.phpt
 index f968cd1..c4889e4 100644
@@ -20,6 +21,19 @@ index f968cd1..c4889e4 100644
  ?>
  --EXPECTF--
  PHPUnit %s
+diff --git a/src/Symfony/Bridge/PhpUnit/Tests/expectnotrisky.phpt b/src/Symfony/Bridge/PhpUnit/Tests/expectnotrisky.phpt
+index 2005adf..b300add 100644
+--- a/src/Symfony/Bridge/PhpUnit/Tests/expectnotrisky.phpt
++++ b/src/Symfony/Bridge/PhpUnit/Tests/expectnotrisky.phpt
+@@ -5,7 +5,7 @@ Test NoAssertionsTestNotRisky not risky test
+ --FILE--
+ <?php
+ $test =  realpath(__DIR__.'/FailTests/NoAssertionsTestNotRisky.php');
+-passthru('php '.getenv('SYMFONY_SIMPLE_PHPUNIT_BIN_DIR').'/simple-phpunit.php --fail-on-risky --colors=never '.$test);
++passthru('phpunit --fail-on-risky --colors=never '.$test);
+ ?>
+ --EXPECTF--
+ PHPUnit %s
 diff --git a/src/Symfony/Bridge/PhpUnit/Tests/expectrisky.phpt b/src/Symfony/Bridge/PhpUnit/Tests/expectrisky.phpt
 index 91e0830..43cde22 100644
 --- a/src/Symfony/Bridge/PhpUnit/Tests/expectrisky.phpt
diff -pruN 5.4.10+dfsg-1/debian/patches/Revert-ErrorHandler-Skip-same-vendor-method-deprecations-.patch 5.4.11+dfsg-1/debian/patches/Revert-ErrorHandler-Skip-same-vendor-method-deprecations-.patch
--- 5.4.10+dfsg-1/debian/patches/Revert-ErrorHandler-Skip-same-vendor-method-deprecations-.patch	2022-06-29 05:53:28.000000000 +0000
+++ 5.4.11+dfsg-1/debian/patches/Revert-ErrorHandler-Skip-same-vendor-method-deprecations-.patch	2022-08-01 06:23:35.000000000 +0000
@@ -11,7 +11,7 @@ Origin: upstream, http://github.com/symf
  1 file changed, 9 deletions(-)
 
 diff --git a/src/Symfony/Component/ErrorHandler/DebugClassLoader.php b/src/Symfony/Component/ErrorHandler/DebugClassLoader.php
-index e4388fe..59cf452 100644
+index 6e4adea..2942211 100644
 --- a/src/Symfony/Component/ErrorHandler/DebugClassLoader.php
 +++ b/src/Symfony/Component/ErrorHandler/DebugClassLoader.php
 @@ -11,7 +11,6 @@
@@ -22,7 +22,7 @@ index e4388fe..59cf452 100644
  use Doctrine\Common\Persistence\Proxy as LegacyProxy;
  use Doctrine\Persistence\Proxy;
  use Mockery\MockInterface;
-@@ -426,14 +425,6 @@ class DebugClassLoader
+@@ -427,14 +426,6 @@ class DebugClassLoader
                          self::$method[$class] = self::$method[$use];
                      }
                  } elseif (!$refl->isInterface()) {
diff -pruN 5.4.10+dfsg-1/debian/patches/Use-installed-files-for-CI.patch 5.4.11+dfsg-1/debian/patches/Use-installed-files-for-CI.patch
--- 5.4.10+dfsg-1/debian/patches/Use-installed-files-for-CI.patch	2022-06-29 05:53:28.000000000 +0000
+++ 5.4.11+dfsg-1/debian/patches/Use-installed-files-for-CI.patch	2022-08-01 06:23:35.000000000 +0000
@@ -7,10 +7,10 @@ Subject: Use installed files for CI
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php b/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php
-index f97bb39..dc94fc3 100644
+index 36d0f44..4cc304b 100644
 --- a/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php
 +++ b/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php
-@@ -1091,7 +1091,7 @@ abstract class FrameworkExtensionTest extends TestCase
+@@ -1099,7 +1099,7 @@ abstract class FrameworkExtensionTest extends TestCase
          if (false !== $positionCoreTranslationFile = array_search(strtr(realpath(__DIR__.'/../../../../Component/Security/Core/Resources/translations/security.en.xlf'), '/', \DIRECTORY_SEPARATOR), $files)) {
              $this->assertContains(strtr(realpath(__DIR__.'/../../../../Component/Security/Core/Resources/translations/security.en.xlf'), '/', \DIRECTORY_SEPARATOR), $files);
          } else {
diff -pruN 5.4.10+dfsg-1/.github/patch-types.php 5.4.11+dfsg-1/.github/patch-types.php
--- 5.4.10+dfsg-1/.github/patch-types.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/.github/patch-types.php	2022-07-29 12:30:51.000000000 +0000
@@ -22,6 +22,7 @@ foreach ($loader->getClassMap() as $clas
         case false !== strpos($file, '/src/Symfony/Component/Config/Tests/Fixtures/ParseError.php'):
         case false !== strpos($file, '/src/Symfony/Component/DependencyInjection/Tests/Compiler/OptionalServiceClass.php'):
         case false !== strpos($file, '/src/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/autowiring_classes.php'):
+        case false !== strpos($file, '/src/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/compositetype_classes.php'):
         case false !== strpos($file, '/src/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/intersectiontype_classes.php'):
         case false !== strpos($file, '/src/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/MultipleArgumentsOptionalScalarNotReallyOptional.php'):
         case false !== strpos($file, '/src/Symfony/Component/DependencyInjection/Tests/Fixtures/CheckTypeDeclarationsPass/IntersectionConstructor.php'):
@@ -41,6 +42,7 @@ foreach ($loader->getClassMap() as $clas
         case false !== strpos($file, '/src/Symfony/Component/Validator/Tests/Fixtures/NestedAttribute/Entity.php'):
         case false !== strpos($file, '/src/Symfony/Component/VarDumper/Tests/Fixtures/NotLoadableClass.php'):
         case false !== strpos($file, '/src/Symfony/Component/VarDumper/Tests/Fixtures/ReflectionIntersectionTypeFixture.php'):
+        case false !== strpos($file, '/src/Symfony/Component/VarDumper/Tests/Fixtures/ReflectionUnionTypeWithIntersectionFixture.php'):
             continue 2;
     }
 
diff -pruN 5.4.10+dfsg-1/.github/workflows/integration-tests.yml 5.4.11+dfsg-1/.github/workflows/integration-tests.yml
--- 5.4.10+dfsg-1/.github/workflows/integration-tests.yml	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/.github/workflows/integration-tests.yml	2022-07-29 12:30:51.000000000 +0000
@@ -12,6 +12,9 @@ concurrency:
     group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
     cancel-in-progress: true
 
+permissions:
+  contents: read
+
 jobs:
 
   tests:
@@ -168,7 +171,7 @@ jobs:
         env:
           REDIS_HOST: 'localhost:16379'
           REDIS_CLUSTER_HOSTS: 'localhost:7000 localhost:7001 localhost:7002 localhost:7003 localhost:7004 localhost:7005'
-          REDIS_SENTINEL_HOSTS: 'localhost:26379'
+          REDIS_SENTINEL_HOSTS: 'localhost:26379 localhost:26379 localhost:26379'
           REDIS_SENTINEL_SERVICE: redis_sentinel
           MESSENGER_REDIS_DSN: redis://127.0.0.1:7006/messages
           MESSENGER_AMQP_DSN: amqp://localhost/%2f/messages
diff -pruN 5.4.10+dfsg-1/.github/workflows/intl-data-tests.yml 5.4.11+dfsg-1/.github/workflows/intl-data-tests.yml
--- 5.4.10+dfsg-1/.github/workflows/intl-data-tests.yml	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/.github/workflows/intl-data-tests.yml	2022-07-29 12:30:51.000000000 +0000
@@ -16,6 +16,9 @@ concurrency:
     group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
     cancel-in-progress: true
 
+permissions:
+  contents: read
+
 jobs:
   tests:
     name: Tests
diff -pruN 5.4.10+dfsg-1/.github/workflows/package-tests.yml 5.4.11+dfsg-1/.github/workflows/package-tests.yml
--- 5.4.10+dfsg-1/.github/workflows/package-tests.yml	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/.github/workflows/package-tests.yml	2022-07-29 12:30:51.000000000 +0000
@@ -5,6 +5,9 @@ on:
     paths:
       - src/**
 
+permissions:
+  contents: read
+
 jobs:
   verify:
     name: Verify
diff -pruN 5.4.10+dfsg-1/.github/workflows/phpunit-bridge.yml 5.4.11+dfsg-1/.github/workflows/phpunit-bridge.yml
--- 5.4.10+dfsg-1/.github/workflows/phpunit-bridge.yml	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/.github/workflows/phpunit-bridge.yml	2022-07-29 12:30:51.000000000 +0000
@@ -16,6 +16,9 @@ concurrency:
     group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
     cancel-in-progress: true
 
+permissions:
+  contents: read
+
 jobs:
   lint:
     name: Lint
diff -pruN 5.4.10+dfsg-1/.github/workflows/psalm.yml 5.4.11+dfsg-1/.github/workflows/psalm.yml
--- 5.4.10+dfsg-1/.github/workflows/psalm.yml	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/.github/workflows/psalm.yml	2022-07-29 12:30:51.000000000 +0000
@@ -11,6 +11,9 @@ concurrency:
     group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
     cancel-in-progress: true
 
+permissions:
+  contents: read
+
 jobs:
   psalm:
     name: Psalm
diff -pruN 5.4.10+dfsg-1/.github/workflows/unit-tests.yml 5.4.11+dfsg-1/.github/workflows/unit-tests.yml
--- 5.4.10+dfsg-1/.github/workflows/unit-tests.yml	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/.github/workflows/unit-tests.yml	2022-07-29 12:30:51.000000000 +0000
@@ -12,6 +12,9 @@ concurrency:
     group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
     cancel-in-progress: true
 
+permissions:
+  contents: read
+
 jobs:
 
   tests:
diff -pruN 5.4.10+dfsg-1/src/Symfony/Bridge/Doctrine/DependencyInjection/AbstractDoctrineExtension.php 5.4.11+dfsg-1/src/Symfony/Bridge/Doctrine/DependencyInjection/AbstractDoctrineExtension.php
--- 5.4.10+dfsg-1/src/Symfony/Bridge/Doctrine/DependencyInjection/AbstractDoctrineExtension.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Bridge/Doctrine/DependencyInjection/AbstractDoctrineExtension.php	2022-07-29 12:30:51.000000000 +0000
@@ -139,7 +139,7 @@ abstract class AbstractDoctrineExtension
      *
      * @return array|false
      */
-    protected function getMappingDriverBundleConfigDefaults(array $bundleConfig, \ReflectionClass $bundle, ContainerBuilder $container/*, string $bundleDir = null*/)
+    protected function getMappingDriverBundleConfigDefaults(array $bundleConfig, \ReflectionClass $bundle, ContainerBuilder $container/* , string $bundleDir = null */)
     {
         if (\func_num_args() < 4 && __CLASS__ !== static::class && __CLASS__ !== (new \ReflectionMethod($this, __FUNCTION__))->getDeclaringClass()->getName() && !$this instanceof \PHPUnit\Framework\MockObject\MockObject && !$this instanceof \Prophecy\Prophecy\ProphecySubjectInterface && !$this instanceof \Mockery\MockInterface) {
             trigger_deprecation('symfony/doctrine-bridge', '5.4', 'The "%s()" method will have a new "string $bundleDir = null" argument in version 6.0, not defining it is deprecated.', __METHOD__);
@@ -362,7 +362,7 @@ abstract class AbstractDoctrineExtension
                 $container->setDefinition($this->getObjectManagerElementName(sprintf('%s_memcached_instance', $objectManagerName)), $memcachedInstance);
                 $cacheDef->addMethodCall('setMemcached', [new Reference($this->getObjectManagerElementName(sprintf('%s_memcached_instance', $objectManagerName)))]);
                 break;
-             case 'redis':
+            case 'redis':
                 $redisClass = !empty($cacheDriver['class']) ? $cacheDriver['class'] : '%'.$this->getObjectManagerElementName('cache.redis.class').'%';
                 $redisInstanceClass = !empty($cacheDriver['instance_class']) ? $cacheDriver['instance_class'] : '%'.$this->getObjectManagerElementName('cache.redis_instance.class').'%';
                 $redisHost = !empty($cacheDriver['host']) ? $cacheDriver['host'] : '%'.$this->getObjectManagerElementName('cache.redis_host').'%';
@@ -462,7 +462,7 @@ abstract class AbstractDoctrineExtension
      *
      * @return string
      */
-    abstract protected function getMappingResourceConfigDirectory(/*string $bundleDir = null*/);
+    abstract protected function getMappingResourceConfigDirectory(/* string $bundleDir = null */);
 
     /**
      * Extension used by the mapping files.
diff -pruN 5.4.10+dfsg-1/src/Symfony/Bridge/Doctrine/Middleware/Debug/Query.php 5.4.11+dfsg-1/src/Symfony/Bridge/Doctrine/Middleware/Debug/Query.php
--- 5.4.10+dfsg-1/src/Symfony/Bridge/Doctrine/Middleware/Debug/Query.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Bridge/Doctrine/Middleware/Debug/Query.php	2022-07-29 12:30:51.000000000 +0000
@@ -59,8 +59,8 @@ class Query
     }
 
     /**
-     * @param string|int                 $param
-     * @param string|int|float|bool|null $value
+     * @param string|int $param
+     * @param mixed      $value
      */
     public function setValue($param, $value, int $type): void
     {
diff -pruN 5.4.10+dfsg-1/src/Symfony/Bridge/Doctrine/PropertyInfo/DoctrineExtractor.php 5.4.11+dfsg-1/src/Symfony/Bridge/Doctrine/PropertyInfo/DoctrineExtractor.php
--- 5.4.10+dfsg-1/src/Symfony/Bridge/Doctrine/PropertyInfo/DoctrineExtractor.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Bridge/Doctrine/PropertyInfo/DoctrineExtractor.php	2022-07-29 12:30:51.000000000 +0000
@@ -97,16 +97,16 @@ class DoctrineExtractor implements Prope
                     $fieldName = $associationMapping['indexBy'];
                     if (null === ($typeOfField = $subMetadata->getTypeOfField($fieldName))) {
                         $fieldName = $subMetadata->getFieldForColumn($associationMapping['indexBy']);
-                        //Not a property, maybe a column name?
+                        // Not a property, maybe a column name?
                         if (null === ($typeOfField = $subMetadata->getTypeOfField($fieldName))) {
-                            //Maybe the column name is the association join column?
+                            // Maybe the column name is the association join column?
                             $associationMapping = $subMetadata->getAssociationMapping($fieldName);
 
                             /** @var ClassMetadataInfo $subMetadata */
                             $indexProperty = $subMetadata->getSingleAssociationReferencedJoinColumnName($fieldName);
                             $subMetadata = $this->entityManager->getClassMetadata($associationMapping['targetEntity']);
 
-                            //Not a property, maybe a column name?
+                            // Not a property, maybe a column name?
                             if (null === ($typeOfField = $subMetadata->getTypeOfField($indexProperty))) {
                                 $fieldName = $subMetadata->getFieldForColumn($indexProperty);
                                 $typeOfField = $subMetadata->getTypeOfField($fieldName);
diff -pruN 5.4.10+dfsg-1/src/Symfony/Bridge/Doctrine/Tests/Form/ChoiceList/DoctrineChoiceLoaderTest.php 5.4.11+dfsg-1/src/Symfony/Bridge/Doctrine/Tests/Form/ChoiceList/DoctrineChoiceLoaderTest.php
--- 5.4.10+dfsg-1/src/Symfony/Bridge/Doctrine/Tests/Form/ChoiceList/DoctrineChoiceLoaderTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Bridge/Doctrine/Tests/Form/ChoiceList/DoctrineChoiceLoaderTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -328,8 +328,8 @@ class DoctrineChoiceLoaderTest extends T
 
         $this->assertSame(
             [4 => $this->obj3, 7 => $this->obj2],
-            $loader->loadChoicesForValues([4 => '3', 7 => '2']
-        ));
+            $loader->loadChoicesForValues([4 => '3', 7 => '2'])
+        );
     }
 
     public function testLoadChoicesForValuesLoadsOnlyChoicesIfValueUseIdReader()
@@ -364,8 +364,8 @@ class DoctrineChoiceLoaderTest extends T
 
         $this->assertSame(
             [4 => $this->obj3, 7 => $this->obj2],
-            $loader->loadChoicesForValues([4 => '3', 7 => '2'], [$this->idReader, 'getIdValue']
-        ));
+            $loader->loadChoicesForValues([4 => '3', 7 => '2'], [$this->idReader, 'getIdValue'])
+        );
     }
 
     public function testLoadChoicesForValuesLoadsAllIfSingleIntIdAndValueGiven()
diff -pruN 5.4.10+dfsg-1/src/Symfony/Bridge/Doctrine/Tests/IdGenerator/EntityManager.php 5.4.11+dfsg-1/src/Symfony/Bridge/Doctrine/Tests/IdGenerator/EntityManager.php
--- 5.4.10+dfsg-1/src/Symfony/Bridge/Doctrine/Tests/IdGenerator/EntityManager.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Bridge/Doctrine/Tests/IdGenerator/EntityManager.php	1970-01-01 00:00:00.000000000 +0000
@@ -1,21 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Bridge\Doctrine\Tests\IdGenerator;
-
-use Doctrine\ORM\EntityManager as DoctrineEntityManager;
-
-class EntityManager extends DoctrineEntityManager
-{
-    public function __construct()
-    {
-    }
-}
diff -pruN 5.4.10+dfsg-1/src/Symfony/Bridge/Doctrine/Tests/IdGenerator/UlidGeneratorTest.php 5.4.11+dfsg-1/src/Symfony/Bridge/Doctrine/Tests/IdGenerator/UlidGeneratorTest.php
--- 5.4.10+dfsg-1/src/Symfony/Bridge/Doctrine/Tests/IdGenerator/UlidGeneratorTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Bridge/Doctrine/Tests/IdGenerator/UlidGeneratorTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -11,6 +11,7 @@
 
 namespace Symfony\Bridge\Doctrine\Tests\IdGenerator;
 
+use Doctrine\ORM\EntityManager;
 use Doctrine\ORM\Mapping\Entity;
 use PHPUnit\Framework\TestCase;
 use Symfony\Bridge\Doctrine\IdGenerator\UlidGenerator;
@@ -21,7 +22,7 @@ class UlidGeneratorTest extends TestCase
 {
     public function testUlidCanBeGenerated()
     {
-        $em = new EntityManager();
+        $em = (new \ReflectionClass(EntityManager::class))->newInstanceWithoutConstructor();
         $generator = new UlidGenerator();
         $ulid = $generator->generate($em, new Entity());
 
@@ -35,7 +36,7 @@ class UlidGeneratorTest extends TestCase
     public function testUlidFactory()
     {
         $ulid = new Ulid('00000000000000000000000000');
-        $em = new EntityManager();
+        $em = (new \ReflectionClass(EntityManager::class))->newInstanceWithoutConstructor();
         $factory = $this->createMock(UlidFactory::class);
         $factory->expects($this->any())
             ->method('create')
diff -pruN 5.4.10+dfsg-1/src/Symfony/Bridge/Doctrine/Tests/IdGenerator/UuidGeneratorTest.php 5.4.11+dfsg-1/src/Symfony/Bridge/Doctrine/Tests/IdGenerator/UuidGeneratorTest.php
--- 5.4.10+dfsg-1/src/Symfony/Bridge/Doctrine/Tests/IdGenerator/UuidGeneratorTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Bridge/Doctrine/Tests/IdGenerator/UuidGeneratorTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -11,6 +11,7 @@
 
 namespace Symfony\Bridge\Doctrine\Tests\IdGenerator;
 
+use Doctrine\ORM\EntityManager;
 use PHPUnit\Framework\TestCase;
 use Symfony\Bridge\Doctrine\IdGenerator\UuidGenerator;
 use Symfony\Component\Uid\Factory\UuidFactory;
@@ -25,7 +26,7 @@ class UuidGeneratorTest extends TestCase
 {
     public function testUuidCanBeGenerated()
     {
-        $em = new EntityManager();
+        $em = (new \ReflectionClass(EntityManager::class))->newInstanceWithoutConstructor();
         $generator = new UuidGenerator();
         $uuid = $generator->generate($em, new Entity());
 
@@ -35,7 +36,7 @@ class UuidGeneratorTest extends TestCase
     public function testCustomUuidfactory()
     {
         $uuid = new UuidV4();
-        $em = new EntityManager();
+        $em = (new \ReflectionClass(EntityManager::class))->newInstanceWithoutConstructor();
         $factory = $this->createMock(UuidFactory::class);
         $factory->expects($this->any())
             ->method('create')
@@ -47,7 +48,7 @@ class UuidGeneratorTest extends TestCase
 
     public function testUuidfactory()
     {
-        $em = new EntityManager();
+        $em = (new \ReflectionClass(EntityManager::class))->newInstanceWithoutConstructor();
         $generator = new UuidGenerator();
         $this->assertInstanceOf(UuidV6::class, $generator->generate($em, new Entity()));
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Bridge/Doctrine/Tests/Middleware/Debug/MiddlewareTest.php 5.4.11+dfsg-1/src/Symfony/Bridge/Doctrine/Tests/Middleware/Debug/MiddlewareTest.php
--- 5.4.10+dfsg-1/src/Symfony/Bridge/Doctrine/Tests/Middleware/Debug/MiddlewareTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Bridge/Doctrine/Tests/Middleware/Debug/MiddlewareTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -17,6 +17,7 @@ use Doctrine\DBAL\Driver\Middleware as M
 use Doctrine\DBAL\DriverManager;
 use Doctrine\DBAL\ParameterType;
 use Doctrine\DBAL\Result;
+use Doctrine\DBAL\Types\Types;
 use PHPUnit\Framework\TestCase;
 use Symfony\Bridge\Doctrine\Middleware\Debug\DebugDataHolder;
 use Symfony\Bridge\Doctrine\Middleware\Debug\Middleware;
@@ -61,12 +62,23 @@ CREATE TABLE products (
 	id INTEGER PRIMARY KEY,
 	name TEXT NOT NULL,
 	price REAL NOT NULL,
-	stock INTEGER NOT NULL
+	stock INTEGER NOT NULL,
+	picture BLOB NULL,
+	tags TEXT NULL,
+	created_at TEXT NULL
 );
 EOT
         );
     }
 
+    private function getResourceFromString(string $str)
+    {
+        $res = fopen('php://temp', 'r+');
+        fwrite($res, $str);
+
+        return $res;
+    }
+
     public function provideExecuteMethod(): array
     {
         return [
@@ -107,18 +119,26 @@ EOT
     {
         $this->init();
 
-        $stmt = $this->conn->prepare('INSERT INTO products(name, price, stock) VALUES (?, ?, ?)');
+        $sql = <<<EOT
+INSERT INTO products(name, price, stock, picture, tags, created_at)
+VALUES (?, ?, ?, ?, ?, ?)
+EOT;
+
+        $stmt = $this->conn->prepare($sql);
         $stmt->bindValue(1, 'product1');
         $stmt->bindValue(2, 12.5);
         $stmt->bindValue(3, 5, ParameterType::INTEGER);
+        $stmt->bindValue(4, $res = $this->getResourceFromString('mydata'), ParameterType::BINARY);
+        $stmt->bindValue(5, ['foo', 'bar'], Types::SIMPLE_ARRAY);
+        $stmt->bindValue(6, new \DateTime('2022-06-12 11:00:00'), Types::DATETIME_MUTABLE);
 
         $executeMethod($stmt);
 
         $debug = $this->debugDataHolder->getData()['default'] ?? [];
         $this->assertCount(2, $debug);
-        $this->assertSame('INSERT INTO products(name, price, stock) VALUES (?, ?, ?)', $debug[1]['sql']);
-        $this->assertSame(['product1', 12.5, 5], $debug[1]['params']);
-        $this->assertSame([ParameterType::STRING, ParameterType::STRING, ParameterType::INTEGER], $debug[1]['types']);
+        $this->assertSame($sql, $debug[1]['sql']);
+        $this->assertSame(['product1', 12.5, 5, $res, 'foo,bar', '2022-06-12 11:00:00'], $debug[1]['params']);
+        $this->assertSame([ParameterType::STRING, ParameterType::STRING, ParameterType::INTEGER, ParameterType::BINARY, ParameterType::STRING, ParameterType::STRING], $debug[1]['types']);
         $this->assertGreaterThan(0, $debug[1]['executionMS']);
     }
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/DoctrineExtractorTest.php 5.4.11+dfsg-1/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/DoctrineExtractorTest.php
--- 5.4.10+dfsg-1/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/DoctrineExtractorTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/DoctrineExtractorTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -138,9 +138,9 @@ class DoctrineExtractorTest extends Test
         }
         $this->assertEquals([new Type(Type::BUILTIN_TYPE_OBJECT, false, EnumString::class)], $this->createExtractor()->getTypes(DoctrineEnum::class, 'enumString', []));
         $this->assertEquals([new Type(Type::BUILTIN_TYPE_OBJECT, false, EnumInt::class)], $this->createExtractor()->getTypes(DoctrineEnum::class, 'enumInt', []));
-        $this->assertEquals(null, $this->createExtractor()->getTypes(DoctrineEnum::class, 'enumStringArray', []));
+        $this->assertNull($this->createExtractor()->getTypes(DoctrineEnum::class, 'enumStringArray', []));
         $this->assertEquals([new Type(Type::BUILTIN_TYPE_ARRAY, false, null, true, new Type(Type::BUILTIN_TYPE_INT), new Type(Type::BUILTIN_TYPE_OBJECT, false, EnumInt::class))], $this->createExtractor()->getTypes(DoctrineEnum::class, 'enumIntArray', []));
-        $this->assertEquals(null, $this->createExtractor()->getTypes(DoctrineEnum::class, 'enumCustom', []));
+        $this->assertNull($this->createExtractor()->getTypes(DoctrineEnum::class, 'enumCustom', []));
     }
 
     public function typesProvider()
diff -pruN 5.4.10+dfsg-1/src/Symfony/Bridge/Doctrine/Tests/Types/UlidTypeTest.php 5.4.11+dfsg-1/src/Symfony/Bridge/Doctrine/Tests/Types/UlidTypeTest.php
--- 5.4.10+dfsg-1/src/Symfony/Bridge/Doctrine/Tests/Types/UlidTypeTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Bridge/Doctrine/Tests/Types/UlidTypeTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -12,6 +12,9 @@
 namespace Symfony\Bridge\Doctrine\Tests\Types;
 
 use Doctrine\DBAL\Platforms\AbstractPlatform;
+use Doctrine\DBAL\Platforms\MySQLPlatform;
+use Doctrine\DBAL\Platforms\PostgreSQLPlatform;
+use Doctrine\DBAL\Platforms\SqlitePlatform;
 use Doctrine\DBAL\Types\ConversionException;
 use Doctrine\DBAL\Types\Type;
 use PHPUnit\Framework\TestCase;
@@ -19,13 +22,13 @@ use Symfony\Bridge\Doctrine\Types\UlidTy
 use Symfony\Component\Uid\AbstractUid;
 use Symfony\Component\Uid\Ulid;
 
+// DBAL 2 compatibility
+class_exists('Doctrine\DBAL\Platforms\PostgreSqlPlatform');
+
 final class UlidTypeTest extends TestCase
 {
     private const DUMMY_ULID = '01EEDQEK6ZAZE93J8KG5B4MBJC';
 
-    /** @var AbstractPlatform */
-    private $platform;
-
     /** @var UlidType */
     private $type;
 
@@ -40,14 +43,6 @@ final class UlidTypeTest extends TestCas
 
     protected function setUp(): void
     {
-        $this->platform = $this->createMock(AbstractPlatform::class);
-        $this->platform
-            ->method('hasNativeGuidType')
-            ->willReturn(true);
-        $this->platform
-            ->method('getGuidTypeDeclarationSQL')
-            ->willReturn('DUMMYVARCHAR()');
-
         $this->type = Type::getType('ulid');
     }
 
@@ -56,7 +51,7 @@ final class UlidTypeTest extends TestCas
         $ulid = Ulid::fromString(self::DUMMY_ULID);
 
         $expected = $ulid->toRfc4122();
-        $actual = $this->type->convertToDatabaseValue($ulid, $this->platform);
+        $actual = $this->type->convertToDatabaseValue($ulid, new PostgreSQLPlatform());
 
         $this->assertEquals($expected, $actual);
     }
@@ -70,14 +65,14 @@ final class UlidTypeTest extends TestCas
             ->method('toRfc4122')
             ->willReturn('foo');
 
-        $actual = $this->type->convertToDatabaseValue($ulid, $this->platform);
+        $actual = $this->type->convertToDatabaseValue($ulid, new PostgreSQLPlatform());
 
         $this->assertEquals('foo', $actual);
     }
 
     public function testUlidStringConvertsToDatabaseValue()
     {
-        $actual = $this->type->convertToDatabaseValue(self::DUMMY_ULID, $this->platform);
+        $actual = $this->type->convertToDatabaseValue(self::DUMMY_ULID, new PostgreSQLPlatform());
         $ulid = Ulid::fromString(self::DUMMY_ULID);
 
         $expected = $ulid->toRfc4122();
@@ -89,25 +84,25 @@ final class UlidTypeTest extends TestCas
     {
         $this->expectException(ConversionException::class);
 
-        $this->type->convertToDatabaseValue(new \stdClass(), $this->platform);
+        $this->type->convertToDatabaseValue(new \stdClass(), new SqlitePlatform());
     }
 
     public function testNullConversionForDatabaseValue()
     {
-        $this->assertNull($this->type->convertToDatabaseValue(null, $this->platform));
+        $this->assertNull($this->type->convertToDatabaseValue(null, new SqlitePlatform()));
     }
 
     public function testUlidInterfaceConvertsToPHPValue()
     {
         $ulid = $this->createMock(AbstractUid::class);
-        $actual = $this->type->convertToPHPValue($ulid, $this->platform);
+        $actual = $this->type->convertToPHPValue($ulid, new SqlitePlatform());
 
         $this->assertSame($ulid, $actual);
     }
 
     public function testUlidConvertsToPHPValue()
     {
-        $ulid = $this->type->convertToPHPValue(self::DUMMY_ULID, $this->platform);
+        $ulid = $this->type->convertToPHPValue(self::DUMMY_ULID, new SqlitePlatform());
 
         $this->assertInstanceOf(Ulid::class, $ulid);
         $this->assertEquals(self::DUMMY_ULID, $ulid->__toString());
@@ -117,19 +112,19 @@ final class UlidTypeTest extends TestCas
     {
         $this->expectException(ConversionException::class);
 
-        $this->type->convertToPHPValue('abcdefg', $this->platform);
+        $this->type->convertToPHPValue('abcdefg', new SqlitePlatform());
     }
 
     public function testNullConversionForPHPValue()
     {
-        $this->assertNull($this->type->convertToPHPValue(null, $this->platform));
+        $this->assertNull($this->type->convertToPHPValue(null, new SqlitePlatform()));
     }
 
     public function testReturnValueIfUlidForPHPValue()
     {
         $ulid = new Ulid();
 
-        $this->assertSame($ulid, $this->type->convertToPHPValue($ulid, $this->platform));
+        $this->assertSame($ulid, $this->type->convertToPHPValue($ulid, new SqlitePlatform()));
     }
 
     public function testGetName()
@@ -137,13 +132,25 @@ final class UlidTypeTest extends TestCas
         $this->assertEquals('ulid', $this->type->getName());
     }
 
-    public function testGetGuidTypeDeclarationSQL()
+    /**
+     * @dataProvider provideSqlDeclarations
+     */
+    public function testGetGuidTypeDeclarationSQL(AbstractPlatform $platform, string $expectedDeclaration)
+    {
+        $this->assertEquals($expectedDeclaration, $this->type->getSqlDeclaration(['length' => 36], $platform));
+    }
+
+    public function provideSqlDeclarations(): array
     {
-        $this->assertEquals('DUMMYVARCHAR()', $this->type->getSqlDeclaration(['length' => 36], $this->platform));
+        return [
+            [new PostgreSQLPlatform(), 'UUID'],
+            [new SqlitePlatform(), 'BLOB'],
+            [new MySQLPlatform(), 'BINARY(16)'],
+        ];
     }
 
     public function testRequiresSQLCommentHint()
     {
-        $this->assertTrue($this->type->requiresSQLCommentHint($this->platform));
+        $this->assertTrue($this->type->requiresSQLCommentHint(new SqlitePlatform()));
     }
 }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Bridge/Doctrine/Tests/Types/UuidTypeTest.php 5.4.11+dfsg-1/src/Symfony/Bridge/Doctrine/Tests/Types/UuidTypeTest.php
--- 5.4.10+dfsg-1/src/Symfony/Bridge/Doctrine/Tests/Types/UuidTypeTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Bridge/Doctrine/Tests/Types/UuidTypeTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -12,6 +12,9 @@
 namespace Symfony\Bridge\Doctrine\Tests\Types;
 
 use Doctrine\DBAL\Platforms\AbstractPlatform;
+use Doctrine\DBAL\Platforms\MySQLPlatform;
+use Doctrine\DBAL\Platforms\PostgreSQLPlatform;
+use Doctrine\DBAL\Platforms\SqlitePlatform;
 use Doctrine\DBAL\Types\ConversionException;
 use Doctrine\DBAL\Types\Type;
 use PHPUnit\Framework\TestCase;
@@ -19,13 +22,14 @@ use Symfony\Bridge\Doctrine\Types\UuidTy
 use Symfony\Component\Uid\AbstractUid;
 use Symfony\Component\Uid\Uuid;
 
+// DBAL 2 compatibility
+class_exists('Doctrine\DBAL\Platforms\MySqlPlatform');
+class_exists('Doctrine\DBAL\Platforms\PostgreSqlPlatform');
+
 final class UuidTypeTest extends TestCase
 {
     private const DUMMY_UUID = '9f755235-5a2d-4aba-9605-e9962b312e50';
 
-    /** @var AbstractPlatform */
-    private $platform;
-
     /** @var UuidType */
     private $type;
 
@@ -40,14 +44,6 @@ final class UuidTypeTest extends TestCas
 
     protected function setUp(): void
     {
-        $this->platform = $this->createMock(AbstractPlatform::class);
-        $this->platform
-            ->method('hasNativeGuidType')
-            ->willReturn(true);
-        $this->platform
-            ->method('getGuidTypeDeclarationSQL')
-            ->willReturn('DUMMYVARCHAR()');
-
         $this->type = Type::getType('uuid');
     }
 
@@ -56,12 +52,12 @@ final class UuidTypeTest extends TestCas
         $uuid = Uuid::fromString(self::DUMMY_UUID);
 
         $expected = $uuid->__toString();
-        $actual = $this->type->convertToDatabaseValue($uuid, $this->platform);
+        $actual = $this->type->convertToDatabaseValue($uuid, new PostgreSQLPlatform());
 
         $this->assertEquals($expected, $actual);
     }
 
-    public function testUuidInterfaceConvertsToDatabaseValue()
+    public function testUuidInterfaceConvertsToNativeUidDatabaseValue()
     {
         $uuid = $this->createMock(AbstractUid::class);
 
@@ -70,14 +66,28 @@ final class UuidTypeTest extends TestCas
             ->method('toRfc4122')
             ->willReturn('foo');
 
-        $actual = $this->type->convertToDatabaseValue($uuid, $this->platform);
+        $actual = $this->type->convertToDatabaseValue($uuid, new PostgreSQLPlatform());
+
+        $this->assertEquals('foo', $actual);
+    }
+
+    public function testUuidInterfaceConvertsToBinaryDatabaseValue()
+    {
+        $uuid = $this->createMock(AbstractUid::class);
+
+        $uuid
+            ->expects($this->once())
+            ->method('toBinary')
+            ->willReturn('foo');
+
+        $actual = $this->type->convertToDatabaseValue($uuid, new MySQLPlatform());
 
         $this->assertEquals('foo', $actual);
     }
 
     public function testUuidStringConvertsToDatabaseValue()
     {
-        $actual = $this->type->convertToDatabaseValue(self::DUMMY_UUID, $this->platform);
+        $actual = $this->type->convertToDatabaseValue(self::DUMMY_UUID, new PostgreSQLPlatform());
 
         $this->assertEquals(self::DUMMY_UUID, $actual);
     }
@@ -86,25 +96,25 @@ final class UuidTypeTest extends TestCas
     {
         $this->expectException(ConversionException::class);
 
-        $this->type->convertToDatabaseValue(new \stdClass(), $this->platform);
+        $this->type->convertToDatabaseValue(new \stdClass(), new SqlitePlatform());
     }
 
     public function testNullConversionForDatabaseValue()
     {
-        $this->assertNull($this->type->convertToDatabaseValue(null, $this->platform));
+        $this->assertNull($this->type->convertToDatabaseValue(null, new SqlitePlatform()));
     }
 
     public function testUuidInterfaceConvertsToPHPValue()
     {
         $uuid = $this->createMock(AbstractUid::class);
-        $actual = $this->type->convertToPHPValue($uuid, $this->platform);
+        $actual = $this->type->convertToPHPValue($uuid, new SqlitePlatform());
 
         $this->assertSame($uuid, $actual);
     }
 
     public function testUuidConvertsToPHPValue()
     {
-        $uuid = $this->type->convertToPHPValue(self::DUMMY_UUID, $this->platform);
+        $uuid = $this->type->convertToPHPValue(self::DUMMY_UUID, new SqlitePlatform());
 
         $this->assertInstanceOf(Uuid::class, $uuid);
         $this->assertEquals(self::DUMMY_UUID, $uuid->__toString());
@@ -114,19 +124,19 @@ final class UuidTypeTest extends TestCas
     {
         $this->expectException(ConversionException::class);
 
-        $this->type->convertToPHPValue('abcdefg', $this->platform);
+        $this->type->convertToPHPValue('abcdefg', new SqlitePlatform());
     }
 
     public function testNullConversionForPHPValue()
     {
-        $this->assertNull($this->type->convertToPHPValue(null, $this->platform));
+        $this->assertNull($this->type->convertToPHPValue(null, new SqlitePlatform()));
     }
 
     public function testReturnValueIfUuidForPHPValue()
     {
         $uuid = Uuid::v4();
 
-        $this->assertSame($uuid, $this->type->convertToPHPValue($uuid, $this->platform));
+        $this->assertSame($uuid, $this->type->convertToPHPValue($uuid, new SqlitePlatform()));
     }
 
     public function testGetName()
@@ -134,13 +144,25 @@ final class UuidTypeTest extends TestCas
         $this->assertEquals('uuid', $this->type->getName());
     }
 
-    public function testGetGuidTypeDeclarationSQL()
+    /**
+     * @dataProvider provideSqlDeclarations
+     */
+    public function testGetGuidTypeDeclarationSQL(AbstractPlatform $platform, string $expectedDeclaration)
+    {
+        $this->assertEquals($expectedDeclaration, $this->type->getSqlDeclaration(['length' => 36], $platform));
+    }
+
+    public function provideSqlDeclarations(): array
     {
-        $this->assertEquals('DUMMYVARCHAR()', $this->type->getSqlDeclaration(['length' => 36], $this->platform));
+        return [
+            [new PostgreSQLPlatform(), 'UUID'],
+            [new SqlitePlatform(), 'BLOB'],
+            [new MySQLPlatform(), 'BINARY(16)'],
+        ];
     }
 
     public function testRequiresSQLCommentHint()
     {
-        $this->assertTrue($this->type->requiresSQLCommentHint($this->platform));
+        $this->assertTrue($this->type->requiresSQLCommentHint(new SqlitePlatform()));
     }
 }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Bridge/Doctrine/Types/AbstractUidType.php 5.4.11+dfsg-1/src/Symfony/Bridge/Doctrine/Types/AbstractUidType.php
--- 5.4.10+dfsg-1/src/Symfony/Bridge/Doctrine/Types/AbstractUidType.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Bridge/Doctrine/Types/AbstractUidType.php	2022-07-29 12:30:51.000000000 +0000
@@ -18,6 +18,9 @@ use Symfony\Component\Uid\AbstractUid;
 
 abstract class AbstractUidType extends Type
 {
+    /**
+     * @return class-string<AbstractUid>
+     */
     abstract protected function getUidClass(): string;
 
     /**
@@ -25,7 +28,7 @@ abstract class AbstractUidType extends T
      */
     public function getSQLDeclaration(array $column, AbstractPlatform $platform): string
     {
-        if ($platform->hasNativeGuidType()) {
+        if ($this->hasNativeGuidType($platform)) {
             return $platform->getGuidTypeDeclarationSQL($column);
         }
 
@@ -64,7 +67,7 @@ abstract class AbstractUidType extends T
      */
     public function convertToDatabaseValue($value, AbstractPlatform $platform): ?string
     {
-        $toString = $platform->hasNativeGuidType() ? 'toRfc4122' : 'toBinary';
+        $toString = $this->hasNativeGuidType($platform) ? 'toRfc4122' : 'toBinary';
 
         if ($value instanceof AbstractUid) {
             return $value->$toString();
@@ -92,4 +95,14 @@ abstract class AbstractUidType extends T
     {
         return true;
     }
+
+    private function hasNativeGuidType(AbstractPlatform $platform): bool
+    {
+        // Compatibility with DBAL < 3.4
+        $method = method_exists($platform, 'getStringTypeDeclarationSQL')
+            ? 'getStringTypeDeclarationSQL'
+            : 'getVarcharTypeDeclarationSQL';
+
+        return $platform->getGuidTypeDeclarationSQL([]) !== $platform->$method(['fixed' => true, 'length' => 36]);
+    }
 }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Bridge/PhpUnit/bin/simple-phpunit.php 5.4.11+dfsg-1/src/Symfony/Bridge/PhpUnit/bin/simple-phpunit.php
--- 5.4.10+dfsg-1/src/Symfony/Bridge/PhpUnit/bin/simple-phpunit.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Bridge/PhpUnit/bin/simple-phpunit.php	2022-07-29 12:30:51.000000000 +0000
@@ -66,14 +66,14 @@ $getEnvVar = function ($name, $default =
         $phpunitConfigFilename = $phpunitConfigFilename ?: $getPhpUnitConfig('phpunit.xml');
 
         if ($phpunitConfigFilename) {
-            $phpunitConfig = new DomDocument();
+            $phpunitConfig = new DOMDocument();
             $phpunitConfig->load($phpunitConfigFilename);
         } else {
             $phpunitConfig = false;
         }
     }
     if (false !== $phpunitConfig) {
-        $var = new DOMXpath($phpunitConfig);
+        $var = new DOMXPath($phpunitConfig);
         foreach ($var->query('//php/server[@name="'.$name.'"]') as $var) {
             return $var->getAttribute('value');
         }
@@ -149,9 +149,9 @@ if ('disabled' === $getEnvVar('SYMFONY_D
 
 $COMPOSER = ($COMPOSER = getenv('COMPOSER_BINARY'))
     || file_exists($COMPOSER = $oldPwd.'/composer.phar')
-    || ($COMPOSER = rtrim((string) ('\\' === \DIRECTORY_SEPARATOR ? preg_replace('/[\r\n].*/', '', `where.exe composer.phar 2> NUL`) : `which composer.phar 2> /dev/null`)))
-    || ($COMPOSER = rtrim((string) ('\\' === \DIRECTORY_SEPARATOR ? preg_replace('/[\r\n].*/', '', `where.exe composer 2> NUL`) : `which composer 2> /dev/null`)))
-    || file_exists($COMPOSER = rtrim((string) ('\\' === \DIRECTORY_SEPARATOR ? `git rev-parse --show-toplevel 2> NUL` : `git rev-parse --show-toplevel 2> /dev/null`)).\DIRECTORY_SEPARATOR.'composer.phar')
+    || ($COMPOSER = rtrim((string) ('\\' === \DIRECTORY_SEPARATOR ? preg_replace('/[\r\n].*/', '', shell_exec('where.exe composer.phar 2> NUL')) : shell_exec('which composer.phar 2> /dev/null'))))
+    || ($COMPOSER = rtrim((string) ('\\' === \DIRECTORY_SEPARATOR ? preg_replace('/[\r\n].*/', '', shell_exec('where.exe composer 2> NUL')) : shell_exec('which composer 2> /dev/null'))))
+    || file_exists($COMPOSER = rtrim((string) ('\\' === \DIRECTORY_SEPARATOR ? shell_exec('git rev-parse --show-toplevel 2> NUL') : shell_exec('git rev-parse --show-toplevel 2> /dev/null'))).\DIRECTORY_SEPARATOR.'composer.phar')
     ? ('#!/usr/bin/env php' === file_get_contents($COMPOSER, false, null, 0, 18) ? $PHP : '').' '.escapeshellarg($COMPOSER) // detect shell wrappers by looking at the shebang
     : 'composer';
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Bridge/PhpUnit/DeprecationErrorHandler.php 5.4.11+dfsg-1/src/Symfony/Bridge/PhpUnit/DeprecationErrorHandler.php
--- 5.4.10+dfsg-1/src/Symfony/Bridge/PhpUnit/DeprecationErrorHandler.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Bridge/PhpUnit/DeprecationErrorHandler.php	2022-07-29 12:30:51.000000000 +0000
@@ -188,7 +188,7 @@ class DeprecationErrorHandler
         if (class_exists(DebugClassLoader::class, false)) {
             DebugClassLoader::checkClasses();
         }
-        $currErrorHandler = set_error_handler('var_dump');
+        $currErrorHandler = set_error_handler('is_int');
         restore_error_handler();
 
         if ($currErrorHandler !== [$this, 'handleError']) {
diff -pruN 5.4.10+dfsg-1/src/Symfony/Bridge/PhpUnit/Legacy/SymfonyTestsListenerTrait.php 5.4.11+dfsg-1/src/Symfony/Bridge/PhpUnit/Legacy/SymfonyTestsListenerTrait.php
--- 5.4.10+dfsg-1/src/Symfony/Bridge/PhpUnit/Legacy/SymfonyTestsListenerTrait.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Bridge/PhpUnit/Legacy/SymfonyTestsListenerTrait.php	2022-07-29 12:30:51.000000000 +0000
@@ -271,7 +271,7 @@ class SymfonyTestsListenerTrait
             $assertions = \count(self::$expectedDeprecations) + $test->getNumAssertions();
             if ($test->doesNotPerformAssertions() && $assertions > 0) {
                 $test->getTestResultObject()->addFailure($test, new RiskyTestError(sprintf('This test is annotated with "@doesNotPerformAssertions", but performed %s assertions', $assertions)), $time);
-            } elseif ($assertions === 0 && $test->getTestResultObject()->noneSkipped()) {
+            } elseif ($assertions === 0 && !$test->doesNotPerformAssertions() && $test->getTestResultObject()->noneSkipped()) {
                 $test->getTestResultObject()->addFailure($test, new RiskyTestError('This test did not perform any assertions'), $time);
             }
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Bridge/PhpUnit/Tests/expectnotrisky.phpt 5.4.11+dfsg-1/src/Symfony/Bridge/PhpUnit/Tests/expectnotrisky.phpt
--- 5.4.10+dfsg-1/src/Symfony/Bridge/PhpUnit/Tests/expectnotrisky.phpt	1970-01-01 00:00:00.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Bridge/PhpUnit/Tests/expectnotrisky.phpt	2022-07-29 12:30:51.000000000 +0000
@@ -0,0 +1,18 @@
+--TEST--
+Test NoAssertionsTestNotRisky not risky test
+--SKIPIF--
+<?php if ('\\' === DIRECTORY_SEPARATOR && !extension_loaded('mbstring')) die('Skipping on Windows without mbstring');
+--FILE--
+<?php
+$test =  realpath(__DIR__.'/FailTests/NoAssertionsTestNotRisky.php');
+passthru('php '.getenv('SYMFONY_SIMPLE_PHPUNIT_BIN_DIR').'/simple-phpunit.php --fail-on-risky --colors=never '.$test);
+?>
+--EXPECTF--
+PHPUnit %s
+
+%ATesting Symfony\Bridge\PhpUnit\Tests\FailTests\NoAssertionsTestNotRisky
+.                                                                   1 / 1 (100%)
+
+Time: %s, Memory: %s
+
+OK (1 test, 0 assertions)
diff -pruN 5.4.10+dfsg-1/src/Symfony/Bridge/PhpUnit/Tests/FailTests/NoAssertionsTestNotRisky.php 5.4.11+dfsg-1/src/Symfony/Bridge/PhpUnit/Tests/FailTests/NoAssertionsTestNotRisky.php
--- 5.4.10+dfsg-1/src/Symfony/Bridge/PhpUnit/Tests/FailTests/NoAssertionsTestNotRisky.php	1970-01-01 00:00:00.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Bridge/PhpUnit/Tests/FailTests/NoAssertionsTestNotRisky.php	2022-07-29 12:30:51.000000000 +0000
@@ -0,0 +1,32 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Bridge\PhpUnit\Tests\FailTests;
+
+use PHPUnit\Framework\TestCase;
+use Symfony\Bridge\PhpUnit\ExpectDeprecationTrait;
+
+/**
+ * This class is deliberately suffixed with *TestRisky.php so that it is ignored
+ * by PHPUnit. This test is designed to fail. See ../expectnotrisky.phpt.
+ */
+final class NoAssertionsTestNotRisky extends TestCase
+{
+    use ExpectDeprecationTrait;
+
+    /**
+     * Do not remove this test in the next major version.
+     */
+    public function testOne()
+    {
+        $this->expectNotToPerformAssertions();
+    }
+}
diff -pruN 5.4.10+dfsg-1/src/Symfony/Bridge/Twig/Extension/CodeExtension.php 5.4.11+dfsg-1/src/Symfony/Bridge/Twig/Extension/CodeExtension.php
--- 5.4.10+dfsg-1/src/Symfony/Bridge/Twig/Extension/CodeExtension.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Bridge/Twig/Extension/CodeExtension.php	2022-07-29 12:30:51.000000000 +0000
@@ -31,7 +31,7 @@ final class CodeExtension extends Abstra
      */
     public function __construct($fileLinkFormat, string $projectDir, string $charset)
     {
-        $this->fileLinkFormat = $fileLinkFormat ?: ini_get('xdebug.file_link_format') ?: get_cfg_var('xdebug.file_link_format');
+        $this->fileLinkFormat = $fileLinkFormat ?: \ini_get('xdebug.file_link_format') ?: get_cfg_var('xdebug.file_link_format');
         $this->projectDir = str_replace('\\', '/', $projectDir).'/';
         $this->charset = $charset;
     }
@@ -212,7 +212,7 @@ final class CodeExtension extends Abstra
         if ($context && str_contains($message, '{')) {
             $replacements = [];
             foreach ($context as $key => $val) {
-                if (is_scalar($val)) {
+                if (\is_scalar($val)) {
                     $replacements['{'.$key.'}'] = $val;
                 }
             }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Bridge/Twig/Tests/Extension/AbstractBootstrap3HorizontalLayoutTest.php 5.4.11+dfsg-1/src/Symfony/Bridge/Twig/Tests/Extension/AbstractBootstrap3HorizontalLayoutTest.php
--- 5.4.10+dfsg-1/src/Symfony/Bridge/Twig/Tests/Extension/AbstractBootstrap3HorizontalLayoutTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Bridge/Twig/Tests/Extension/AbstractBootstrap3HorizontalLayoutTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -21,7 +21,7 @@ abstract class AbstractBootstrap3Horizon
         $html = $this->renderLabel($view);
 
         $this->assertMatchesXpath($html,
-'/label
+            '/label
     [@class="col-sm-2 control-label required"]
     [.="[trans]Name[/trans]"]
 '
@@ -38,7 +38,7 @@ abstract class AbstractBootstrap3Horizon
         ]);
 
         $this->assertMatchesXpath($html,
-'/label
+            '/label
     [@for="name"]
     [@class="col-sm-2 control-label required"]
 '
@@ -55,7 +55,7 @@ abstract class AbstractBootstrap3Horizon
         ]);
 
         $this->assertMatchesXpath($html,
-'/label
+            '/label
     [@for="name"]
     [@class="my&class col-sm-2 control-label required"]
 '
@@ -72,7 +72,7 @@ abstract class AbstractBootstrap3Horizon
         ]);
 
         $this->assertMatchesXpath($html,
-'/label
+            '/label
     [@for="name"]
     [@class="my&class col-sm-2 control-label required"]
     [.="[trans]Custom label[/trans]"]
@@ -92,7 +92,7 @@ abstract class AbstractBootstrap3Horizon
         ]);
 
         $this->assertMatchesXpath($html,
-'/label
+            '/label
     [@for="name"]
     [@class="my&class col-sm-2 control-label required"]
     [.="[trans]Custom label[/trans]"]
@@ -203,7 +203,7 @@ abstract class AbstractBootstrap3Horizon
         $html = $this->renderRow($form->createView(), ['label' => 'foo', 'help' => 'really helpful text']);
 
         $this->assertMatchesXpath($html,
-'/div
+            '/div
     [@class="form-group"]
     [
         ./div[@class="col-sm-2" or @class="col-sm-10"]
diff -pruN 5.4.10+dfsg-1/src/Symfony/Bridge/Twig/Tests/Extension/AbstractBootstrap3LayoutTest.php 5.4.11+dfsg-1/src/Symfony/Bridge/Twig/Tests/Extension/AbstractBootstrap3LayoutTest.php
--- 5.4.10+dfsg-1/src/Symfony/Bridge/Twig/Tests/Extension/AbstractBootstrap3LayoutTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Bridge/Twig/Tests/Extension/AbstractBootstrap3LayoutTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -25,7 +25,7 @@ abstract class AbstractBootstrap3LayoutT
         $html = $this->renderLabel($view);
 
         $this->assertMatchesXpath($html,
-'/label
+            '/label
     [@class="control-label required"]
     [.="[trans]Name[/trans]"]
 '
@@ -42,7 +42,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertMatchesXpath($html,
-'/label
+            '/label
     [@for="name"]
     [@class="control-label required"]
 '
@@ -59,7 +59,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertMatchesXpath($html,
-'/label
+            '/label
     [@for="name"]
     [@class="my&class control-label required"]
 '
@@ -76,7 +76,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertMatchesXpath($html,
-'/label
+            '/label
     [@for="name"]
     [@class="my&class control-label required"]
     [.="[trans]Custom label[/trans]"]
@@ -96,7 +96,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertMatchesXpath($html,
-'/label
+            '/label
     [@for="name"]
     [@class="my&class control-label required"]
     [.="[trans]Custom label[/trans]"]
@@ -146,7 +146,7 @@ abstract class AbstractBootstrap3LayoutT
         $html = $this->renderHelp($view);
 
         $this->assertMatchesXpath($html,
-'/span
+            '/span
     [@id="name_help"]
     [@class="help-block"]
     [.="[trans]Help text test![/trans]"]
@@ -266,7 +266,7 @@ abstract class AbstractBootstrap3LayoutT
         $html = $this->renderErrors($view);
 
         $this->assertMatchesXpath($html,
-'/div
+            '/div
     [@class="alert alert-danger"]
     [
         ./ul
@@ -296,7 +296,7 @@ abstract class AbstractBootstrap3LayoutT
         $html = $this->renderWidget($form->createView());
 
         $this->assertMatchesXpath($html,
-'/div
+            '/div
     [
         ./input
         [@type="text"]
@@ -313,7 +313,7 @@ abstract class AbstractBootstrap3LayoutT
         $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\CheckboxType', true);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['id' => 'my&id', 'attr' => ['class' => 'my&class']],
-'/div
+            '/div
     [@class="checkbox"]
     [
         ./label
@@ -331,7 +331,7 @@ abstract class AbstractBootstrap3LayoutT
         $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\CheckboxType', false);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['id' => 'my&id', 'attr' => ['class' => 'my&class']],
-'/div
+            '/div
     [@class="checkbox"]
     [
         ./label
@@ -351,7 +351,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['id' => 'my&id', 'attr' => ['class' => 'my&class']],
-'/div
+            '/div
     [@class="checkbox"]
     [
         ./label
@@ -370,7 +370,7 @@ abstract class AbstractBootstrap3LayoutT
         $html = $this->renderRow($form->createView(), ['label' => 'foo', 'help' => 'really helpful text']);
 
         $this->assertMatchesXpath($html,
-'/div
+            '/div
     [@class="form-group"]
     [
         ./span[text() = "[trans]really helpful text[/trans]"]
@@ -388,7 +388,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/select
+            '/select
     [@name="name"]
     [@class="my&class form-control"]
     [not(@required)]
@@ -411,7 +411,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'bar&baz']],
-'/select
+            '/select
     [@name="name"]
     [@class="bar&baz form-control"]
     [not(@required)]
@@ -434,7 +434,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'bar&baz']],
-'/div
+            '/div
     [@class="bar&baz"]
     [
         ./div
@@ -471,7 +471,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => '']],
-'/select
+            '/select
     [@name="name"]
     [@required="required"]
     [@size="2"]
@@ -490,7 +490,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/select
+            '/select
     [@name="name"]
     [@class="my&class form-control"]
     [not(@required)]
@@ -515,7 +515,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/select
+            '/select
     [@name="name"]
     [@class="my&class form-control"]
     [not(@required)]
@@ -539,7 +539,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/select
+            '/select
     [@name="name"]
     [@class="my&class form-control"]
     [not(@required)]
@@ -562,7 +562,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['separator' => '-- sep --', 'attr' => ['class' => 'my&class']],
-'/select
+            '/select
     [@name="name"]
     [@class="my&class form-control"]
     [not(@required)]
@@ -587,7 +587,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['separator' => '-- sep --', 'attr' => ['class' => 'my&class']],
-'/select
+            '/select
     [@name="name"]
     [@class="my&class form-control"]
     [not(@required)]
@@ -612,7 +612,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['separator' => null, 'attr' => ['class' => 'my&class']],
-'/select
+            '/select
     [@name="name"]
     [@class="my&class form-control"]
     [not(@required)]
@@ -636,7 +636,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['separator' => '', 'attr' => ['class' => 'my&class']],
-'/select
+            '/select
     [@name="name"]
     [@class="my&class form-control"]
     [not(@required)]
@@ -661,7 +661,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/select
+            '/select
     [@class="my&class form-control"]
     [count(./option)=5]
 '
@@ -678,7 +678,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/select
+            '/select
     [@name="name"]
     [@class="my&class form-control"]
     [not(@required)]
@@ -702,7 +702,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/select
+            '/select
     [@name="name"]
     [@class="my&class form-control"]
     [not(@required)]
@@ -727,7 +727,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/select
+            '/select
     [@name="name"]
     [@class="my&class form-control"]
     [not(@required)]
@@ -752,7 +752,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/select
+            '/select
     [@name="name"]
     [@class="my&class form-control"]
     [@required="required"]
@@ -776,7 +776,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['placeholder' => '', 'attr' => ['class' => 'my&class']],
-'/select
+            '/select
     [@name="name"]
     [@class="my&class form-control"]
     [@required="required"]
@@ -802,7 +802,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/select
+            '/select
     [@name="name"]
     [@class="my&class form-control"]
     [./optgroup[@label="[trans]Group&1[/trans]"]
@@ -831,7 +831,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/select
+            '/select
     [@name="name[]"]
     [@class="my&class form-control"]
     [@required="required"]
@@ -856,7 +856,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/select
+            '/select
     [@name="name[]"]
     [@class="my&class form-control"]
     [@required="required"]
@@ -880,7 +880,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/select
+            '/select
     [@name="name[]"]
     [@class="my&class form-control"]
     [@multiple="multiple"]
@@ -903,7 +903,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/select
+            '/select
     [@name="name[]"]
     [@class="my&class form-control"]
     [@multiple="multiple"]
@@ -925,7 +925,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./div
             [@class="radio"]
@@ -961,7 +961,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./div
             [@class="radio"]
@@ -1001,7 +1001,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./div
             [@class="radio"]
@@ -1047,7 +1047,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./div
             [@class="radio"]
@@ -1081,7 +1081,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./div
             [@class="radio"]
@@ -1117,7 +1117,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./div
             [@class="radio"]
@@ -1154,7 +1154,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./div
             [@class="radio"]
@@ -1201,7 +1201,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./div
             [@class="radio"]
@@ -1245,7 +1245,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./div
             [@class="radio"]
@@ -1281,7 +1281,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./div
             [@class="checkbox"]
@@ -1326,7 +1326,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./div
             [@class="checkbox"]
@@ -1412,7 +1412,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./div
             [@class="checkbox"]
@@ -1447,7 +1447,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./div
             [@class="checkbox"]
@@ -1493,7 +1493,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./div
             [@class="checkbox"]
@@ -1533,7 +1533,7 @@ abstract class AbstractBootstrap3LayoutT
         $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\CountryType', 'AT');
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/select
+            '/select
     [@name="name"]
     [@class="my&class form-control"]
     [./option[@value="AT"][@selected="selected"][.="Austria"]]
@@ -1550,7 +1550,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/select
+            '/select
     [@name="name"]
     [@class="my&class form-control"]
     [./option[@value=""][not(@selected)][not(@disabled)][.="[trans]Select&Country[/trans]"]]
@@ -1568,7 +1568,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/div
+            '/div
     [
         ./select
             [@id="name_date_month"]
@@ -1605,7 +1605,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/div
+            '/div
     [@class="my&class form-inline"]
     [
         ./select
@@ -1644,7 +1644,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/div
+            '/div
     [@class="my&class form-inline"]
     [
         ./select
@@ -1681,7 +1681,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/div
+            '/div
     [@class="my&class form-inline"]
     [
         ./select
@@ -1723,7 +1723,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/div
+            '/div
     [@class="my&class form-inline"]
     [
         ./input
@@ -1753,7 +1753,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/input
+            '/input
     [@type="datetime-local"]
     [@name="name"]
     [@class="my&class form-control"]
@@ -1775,7 +1775,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/div
+            '/div
     [@class="my&class form-inline"]
     [
         ./select
@@ -1806,7 +1806,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/div
+            '/div
     [@class="my&class form-inline"]
     [
         ./select
@@ -1837,7 +1837,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/div
+            '/div
     [@class="my&class form-inline"]
     [
         ./select
@@ -1866,7 +1866,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/div
+            '/div
     [@class="my&class form-inline"]
     [
         ./input
@@ -1898,7 +1898,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/input
+            '/input
     [@type="date"]
     [@name="name"]
     [@class="my&class form-control"]
@@ -1914,7 +1914,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/div
+            '/div
     [@class="my&class form-inline"]
     [
         ./select
@@ -1944,7 +1944,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/div
+            '/div
     [@class="my&class form-inline"]
     [
         ./select
@@ -1973,7 +1973,7 @@ abstract class AbstractBootstrap3LayoutT
         $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\EmailType', 'foo&bar');
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/input
+            '/input
     [@type="email"]
     [@name="name"]
     [@class="my&class form-control"]
@@ -1990,7 +1990,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/input
+            '/input
     [@type="email"]
     [@name="name"]
     [@class="my&class form-control"]
@@ -2005,7 +2005,7 @@ abstract class AbstractBootstrap3LayoutT
         $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\HiddenType', 'foo&bar');
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/input
+            '/input
     [@type="hidden"]
     [@name="name"]
     [@class="my&class"]
@@ -2021,7 +2021,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/input
+            '/input
     [@type="text"]
     [@name="name"]
     [@class="my&class form-control"]
@@ -2035,7 +2035,7 @@ abstract class AbstractBootstrap3LayoutT
         $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\IntegerType', 123);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/input
+            '/input
     [@type="number"]
     [@name="name"]
     [@class="my&class form-control"]
@@ -2051,7 +2051,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/input
+            '/input
     [@type="text"]
     [@name="name"]
     [@class="my&class form-control"]
@@ -2065,7 +2065,7 @@ abstract class AbstractBootstrap3LayoutT
         $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\LanguageType', 'de');
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/select
+            '/select
     [@name="name"]
     [@class="my&class form-control"]
     [./option[@value="de"][@selected="selected"][.="German"]]
@@ -2079,7 +2079,7 @@ abstract class AbstractBootstrap3LayoutT
         $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\LocaleType', 'de_AT');
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/select
+            '/select
     [@name="name"]
     [@class="my&class form-control"]
     [./option[@value="de_AT"][@selected="selected"][.="German (Austria)"]]
@@ -2095,7 +2095,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['id' => 'my&id', 'attr' => ['class' => 'my&class']],
-'/div
+            '/div
     [@class="input-group"]
     [
         ./span
@@ -2119,7 +2119,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['id' => 'my&id', 'attr' => ['class' => 'my&class']],
-'/input
+            '/input
     [@id="my&id"]
     [@type="text"]
     [@name="name"]
@@ -2136,7 +2136,7 @@ abstract class AbstractBootstrap3LayoutT
         $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\NumberType', 1234.56);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/input
+            '/input
     [@type="text"]
     [@name="name"]
     [@class="my&class form-control"]
@@ -2166,7 +2166,7 @@ abstract class AbstractBootstrap3LayoutT
         $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\PasswordType', 'foo&bar');
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/input
+            '/input
     [@type="password"]
     [@name="name"]
     [@class="my&class form-control"]
@@ -2182,7 +2182,7 @@ abstract class AbstractBootstrap3LayoutT
         $form->submit('foo&bar');
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/input
+            '/input
     [@type="password"]
     [@name="name"]
     [@class="my&class form-control"]
@@ -2198,7 +2198,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/input
+            '/input
     [@type="password"]
     [@name="name"]
     [@class="my&class form-control"]
@@ -2212,7 +2212,7 @@ abstract class AbstractBootstrap3LayoutT
         $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\PercentType', 0.1, ['rounding_mode' => \NumberFormatter::ROUND_CEILING]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['id' => 'my&id', 'attr' => ['class' => 'my&class']],
-'/div
+            '/div
     [@class="input-group"]
     [
         ./input
@@ -2233,7 +2233,7 @@ abstract class AbstractBootstrap3LayoutT
     {
         $form = $this->factory->createNamed('name', PercentType::class, 0.1, ['symbol' => false, 'rounding_mode' => \NumberFormatter::ROUND_CEILING]);
         $this->assertWidgetMatchesXpath($form->createView(), ['id' => 'my&id', 'attr' => ['class' => 'my&class']],
-'/input
+            '/input
     [@id="my&id"]
     [@type="text"]
     [@name="name"]
@@ -2247,7 +2247,7 @@ abstract class AbstractBootstrap3LayoutT
     {
         $form = $this->factory->createNamed('name', PercentType::class, 0.1, ['symbol' => '‱', 'rounding_mode' => \NumberFormatter::ROUND_CEILING]);
         $this->assertWidgetMatchesXpath($form->createView(), ['id' => 'my&id', 'attr' => ['class' => 'my&class']],
-'/div
+            '/div
     [@class="input-group"]
     [
         ./input
@@ -2269,7 +2269,7 @@ abstract class AbstractBootstrap3LayoutT
         $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\RadioType', true);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['id' => 'my&id', 'attr' => ['class' => 'my&class']],
-'/div
+            '/div
     [@class="radio"]
     [
         ./label
@@ -2293,7 +2293,7 @@ abstract class AbstractBootstrap3LayoutT
         $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\RadioType', false);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['id' => 'my&id', 'attr' => ['class' => 'my&class']],
-'/div
+            '/div
     [@class="radio"]
     [
         ./label
@@ -2318,7 +2318,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['id' => 'my&id', 'attr' => ['class' => 'my&class']],
-'/div
+            '/div
     [@class="radio"]
     [
         ./label
@@ -2342,7 +2342,7 @@ abstract class AbstractBootstrap3LayoutT
         $html = $this->renderRow($form->createView(), ['label' => 'foo', 'help' => 'really helpful text']);
 
         $this->assertMatchesXpath($html,
-'/div
+            '/div
     [@class="form-group"]
     [
         ./span[text() = "[trans]really helpful text[/trans]"]
@@ -2356,7 +2356,7 @@ abstract class AbstractBootstrap3LayoutT
         $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\RangeType', 42, ['attr' => ['min' => 5]]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/input
+            '/input
     [@type="range"]
     [@name="name"]
     [@value="42"]
@@ -2371,7 +2371,7 @@ abstract class AbstractBootstrap3LayoutT
         $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\RangeType', 42, ['attr' => ['min' => 5, 'max' => 57]]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/input
+            '/input
     [@type="range"]
     [@name="name"]
     [@value="42"]
@@ -2389,7 +2389,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/textarea
+            '/textarea
     [@name="name"]
     [not(@pattern)]
     [@class="my&class form-control"]
@@ -2403,7 +2403,7 @@ abstract class AbstractBootstrap3LayoutT
         $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\TextType', 'foo&bar');
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/input
+            '/input
     [@type="text"]
     [@name="name"]
     [@class="my&class form-control"]
@@ -2420,7 +2420,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/input
+            '/input
     [@type="text"]
     [@name="name"]
     [@class="my&class form-control"]
@@ -2435,7 +2435,7 @@ abstract class AbstractBootstrap3LayoutT
         $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\SearchType', 'foo&bar');
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/input
+            '/input
     [@type="search"]
     [@name="name"]
     [@class="my&class form-control"]
@@ -2453,7 +2453,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/div
+            '/div
     [@class="my&class form-inline"]
     [
         ./select
@@ -2480,7 +2480,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/div
+            '/div
     [@class="my&class form-inline"]
     [
         ./select
@@ -2515,7 +2515,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/div
+            '/div
     [@class="my&class form-inline"]
     [
         ./input
@@ -2548,7 +2548,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/input
+            '/input
     [@type="time"]
     [@name="name"]
     [@class="my&class form-control"]
@@ -2567,7 +2567,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/div
+            '/div
     [@class="my&class form-inline"]
     [
         ./select
@@ -2594,7 +2594,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/div
+            '/div
     [@class="my&class form-inline"]
     [
         ./select
@@ -2617,7 +2617,7 @@ abstract class AbstractBootstrap3LayoutT
         $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\TimezoneType', 'Europe/Vienna');
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/select
+            '/select
     [@name="name"]
     [@class="my&class form-control"]
     [not(@required)]
@@ -2635,7 +2635,7 @@ abstract class AbstractBootstrap3LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/select
+            '/select
     [@class="my&class form-control"]
     [./option[@value=""][not(@selected)][not(@disabled)][.="[trans]Select&Timezone[/trans]"]]
     [count(.//option)>201]
@@ -2649,7 +2649,7 @@ abstract class AbstractBootstrap3LayoutT
         $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\UrlType', $url, ['default_protocol' => 'http']);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'my&class']],
-'/input
+            '/input
     [@type="text"]
     [@name="name"]
     [@class="my&class form-control"]
diff -pruN 5.4.10+dfsg-1/src/Symfony/Bridge/Twig/Tests/Extension/AbstractBootstrap4HorizontalLayoutTest.php 5.4.11+dfsg-1/src/Symfony/Bridge/Twig/Tests/Extension/AbstractBootstrap4HorizontalLayoutTest.php
--- 5.4.10+dfsg-1/src/Symfony/Bridge/Twig/Tests/Extension/AbstractBootstrap4HorizontalLayoutTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Bridge/Twig/Tests/Extension/AbstractBootstrap4HorizontalLayoutTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -53,7 +53,7 @@ abstract class AbstractBootstrap4Horizon
         $html = $this->renderLabel($view);
 
         $this->assertMatchesXpath($html,
-'/legend
+            '/legend
     [@class="col-form-label col-sm-2 col-form-label required"]
     [.="[trans]Name[/trans]"]
 '
@@ -70,7 +70,7 @@ abstract class AbstractBootstrap4Horizon
         ]);
 
         $this->assertMatchesXpath($html,
-'/label
+            '/label
     [@for="name"]
     [@class="col-form-label col-sm-2 required"]
 '
@@ -87,7 +87,7 @@ abstract class AbstractBootstrap4Horizon
         ]);
 
         $this->assertMatchesXpath($html,
-'/label
+            '/label
     [@for="name"]
     [@class="my&class col-form-label col-sm-2 required"]
 '
@@ -104,7 +104,7 @@ abstract class AbstractBootstrap4Horizon
         ]);
 
         $this->assertMatchesXpath($html,
-'/label
+            '/label
     [@for="name"]
     [@class="my&class col-form-label col-sm-2 required"]
     [.="[trans]Custom label[/trans]"]
@@ -124,7 +124,7 @@ abstract class AbstractBootstrap4Horizon
         ]);
 
         $this->assertMatchesXpath($html,
-'/label
+            '/label
     [@for="name"]
     [@class="my&class col-form-label col-sm-2 required"]
     [.="[trans]Custom label[/trans]"]
@@ -177,7 +177,7 @@ abstract class AbstractBootstrap4Horizon
         $html = $this->renderLabel($view);
 
         $this->assertMatchesXpath($html,
-'/legend
+            '/legend
     [@class="col-sm-2 col-form-label required"]
     [.="[trans]Custom label[/trans]"]
 '
@@ -255,7 +255,7 @@ abstract class AbstractBootstrap4Horizon
         $html = $this->renderRow($view, ['label' => 'foo', 'help' => 'really helpful text']);
 
         $this->assertMatchesXpath($html,
-'/div
+            '/div
     [@class="form-group row"]
     [
         ./div[@class="col-sm-2" or @class="col-sm-10"]
@@ -274,7 +274,7 @@ abstract class AbstractBootstrap4Horizon
         $html = $this->renderRow($form->createView(), ['label' => 'foo', 'help' => 'really helpful text']);
 
         $this->assertMatchesXpath($html,
-'/div
+            '/div
     [@class="form-group row"]
     [
         ./div[@class="col-sm-2" or @class="col-sm-10"]
diff -pruN 5.4.10+dfsg-1/src/Symfony/Bridge/Twig/Tests/Extension/AbstractBootstrap4LayoutTest.php 5.4.11+dfsg-1/src/Symfony/Bridge/Twig/Tests/Extension/AbstractBootstrap4LayoutTest.php
--- 5.4.10+dfsg-1/src/Symfony/Bridge/Twig/Tests/Extension/AbstractBootstrap4LayoutTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Bridge/Twig/Tests/Extension/AbstractBootstrap4LayoutTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -63,7 +63,7 @@ abstract class AbstractBootstrap4LayoutT
         $html = $this->renderLabel($view);
 
         $this->assertMatchesXpath($html,
-'/legend
+            '/legend
     [@class="col-form-label required"]
     [.="[trans]Name[/trans]"]
 '
@@ -80,7 +80,7 @@ abstract class AbstractBootstrap4LayoutT
         ]);
 
         $this->assertMatchesXpath($html,
-'/label
+            '/label
     [@for="name"]
     [@class="required"]
 '
@@ -97,7 +97,7 @@ abstract class AbstractBootstrap4LayoutT
         ]);
 
         $this->assertMatchesXpath($html,
-'/label
+            '/label
     [@for="name"]
     [@class="my&class required"]
 '
@@ -114,7 +114,7 @@ abstract class AbstractBootstrap4LayoutT
         ]);
 
         $this->assertMatchesXpath($html,
-'/label
+            '/label
     [@for="name"]
     [@class="my&class required"]
     [.="[trans]Custom label[/trans]"]
@@ -134,7 +134,7 @@ abstract class AbstractBootstrap4LayoutT
         ]);
 
         $this->assertMatchesXpath($html,
-'/label
+            '/label
     [@for="name"]
     [@class="my&class required"]
     [.="[trans]Custom label[/trans]"]
@@ -187,7 +187,7 @@ abstract class AbstractBootstrap4LayoutT
         $html = $this->renderLabel($view);
 
         $this->assertMatchesXpath($html,
-'/legend
+            '/legend
     [@class="col-form-label required"]
     [.="[trans]Custom label[/trans]"]
 '
@@ -203,7 +203,7 @@ abstract class AbstractBootstrap4LayoutT
         $html = $this->renderHelp($view);
 
         $this->assertMatchesXpath($html,
-'/small
+            '/small
     [@id="name_help"]
     [@class="form-text text-muted"]
     [.="[trans]Help text test![/trans]"]
@@ -323,7 +323,7 @@ abstract class AbstractBootstrap4LayoutT
         $html = $this->renderErrors($view);
 
         $this->assertMatchesXpath($html,
-'/span
+            '/span
     [@class="alert alert-danger d-block"]
     [
         ./span[@class="d-block"]
@@ -354,7 +354,7 @@ abstract class AbstractBootstrap4LayoutT
         $form = $this->factory->createNamed('name', CheckboxType::class, true);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['id' => 'my&id', 'attr' => ['class' => 'my&class']],
-'/div
+            '/div
     [@class="form-check"]
     [
         ./input[@type="checkbox"][@name="name"][@id="my&id"][@class="my&class form-check-input"][@checked="checked"][@value="1"]
@@ -376,7 +376,7 @@ abstract class AbstractBootstrap4LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'bar&baz']],
-'/select
+            '/select
     [@name="name"]
     [@class="bar&baz form-control"]
     [not(@required)]
@@ -399,7 +399,7 @@ abstract class AbstractBootstrap4LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'bar&baz']],
-'/div
+            '/div
     [@class="bar&baz"]
     [
         ./div
@@ -427,7 +427,7 @@ abstract class AbstractBootstrap4LayoutT
         $form = $this->factory->createNamed('name', CheckboxType::class, false);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['id' => 'my&id', 'attr' => ['class' => 'my&class']],
-'/div
+            '/div
     [@class="form-check"]
     [
         ./input[@type="checkbox"][@name="name"][@id="my&id"][@class="my&class form-check-input"][not(@checked)]
@@ -445,7 +445,7 @@ abstract class AbstractBootstrap4LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['id' => 'my&id', 'attr' => ['class' => 'my&class']],
-'/div
+            '/div
     [@class="form-check"]
     [
         ./input[@type="checkbox"][@name="name"][@id="my&id"][@class="my&class form-check-input"][@value="foo&bar"]
@@ -480,7 +480,7 @@ abstract class AbstractBootstrap4LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./div
             [@class="form-check"]
@@ -512,7 +512,7 @@ abstract class AbstractBootstrap4LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./div
             [@class="form-check"]
@@ -548,7 +548,7 @@ abstract class AbstractBootstrap4LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./div
             [@class="form-check"]
@@ -588,7 +588,7 @@ abstract class AbstractBootstrap4LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./div
             [@class="form-check"]
@@ -618,7 +618,7 @@ abstract class AbstractBootstrap4LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./div
             [@class="form-check"]
@@ -650,7 +650,7 @@ abstract class AbstractBootstrap4LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./div
             [@class="form-check"]
@@ -683,7 +683,7 @@ abstract class AbstractBootstrap4LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./div
             [@class="form-check"]
@@ -724,7 +724,7 @@ abstract class AbstractBootstrap4LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./div
             [@class="form-check"]
@@ -762,7 +762,7 @@ abstract class AbstractBootstrap4LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./div
             [@class="form-check"]
@@ -794,7 +794,7 @@ abstract class AbstractBootstrap4LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./div
             [@class="form-check"]
@@ -833,7 +833,7 @@ abstract class AbstractBootstrap4LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./div
             [@class="form-check"]
@@ -909,7 +909,7 @@ abstract class AbstractBootstrap4LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./div
             [@class="form-check"]
@@ -940,7 +940,7 @@ abstract class AbstractBootstrap4LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./div
             [@class="form-check"]
@@ -980,7 +980,7 @@ abstract class AbstractBootstrap4LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./div
             [@class="form-check"]
@@ -1014,7 +1014,7 @@ abstract class AbstractBootstrap4LayoutT
         $form = $this->factory->createNamed('name', RadioType::class, true);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['id' => 'my&id', 'attr' => ['class' => 'my&class']],
-'/div
+            '/div
     [@class="form-check"]
     [
         ./input
@@ -1036,7 +1036,7 @@ abstract class AbstractBootstrap4LayoutT
         $form = $this->factory->createNamed('name', RadioType::class, false);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['id' => 'my&id', 'attr' => ['class' => 'my&class']],
-'/div
+            '/div
     [@class="form-check"]
     [
         ./input
@@ -1059,7 +1059,7 @@ abstract class AbstractBootstrap4LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['id' => 'my&id', 'attr' => ['class' => 'my&class']],
-'/div
+            '/div
     [@class="form-check"]
     [
         ./input
@@ -1082,7 +1082,7 @@ abstract class AbstractBootstrap4LayoutT
         $html = $this->renderRow($form->createView(), ['label' => 'foo', 'help' => 'really helpful text']);
 
         $this->assertMatchesXpath($html,
-'/div
+            '/div
     [@class="form-group"]
     [
         ./small[text() = "[trans]really helpful text[/trans]"]
@@ -1108,7 +1108,7 @@ abstract class AbstractBootstrap4LayoutT
         $form = $this->factory->createNamed('name', FileType::class);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['id' => 'n/a', 'attr' => ['class' => 'my&class form-control-file']],
-'/div
+            '/div
     [@class="custom-file"]
     [
         ./input
@@ -1126,7 +1126,7 @@ abstract class AbstractBootstrap4LayoutT
         $form = $this->factory->createNamed('name', FileType::class);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['id' => 'n/a', 'attr' => ['class' => 'my&class form-control-file'], 'label_attr' => ['id' => 'label-id']],
-'/div
+            '/div
     [@class="custom-file"]
     [
         ./input
@@ -1144,7 +1144,7 @@ abstract class AbstractBootstrap4LayoutT
         $form = $this->factory->createNamed('name', FileType::class);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['id' => 'n/a', 'attr' => ['class' => 'my&class form-control-file', 'placeholder' => 'Custom Placeholder']],
-'/div
+            '/div
     [@class="custom-file"]
     [
         ./input
@@ -1164,7 +1164,7 @@ abstract class AbstractBootstrap4LayoutT
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['id' => 'my&id', 'attr' => ['class' => 'my&class']],
-'/div
+            '/div
     [@class="input-group"]
     [
         ./div
@@ -1190,7 +1190,7 @@ abstract class AbstractBootstrap4LayoutT
         $form = $this->factory->createNamed('name', PercentType::class, 0.1, ['rounding_mode' => \NumberFormatter::ROUND_CEILING]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['id' => 'my&id', 'attr' => ['class' => 'my&class']],
-'/div
+            '/div
     [@class="input-group"]
     [
         ./input
@@ -1215,7 +1215,7 @@ abstract class AbstractBootstrap4LayoutT
     {
         $form = $this->factory->createNamed('name', PercentType::class, 0.1, ['symbol' => false, 'rounding_mode' => \NumberFormatter::ROUND_CEILING]);
         $this->assertWidgetMatchesXpath($form->createView(), ['id' => 'my&id', 'attr' => ['class' => 'my&class']],
-'/input
+            '/input
     [@id="my&id"]
     [@type="text"]
     [@name="name"]
@@ -1229,7 +1229,7 @@ abstract class AbstractBootstrap4LayoutT
     {
         $form = $this->factory->createNamed('name', PercentType::class, 0.1, ['symbol' => '‱', 'rounding_mode' => \NumberFormatter::ROUND_CEILING]);
         $this->assertWidgetMatchesXpath($form->createView(), ['id' => 'my&id', 'attr' => ['class' => 'my&class']],
-'/div
+            '/div
     [@class="input-group"]
     [
         ./input
@@ -1257,7 +1257,7 @@ abstract class AbstractBootstrap4LayoutT
         $this->assertWidgetMatchesXpath(
             $form->createView(),
             ['attr' => ['class' => 'my&class']],
-'/input
+            '/input
     [@type="range"]
     [@name="name"]
     [@value="42"]
@@ -1274,7 +1274,7 @@ abstract class AbstractBootstrap4LayoutT
         $this->assertWidgetMatchesXpath(
             $form->createView(),
             ['attr' => ['class' => 'my&class']],
-'/input
+            '/input
     [@type="range"]
     [@name="name"]
     [@value="42"]
diff -pruN 5.4.10+dfsg-1/src/Symfony/Bridge/Twig/Tests/Extension/AbstractBootstrap5HorizontalLayoutTest.php 5.4.11+dfsg-1/src/Symfony/Bridge/Twig/Tests/Extension/AbstractBootstrap5HorizontalLayoutTest.php
--- 5.4.10+dfsg-1/src/Symfony/Bridge/Twig/Tests/Extension/AbstractBootstrap5HorizontalLayoutTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Bridge/Twig/Tests/Extension/AbstractBootstrap5HorizontalLayoutTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -109,7 +109,7 @@ abstract class AbstractBootstrap5Horizon
         ]);
 
         $this->assertMatchesXpath($html,
-'/label
+            '/label
     [@for="name"]
     [@class="col-form-label col-sm-2 required"]
 '
@@ -126,7 +126,7 @@ abstract class AbstractBootstrap5Horizon
         ]);
 
         $this->assertMatchesXpath($html,
-'/label
+            '/label
     [@for="name"]
     [@class="my&class col-form-label col-sm-2 required"]
 '
@@ -143,7 +143,7 @@ abstract class AbstractBootstrap5Horizon
         ]);
 
         $this->assertMatchesXpath($html,
-'/label
+            '/label
     [@for="name"]
     [@class="my&class col-form-label col-sm-2 required"]
     [.="[trans]Custom label[/trans]"]
@@ -163,7 +163,7 @@ abstract class AbstractBootstrap5Horizon
         ]);
 
         $this->assertMatchesXpath($html,
-'/label
+            '/label
     [@for="name"]
     [@class="my&class col-form-label col-sm-2 required"]
     [.="[trans]Custom label[/trans]"]
@@ -216,7 +216,7 @@ abstract class AbstractBootstrap5Horizon
         $html = $this->renderLabel($view);
 
         $this->assertMatchesXpath($html,
-'/legend
+            '/legend
     [@class="col-sm-2 col-form-label required"]
     [.="[trans]Custom label[/trans]"]
 '
@@ -239,7 +239,7 @@ abstract class AbstractBootstrap5Horizon
         $html = $this->renderRow($view, ['label' => 'foo', 'help' => 'really helpful text']);
 
         $this->assertMatchesXpath($html,
-'/div
+            '/div
     [@class="mb-3 row"]
     [
         ./div[@class="col-sm-2" or @class="col-sm-10"]
@@ -260,7 +260,7 @@ abstract class AbstractBootstrap5Horizon
         $html = $this->renderRow($form->createView(), ['label' => 'foo', 'help' => 'really helpful text']);
 
         $this->assertMatchesXpath($html,
-'/div
+            '/div
     [@class="mb-3 row"]
     [
         ./div[@class="col-sm-2" or @class="col-sm-10"]
diff -pruN 5.4.10+dfsg-1/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap3LayoutTest.php 5.4.11+dfsg-1/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap3LayoutTest.php
--- 5.4.10+dfsg-1/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap3LayoutTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap3LayoutTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -102,7 +102,7 @@ class FormExtensionBootstrap3LayoutTest
                             <span class="input-group-addon">&euro; </span>
             <input type="text" id="name" name="name" required="required" class="form-control" />        </div>
 HTML
-        , trim($this->renderWidget($view)));
+            , trim($this->renderWidget($view)));
     }
 
     protected function renderForm(FormView $view, array $vars = [])
diff -pruN 5.4.10+dfsg-1/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap4LayoutTest.php 5.4.11+dfsg-1/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap4LayoutTest.php
--- 5.4.10+dfsg-1/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap4LayoutTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap4LayoutTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -106,7 +106,7 @@ class FormExtensionBootstrap4LayoutTest
                     <span class="input-group-text">&euro; </span>
                 </div><input type="text" id="name" name="name" required="required" class="form-control" /></div>
 HTML
-        , trim($this->renderWidget($view)));
+            , trim($this->renderWidget($view)));
     }
 
     protected function renderForm(FormView $view, array $vars = [])
diff -pruN 5.4.10+dfsg-1/src/Symfony/Bridge/Twig/Tests/Extension/HttpKernelExtensionTest.php 5.4.11+dfsg-1/src/Symfony/Bridge/Twig/Tests/Extension/HttpKernelExtensionTest.php
--- 5.4.10+dfsg-1/src/Symfony/Bridge/Twig/Tests/Extension/HttpKernelExtensionTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Bridge/Twig/Tests/Extension/HttpKernelExtensionTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -74,7 +74,7 @@ class HttpKernelExtensionTest extends Te
             'index' => sprintf(<<<TWIG
 {{ fragment_uri(controller("%s::templateAction", {template: "foo.html.twig"})) }}
 TWIG
-            , TemplateController::class), ]);
+                , TemplateController::class), ]);
         $twig = new Environment($loader, ['debug' => true, 'cache' => false]);
         $twig->addExtension(new HttpKernelExtension());
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Bridge/Twig/Tests/Mime/TemplatedEmailTest.php 5.4.11+dfsg-1/src/Symfony/Bridge/Twig/Tests/Mime/TemplatedEmailTest.php
--- 5.4.10+dfsg-1/src/Symfony/Bridge/Twig/Tests/Mime/TemplatedEmailTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Bridge/Twig/Tests/Mime/TemplatedEmailTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -110,11 +110,11 @@ EOF;
             $propertyNormalizer,
         ], [new JsonEncoder()]);
 
-        $serialized = $serializer->serialize($e, 'json');
+        $serialized = $serializer->serialize($e, 'json', [ObjectNormalizer::IGNORED_ATTRIBUTES => ['cachedBody']]);
         $this->assertSame($expectedJson, json_encode(json_decode($serialized), \JSON_PRETTY_PRINT | \JSON_UNESCAPED_SLASHES));
 
         $n = $serializer->deserialize($serialized, TemplatedEmail::class, 'json');
-        $serialized = $serializer->serialize($e, 'json');
+        $serialized = $serializer->serialize($e, 'json', [ObjectNormalizer::IGNORED_ATTRIBUTES => ['cachedBody']]);
         $this->assertSame($expectedJson, json_encode(json_decode($serialized), \JSON_PRETTY_PRINT | \JSON_UNESCAPED_SLASHES));
 
         $n->from('fabien@symfony.com');
diff -pruN 5.4.10+dfsg-1/src/Symfony/Bridge/Twig/Tests/Node/FormThemeTest.php 5.4.11+dfsg-1/src/Symfony/Bridge/Twig/Tests/Node/FormThemeTest.php
--- 5.4.10+dfsg-1/src/Symfony/Bridge/Twig/Tests/Node/FormThemeTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Bridge/Twig/Tests/Node/FormThemeTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -64,7 +64,7 @@ class FormThemeTest extends TestCase
             sprintf(
                 '$this->env->getRuntime("Symfony\\\\Component\\\\Form\\\\FormRenderer")->setTheme(%s, [0 => "tpl1", 1 => "tpl2"], true);',
                 $this->getVariableGetter('form')
-             ),
+            ),
             trim($compiler->compile($node)->getSource())
         );
 
@@ -74,7 +74,7 @@ class FormThemeTest extends TestCase
             sprintf(
                 '$this->env->getRuntime("Symfony\\\\Component\\\\Form\\\\FormRenderer")->setTheme(%s, [0 => "tpl1", 1 => "tpl2"], false);',
                 $this->getVariableGetter('form')
-             ),
+            ),
             trim($compiler->compile($node)->getSource())
         );
 
@@ -86,7 +86,7 @@ class FormThemeTest extends TestCase
             sprintf(
                 '$this->env->getRuntime("Symfony\\\\Component\\\\Form\\\\FormRenderer")->setTheme(%s, "tpl1", true);',
                 $this->getVariableGetter('form')
-             ),
+            ),
             trim($compiler->compile($node)->getSource())
         );
 
@@ -96,7 +96,7 @@ class FormThemeTest extends TestCase
             sprintf(
                 '$this->env->getRuntime("Symfony\\\\Component\\\\Form\\\\FormRenderer")->setTheme(%s, "tpl1", false);',
                 $this->getVariableGetter('form')
-             ),
+            ),
             trim($compiler->compile($node)->getSource())
         );
     }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Bridge/Twig/Tests/Node/SearchAndRenderBlockNodeTest.php 5.4.11+dfsg-1/src/Symfony/Bridge/Twig/Tests/Node/SearchAndRenderBlockNodeTest.php
--- 5.4.10+dfsg-1/src/Symfony/Bridge/Twig/Tests/Node/SearchAndRenderBlockNodeTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Bridge/Twig/Tests/Node/SearchAndRenderBlockNodeTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -38,7 +38,7 @@ class SearchAndRenderBlockNodeTest exten
             sprintf(
                 '$this->env->getRuntime(\'Symfony\Component\Form\FormRenderer\')->searchAndRenderBlock(%s, \'widget\')',
                 $this->getVariableGetter('form')
-             ),
+            ),
             trim($compiler->compile($node)->getSource())
         );
     }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Bridge/Twig/Tests/Node/TransNodeTest.php 5.4.11+dfsg-1/src/Symfony/Bridge/Twig/Tests/Node/TransNodeTest.php
--- 5.4.10+dfsg-1/src/Symfony/Bridge/Twig/Tests/Node/TransNodeTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Bridge/Twig/Tests/Node/TransNodeTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -38,8 +38,8 @@ class TransNodeTest extends TestCase
                 'echo $this->env->getExtension(\'Symfony\Bridge\Twig\Extension\TranslationExtension\')->trans("trans %%var%%", array_merge(["%%var%%" => %s], %s), "messages");',
                 $this->getVariableGetterWithoutStrictCheck('var'),
                 $this->getVariableGetterWithStrictCheck('foo')
-             ),
-             trim($compiler->compile($node)->getSource())
+            ),
+            trim($compiler->compile($node)->getSource())
         );
     }
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Bundle/DebugBundle/DependencyInjection/Configuration.php 5.4.11+dfsg-1/src/Symfony/Bundle/DebugBundle/DependencyInjection/Configuration.php
--- 5.4.10+dfsg-1/src/Symfony/Bundle/DebugBundle/DependencyInjection/Configuration.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Bundle/DebugBundle/DependencyInjection/Configuration.php	2022-07-29 12:30:51.000000000 +0000
@@ -56,7 +56,7 @@ class Configuration implements Configura
                     ->values(['dark', 'light'])
                     ->defaultValue('dark')
                 ->end()
-            ;
+        ;
 
         return $treeBuilder;
     }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Command/AboutCommand.php 5.4.11+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Command/AboutCommand.php
--- 5.4.10+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Command/AboutCommand.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Command/AboutCommand.php	2022-07-29 12:30:51.000000000 +0000
@@ -89,8 +89,8 @@ EOT
             ['Architecture', (\PHP_INT_SIZE * 8).' bits'],
             ['Intl locale', class_exists(\Locale::class, false) && \Locale::getDefault() ? \Locale::getDefault() : 'n/a'],
             ['Timezone', date_default_timezone_get().' (<comment>'.(new \DateTime())->format(\DateTime::W3C).'</>)'],
-            ['OPcache', \extension_loaded('Zend OPcache') && filter_var(ini_get('opcache.enable'), \FILTER_VALIDATE_BOOLEAN) ? 'true' : 'false'],
-            ['APCu', \extension_loaded('apcu') && filter_var(ini_get('apc.enabled'), \FILTER_VALIDATE_BOOLEAN) ? 'true' : 'false'],
+            ['OPcache', \extension_loaded('Zend OPcache') && filter_var(\ini_get('opcache.enable'), \FILTER_VALIDATE_BOOLEAN) ? 'true' : 'false'],
+            ['APCu', \extension_loaded('apcu') && filter_var(\ini_get('apc.enabled'), \FILTER_VALIDATE_BOOLEAN) ? 'true' : 'false'],
             ['Xdebug', \extension_loaded('xdebug') ? 'true' : 'false'],
         ];
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Command/ConfigDebugCommand.php 5.4.11+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Command/ConfigDebugCommand.php
--- 5.4.10+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Command/ConfigDebugCommand.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Command/ConfigDebugCommand.php	2022-07-29 12:30:51.000000000 +0000
@@ -100,7 +100,7 @@ EOF
 
         if (null === $path = $input->getArgument('path')) {
             $io->title(
-                sprintf('Current configuration for %s', ($name === $extensionAlias ? sprintf('extension with alias "%s"', $extensionAlias) : sprintf('"%s"', $name)))
+                sprintf('Current configuration for %s', $name === $extensionAlias ? sprintf('extension with alias "%s"', $extensionAlias) : sprintf('"%s"', $name))
             );
 
             $io->writeln(Yaml::dump([$extensionAlias => $config], 10));
diff -pruN 5.4.10+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Command/XliffLintCommand.php 5.4.11+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Command/XliffLintCommand.php
--- 5.4.10+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Command/XliffLintCommand.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Command/XliffLintCommand.php	2022-07-29 12:30:51.000000000 +0000
@@ -58,6 +58,6 @@ Or find all files in a bundle:
   <info>php %command.full_name% @AcmeDemoBundle</info>
 
 EOF
-            );
+        );
     }
 }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/TextDescriptor.php 5.4.11+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/TextDescriptor.php
--- 5.4.10+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/TextDescriptor.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/TextDescriptor.php	2022-07-29 12:30:51.000000000 +0000
@@ -93,11 +93,11 @@ class TextDescriptor extends Descriptor
             ['Route Name', $options['name'] ?? ''],
             ['Path', $route->getPath()],
             ['Path Regex', $route->compile()->getRegex()],
-            ['Host', ('' !== $route->getHost() ? $route->getHost() : 'ANY')],
-            ['Host Regex', ('' !== $route->getHost() ? $route->compile()->getHostRegex() : '')],
-            ['Scheme', ($route->getSchemes() ? implode('|', $route->getSchemes()) : 'ANY')],
-            ['Method', ($route->getMethods() ? implode('|', $route->getMethods()) : 'ANY')],
-            ['Requirements', ($route->getRequirements() ? $this->formatRouterConfig($route->getRequirements()) : 'NO CUSTOM')],
+            ['Host', '' !== $route->getHost() ? $route->getHost() : 'ANY'],
+            ['Host Regex', '' !== $route->getHost() ? $route->compile()->getHostRegex() : ''],
+            ['Scheme', $route->getSchemes() ? implode('|', $route->getSchemes()) : 'ANY'],
+            ['Method', $route->getMethods() ? implode('|', $route->getMethods()) : 'ANY'],
+            ['Requirements', $route->getRequirements() ? $this->formatRouterConfig($route->getRequirements()) : 'NO CUSTOM'],
             ['Class', \get_class($route)],
             ['Defaults', $this->formatRouterConfig($defaults)],
             ['Options', $this->formatRouterConfig($route->getOptions())],
diff -pruN 5.4.10+dfsg-1/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Configuration.php 5.4.11+dfsg-1/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Configuration.php
--- 5.4.10+dfsg-1/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Configuration.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Configuration.php	2022-07-29 12:30:51.000000000 +0000
@@ -1236,7 +1236,7 @@ class Configuration implements Configura
                                 ->info('The status code of the response. Null to let Symfony decide.')
                                 ->validate()
                                     ->ifTrue(function ($v) { return $v < 100 || $v > 599; })
-                                    ->thenInvalid('The log level is not valid. Pick a value between 100 and 599.')
+                                    ->thenInvalid('The status code is not valid. Pick a value between 100 and 599.')
                                 ->end()
                                 ->defaultNull()
                             ->end()
@@ -1861,7 +1861,7 @@ class Configuration implements Configura
                     ->integerNode('max_delay')->defaultValue(0)->min(0)->info('Max time in ms that a retry should ever be delayed (0 = infinite)')->end()
                     ->floatNode('jitter')->defaultValue(0.1)->min(0)->max(1)->info('Randomness in percent (between 0 and 1) to apply to the delay')->end()
                 ->end()
-            ;
+        ;
     }
 
     private function addMailerSection(ArrayNodeDefinition $rootNode, callable $enableIfStandalone)
diff -pruN 5.4.10+dfsg-1/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php 5.4.11+dfsg-1/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php
--- 5.4.10+dfsg-1/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php	2022-07-29 12:30:51.000000000 +0000
@@ -669,6 +669,10 @@ class FrameworkExtension extends Extensi
         }
 
         if ($this->isConfigEnabled($container, $config['form']['csrf_protection'])) {
+            if (!$container->hasDefinition('security.csrf.token_generator')) {
+                throw new \LogicException('To use form CSRF protection, "framework.csrf_protection" must be enabled.');
+            }
+
             $loader->load('form_csrf.php');
 
             $container->setParameter('form.type_extension.csrf.enabled', true);
@@ -917,7 +921,7 @@ class FrameworkExtension extends Extensi
             if (isset($workflow['marking_store']['type'])) {
                 $markingStoreDefinition = new ChildDefinition('workflow.marking_store.method');
                 $markingStoreDefinition->setArguments([
-                    'state_machine' === $type, //single state
+                    'state_machine' === $type, // single state
                     $workflow['marking_store']['property'],
                 ]);
             } elseif (isset($workflow['marking_store']['service'])) {
diff -pruN 5.4.10+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Resources/config/cache_debug.php 5.4.11+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Resources/config/cache_debug.php
--- 5.4.10+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Resources/config/cache_debug.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Resources/config/cache_debug.php	2022-07-29 12:30:51.000000000 +0000
@@ -35,5 +35,5 @@ return static function (ContainerConfigu
                 ],
             ])
             ->tag('kernel.cache_warmer', ['priority' => 64])
-        ;
+    ;
 };
diff -pruN 5.4.10+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Resources/config/esi.php 5.4.11+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Resources/config/esi.php
--- 5.4.10+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Resources/config/esi.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Resources/config/esi.php	2022-07-29 12:30:51.000000000 +0000
@@ -21,5 +21,5 @@ return static function (ContainerConfigu
         ->set('esi_listener', SurrogateListener::class)
             ->args([service('esi')->ignoreOnInvalid()])
             ->tag('kernel.event_subscriber')
-        ;
+    ;
 };
diff -pruN 5.4.10+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Resources/config/validator.php 5.4.11+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Resources/config/validator.php
--- 5.4.10+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Resources/config/validator.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Resources/config/validator.php	2022-07-29 12:30:51.000000000 +0000
@@ -104,5 +104,5 @@ return static function (ContainerConfigu
                 service('property_info'),
             ])
             ->tag('validator.auto_mapper')
-        ;
+    ;
 };
diff -pruN 5.4.10+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Routing/Router.php 5.4.11+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Routing/Router.php
--- 5.4.10+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Routing/Router.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Routing/Router.php	2022-07-29 12:30:51.000000000 +0000
@@ -180,14 +180,14 @@ class Router extends BaseRouter implemen
 
             $resolved = ($this->paramFetcher)($match[1]);
 
-            if (is_scalar($resolved)) {
+            if (\is_scalar($resolved)) {
                 $this->collectedParameters[$match[1]] = $resolved;
 
                 if (\is_string($resolved)) {
                     $resolved = $this->resolve($resolved);
                 }
 
-                if (is_scalar($resolved)) {
+                if (\is_scalar($resolved)) {
                     return false === $resolved ? '0' : (string) $resolved;
                 }
             }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Tests/Console/Descriptor/AbstractDescriptorTest.php 5.4.11+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Tests/Console/Descriptor/AbstractDescriptorTest.php
--- 5.4.10+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Tests/Console/Descriptor/AbstractDescriptorTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Tests/Console/Descriptor/AbstractDescriptorTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -208,11 +208,25 @@ abstract class AbstractDescriptorTest ex
         $this->assertDescription($expectedDescription, $callable);
     }
 
-    public function getDescribeCallableTestData()
+    public function getDescribeCallableTestData(): array
     {
         return $this->getDescriptionTestData(ObjectsProvider::getCallables());
     }
 
+    /**
+     * @group legacy
+     * @dataProvider getDescribeDeprecatedCallableTestData
+     */
+    public function testDescribeDeprecatedCallable($callable, $expectedDescription)
+    {
+        $this->assertDescription($expectedDescription, $callable);
+    }
+
+    public function getDescribeDeprecatedCallableTestData(): array
+    {
+        return $this->getDescriptionTestData(ObjectsProvider::getDeprecatedCallables());
+    }
+
     /** @dataProvider getClassDescriptionTestData */
     public function testGetClassDescription($object, $expectedDescription)
     {
diff -pruN 5.4.10+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Tests/Console/Descriptor/ObjectsProvider.php 5.4.11+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Tests/Console/Descriptor/ObjectsProvider.php
--- 5.4.10+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Tests/Console/Descriptor/ObjectsProvider.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Tests/Console/Descriptor/ObjectsProvider.php	2022-07-29 12:30:51.000000000 +0000
@@ -249,19 +249,25 @@ class ObjectsProvider
         return ['event_dispatcher_1' => $eventDispatcher];
     }
 
-    public static function getCallables()
+    public static function getCallables(): array
     {
         return [
             'callable_1' => 'array_key_exists',
             'callable_2' => ['Symfony\\Bundle\\FrameworkBundle\\Tests\\Console\\Descriptor\\CallableClass', 'staticMethod'],
             'callable_3' => [new CallableClass(), 'method'],
             'callable_4' => 'Symfony\\Bundle\\FrameworkBundle\\Tests\\Console\\Descriptor\\CallableClass::staticMethod',
-            'callable_5' => ['Symfony\\Bundle\\FrameworkBundle\\Tests\\Console\\Descriptor\\ExtendedCallableClass', 'parent::staticMethod'],
             'callable_6' => function () { return 'Closure'; },
             'callable_7' => new CallableClass(),
             'callable_from_callable' => \Closure::fromCallable(new CallableClass()),
         ];
     }
+
+    public static function getDeprecatedCallables(): array
+    {
+        return [
+            'callable_5' => ['Symfony\\Bundle\\FrameworkBundle\\Tests\\Console\\Descriptor\\ExtendedCallableClass', 'parent::staticMethod'],
+        ];
+    }
 }
 
 class CallableClass
diff -pruN 5.4.10+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/php/form_csrf_disabled.php 5.4.11+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/php/form_csrf_disabled.php
--- 5.4.10+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/php/form_csrf_disabled.php	1970-01-01 00:00:00.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/php/form_csrf_disabled.php	2022-07-29 12:30:51.000000000 +0000
@@ -0,0 +1,8 @@
+<?php
+
+$container->loadFromExtension('framework', [
+    'csrf_protection' => false,
+    'form' => [
+        'csrf_protection' => true,
+    ],
+]);
diff -pruN 5.4.10+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/xml/form_csrf_disabled.xml 5.4.11+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/xml/form_csrf_disabled.xml
--- 5.4.10+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/xml/form_csrf_disabled.xml	1970-01-01 00:00:00.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/xml/form_csrf_disabled.xml	2022-07-29 12:30:51.000000000 +0000
@@ -0,0 +1,17 @@
+<?xml version="1.0" ?>
+
+<container xmlns="http://symfony.com/schema/dic/services"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:framework="http://symfony.com/schema/dic/symfony"
+    xsi:schemaLocation="http://symfony.com/schema/dic/services
+            https://symfony.com/schema/dic/services/services-1.0.xsd
+            http://symfony.com/schema/dic/symfony
+            https://symfony.com/schema/dic/symfony/symfony-1.0.xsd"
+>
+    <framework:config>
+        <framework:csrf-protection enabled="false"/>
+        <framework:form enabled="true">
+            <framework:csrf-protection enabled="true"/>
+        </framework:form>
+    </framework:config>
+</container>
diff -pruN 5.4.10+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/yml/form_csrf_disabled.yml 5.4.11+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/yml/form_csrf_disabled.yml
--- 5.4.10+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/yml/form_csrf_disabled.yml	1970-01-01 00:00:00.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/yml/form_csrf_disabled.yml	2022-07-29 12:30:51.000000000 +0000
@@ -0,0 +1,4 @@
+framework:
+    csrf_protection: false
+    form:
+        csrf_protection: true
diff -pruN 5.4.10+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php 5.4.11+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php
--- 5.4.10+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -97,6 +97,14 @@ abstract class FrameworkExtensionTest ex
         $this->assertEquals('%form.type_extension.csrf.field_name%', $def->getArgument(2));
     }
 
+    public function testFormCsrfProtectionWithCsrfDisabled()
+    {
+        $this->expectException(\LogicException::class);
+        $this->expectExceptionMessage('To use form CSRF protection, "framework.csrf_protection" must be enabled.');
+
+        $this->createContainerFromFile('form_csrf_disabled');
+    }
+
     public function testPropertyAccessWithDefaultValue()
     {
         $container = $this->createContainerFromFile('full');
@@ -1182,7 +1190,7 @@ abstract class FrameworkExtensionTest ex
 
     public function testFileLinkFormat()
     {
-        if (ini_get('xdebug.file_link_format') || get_cfg_var('xdebug.file_link_format')) {
+        if (\ini_get('xdebug.file_link_format') || get_cfg_var('xdebug.file_link_format')) {
             $this->markTestSkipped('A custom file_link_format is defined.');
         }
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/ContainerDebugCommandTest.php 5.4.11+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/ContainerDebugCommandTest.php
--- 5.4.10+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/ContainerDebugCommandTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/ContainerDebugCommandTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -117,7 +117,7 @@ Symfony Container Environment Variables
  * UNKNOWN
 
 TXT
-        , $tester->getDisplay(true));
+            , $tester->getDisplay(true));
 
         putenv('REAL');
     }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Tests/Translation/TranslatorTest.php 5.4.11+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Tests/Translation/TranslatorTest.php
--- 5.4.10+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Tests/Translation/TranslatorTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Bundle/FrameworkBundle/Tests/Translation/TranslatorTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -138,7 +138,7 @@ class TranslatorTest extends TestCase
         $this->expectExceptionMessage('The Translator does not support the following options: \'foo\'');
         $container = $this->createMock(ContainerInterface::class);
 
-        (new Translator($container, new MessageFormatter(), 'en', [], ['foo' => 'bar']));
+        new Translator($container, new MessageFormatter(), 'en', [], ['foo' => 'bar']);
     }
 
     /** @dataProvider getDebugModeAndCacheDirCombinations */
diff -pruN 5.4.10+dfsg-1/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/CompleteConfigurationTest.php 5.4.11+dfsg-1/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/CompleteConfigurationTest.php
--- 5.4.10+dfsg-1/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/CompleteConfigurationTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/CompleteConfigurationTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -1048,7 +1048,7 @@ abstract class CompleteConfigurationTest
     {
         $container = $this->getContainer('access_decision_manager_default_strategy');
 
-        $this->assertEquals((new Definition(AffirmativeStrategy::class, [false])), $container->getDefinition('security.access.decision_manager')->getArgument(1), 'Default vote strategy is affirmative');
+        $this->assertEquals(new Definition(AffirmativeStrategy::class, [false]), $container->getDefinition('security.access.decision_manager')->getArgument(1), 'Default vote strategy is affirmative');
     }
 
     public function testCustomAccessDecisionManagerService()
@@ -1071,7 +1071,7 @@ abstract class CompleteConfigurationTest
 
         $accessDecisionManagerDefinition = $container->getDefinition('security.access.decision_manager');
 
-        $this->assertEquals((new Definition(AffirmativeStrategy::class, [true])), $accessDecisionManagerDefinition->getArgument(1));
+        $this->assertEquals(new Definition(AffirmativeStrategy::class, [true]), $accessDecisionManagerDefinition->getArgument(1));
     }
 
     public function testAccessDecisionManagerWithStrategyService()
diff -pruN 5.4.10+dfsg-1/src/Symfony/Bundle/SecurityBundle/Tests/Functional/UserPasswordEncoderCommandTest.php 5.4.11+dfsg-1/src/Symfony/Bundle/SecurityBundle/Tests/Functional/UserPasswordEncoderCommandTest.php
--- 5.4.10+dfsg-1/src/Symfony/Bundle/SecurityBundle/Tests/Functional/UserPasswordEncoderCommandTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Bundle/SecurityBundle/Tests/Functional/UserPasswordEncoderCommandTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -286,7 +286,7 @@ class UserPasswordEncoderCommandTest ext
   [2] Custom\Class\Test\User
   [3] Symfony\Component\Security\Core\User\InMemoryUser
 EOTXT
-        , $this->passwordEncoderCommandTester->getDisplay(true));
+            , $this->passwordEncoderCommandTester->getDisplay(true));
     }
 
     public function testNonInteractiveEncodePasswordUsesFirstUserClass()
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/BrowserKit/AbstractBrowser.php 5.4.11+dfsg-1/src/Symfony/Component/BrowserKit/AbstractBrowser.php
--- 5.4.10+dfsg-1/src/Symfony/Component/BrowserKit/AbstractBrowser.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/BrowserKit/AbstractBrowser.php	2022-07-29 12:30:51.000000000 +0000
@@ -658,7 +658,7 @@ abstract class AbstractBrowser
         }
 
         // protocol relative URL
-        if (0 === strpos($uri, '//')) {
+        if ('' !== trim($uri, '/') && str_starts_with($uri, '//')) {
             return parse_url($currentUri, \PHP_URL_SCHEME).':'.$uri;
         }
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/BrowserKit/HttpBrowser.php 5.4.11+dfsg-1/src/Symfony/Component/BrowserKit/HttpBrowser.php
--- 5.4.10+dfsg-1/src/Symfony/Component/BrowserKit/HttpBrowser.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/BrowserKit/HttpBrowser.php	2022-07-29 12:30:51.000000000 +0000
@@ -82,7 +82,7 @@ class HttpBrowser extends AbstractBrowse
         $fields = $request->getParameters();
 
         if ($uploadedFiles = $this->getUploadedFiles($request->getFiles())) {
-            $part = new FormDataPart(array_merge($fields, $uploadedFiles));
+            $part = new FormDataPart(array_replace_recursive($fields, $uploadedFiles));
 
             return [$part->bodyToIterable(), $part->getPreparedHeaders()->toArray()];
         }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/BrowserKit/Tests/HttpBrowserTest.php 5.4.11+dfsg-1/src/Symfony/Component/BrowserKit/Tests/HttpBrowserTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/BrowserKit/Tests/HttpBrowserTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/BrowserKit/Tests/HttpBrowserTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -94,7 +94,11 @@ class HttpBrowserTest extends AbstractBr
             ->with('POST', 'http://example.com/', $this->callback(function ($options) {
                 $this->assertStringContainsString('Content-Type: multipart/form-data', implode('', $options['headers']));
                 $this->assertInstanceOf(\Generator::class, $options['body']);
-                $this->assertStringContainsString('my_file', implode('', iterator_to_array($options['body'])));
+                $values = implode('', iterator_to_array($options['body'], false));
+                $this->assertStringContainsString('name="foo[file]"', $values);
+                $this->assertStringContainsString('my_file', $values);
+                $this->assertStringContainsString('name="foo[bar]"', $values);
+                $this->assertStringContainsString('foo2', $values);
 
                 return true;
             }))
@@ -103,7 +107,7 @@ class HttpBrowserTest extends AbstractBr
         $browser = new HttpBrowser($client);
         $path = tempnam(sys_get_temp_dir(), 'http');
         file_put_contents($path, 'my_file');
-        $browser->request('POST', 'http://example.com/', [], ['file' => ['tmp_name' => $path, 'name' => 'foo']]);
+        $browser->request('POST', 'http://example.com/', ['foo' => ['bar' => 'foo2']], ['foo' => ['file' => ['tmp_name' => $path, 'name' => 'foo']]]);
     }
 
     public function testMultiPartRequestWithNormalFlatArray()
@@ -180,6 +184,30 @@ class HttpBrowserTest extends AbstractBr
         ]);
     }
 
+    /**
+     * @dataProvider forwardSlashesRequestPathProvider
+     */
+    public function testMultipleForwardSlashesRequestPath(string $requestPath)
+    {
+        $client = $this->createMock(HttpClientInterface::class);
+        $client
+            ->expects($this->once())
+            ->method('request')
+            ->with('GET', 'http://localhost'.$requestPath)
+            ->willReturn($this->createMock(ResponseInterface::class));
+        $browser = new HttpBrowser($client);
+        $browser->request('GET', $requestPath);
+    }
+
+    public function forwardSlashesRequestPathProvider()
+    {
+        return [
+            'one slash' => ['/'],
+            'two slashes' => ['//'],
+            'multiple slashes' => ['////'],
+        ];
+    }
+
     private function uploadFile(string $data): string
     {
         $path = tempnam(sys_get_temp_dir(), 'http');
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Cache/Adapter/AbstractAdapter.php 5.4.11+dfsg-1/src/Symfony/Component/Cache/Adapter/AbstractAdapter.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Cache/Adapter/AbstractAdapter.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Cache/Adapter/AbstractAdapter.php	2022-07-29 12:30:51.000000000 +0000
@@ -112,7 +112,7 @@ abstract class AbstractAdapter implement
             return $opcache;
         }
 
-        if (\in_array(\PHP_SAPI, ['cli', 'phpdbg'], true) && !filter_var(ini_get('apc.enable_cli'), \FILTER_VALIDATE_BOOLEAN)) {
+        if (\in_array(\PHP_SAPI, ['cli', 'phpdbg'], true) && !filter_var(\ini_get('apc.enable_cli'), \FILTER_VALIDATE_BOOLEAN)) {
             return $opcache;
         }
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Cache/Adapter/ApcuAdapter.php 5.4.11+dfsg-1/src/Symfony/Component/Cache/Adapter/ApcuAdapter.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Cache/Adapter/ApcuAdapter.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Cache/Adapter/ApcuAdapter.php	2022-07-29 12:30:51.000000000 +0000
@@ -49,7 +49,7 @@ class ApcuAdapter extends AbstractAdapte
 
     public static function isSupported()
     {
-        return \function_exists('apcu_fetch') && filter_var(ini_get('apc.enabled'), \FILTER_VALIDATE_BOOLEAN);
+        return \function_exists('apcu_fetch') && filter_var(\ini_get('apc.enabled'), \FILTER_VALIDATE_BOOLEAN);
     }
 
     /**
@@ -94,8 +94,8 @@ class ApcuAdapter extends AbstractAdapte
      */
     protected function doClear(string $namespace)
     {
-        return isset($namespace[0]) && class_exists(\APCuIterator::class, false) && ('cli' !== \PHP_SAPI || filter_var(ini_get('apc.enable_cli'), \FILTER_VALIDATE_BOOLEAN))
-            ? apcu_delete(new \APCuIterator(sprintf('/^%s/', preg_quote($namespace, '/')), \APC_ITER_KEY))
+        return isset($namespace[0]) && class_exists(\APCUIterator::class, false) && ('cli' !== \PHP_SAPI || filter_var(\ini_get('apc.enable_cli'), \FILTER_VALIDATE_BOOLEAN))
+            ? apcu_delete(new \APCUIterator(sprintf('/^%s/', preg_quote($namespace, '/')), \APC_ITER_KEY))
             : apcu_clear_cache();
     }
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Cache/Adapter/ArrayAdapter.php 5.4.11+dfsg-1/src/Symfony/Component/Cache/Adapter/ArrayAdapter.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Cache/Adapter/ArrayAdapter.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Cache/Adapter/ArrayAdapter.php	2022-07-29 12:30:51.000000000 +0000
@@ -349,7 +349,7 @@ class ArrayAdapter implements AdapterInt
             if ('N;' === $value || (isset($value[2]) && ':' === $value[1])) {
                 return serialize($value);
             }
-        } elseif (!is_scalar($value)) {
+        } elseif (!\is_scalar($value)) {
             try {
                 $serialized = serialize($value);
             } catch (\Exception $e) {
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Cache/Adapter/ChainAdapter.php 5.4.11+dfsg-1/src/Symfony/Component/Cache/Adapter/ChainAdapter.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Cache/Adapter/ChainAdapter.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Cache/Adapter/ChainAdapter.php	2022-07-29 12:30:51.000000000 +0000
@@ -53,7 +53,7 @@ class ChainAdapter implements AdapterInt
             if (!$adapter instanceof CacheItemPoolInterface) {
                 throw new InvalidArgumentException(sprintf('The class "%s" does not implement the "%s" interface.', get_debug_type($adapter), CacheItemPoolInterface::class));
             }
-            if (\in_array(\PHP_SAPI, ['cli', 'phpdbg'], true) && $adapter instanceof ApcuAdapter && !filter_var(ini_get('apc.enable_cli'), \FILTER_VALIDATE_BOOLEAN)) {
+            if (\in_array(\PHP_SAPI, ['cli', 'phpdbg'], true) && $adapter instanceof ApcuAdapter && !filter_var(\ini_get('apc.enable_cli'), \FILTER_VALIDATE_BOOLEAN)) {
                 continue; // skip putting APCu in the chain when the backend is disabled
             }
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Cache/Adapter/PhpArrayAdapter.php 5.4.11+dfsg-1/src/Symfony/Component/Cache/Adapter/PhpArrayAdapter.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Cache/Adapter/PhpArrayAdapter.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Cache/Adapter/PhpArrayAdapter.php	2022-07-29 12:30:51.000000000 +0000
@@ -345,7 +345,7 @@ EOF;
                     $isStaticValue = false;
                 }
                 $value = var_export($value, true);
-            } elseif (!is_scalar($value)) {
+            } elseif (!\is_scalar($value)) {
                 throw new InvalidArgumentException(sprintf('Cache key "%s" has non-serializable "%s" value.', $key, get_debug_type($value)));
             } else {
                 $value = var_export($value, true);
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Cache/Adapter/PhpFilesAdapter.php 5.4.11+dfsg-1/src/Symfony/Component/Cache/Adapter/PhpFilesAdapter.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Cache/Adapter/PhpFilesAdapter.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Cache/Adapter/PhpFilesAdapter.php	2022-07-29 12:30:51.000000000 +0000
@@ -58,7 +58,7 @@ class PhpFilesAdapter extends AbstractAd
     {
         self::$startTime = self::$startTime ?? $_SERVER['REQUEST_TIME'] ?? time();
 
-        return \function_exists('opcache_invalidate') && filter_var(ini_get('opcache.enable'), \FILTER_VALIDATE_BOOLEAN) && (!\in_array(\PHP_SAPI, ['cli', 'phpdbg'], true) || filter_var(ini_get('opcache.enable_cli'), \FILTER_VALIDATE_BOOLEAN));
+        return \function_exists('opcache_invalidate') && filter_var(\ini_get('opcache.enable'), \FILTER_VALIDATE_BOOLEAN) && (!\in_array(\PHP_SAPI, ['cli', 'phpdbg'], true) || filter_var(\ini_get('opcache.enable_cli'), \FILTER_VALIDATE_BOOLEAN));
     }
 
     /**
@@ -234,7 +234,7 @@ class PhpFilesAdapter extends AbstractAd
                     $isStaticValue = false;
                 }
                 $value = var_export($value, true);
-            } elseif (!is_scalar($value)) {
+            } elseif (!\is_scalar($value)) {
                 throw new InvalidArgumentException(sprintf('Cache key "%s" has non-serializable "%s" value.', $key, get_debug_type($value)));
             } else {
                 $value = var_export($value, true);
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Cache/CacheItem.php 5.4.11+dfsg-1/src/Symfony/Component/Cache/CacheItem.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Cache/CacheItem.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Cache/CacheItem.php	2022-07-29 12:30:51.000000000 +0000
@@ -182,7 +182,7 @@ final class CacheItem implements ItemInt
         } else {
             $replace = [];
             foreach ($context as $k => $v) {
-                if (is_scalar($v)) {
+                if (\is_scalar($v)) {
                     $replace['{'.$k.'}'] = $v;
                 }
             }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Cache/Tests/Adapter/AdapterTestCase.php 5.4.11+dfsg-1/src/Symfony/Component/Cache/Tests/Adapter/AdapterTestCase.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Cache/Tests/Adapter/AdapterTestCase.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Cache/Tests/Adapter/AdapterTestCase.php	2022-07-29 12:30:51.000000000 +0000
@@ -116,18 +116,19 @@ abstract class AdapterTestCase extends C
 
         $cache = $this->createCachePool(0, __FUNCTION__);
 
-        $v1 = $cache->get('some-key', function($item, &$save){
-           $save = false;
-           return 1;
+        $v1 = $cache->get('some-key', function ($item, &$save) {
+            $save = false;
+
+            return 1;
         });
         $this->assertSame($v1, 1);
 
-        $v2 = $cache->get('some-key', function(){
+        $v2 = $cache->get('some-key', function () {
             return 2;
         });
         $this->assertSame($v2, 2, 'First value was cached and should not have been');
 
-        $v3 = $cache->get('some-key', function(){
+        $v3 = $cache->get('some-key', function () {
             $this->fail('Value should have come from cache');
         });
         $this->assertSame($v3, 2);
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Cache/Tests/Adapter/ApcuAdapterTest.php 5.4.11+dfsg-1/src/Symfony/Component/Cache/Tests/Adapter/ApcuAdapterTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Cache/Tests/Adapter/ApcuAdapterTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Cache/Tests/Adapter/ApcuAdapterTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -26,10 +26,10 @@ class ApcuAdapterTest extends AdapterTes
 
     public function createCachePool(int $defaultLifetime = 0): CacheItemPoolInterface
     {
-        if (!\function_exists('apcu_fetch') || !filter_var(ini_get('apc.enabled'), \FILTER_VALIDATE_BOOLEAN)) {
+        if (!\function_exists('apcu_fetch') || !filter_var(\ini_get('apc.enabled'), \FILTER_VALIDATE_BOOLEAN)) {
             $this->markTestSkipped('APCu extension is required.');
         }
-        if ('cli' === \PHP_SAPI && !filter_var(ini_get('apc.enable_cli'), \FILTER_VALIDATE_BOOLEAN)) {
+        if ('cli' === \PHP_SAPI && !filter_var(\ini_get('apc.enable_cli'), \FILTER_VALIDATE_BOOLEAN)) {
             if ('testWithCliSapi' !== $this->getName()) {
                 $this->markTestSkipped('apc.enable_cli=1 is required.');
             }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Cache/Tests/Adapter/MemcachedAdapterTest.php 5.4.11+dfsg-1/src/Symfony/Component/Cache/Tests/Adapter/MemcachedAdapterTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Cache/Tests/Adapter/MemcachedAdapterTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Cache/Tests/Adapter/MemcachedAdapterTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -147,7 +147,7 @@ class MemcachedAdapterTest extends Adapt
             'localhost',
             11222,
         ];
-        if (filter_var(ini_get('memcached.use_sasl'), \FILTER_VALIDATE_BOOLEAN)) {
+        if (filter_var(\ini_get('memcached.use_sasl'), \FILTER_VALIDATE_BOOLEAN)) {
             yield [
                 'memcached://user:password@127.0.0.1?weight=50',
                 '127.0.0.1',
@@ -164,7 +164,7 @@ class MemcachedAdapterTest extends Adapt
             '/var/local/run/memcached.socket',
             0,
         ];
-        if (filter_var(ini_get('memcached.use_sasl'), \FILTER_VALIDATE_BOOLEAN)) {
+        if (filter_var(\ini_get('memcached.use_sasl'), \FILTER_VALIDATE_BOOLEAN)) {
             yield [
                 'memcached://user:password@/var/local/run/memcached.socket?weight=25',
                 '/var/local/run/memcached.socket',
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Cache/Tests/Adapter/RedisAdapterSentinelTest.php 5.4.11+dfsg-1/src/Symfony/Component/Cache/Tests/Adapter/RedisAdapterSentinelTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Cache/Tests/Adapter/RedisAdapterSentinelTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Cache/Tests/Adapter/RedisAdapterSentinelTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -14,7 +14,6 @@ namespace Symfony\Component\Cache\Tests\
 use PHPUnit\Framework\SkippedTestSuiteError;
 use Symfony\Component\Cache\Adapter\AbstractAdapter;
 use Symfony\Component\Cache\Adapter\RedisAdapter;
-use Symfony\Component\Cache\Exception\CacheException;
 use Symfony\Component\Cache\Exception\InvalidArgumentException;
 
 /**
@@ -48,9 +47,9 @@ class RedisAdapterSentinelTest extends A
     public function testExceptionMessageWhenFailingToRetrieveMasterInformation()
     {
         $hosts = getenv('REDIS_SENTINEL_HOSTS');
-        $firstHost = explode(' ', $hosts)[0];
+        $dsn = 'redis:?host['.str_replace(' ', ']&host[', $hosts).']';
         $this->expectException(\Symfony\Component\Cache\Exception\InvalidArgumentException::class);
-        $this->expectExceptionMessage('Failed to retrieve master information from master name "invalid-masterset-name" and address "'.$firstHost.'".');
-        AbstractAdapter::createConnection('redis:?host['.str_replace(' ', ']&host[', $hosts).']', ['redis_sentinel' => 'invalid-masterset-name']);
+        $this->expectExceptionMessage('Failed to retrieve master information from sentinel "invalid-masterset-name" and dsn "'.$dsn.'".');
+        AbstractAdapter::createConnection($dsn, ['redis_sentinel' => 'invalid-masterset-name']);
     }
 }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Cache/Tests/Adapter/TagAwareAdapterTest.php 5.4.11+dfsg-1/src/Symfony/Component/Cache/Tests/Adapter/TagAwareAdapterTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Cache/Tests/Adapter/TagAwareAdapterTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Cache/Tests/Adapter/TagAwareAdapterTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -12,7 +12,6 @@
 namespace Symfony\Component\Cache\Tests\Adapter;
 
 use PHPUnit\Framework\MockObject\MockObject;
-use Psr\Cache\CacheItemInterface;
 use Psr\Cache\CacheItemPoolInterface;
 use Symfony\Component\Cache\Adapter\AdapterInterface;
 use Symfony\Component\Cache\Adapter\ArrayAdapter;
@@ -101,7 +100,7 @@ class TagAwareAdapterTest extends Adapte
         $anotherPool = $this->createCachePool();
 
         $adapter = new FilesystemAdapter();
-        $adapter->deleteItem(TagAwareAdapter::TAGS_PREFIX.$itemKey); //simulate item losing tags pair
+        $adapter->deleteItem(TagAwareAdapter::TAGS_PREFIX.$itemKey); // simulate item losing tags pair
 
         $this->assertFalse($anotherPool->hasItem($itemKey));
     }
@@ -117,7 +116,7 @@ class TagAwareAdapterTest extends Adapte
         $anotherPool = $this->createCachePool();
 
         $adapter = new FilesystemAdapter();
-        $adapter->deleteItem(TagAwareAdapter::TAGS_PREFIX.$itemKey); //simulate item losing tags pair
+        $adapter->deleteItem(TagAwareAdapter::TAGS_PREFIX.$itemKey); // simulate item losing tags pair
 
         $item = $anotherPool->getItem($itemKey);
         $this->assertFalse($item->isHit());
@@ -134,7 +133,7 @@ class TagAwareAdapterTest extends Adapte
         $anotherPool = $this->createCachePool();
 
         $adapter = new FilesystemAdapter();
-        $adapter->deleteItem($itemKey); //simulate losing item but keeping tags
+        $adapter->deleteItem($itemKey); // simulate losing item but keeping tags
 
         $this->assertFalse($anotherPool->hasItem($itemKey));
     }
@@ -169,7 +168,7 @@ class TagAwareAdapterTest extends Adapte
         $anotherPool = $this->createCachePool();
 
         $adapter = new FilesystemAdapter();
-        $adapter->deleteItem($itemKey); //simulate losing item but keeping tags
+        $adapter->deleteItem($itemKey); // simulate losing item but keeping tags
 
         $item = $anotherPool->getItem($itemKey);
         $this->assertFalse($item->isHit());
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Cache/Traits/ContractsTrait.php 5.4.11+dfsg-1/src/Symfony/Component/Cache/Traits/ContractsTrait.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Cache/Traits/ContractsTrait.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Cache/Traits/ContractsTrait.php	2022-07-29 12:30:51.000000000 +0000
@@ -42,7 +42,7 @@ trait ContractsTrait
     public function setCallbackWrapper(?callable $callbackWrapper): callable
     {
         if (!isset($this->callbackWrapper)) {
-            $this->callbackWrapper = \Closure::fromCallable([LockRegistry::class, 'compute']);;
+            $this->callbackWrapper = \Closure::fromCallable([LockRegistry::class, 'compute']);
 
             if (\in_array(\PHP_SAPI, ['cli', 'phpdbg'], true)) {
                 $this->setCallbackWrapper(null);
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Cache/Traits/RedisTrait.php 5.4.11+dfsg-1/src/Symfony/Component/Cache/Traits/RedisTrait.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Cache/Traits/RedisTrait.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Cache/Traits/RedisTrait.php	2022-07-29 12:30:51.000000000 +0000
@@ -179,7 +179,7 @@ trait RedisTrait
         }
 
         if (null === $params['class'] && \extension_loaded('redis')) {
-            $class = $params['redis_cluster'] ? \RedisCluster::class : (1 < \count($hosts) ? \RedisArray::class : \Redis::class);
+            $class = $params['redis_cluster'] ? \RedisCluster::class : (1 < \count($hosts) && !isset($params['redis_sentinel']) ? \RedisArray::class : \Redis::class);
         } else {
             $class = $params['class'] ?? \Predis\Client::class;
 
@@ -193,21 +193,29 @@ trait RedisTrait
             $redis = new $class();
 
             $initializer = static function ($redis) use ($connect, $params, $dsn, $auth, $hosts, $tls) {
-                $host = $hosts[0]['host'] ?? $hosts[0]['path'];
-                $port = $hosts[0]['port'] ?? 0;
+                $hostIndex = 0;
+                do {
+                    $host = $hosts[$hostIndex]['host'] ?? $hosts[$hostIndex]['path'];
+                    $port = $hosts[$hostIndex]['port'] ?? 0;
+                    $address = false;
 
-                if (isset($hosts[0]['host']) && $tls) {
-                    $host = 'tls://'.$host;
-                }
+                    if (isset($hosts[$hostIndex]['host']) && $tls) {
+                        $host = 'tls://'.$host;
+                    }
+
+                    if (!isset($params['redis_sentinel'])) {
+                        break;
+                    }
 
-                if (isset($params['redis_sentinel'])) {
                     $sentinel = new \RedisSentinel($host, $port, $params['timeout'], (string) $params['persistent_id'], $params['retry_interval'], $params['read_timeout']);
 
-                    if (!$address = $sentinel->getMasterAddrByName($params['redis_sentinel'])) {
-                        throw new InvalidArgumentException(sprintf('Failed to retrieve master information from master name "%s" and address "%s:%d".', $params['redis_sentinel'], $host, $port));
+                    if ($address = $sentinel->getMasterAddrByName($params['redis_sentinel'])) {
+                        [$host, $port] = $address;
                     }
+                } while (++$hostIndex < \count($hosts) && !$address);
 
-                    [$host, $port] = $address;
+                if (isset($params['redis_sentinel']) && !$address) {
+                    throw new InvalidArgumentException(sprintf('Failed to retrieve master information from sentinel "%s" and dsn "%s".', $params['redis_sentinel'], $dsn));
                 }
 
                 try {
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Config/Definition/BaseNode.php 5.4.11+dfsg-1/src/Symfony/Component/Config/Definition/BaseNode.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Config/Definition/BaseNode.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Config/Definition/BaseNode.php	2022-07-29 12:30:51.000000000 +0000
@@ -203,7 +203,7 @@ abstract class BaseNode implements NodeI
      * You can use %node% and %path% placeholders in your message to display,
      * respectively, the node name and its complete path
      */
-    public function setDeprecated(?string $package/*, string $version, string $message = 'The child node "%node%" at path "%path%" is deprecated.' */)
+    public function setDeprecated(?string $package/* , string $version, string $message = 'The child node "%node%" at path "%path%" is deprecated.' */)
     {
         $args = \func_get_args();
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Config/Definition/ScalarNode.php 5.4.11+dfsg-1/src/Symfony/Component/Config/Definition/ScalarNode.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Config/Definition/ScalarNode.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Config/Definition/ScalarNode.php	2022-07-29 12:30:51.000000000 +0000
@@ -32,7 +32,7 @@ class ScalarNode extends VariableNode
      */
     protected function validateType($value)
     {
-        if (!is_scalar($value) && null !== $value) {
+        if (!\is_scalar($value) && null !== $value) {
             $ex = new InvalidTypeException(sprintf('Invalid type for path "%s". Expected "scalar", but got "%s".', $this->getPath(), get_debug_type($value)));
             if ($hint = $this->getInfo()) {
                 $ex->addHint($hint);
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Config/ResourceCheckerConfigCache.php 5.4.11+dfsg-1/src/Symfony/Component/Config/ResourceCheckerConfigCache.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Config/ResourceCheckerConfigCache.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Config/ResourceCheckerConfigCache.php	2022-07-29 12:30:51.000000000 +0000
@@ -136,7 +136,7 @@ class ResourceCheckerConfigCache impleme
             }
         }
 
-        if (\function_exists('opcache_invalidate') && filter_var(ini_get('opcache.enable'), \FILTER_VALIDATE_BOOLEAN)) {
+        if (\function_exists('opcache_invalidate') && filter_var(\ini_get('opcache.enable'), \FILTER_VALIDATE_BOOLEAN)) {
             @opcache_invalidate($this->file, true);
         }
     }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Config/Tests/Loader/FileLoaderTest.php 5.4.11+dfsg-1/src/Symfony/Component/Config/Tests/Loader/FileLoaderTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Config/Tests/Loader/FileLoaderTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Config/Tests/Loader/FileLoaderTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -26,12 +26,12 @@ class FileLoaderTest extends TestCase
 
         $locatorMockForAdditionalLoader = $this->createMock(FileLocatorInterface::class);
         $locatorMockForAdditionalLoader->expects($this->any())->method('locate')->will($this->onConsecutiveCalls(
-                ['path/to/file1'],                    // Default
-                ['path/to/file1', 'path/to/file2'],   // First is imported
-                ['path/to/file1', 'path/to/file2'],   // Second is imported
-                ['path/to/file1'],                    // Exception
-                ['path/to/file1', 'path/to/file2']    // Exception
-                ));
+            ['path/to/file1'],                    // Default
+            ['path/to/file1', 'path/to/file2'],   // First is imported
+            ['path/to/file1', 'path/to/file2'],   // Second is imported
+            ['path/to/file1'],                    // Exception
+            ['path/to/file1', 'path/to/file2']    // Exception
+        ));
 
         $fileLoader = new TestFileLoader($locatorMock);
         $fileLoader->setSupports(false);
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Console/Command/Command.php 5.4.11+dfsg-1/src/Symfony/Component/Console/Command/Command.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Console/Command/Command.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Console/Command/Command.php	2022-07-29 12:30:51.000000000 +0000
@@ -242,7 +242,7 @@ class Command
      *
      * @return int The command exit code
      *
-     * @throws \Exception When binding input fails. Bypass this by calling {@link ignoreValidationErrors()}.
+     * @throws ExceptionInterface When input binding fails. Bypass this by calling {@link ignoreValidationErrors()}.
      *
      * @see setCode()
      * @see execute()
@@ -518,7 +518,7 @@ class Command
      *
      * @final since Symfony 5.1
      */
-    public function setHidden(bool $hidden /*= true*/)
+    public function setHidden(bool $hidden /* = true */)
     {
         $this->hidden = $hidden;
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Console/Command/CompleteCommand.php 5.4.11+dfsg-1/src/Symfony/Component/Console/Command/CompleteCommand.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Console/Command/CompleteCommand.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Console/Command/CompleteCommand.php	2022-07-29 12:30:51.000000000 +0000
@@ -65,15 +65,15 @@ final class CompleteCommand extends Comm
     {
         try {
             // uncomment when a bugfix or BC break has been introduced in the shell completion scripts
-            //$version = $input->getOption('symfony');
-            //if ($version && version_compare($version, 'x.y', '>=')) {
+            // $version = $input->getOption('symfony');
+            // if ($version && version_compare($version, 'x.y', '>=')) {
             //    $message = sprintf('Completion script version is not supported ("%s" given, ">=x.y" required).', $version);
             //    $this->log($message);
 
             //    $output->writeln($message.' Install the Symfony completion script again by using the "completion" command.');
 
             //    return 126;
-            //}
+            // }
 
             $shell = $input->getOption('shell');
             if (!$shell) {
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Console/Helper/QuestionHelper.php 5.4.11+dfsg-1/src/Symfony/Component/Console/Helper/QuestionHelper.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Console/Helper/QuestionHelper.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Console/Helper/QuestionHelper.php	2022-07-29 12:30:51.000000000 +0000
@@ -24,6 +24,7 @@ use Symfony\Component\Console\Output\Out
 use Symfony\Component\Console\Question\ChoiceQuestion;
 use Symfony\Component\Console\Question\Question;
 use Symfony\Component\Console\Terminal;
+
 use function Symfony\Component\String\s;
 
 /**
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Console/Helper/Table.php 5.4.11+dfsg-1/src/Symfony/Component/Console/Helper/Table.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Console/Helper/Table.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Console/Helper/Table.php	2022-07-29 12:30:51.000000000 +0000
@@ -678,7 +678,7 @@ class Table
     {
         $unmergedRows = [];
         foreach ($rows[$line] as $column => $cell) {
-            if (null !== $cell && !$cell instanceof TableCell && !is_scalar($cell) && !(\is_object($cell) && method_exists($cell, '__toString'))) {
+            if (null !== $cell && !$cell instanceof TableCell && !\is_scalar($cell) && !(\is_object($cell) && method_exists($cell, '__toString'))) {
                 throw new InvalidArgumentException(sprintf('A cell must be a TableCell, a scalar or an object implementing "__toString()", "%s" given.', get_debug_type($cell)));
             }
             if ($cell instanceof TableCell && $cell->getRowspan() > 1) {
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Console/Logger/ConsoleLogger.php 5.4.11+dfsg-1/src/Symfony/Component/Console/Logger/ConsoleLogger.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Console/Logger/ConsoleLogger.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Console/Logger/ConsoleLogger.php	2022-07-29 12:30:51.000000000 +0000
@@ -110,7 +110,7 @@ class ConsoleLogger extends AbstractLogg
 
         $replacements = [];
         foreach ($context as $key => $val) {
-            if (null === $val || is_scalar($val) || (\is_object($val) && method_exists($val, '__toString'))) {
+            if (null === $val || \is_scalar($val) || (\is_object($val) && method_exists($val, '__toString'))) {
                 $replacements["{{$key}}"] = $val;
             } elseif ($val instanceof \DateTimeInterface) {
                 $replacements["{{$key}}"] = $val->format(\DateTime::RFC3339);
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Console/Resources/completion.bash 5.4.11+dfsg-1/src/Symfony/Component/Console/Resources/completion.bash
--- 5.4.10+dfsg-1/src/Symfony/Component/Console/Resources/completion.bash	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Console/Resources/completion.bash	2022-07-29 12:30:51.000000000 +0000
@@ -13,9 +13,11 @@ _sf_{{ COMMAND_NAME }}() {
     # for an alias, get the real script behind it
     if [[ $(type -t $sf_cmd) == "alias" ]]; then
         sf_cmd=$(alias $sf_cmd | sed -E "s/alias $sf_cmd='(.*)'/\1/")
+    else
+        sf_cmd=$(type -p $sf_cmd)
     fi
 
-    if [ ! -f "$sf_cmd" ]; then
+    if [ ! -x "$sf_cmd" ]; then
         return 1
     fi
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Console/SignalRegistry/SignalRegistry.php 5.4.11+dfsg-1/src/Symfony/Component/Console/SignalRegistry/SignalRegistry.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Console/SignalRegistry/SignalRegistry.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Console/SignalRegistry/SignalRegistry.php	2022-07-29 12:30:51.000000000 +0000
@@ -43,7 +43,7 @@ final class SignalRegistry
             return false;
         }
 
-        if (\in_array('pcntl_signal', explode(',', ini_get('disable_functions')))) {
+        if (\in_array('pcntl_signal', explode(',', \ini_get('disable_functions')))) {
             return false;
         }
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Console/Style/SymfonyStyle.php 5.4.11+dfsg-1/src/Symfony/Component/Console/Style/SymfonyStyle.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Console/Style/SymfonyStyle.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Console/Style/SymfonyStyle.php	2022-07-29 12:30:51.000000000 +0000
@@ -440,18 +440,18 @@ class SymfonyStyle extends OutputStyle
         $chars = substr(str_replace(\PHP_EOL, "\n", $this->bufferedOutput->fetch()), -2);
 
         if (!isset($chars[0])) {
-            $this->newLine(); //empty history, so we should start with a new line.
+            $this->newLine(); // empty history, so we should start with a new line.
 
             return;
         }
-        //Prepend new line for each non LF chars (This means no blank line was output before)
+        // Prepend new line for each non LF chars (This means no blank line was output before)
         $this->newLine(2 - substr_count($chars, "\n"));
     }
 
     private function autoPrependText(): void
     {
         $fetched = $this->bufferedOutput->fetch();
-        //Prepend new line if last char isn't EOL:
+        // Prepend new line if last char isn't EOL:
         if (!str_ends_with($fetched, "\n")) {
             $this->newLine();
         }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Console/Tests/Command/CompleteCommandTest.php 5.4.11+dfsg-1/src/Symfony/Component/Console/Tests/Command/CompleteCommandTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Console/Tests/Command/CompleteCommandTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Console/Tests/Command/CompleteCommandTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -139,7 +139,7 @@ class CompleteCommandTest_HelloCommand e
         $this->setName('hello')
              ->setAliases(['ahoy'])
              ->addArgument('name', InputArgument::REQUIRED)
-         ;
+        ;
     }
 
     public function complete(CompletionInput $input, CompletionSuggestions $suggestions): void
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Console/Tests/Formatter/OutputFormatterTest.php 5.4.11+dfsg-1/src/Symfony/Component/Console/Tests/Formatter/OutputFormatterTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Console/Tests/Formatter/OutputFormatterTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Console/Tests/Formatter/OutputFormatterTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -284,7 +284,7 @@ EOF
 <info>
 some text</info>
 EOF
-        ));
+            ));
 
         $this->assertEquals(<<<EOF
 \033[32msome text
@@ -294,7 +294,7 @@ EOF
 <info>some text
 </info>
 EOF
-        ));
+            ));
 
         $this->assertEquals(<<<EOF
 \033[32m
@@ -306,7 +306,7 @@ EOF
 some text
 </info>
 EOF
-        ));
+            ));
 
         $this->assertEquals(<<<EOF
 \033[32m
@@ -320,7 +320,7 @@ some text
 more text
 </info>
 EOF
-        ));
+            ));
     }
 
     public function testFormatAndWrap()
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Console/Tests/Helper/SymfonyQuestionHelperTest.php 5.4.11+dfsg-1/src/Symfony/Component/Console/Tests/Helper/SymfonyQuestionHelperTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Console/Tests/Helper/SymfonyQuestionHelperTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Console/Tests/Helper/SymfonyQuestionHelperTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -162,7 +162,7 @@ class SymfonyQuestionHelperTest extends
   [łabądź] baz
  >
 EOT
-        , $output, true);
+            , $output, true);
     }
 
     public function testChoiceQuestionCustomPrompt()
@@ -181,7 +181,7 @@ EOT
   [0] foo
  >ccc>
 EOT
-        , $output, true);
+            , $output, true);
     }
 
     protected function getInputStream($input)
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Console/Tests/Tester/CommandTesterTest.php 5.4.11+dfsg-1/src/Symfony/Component/Console/Tests/Tester/CommandTesterTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Console/Tests/Tester/CommandTesterTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Console/Tests/Tester/CommandTesterTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -237,8 +237,7 @@ class CommandTesterTest extends TestCase
         $command->addArgument('foo');
         $command->setCode(function ($input, $output) {
             $output->getErrorOutput()->write('foo');
-        }
-        );
+        });
 
         $tester = new CommandTester($command);
         $tester->execute(
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/CssSelector/Tests/XPath/TranslatorTest.php 5.4.11+dfsg-1/src/Symfony/Component/CssSelector/Tests/XPath/TranslatorTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/CssSelector/Tests/XPath/TranslatorTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/CssSelector/Tests/XPath/TranslatorTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -156,7 +156,7 @@ class TranslatorTest extends TestCase
   </body>
 </html>
 HTML
-);
+        );
 
         $xpath = new \DOMXPath($document);
         $nodeList = $xpath->query($translator->cssToXPath('span:only-of-type'));
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/DependencyInjection/Compiler/AnalyzeServiceReferencesPass.php 5.4.11+dfsg-1/src/Symfony/Component/DependencyInjection/Compiler/AnalyzeServiceReferencesPass.php
--- 5.4.10+dfsg-1/src/Symfony/Component/DependencyInjection/Compiler/AnalyzeServiceReferencesPass.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/DependencyInjection/Compiler/AnalyzeServiceReferencesPass.php	2022-07-29 12:30:51.000000000 +0000
@@ -112,7 +112,7 @@ class AnalyzeServiceReferencesPass exten
                     $value,
                     $this->lazy || ($targetDefinition && $targetDefinition->isLazy()),
                     true
-               );
+                );
             }
 
             return $value;
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/DependencyInjection/Compiler/CheckDefinitionValidityPass.php 5.4.11+dfsg-1/src/Symfony/Component/DependencyInjection/Compiler/CheckDefinitionValidityPass.php
--- 5.4.10+dfsg-1/src/Symfony/Component/DependencyInjection/Compiler/CheckDefinitionValidityPass.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/DependencyInjection/Compiler/CheckDefinitionValidityPass.php	2022-07-29 12:30:51.000000000 +0000
@@ -63,7 +63,7 @@ class CheckDefinitionValidityPass implem
             foreach ($definition->getTags() as $name => $tags) {
                 foreach ($tags as $attributes) {
                     foreach ($attributes as $attribute => $value) {
-                        if (!is_scalar($value) && null !== $value) {
+                        if (!\is_scalar($value) && null !== $value) {
                             throw new RuntimeException(sprintf('A "tags" attribute must be of a scalar-type for service "%s", tag "%s", attribute "%s".', $id, $name, $attribute));
                         }
                     }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php 5.4.11+dfsg-1/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php
--- 5.4.10+dfsg-1/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php	2022-07-29 12:30:51.000000000 +0000
@@ -719,13 +719,13 @@ EOF;
                     if ($v instanceof Reference && $this->container->has($id = (string) $v) && $this->container->findDefinition($id)->isSynthetic()) {
                         continue;
                     }
-                    if (!is_scalar($v) || $this->dumpValue($v) !== $this->dumpValue($v, false)) {
+                    if (!\is_scalar($v) || $this->dumpValue($v) !== $this->dumpValue($v, false)) {
                         return false;
                     }
                 }
             } elseif ($arg instanceof Reference && $this->container->has($id = (string) $arg) && $this->container->findDefinition($id)->isSynthetic()) {
                 continue;
-            } elseif (!is_scalar($arg) || $this->dumpValue($arg) !== $this->dumpValue($arg, false)) {
+            } elseif (!\is_scalar($arg) || $this->dumpValue($arg) !== $this->dumpValue($arg, false)) {
                 return false;
             }
         }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/DependencyInjection/EnvVarProcessor.php 5.4.11+dfsg-1/src/Symfony/Component/DependencyInjection/EnvVarProcessor.php
--- 5.4.10+dfsg-1/src/Symfony/Component/DependencyInjection/EnvVarProcessor.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/DependencyInjection/EnvVarProcessor.php	2022-07-29 12:30:51.000000000 +0000
@@ -112,7 +112,7 @@ class EnvVarProcessor implements EnvVarP
         }
 
         if ('file' === $prefix || 'require' === $prefix) {
-            if (!is_scalar($file = $getEnv($name))) {
+            if (!\is_scalar($file = $getEnv($name))) {
                 throw new RuntimeException(sprintf('Invalid file name: env var "%s" is non-scalar.', $name));
             }
             if (!is_file($file)) {
@@ -184,7 +184,7 @@ class EnvVarProcessor implements EnvVarP
             return null;
         }
 
-        if (!is_scalar($env)) {
+        if (!\is_scalar($env)) {
             throw new RuntimeException(sprintf('Non-scalar env var "%s" cannot be cast to "%s".', $name, $prefix));
         }
 
@@ -283,7 +283,7 @@ class EnvVarProcessor implements EnvVarP
                     $value = $this->container->getParameter($match[1]);
                 }
 
-                if (!is_scalar($value)) {
+                if (!\is_scalar($value)) {
                     throw new RuntimeException(sprintf('Parameter "%s" found when resolving env var "%s" must be scalar, "%s" given.', $match[1], $name, get_debug_type($value)));
                 }
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/DependencyInjection/LazyProxy/ProxyHelper.php 5.4.11+dfsg-1/src/Symfony/Component/DependencyInjection/LazyProxy/ProxyHelper.php
--- 5.4.10+dfsg-1/src/Symfony/Component/DependencyInjection/LazyProxy/ProxyHelper.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/DependencyInjection/LazyProxy/ProxyHelper.php	2022-07-29 12:30:51.000000000 +0000
@@ -32,6 +32,11 @@ class ProxyHelper
             return null;
         }
 
+        return self::getTypeHintForType($type, $r, $noBuiltin);
+    }
+
+    private static function getTypeHintForType(\ReflectionType $type, \ReflectionFunctionAbstract $r, bool $noBuiltin): ?string
+    {
         $types = [];
         $glue = '|';
         if ($type instanceof \ReflectionUnionType) {
@@ -46,6 +51,17 @@ class ProxyHelper
         }
 
         foreach ($reflectionTypes as $type) {
+            if ($type instanceof \ReflectionIntersectionType) {
+                $typeHint = self::getTypeHintForType($type, $r, $noBuiltin);
+                if (null === $typeHint) {
+                    return null;
+                }
+
+                $types[] = sprintf('(%s)', $typeHint);
+
+                continue;
+            }
+
             if ($type->isBuiltin()) {
                 if (!$noBuiltin) {
                     $types[] = $type->getName();
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/DependencyInjection/Loader/Configurator/AbstractConfigurator.php 5.4.11+dfsg-1/src/Symfony/Component/DependencyInjection/Loader/Configurator/AbstractConfigurator.php
--- 5.4.10+dfsg-1/src/Symfony/Component/DependencyInjection/Loader/Configurator/AbstractConfigurator.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/DependencyInjection/Loader/Configurator/AbstractConfigurator.php	2022-07-29 12:30:51.000000000 +0000
@@ -26,7 +26,7 @@ abstract class AbstractConfigurator
     public const FACTORY = 'unknown';
 
     /**
-     * @var callable(mixed, bool $allowService)|null
+     * @var callable(mixed, bool)|null
      */
     public static $valuePreProcessor;
 
@@ -100,7 +100,7 @@ abstract class AbstractConfigurator
 
         switch (true) {
             case null === $value:
-            case is_scalar($value):
+            case \is_scalar($value):
                 return $value;
 
             case $value instanceof ArgumentInterface:
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/DependencyInjection/Loader/Configurator/DefaultsConfigurator.php 5.4.11+dfsg-1/src/Symfony/Component/DependencyInjection/Loader/Configurator/DefaultsConfigurator.php
--- 5.4.10+dfsg-1/src/Symfony/Component/DependencyInjection/Loader/Configurator/DefaultsConfigurator.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/DependencyInjection/Loader/Configurator/DefaultsConfigurator.php	2022-07-29 12:30:51.000000000 +0000
@@ -49,7 +49,7 @@ class DefaultsConfigurator extends Abstr
         }
 
         foreach ($attributes as $attribute => $value) {
-            if (null !== $value && !is_scalar($value)) {
+            if (null !== $value && !\is_scalar($value)) {
                 throw new InvalidArgumentException(sprintf('Tag "%s", attribute "%s" in "_defaults" must be of a scalar-type.', $name, $attribute));
             }
         }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/DependencyInjection/Loader/Configurator/Traits/TagTrait.php 5.4.11+dfsg-1/src/Symfony/Component/DependencyInjection/Loader/Configurator/Traits/TagTrait.php
--- 5.4.10+dfsg-1/src/Symfony/Component/DependencyInjection/Loader/Configurator/Traits/TagTrait.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/DependencyInjection/Loader/Configurator/Traits/TagTrait.php	2022-07-29 12:30:51.000000000 +0000
@@ -27,7 +27,7 @@ trait TagTrait
         }
 
         foreach ($attributes as $attribute => $value) {
-            if (!is_scalar($value) && null !== $value) {
+            if (!\is_scalar($value) && null !== $value) {
                 throw new InvalidArgumentException(sprintf('A tag attribute must be of a scalar-type for service "%s", tag "%s", attribute "%s".', $this->id, $name, $attribute));
             }
         }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/DependencyInjection/Loader/XmlFileLoader.php 5.4.11+dfsg-1/src/Symfony/Component/DependencyInjection/Loader/XmlFileLoader.php
--- 5.4.10+dfsg-1/src/Symfony/Component/DependencyInjection/Loader/XmlFileLoader.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/DependencyInjection/Loader/XmlFileLoader.php	2022-07-29 12:30:51.000000000 +0000
@@ -687,7 +687,7 @@ EOF
             });
             $schema = '<?xml version="1.0" encoding="utf-8"?>
 <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
-  <xsd:include schemaLocation="file:///'.str_replace('\\', '/', $tmpfile).'" />
+  <xsd:include schemaLocation="file:///'.rawurlencode(str_replace('\\', '/', $tmpfile)).'" />
 </xsd:schema>';
             file_put_contents($tmpfile, '<?xml version="1.0" encoding="utf-8"?>
 <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/DependencyInjection/Loader/YamlFileLoader.php 5.4.11+dfsg-1/src/Symfony/Component/DependencyInjection/Loader/YamlFileLoader.php
--- 5.4.10+dfsg-1/src/Symfony/Component/DependencyInjection/Loader/YamlFileLoader.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/DependencyInjection/Loader/YamlFileLoader.php	2022-07-29 12:30:51.000000000 +0000
@@ -304,7 +304,7 @@ class YamlFileLoader extends FileLoader
                 }
 
                 foreach ($tag as $attribute => $value) {
-                    if (!is_scalar($value) && null !== $value) {
+                    if (!\is_scalar($value) && null !== $value) {
                         throw new InvalidArgumentException(sprintf('Tag "%s", attribute "%s" in "_defaults" must be of a scalar-type in "%s". Check your YAML syntax.', $name, $attribute, $file));
                     }
                 }
@@ -616,7 +616,7 @@ class YamlFileLoader extends FileLoader
             }
 
             foreach ($tag as $attribute => $value) {
-                if (!is_scalar($value) && null !== $value) {
+                if (!\is_scalar($value) && null !== $value) {
                     throw new InvalidArgumentException(sprintf('A "tags" attribute must be of a scalar-type for service "%s", tag "%s", attribute "%s" in "%s". Check your YAML syntax.', $id, $name, $attribute, $file));
                 }
             }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/DependencyInjection/Tests/Compiler/AutowirePassTest.php 5.4.11+dfsg-1/src/Symfony/Component/DependencyInjection/Tests/Compiler/AutowirePassTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/DependencyInjection/Tests/Compiler/AutowirePassTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/DependencyInjection/Tests/Compiler/AutowirePassTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -244,8 +244,6 @@ class AutowirePassTest extends TestCase
      */
     public function testTypeNotGuessableUnionType()
     {
-        $this->expectException(AutowiringFailedException::class);
-        $this->expectExceptionMessage('Cannot autowire service "a": argument "$collision" of method "Symfony\Component\DependencyInjection\Tests\Compiler\UnionClasses::__construct()" has type "Symfony\Component\DependencyInjection\Tests\Compiler\CollisionA|Symfony\Component\DependencyInjection\Tests\Compiler\CollisionB" but this class was not found.');
         $container = new ContainerBuilder();
 
         $container->register(CollisionA::class);
@@ -255,6 +253,9 @@ class AutowirePassTest extends TestCase
         $aDefinition->setAutowired(true);
 
         $pass = new AutowirePass();
+
+        $this->expectException(AutowiringFailedException::class);
+        $this->expectExceptionMessage('Cannot autowire service "a": argument "$collision" of method "Symfony\Component\DependencyInjection\Tests\Compiler\UnionClasses::__construct()" has type "Symfony\Component\DependencyInjection\Tests\Compiler\CollisionA|Symfony\Component\DependencyInjection\Tests\Compiler\CollisionB" but this class was not found.');
         $pass->process($container);
     }
 
@@ -299,6 +300,26 @@ class AutowirePassTest extends TestCase
     }
 
     /**
+     * @requires PHP 8.2
+     */
+    public function testTypeNotGuessableCompositeType()
+    {
+        $container = new ContainerBuilder();
+
+        $container->register(CollisionInterface::class);
+        $container->register(AnotherInterface::class);
+
+        $aDefinition = $container->register('a', CompositeTypeClasses::class);
+        $aDefinition->setAutowired(true);
+
+        $pass = new AutowirePass();
+
+        $this->expectException(AutowiringFailedException::class);
+        $this->expectExceptionMessage('Cannot autowire service "a": argument "$collision" of method "Symfony\Component\DependencyInjection\Tests\Compiler\CompositeTypeClasses::__construct()" has type "(Symfony\Component\DependencyInjection\Tests\Compiler\AnotherInterface&Symfony\Component\DependencyInjection\Tests\Compiler\CollisionInterface)|Symfony\Component\DependencyInjection\Tests\Compiler\YetAnotherInterface" but this class was not found.');
+        $pass->process($container);
+    }
+
+    /**
      * @requires PHP 8.1
      */
     public function testGuessableIntersectionType()
@@ -413,6 +434,22 @@ class AutowirePassTest extends TestCase
         $optDefinition->setAutowired(true);
 
         (new AutowirePass())->process($container);
+
+        $definition = $container->getDefinition('opt');
+        $this->assertNull($definition->getArgument(0));
+    }
+
+    /**
+     * @requires PHP 8.2
+     */
+    public function testParameterWithNullableIntersectionIsSkipped()
+    {
+        $container = new ContainerBuilder();
+
+        $optDefinition = $container->register('opt', NullableIntersection::class);
+        $optDefinition->setAutowired(true);
+
+        (new AutowirePass())->process($container);
 
         $definition = $container->getDefinition('opt');
         $this->assertNull($definition->getArgument(0));
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/DependencyInjection/Tests/Compiler/RemoveUnusedDefinitionsPassTest.php 5.4.11+dfsg-1/src/Symfony/Component/DependencyInjection/Tests/Compiler/RemoveUnusedDefinitionsPassTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/DependencyInjection/Tests/Compiler/RemoveUnusedDefinitionsPassTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/DependencyInjection/Tests/Compiler/RemoveUnusedDefinitionsPassTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -133,7 +133,7 @@ class RemoveUnusedDefinitionsPassTest ex
             ->addArgument(new Reference('not.defined'))
             ->setPublic(true);
 
-        $container->set('not.defined', new \StdClass());
+        $container->set('not.defined', new \stdClass());
 
         $this->process($container);
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/autowiring_classes.php 5.4.11+dfsg-1/src/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/autowiring_classes.php
--- 5.4.10+dfsg-1/src/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/autowiring_classes.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/autowiring_classes.php	2022-07-29 12:30:51.000000000 +0000
@@ -11,6 +11,9 @@ if (\PHP_VERSION_ID >= 80000) {
 if (\PHP_VERSION_ID >= 80100) {
     require __DIR__.'/intersectiontype_classes.php';
 }
+if (\PHP_VERSION_ID >= 80200) {
+    require __DIR__.'/compositetype_classes.php';
+}
 
 class Foo
 {
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/compositetype_classes.php 5.4.11+dfsg-1/src/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/compositetype_classes.php
--- 5.4.10+dfsg-1/src/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/compositetype_classes.php	1970-01-01 00:00:00.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/compositetype_classes.php	2022-07-29 12:30:51.000000000 +0000
@@ -0,0 +1,21 @@
+<?php
+
+namespace Symfony\Component\DependencyInjection\Tests\Compiler;
+
+interface YetAnotherInterface
+{
+}
+
+class CompositeTypeClasses
+{
+    public function __construct((CollisionInterface&AnotherInterface)|YetAnotherInterface $collision)
+    {
+    }
+}
+
+class NullableIntersection
+{
+    public function __construct((CollisionInterface&AnotherInterface)|null $a)
+    {
+    }
+}
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/DependencyInjection/Tests/Loader/XmlFileLoaderTest.php 5.4.11+dfsg-1/src/Symfony/Component/DependencyInjection/Tests/Loader/XmlFileLoaderTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/DependencyInjection/Tests/Loader/XmlFileLoaderTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/DependencyInjection/Tests/Loader/XmlFileLoaderTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -609,7 +609,7 @@ class XmlFileLoaderTest extends TestCase
 
     public function testExtensionInPhar()
     {
-        if (\extension_loaded('suhosin') && !str_contains(ini_get('suhosin.executor.include.whitelist'), 'phar')) {
+        if (\extension_loaded('suhosin') && !str_contains(\ini_get('suhosin.executor.include.whitelist'), 'phar')) {
             $this->markTestSkipped('To run this test, add "phar" to the "suhosin.executor.include.whitelist" settings in your php.ini file.');
         }
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/DomCrawler/Tests/AbstractCrawlerTest.php 5.4.11+dfsg-1/src/Symfony/Component/DomCrawler/Tests/AbstractCrawlerTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/DomCrawler/Tests/AbstractCrawlerTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/DomCrawler/Tests/AbstractCrawlerTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -139,7 +139,7 @@ abstract class AbstractCrawlerTest exten
     public function testAddHtmlContentCharsetGbk()
     {
         $crawler = $this->createCrawler();
-        //gbk encode of <html><p>中文</p></html>
+        // gbk encode of <html><p>中文</p></html>
         $crawler->addHtmlContent($this->getDoctype().base64_decode('PGh0bWw+PHA+1tDOxDwvcD48L2h0bWw+'), 'gbk');
 
         $this->assertEquals('中文', $crawler->filterXPath('//p')->text());
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/ErrorHandler/BufferingLogger.php 5.4.11+dfsg-1/src/Symfony/Component/ErrorHandler/BufferingLogger.php
--- 5.4.10+dfsg-1/src/Symfony/Component/ErrorHandler/BufferingLogger.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/ErrorHandler/BufferingLogger.php	2022-07-29 12:30:51.000000000 +0000
@@ -53,7 +53,7 @@ class BufferingLogger extends AbstractLo
         foreach ($this->logs as [$level, $message, $context]) {
             if (false !== strpos($message, '{')) {
                 foreach ($context as $key => $val) {
-                    if (null === $val || is_scalar($val) || (\is_object($val) && \is_callable([$val, '__toString']))) {
+                    if (null === $val || \is_scalar($val) || (\is_object($val) && \is_callable([$val, '__toString']))) {
                         $message = str_replace("{{$key}}", $val, $message);
                     } elseif ($val instanceof \DateTimeInterface) {
                         $message = str_replace("{{$key}}", $val->format(\DateTime::RFC3339), $message);
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/ErrorHandler/DebugClassLoader.php 5.4.11+dfsg-1/src/Symfony/Component/ErrorHandler/DebugClassLoader.php
--- 5.4.10+dfsg-1/src/Symfony/Component/ErrorHandler/DebugClassLoader.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/ErrorHandler/DebugClassLoader.php	2022-07-29 12:30:51.000000000 +0000
@@ -73,6 +73,7 @@ class DebugClassLoader
         'static' => 'static',
         '$this' => 'static',
         'list' => 'array',
+        'class-string' => 'string',
     ];
 
     private const BUILTIN_RETURN_TYPES = [
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/ErrorHandler/Debug.php 5.4.11+dfsg-1/src/Symfony/Component/ErrorHandler/Debug.php
--- 5.4.10+dfsg-1/src/Symfony/Component/ErrorHandler/Debug.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/ErrorHandler/Debug.php	2022-07-29 12:30:51.000000000 +0000
@@ -24,7 +24,7 @@ class Debug
 
         if (!\in_array(\PHP_SAPI, ['cli', 'phpdbg'], true)) {
             ini_set('display_errors', 0);
-        } elseif (!filter_var(ini_get('log_errors'), \FILTER_VALIDATE_BOOLEAN) || ini_get('error_log')) {
+        } elseif (!filter_var(\ini_get('log_errors'), \FILTER_VALIDATE_BOOLEAN) || \ini_get('error_log')) {
             // CLI - display errors only if they're not already logged to STDERR
             ini_set('display_errors', 1);
         }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/ErrorHandler/ErrorHandler.php 5.4.11+dfsg-1/src/Symfony/Component/ErrorHandler/ErrorHandler.php
--- 5.4.10+dfsg-1/src/Symfony/Component/ErrorHandler/ErrorHandler.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/ErrorHandler/ErrorHandler.php	2022-07-29 12:30:51.000000000 +0000
@@ -380,8 +380,8 @@ class ErrorHandler
      */
     private function reRegister(int $prev): void
     {
-        if ($prev !== $this->thrownErrors | $this->loggedErrors) {
-            $handler = set_error_handler('var_dump');
+        if ($prev !== ($this->thrownErrors | $this->loggedErrors)) {
+            $handler = set_error_handler('is_int');
             $handler = \is_array($handler) ? $handler[0] : null;
             restore_error_handler();
             if ($handler === $this) {
@@ -528,7 +528,7 @@ class ErrorHandler
             $log = 0;
         } else {
             if (\PHP_VERSION_ID < (\PHP_VERSION_ID < 70400 ? 70316 : 70404)) {
-                $currentErrorHandler = set_error_handler('var_dump');
+                $currentErrorHandler = set_error_handler('is_int');
                 restore_error_handler();
             }
 
@@ -645,7 +645,7 @@ class ErrorHandler
         $sameHandlerLimit = 10;
 
         while (!\is_array($handler) || !$handler[0] instanceof self) {
-            $handler = set_exception_handler('var_dump');
+            $handler = set_exception_handler('is_int');
             restore_exception_handler();
 
             if (!$handler) {
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/ErrorHandler/ErrorRenderer/HtmlErrorRenderer.php 5.4.11+dfsg-1/src/Symfony/Component/ErrorHandler/ErrorRenderer/HtmlErrorRenderer.php
--- 5.4.10+dfsg-1/src/Symfony/Component/ErrorHandler/ErrorRenderer/HtmlErrorRenderer.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/ErrorHandler/ErrorRenderer/HtmlErrorRenderer.php	2022-07-29 12:30:51.000000000 +0000
@@ -58,8 +58,8 @@ class HtmlErrorRenderer implements Error
         }
 
         $this->debug = $debug;
-        $this->charset = $charset ?: (ini_get('default_charset') ?: 'UTF-8');
-        $this->fileLinkFormat = $fileLinkFormat ?: (ini_get('xdebug.file_link_format') ?: get_cfg_var('xdebug.file_link_format'));
+        $this->charset = $charset ?: (\ini_get('default_charset') ?: 'UTF-8');
+        $this->fileLinkFormat = $fileLinkFormat ?: (\ini_get('xdebug.file_link_format') ?: get_cfg_var('xdebug.file_link_format'));
         $this->projectDir = $projectDir;
         $this->outputBuffer = $outputBuffer;
         $this->logger = $logger;
@@ -323,7 +323,7 @@ class HtmlErrorRenderer implements Error
         if ($context && false !== strpos($message, '{')) {
             $replacements = [];
             foreach ($context as $key => $val) {
-                if (is_scalar($val)) {
+                if (\is_scalar($val)) {
                     $replacements['{'.$key.'}'] = $val;
                 }
             }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/ErrorHandler/Tests/ErrorHandlerTest.php 5.4.11+dfsg-1/src/Symfony/Component/ErrorHandler/Tests/ErrorHandlerTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/ErrorHandler/Tests/ErrorHandlerTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/ErrorHandler/Tests/ErrorHandlerTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -661,7 +661,7 @@ class ErrorHandlerTest extends TestCase
 
     public function testAssertQuietEval()
     {
-        if ('-1' === ini_get('zend.assertions')) {
+        if ('-1' === \ini_get('zend.assertions')) {
             $this->markTestSkipped('zend.assertions is forcibly disabled');
         }
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/ExpressionLanguage/Node/Node.php 5.4.11+dfsg-1/src/Symfony/Component/ExpressionLanguage/Node/Node.php
--- 5.4.10+dfsg-1/src/Symfony/Component/ExpressionLanguage/Node/Node.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/ExpressionLanguage/Node/Node.php	2022-07-29 12:30:51.000000000 +0000
@@ -87,7 +87,7 @@ class Node
         $dump = '';
 
         foreach ($this->toArray() as $v) {
-            $dump .= is_scalar($v) ? $v : $v->dump();
+            $dump .= \is_scalar($v) ? $v : $v->dump();
         }
 
         return $dump;
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/ExpressionLanguage/Tests/Node/NodeTest.php 5.4.11+dfsg-1/src/Symfony/Component/ExpressionLanguage/Tests/Node/NodeTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/ExpressionLanguage/Tests/Node/NodeTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/ExpressionLanguage/Tests/Node/NodeTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -26,7 +26,7 @@ Node(
     ConstantNode(value: 'foo')
 )
 EOF
-        , (string) $node);
+            , (string) $node);
     }
 
     public function testSerialization()
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Filesystem/Filesystem.php 5.4.11+dfsg-1/src/Symfony/Component/Filesystem/Filesystem.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Filesystem/Filesystem.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Filesystem/Filesystem.php	2022-07-29 12:30:51.000000000 +0000
@@ -615,7 +615,7 @@ class Filesystem
      *
      * @return string The new temporary filename (with path), or throw an exception on failure
      */
-    public function tempnam(string $dir, string $prefix/*, string $suffix = ''*/)
+    public function tempnam(string $dir, string $prefix/* , string $suffix = '' */)
     {
         $suffix = \func_num_args() > 2 ? func_get_arg(2) : '';
         [$scheme, $hierarchy] = $this->getSchemeAndHierarchy($dir);
@@ -700,7 +700,7 @@ class Filesystem
      *
      * @throws IOException If the file is not writable
      */
-    public function appendToFile(string $filename, $content/*, bool $lock = false*/)
+    public function appendToFile(string $filename, $content/* , bool $lock = false */)
     {
         if (\is_array($content)) {
             throw new \TypeError(sprintf('Argument 2 passed to "%s()" must be string or resource, array given.', __METHOD__));
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Finder/Tests/FinderTest.php 5.4.11+dfsg-1/src/Symfony/Component/Finder/Tests/FinderTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Finder/Tests/FinderTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Finder/Tests/FinderTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -1338,12 +1338,12 @@ class FinderTest extends Iterator\RealIt
             ],
             ['A/B', 'foobar',
                 [
-                    //dirs
+                    // dirs
                     'A'.\DIRECTORY_SEPARATOR.'B',
                     'A'.\DIRECTORY_SEPARATOR.'B'.\DIRECTORY_SEPARATOR.'C',
                     'copy'.\DIRECTORY_SEPARATOR.'A'.\DIRECTORY_SEPARATOR.'B',
                     'copy'.\DIRECTORY_SEPARATOR.'A'.\DIRECTORY_SEPARATOR.'B'.\DIRECTORY_SEPARATOR.'C',
-                    //files
+                    // files
                     'A'.\DIRECTORY_SEPARATOR.'B'.\DIRECTORY_SEPARATOR.'ab.dat',
                     'A'.\DIRECTORY_SEPARATOR.'B'.\DIRECTORY_SEPARATOR.'C'.\DIRECTORY_SEPARATOR.'abc.dat',
                     'copy'.\DIRECTORY_SEPARATOR.'A'.\DIRECTORY_SEPARATOR.'B'.\DIRECTORY_SEPARATOR.'ab.dat.copy',
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Finder/Tests/GitignoreTest.php 5.4.11+dfsg-1/src/Symfony/Component/Finder/Tests/GitignoreTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Finder/Tests/GitignoreTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Finder/Tests/GitignoreTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -349,7 +349,7 @@ class GitignoreTest extends TestCase
                     'logs/',
                     '!logs/important.log',
                 ],
-                ['logs/debug.log'/* must be pruned on traversal 'logs/important.log'*/],
+                ['logs/debug.log'/* must be pruned on traversal 'logs/important.log' */],
                 [],
             ],
             [
@@ -823,7 +823,7 @@ class GitignoreTest extends TestCase
                 '!logs/important.log',
             ],
             [],
-            ['logs/debug.log'/* must be pruned on traversal 'logs/important.log'*/],
+            ['logs/debug.log'/* must be pruned on traversal 'logs/important.log' */],
         ];
 
         yield [
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Finder/Tests/Iterator/PathFilterIteratorTest.php 5.4.11+dfsg-1/src/Symfony/Component/Finder/Tests/Iterator/PathFilterIteratorTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Finder/Tests/Iterator/PathFilterIteratorTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Finder/Tests/Iterator/PathFilterIteratorTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -28,37 +28,37 @@ class PathFilterIteratorTest extends Ite
     {
         $inner = new MockFileListIterator();
 
-        //PATH:   A/B/C/abc.dat
+        // PATH:   A/B/C/abc.dat
         $inner[] = new MockSplFileInfo([
             'name' => 'abc.dat',
             'relativePathname' => 'A'.\DIRECTORY_SEPARATOR.'B'.\DIRECTORY_SEPARATOR.'C'.\DIRECTORY_SEPARATOR.'abc.dat',
         ]);
 
-        //PATH:   A/B/ab.dat
+        // PATH:   A/B/ab.dat
         $inner[] = new MockSplFileInfo([
             'name' => 'ab.dat',
             'relativePathname' => 'A'.\DIRECTORY_SEPARATOR.'B'.\DIRECTORY_SEPARATOR.'ab.dat',
         ]);
 
-        //PATH:   A/a.dat
+        // PATH:   A/a.dat
         $inner[] = new MockSplFileInfo([
             'name' => 'a.dat',
             'relativePathname' => 'A'.\DIRECTORY_SEPARATOR.'a.dat',
         ]);
 
-        //PATH:   copy/A/B/C/abc.dat.copy
+        // PATH:   copy/A/B/C/abc.dat.copy
         $inner[] = new MockSplFileInfo([
             'name' => 'abc.dat.copy',
             'relativePathname' => 'copy'.\DIRECTORY_SEPARATOR.'A'.\DIRECTORY_SEPARATOR.'B'.\DIRECTORY_SEPARATOR.'C'.\DIRECTORY_SEPARATOR.'abc.dat',
         ]);
 
-        //PATH:   copy/A/B/ab.dat.copy
+        // PATH:   copy/A/B/ab.dat.copy
         $inner[] = new MockSplFileInfo([
             'name' => 'ab.dat.copy',
             'relativePathname' => 'copy'.\DIRECTORY_SEPARATOR.'A'.\DIRECTORY_SEPARATOR.'B'.\DIRECTORY_SEPARATOR.'ab.dat',
         ]);
 
-        //PATH:   copy/A/a.dat.copy
+        // PATH:   copy/A/a.dat.copy
         $inner[] = new MockSplFileInfo([
             'name' => 'a.dat.copy',
             'relativePathname' => 'copy'.\DIRECTORY_SEPARATOR.'A'.\DIRECTORY_SEPARATOR.'a.dat',
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Finder/Tests/Iterator/RealIteratorTestCase.php 5.4.11+dfsg-1/src/Symfony/Component/Finder/Tests/Iterator/RealIteratorTestCase.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Finder/Tests/Iterator/RealIteratorTestCase.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Finder/Tests/Iterator/RealIteratorTestCase.php	2022-07-29 12:30:51.000000000 +0000
@@ -70,9 +70,9 @@ abstract class RealIteratorTestCase exte
     public static function tearDownAfterClass(): void
     {
         $paths = new \RecursiveIteratorIterator(
-             new \RecursiveDirectoryIterator(self::$tmpDir, \RecursiveDirectoryIterator::SKIP_DOTS),
-             \RecursiveIteratorIterator::CHILD_FIRST
-         );
+            new \RecursiveDirectoryIterator(self::$tmpDir, \RecursiveDirectoryIterator::SKIP_DOTS),
+            \RecursiveIteratorIterator::CHILD_FIRST
+        );
 
         foreach ($paths as $path) {
             if ($path->isDir()) {
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Form/ChoiceList/ArrayChoiceList.php 5.4.11+dfsg-1/src/Symfony/Component/Form/ChoiceList/ArrayChoiceList.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Form/ChoiceList/ArrayChoiceList.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Form/ChoiceList/ArrayChoiceList.php	2022-07-29 12:30:51.000000000 +0000
@@ -219,7 +219,7 @@ class ArrayChoiceList implements ChoiceL
                 }
 
                 continue;
-            } elseif (!is_scalar($choice)) {
+            } elseif (!\is_scalar($choice)) {
                 return false;
             }
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Form/ChoiceList/Factory/CachingFactoryDecorator.php 5.4.11+dfsg-1/src/Symfony/Component/Form/ChoiceList/Factory/CachingFactoryDecorator.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Form/ChoiceList/Factory/CachingFactoryDecorator.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Form/ChoiceList/Factory/CachingFactoryDecorator.php	2022-07-29 12:30:51.000000000 +0000
@@ -87,7 +87,7 @@ class CachingFactoryDecorator implements
      * @param mixed $value
      * @param mixed $filter
      */
-    public function createListFromChoices(iterable $choices, $value = null/*, $filter = null*/)
+    public function createListFromChoices(iterable $choices, $value = null/* , $filter = null */)
     {
         $filter = \func_num_args() > 2 ? func_get_arg(2) : null;
 
@@ -128,7 +128,7 @@ class CachingFactoryDecorator implements
      * @param mixed $value
      * @param mixed $filter
      */
-    public function createListFromLoader(ChoiceLoaderInterface $loader, $value = null/*, $filter = null*/)
+    public function createListFromLoader(ChoiceLoaderInterface $loader, $value = null/* , $filter = null */)
     {
         $filter = \func_num_args() > 2 ? func_get_arg(2) : null;
 
@@ -175,7 +175,7 @@ class CachingFactoryDecorator implements
      * @param mixed $attr
      * @param mixed $labelTranslationParameters
      */
-    public function createView(ChoiceListInterface $list, $preferredChoices = null, $label = null, $index = null, $groupBy = null, $attr = null/*, $labelTranslationParameters = []*/)
+    public function createView(ChoiceListInterface $list, $preferredChoices = null, $label = null, $index = null, $groupBy = null, $attr = null/* , $labelTranslationParameters = [] */)
     {
         $labelTranslationParameters = \func_num_args() > 6 ? func_get_arg(6) : [];
         $cache = true;
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Form/ChoiceList/Factory/ChoiceListFactoryInterface.php 5.4.11+dfsg-1/src/Symfony/Component/Form/ChoiceList/Factory/ChoiceListFactoryInterface.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Form/ChoiceList/Factory/ChoiceListFactoryInterface.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Form/ChoiceList/Factory/ChoiceListFactoryInterface.php	2022-07-29 12:30:51.000000000 +0000
@@ -35,7 +35,7 @@ interface ChoiceListFactoryInterface
      *
      * @return ChoiceListInterface
      */
-    public function createListFromChoices(iterable $choices, callable $value = null/*, callable $filter = null*/);
+    public function createListFromChoices(iterable $choices, callable $value = null/* , callable $filter = null */);
 
     /**
      * Creates a choice list that is loaded with the given loader.
@@ -48,7 +48,7 @@ interface ChoiceListFactoryInterface
      *
      * @return ChoiceListInterface
      */
-    public function createListFromLoader(ChoiceLoaderInterface $loader, callable $value = null/*, callable $filter = null*/);
+    public function createListFromLoader(ChoiceLoaderInterface $loader, callable $value = null/* , callable $filter = null */);
 
     /**
      * Creates a view for the given choice list.
@@ -84,5 +84,5 @@ interface ChoiceListFactoryInterface
      *
      * @return ChoiceListView
      */
-    public function createView(ChoiceListInterface $list, $preferredChoices = null, $label = null, callable $index = null, callable $groupBy = null, $attr = null/*, $labelTranslationParameters = []*/);
+    public function createView(ChoiceListInterface $list, $preferredChoices = null, $label = null, callable $index = null, callable $groupBy = null, $attr = null/* , $labelTranslationParameters = [] */);
 }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Form/ChoiceList/Factory/DefaultChoiceListFactory.php 5.4.11+dfsg-1/src/Symfony/Component/Form/ChoiceList/Factory/DefaultChoiceListFactory.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Form/ChoiceList/Factory/DefaultChoiceListFactory.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Form/ChoiceList/Factory/DefaultChoiceListFactory.php	2022-07-29 12:30:51.000000000 +0000
@@ -35,7 +35,7 @@ class DefaultChoiceListFactory implement
      *
      * @param callable|null $filter
      */
-    public function createListFromChoices(iterable $choices, callable $value = null/*, callable $filter = null*/)
+    public function createListFromChoices(iterable $choices, callable $value = null/* , callable $filter = null */)
     {
         $filter = \func_num_args() > 2 ? func_get_arg(2) : null;
 
@@ -45,7 +45,7 @@ class DefaultChoiceListFactory implement
                 new CallbackChoiceLoader(static function () use ($choices) {
                     return $choices;
                 }
-            ), $filter), $value);
+                ), $filter), $value);
         }
 
         return new ArrayChoiceList($choices, $value);
@@ -56,7 +56,7 @@ class DefaultChoiceListFactory implement
      *
      * @param callable|null $filter
      */
-    public function createListFromLoader(ChoiceLoaderInterface $loader, callable $value = null/*, callable $filter = null*/)
+    public function createListFromLoader(ChoiceLoaderInterface $loader, callable $value = null/* , callable $filter = null */)
     {
         $filter = \func_num_args() > 2 ? func_get_arg(2) : null;
 
@@ -72,7 +72,7 @@ class DefaultChoiceListFactory implement
      *
      * @param array|callable $labelTranslationParameters The parameters used to translate the choice labels
      */
-    public function createView(ChoiceListInterface $list, $preferredChoices = null, $label = null, callable $index = null, callable $groupBy = null, $attr = null/*, $labelTranslationParameters = []*/)
+    public function createView(ChoiceListInterface $list, $preferredChoices = null, $label = null, callable $index = null, callable $groupBy = null, $attr = null/* , $labelTranslationParameters = [] */)
     {
         $labelTranslationParameters = \func_num_args() > 6 ? func_get_arg(6) : [];
         $preferredViews = [];
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Form/ChoiceList/Factory/PropertyAccessDecorator.php 5.4.11+dfsg-1/src/Symfony/Component/Form/ChoiceList/Factory/PropertyAccessDecorator.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Form/ChoiceList/Factory/PropertyAccessDecorator.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Form/ChoiceList/Factory/PropertyAccessDecorator.php	2022-07-29 12:30:51.000000000 +0000
@@ -65,7 +65,7 @@ class PropertyAccessDecorator implements
      *
      * @return ChoiceListInterface
      */
-    public function createListFromChoices(iterable $choices, $value = null/*, $filter = null*/)
+    public function createListFromChoices(iterable $choices, $value = null/* , $filter = null */)
     {
         $filter = \func_num_args() > 2 ? func_get_arg(2) : null;
 
@@ -106,7 +106,7 @@ class PropertyAccessDecorator implements
      *
      * @return ChoiceListInterface
      */
-    public function createListFromLoader(ChoiceLoaderInterface $loader, $value = null/*, $filter = null*/)
+    public function createListFromLoader(ChoiceLoaderInterface $loader, $value = null/* , $filter = null */)
     {
         $filter = \func_num_args() > 2 ? func_get_arg(2) : null;
 
@@ -151,7 +151,7 @@ class PropertyAccessDecorator implements
      *
      * @return ChoiceListView
      */
-    public function createView(ChoiceListInterface $list, $preferredChoices = null, $label = null, $index = null, $groupBy = null, $attr = null/*, $labelTranslationParameters = []*/)
+    public function createView(ChoiceListInterface $list, $preferredChoices = null, $label = null, $index = null, $groupBy = null, $attr = null/* , $labelTranslationParameters = [] */)
     {
         $labelTranslationParameters = \func_num_args() > 6 ? func_get_arg(6) : [];
         $accessor = $this->propertyAccessor;
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Form/ChoiceList/Loader/FilterChoiceLoaderDecorator.php 5.4.11+dfsg-1/src/Symfony/Component/Form/ChoiceList/Loader/FilterChoiceLoaderDecorator.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Form/ChoiceList/Loader/FilterChoiceLoaderDecorator.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Form/ChoiceList/Loader/FilterChoiceLoaderDecorator.php	2022-07-29 12:30:51.000000000 +0000
@@ -36,7 +36,7 @@ class FilterChoiceLoaderDecorator extend
         }
 
         foreach ($structuredValues as $group => $values) {
-            if (is_array($values)) {
+            if (\is_array($values)) {
                 if ($values && $filtered = array_filter($list->getChoicesForValues($values), $this->filter)) {
                     $choices[$group] = $filtered;
                 }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToArrayTransformer.php 5.4.11+dfsg-1/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToArrayTransformer.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToArrayTransformer.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToArrayTransformer.php	2022-07-29 12:30:51.000000000 +0000
@@ -168,7 +168,7 @@ class DateTimeToArrayTransformer extends
                 $value['hour'] ?? $this->referenceDate->format('H'),
                 $value['minute'] ?? $this->referenceDate->format('i'),
                 $value['second'] ?? $this->referenceDate->format('s')
-                ),
+            ),
                 new \DateTimeZone($this->outputTimezone)
             );
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Form/Extension/Core/EventListener/TransformationFailureListener.php 5.4.11+dfsg-1/src/Symfony/Component/Form/Extension/Core/EventListener/TransformationFailureListener.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Form/Extension/Core/EventListener/TransformationFailureListener.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Form/Extension/Core/EventListener/TransformationFailureListener.php	2022-07-29 12:30:51.000000000 +0000
@@ -50,7 +50,7 @@ class TransformationFailureListener impl
             }
         }
 
-        $clientDataAsString = is_scalar($form->getViewData()) ? (string) $form->getViewData() : get_debug_type($form->getViewData());
+        $clientDataAsString = \is_scalar($form->getViewData()) ? (string) $form->getViewData() : get_debug_type($form->getViewData());
         $messageTemplate = $form->getConfig()->getOption('invalid_message', 'The value {{ value }} is not valid.');
         $messageParameters = array_replace(['{{ value }}' => $clientDataAsString], $form->getConfig()->getOption('invalid_message_parameters', []));
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Form/Extension/Core/Type/ChoiceType.php 5.4.11+dfsg-1/src/Symfony/Component/Form/Extension/Core/Type/ChoiceType.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Form/Extension/Core/Type/ChoiceType.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Form/Extension/Core/Type/ChoiceType.php	2022-07-29 12:30:51.000000000 +0000
@@ -194,7 +194,7 @@ class ChoiceType extends AbstractType
                 if (\count($unknownValues) > 0) {
                     $form = $event->getForm();
 
-                    $clientDataAsString = is_scalar($form->getViewData()) ? (string) $form->getViewData() : (\is_array($form->getViewData()) ? implode('", "', array_keys($unknownValues)) : \gettype($form->getViewData()));
+                    $clientDataAsString = \is_scalar($form->getViewData()) ? (string) $form->getViewData() : (\is_array($form->getViewData()) ? implode('", "', array_keys($unknownValues)) : \gettype($form->getViewData()));
 
                     if (null !== $this->translator) {
                         $message = $this->translator->trans($messageTemplate, ['{{ value }}' => $clientDataAsString], 'validators');
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Form/Extension/Core/Type/ColorType.php 5.4.11+dfsg-1/src/Symfony/Component/Form/Extension/Core/Type/ColorType.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Form/Extension/Core/Type/ColorType.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Form/Extension/Core/Type/ColorType.php	2022-07-29 12:30:51.000000000 +0000
@@ -55,7 +55,7 @@ class ColorType extends AbstractType
 
             $messageTemplate = 'This value is not a valid HTML5 color.';
             $messageParameters = [
-                '{{ value }}' => is_scalar($value) ? (string) $value : \gettype($value),
+                '{{ value }}' => \is_scalar($value) ? (string) $value : \gettype($value),
             ];
             $message = $this->translator ? $this->translator->trans($messageTemplate, $messageParameters, 'validators') : $messageTemplate;
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Form/Extension/Core/Type/FileType.php 5.4.11+dfsg-1/src/Symfony/Component/Form/Extension/Core/Type/FileType.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Form/Extension/Core/Type/FileType.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Form/Extension/Core/Type/FileType.php	2022-07-29 12:30:51.000000000 +0000
@@ -181,7 +181,7 @@ class FileType extends AbstractType
      */
     private static function getMaxFilesize()
     {
-        $iniMax = strtolower(ini_get('upload_max_filesize'));
+        $iniMax = strtolower(\ini_get('upload_max_filesize'));
 
         if ('' === $iniMax) {
             return \PHP_INT_MAX;
@@ -198,8 +198,11 @@ class FileType extends AbstractType
 
         switch (substr($iniMax, -1)) {
             case 't': $max *= 1024;
+                // no break
             case 'g': $max *= 1024;
+                // no break
             case 'm': $max *= 1024;
+                // no break
             case 'k': $max *= 1024;
         }
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Form/Extension/Validator/Constraints/FormValidator.php 5.4.11+dfsg-1/src/Symfony/Component/Form/Extension/Validator/Constraints/FormValidator.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Form/Extension/Validator/Constraints/FormValidator.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Form/Extension/Validator/Constraints/FormValidator.php	2022-07-29 12:30:51.000000000 +0000
@@ -171,7 +171,7 @@ class FormValidator extends ConstraintVa
             // child.
             // See also https://github.com/symfony/symfony/issues/4359
             if ($childrenSynchronized) {
-                $clientDataAsString = is_scalar($form->getViewData())
+                $clientDataAsString = \is_scalar($form->getViewData())
                     ? (string) $form->getViewData()
                     : get_debug_type($form->getViewData());
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Form/Form.php 5.4.11+dfsg-1/src/Symfony/Component/Form/Form.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Form/Form.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Form/Form.php	2022-07-29 12:30:51.000000000 +0000
@@ -356,7 +356,7 @@ class Form implements \IteratorAggregate
         }
 
         // Treat data as strings unless a transformer exists
-        if (is_scalar($modelData) && !$this->config->getViewTransformers() && !$this->config->getModelTransformers()) {
+        if (\is_scalar($modelData) && !$this->config->getViewTransformers() && !$this->config->getModelTransformers()) {
             $modelData = (string) $modelData;
         }
 
@@ -539,7 +539,7 @@ class Form implements \IteratorAggregate
         // and radio buttons with empty values.
         if (false === $submittedData) {
             $submittedData = null;
-        } elseif (is_scalar($submittedData)) {
+        } elseif (\is_scalar($submittedData)) {
             $submittedData = (string) $submittedData;
         } elseif ($this->config->getRequestHandler()->isFileUpload($submittedData)) {
             if (!$this->config->getOption('allow_file_upload')) {
@@ -1154,7 +1154,7 @@ class Form implements \IteratorAggregate
         // compound forms is passed to the data mapper and thus should
         // not be converted to a string before.
         if (!($transformers = $this->config->getViewTransformers()) && !$this->config->getCompound()) {
-            return null === $value || is_scalar($value) ? (string) $value : $value;
+            return null === $value || \is_scalar($value) ? (string) $value : $value;
         }
 
         try {
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Form/Tests/AbstractDivLayoutTest.php 5.4.11+dfsg-1/src/Symfony/Component/Form/Tests/AbstractDivLayoutTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Form/Tests/AbstractDivLayoutTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Form/Tests/AbstractDivLayoutTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -24,7 +24,7 @@ abstract class AbstractDivLayoutTest ext
         $html = $this->renderRow($view);
 
         $this->assertMatchesXpath($html,
-'/div
+            '/div
     [
         ./label[@for="name"]
         /following-sibling::ul
@@ -46,7 +46,7 @@ abstract class AbstractDivLayoutTest ext
         ]);
 
         $this->assertMatchesXpath($html,
-'/div
+            '/div
     [
         ./label[@for="name"][@class="my&label&class required"][.="[trans]foo&bar[/trans]"]
         /following-sibling::input[@id="name"][@class="my&class"]
@@ -68,7 +68,7 @@ abstract class AbstractDivLayoutTest ext
         // (see RepeatedTypeValidatorExtension)
 
         $this->assertMatchesXpath($html,
-'/div
+            '/div
     [
         ./label[@for="name_first"]
         /following-sibling::input[@id="name_first"]
@@ -89,7 +89,7 @@ abstract class AbstractDivLayoutTest ext
         $html = $this->renderRow($view);
 
         $this->assertMatchesXpath($html,
-'/div
+            '/div
     [
         ./button[@type="button"][@name="name"]
     ]
@@ -119,7 +119,7 @@ abstract class AbstractDivLayoutTest ext
         $html = $this->renderRest($view);
 
         $this->assertMatchesXpath($html,
-'/div
+            '/div
     [
         ./label[@for="name_field1"]
         /following-sibling::input[@type="text"][@id="name_field1"]
@@ -165,7 +165,7 @@ abstract class AbstractDivLayoutTest ext
         $html = $this->renderRest($view);
 
         $this->assertMatchesXpath($html,
-'/div
+            '/div
     [
         ./label[not(@for)]
         /following-sibling::div[@id="parent_child1"]
@@ -210,7 +210,7 @@ abstract class AbstractDivLayoutTest ext
         $html = $this->renderRest($view);
 
         $this->assertMatchesXpath($html,
-'/div
+            '/div
     [
         ./label[@for="name_first"]
         /following-sibling::input[@type="text"][@id="name_first"]
@@ -237,7 +237,7 @@ abstract class AbstractDivLayoutTest ext
         $html = $this->renderRest($view);
 
         $this->assertMatchesXpath($html,
-'/div
+            '/div
     [
         ./label[@for="name_first"]
         /following-sibling::input[@type="text"][@id="name_first"]
@@ -267,7 +267,7 @@ abstract class AbstractDivLayoutTest ext
         $html = $this->renderRest($view);
 
         $this->assertMatchesXpath($html,
-'/div
+            '/div
     [
         ./label[@for="name_first"]
         /following-sibling::input[@type="text"][@id="name_first"]
@@ -288,7 +288,7 @@ abstract class AbstractDivLayoutTest ext
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./div[./input[@type="text"][@value="a"]]
         /following-sibling::div[./input[@type="text"][@value="b"]]
@@ -310,7 +310,7 @@ abstract class AbstractDivLayoutTest ext
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./div[./div/div/input[@type="text"][@value="a"]]
         /following-sibling::div[./div/div/textarea[.="b"]]
@@ -328,7 +328,7 @@ abstract class AbstractDivLayoutTest ext
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [./input[@type="hidden"][@id="names__token"]]
     [count(./div)=0]
 '
@@ -349,7 +349,7 @@ abstract class AbstractDivLayoutTest ext
             ->getForm();
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./div
             [
@@ -391,7 +391,7 @@ abstract class AbstractDivLayoutTest ext
         ]);
 
         $this->assertMatchesXpath($html,
-'/form
+            '/form
     [
         ./input[@type="hidden"][@name="_method"][@value="PUT"]
         /following-sibling::div
@@ -427,7 +427,7 @@ abstract class AbstractDivLayoutTest ext
             ->getForm();
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./div
             [
@@ -459,7 +459,7 @@ abstract class AbstractDivLayoutTest ext
         $form->get('child')->addError(new FormError('[trans]Error![/trans]'));
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./div/label
         /following-sibling::ul[./li[.="[trans]Error![/trans]"]]
@@ -484,7 +484,7 @@ abstract class AbstractDivLayoutTest ext
             ->getForm();
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./div
         /following-sibling::input[@type="hidden"][@id="name__token"][@value="foo&bar"]
@@ -501,7 +501,7 @@ abstract class AbstractDivLayoutTest ext
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./div
             [
@@ -529,7 +529,7 @@ abstract class AbstractDivLayoutTest ext
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./div
             [
@@ -555,7 +555,7 @@ abstract class AbstractDivLayoutTest ext
             ->getForm();
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./div
             [
@@ -575,7 +575,7 @@ abstract class AbstractDivLayoutTest ext
         $html = $this->renderRow($form->createView());
 
         $this->assertMatchesXpath($html,
-'/div
+            '/div
     [
         ./label[@for="name"][not(@id)]
         /following-sibling::input[@id="name"]
@@ -592,7 +592,7 @@ abstract class AbstractDivLayoutTest ext
         $html = $this->renderRow($form->createView());
 
         $this->assertMatchesXpath($html,
-'/div
+            '/div
     [
         ./input[@id="name"]
     ]
@@ -638,7 +638,7 @@ abstract class AbstractDivLayoutTest ext
         $this->setTheme($view['child'], $childTheme);
 
         $this->assertWidgetMatchesXpath($view, [],
-'/div
+            '/div
     [
         ./div
             [
@@ -674,7 +674,7 @@ abstract class AbstractDivLayoutTest ext
             ->getForm();
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./div[./label[.="Custom label: [trans]0[/trans]"]]
         /following-sibling::div[./label[.="Custom label: [trans]1[/trans]"]]
@@ -697,7 +697,7 @@ abstract class AbstractDivLayoutTest ext
             ->getForm();
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./label[.="Custom name label: [trans]ChoiceA[/trans]"]
         /following-sibling::label[.="Custom name label: [trans]ChoiceB[/trans]"]
@@ -793,7 +793,7 @@ abstract class AbstractDivLayoutTest ext
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./input[@type="checkbox"][@name="name[]"][@id="name_0"][@value="&a"][@checked]
         /following-sibling::input[@type="checkbox"][@name="name[]"][@id="name_1"][@value="&b"][not(@checked)]
@@ -821,7 +821,7 @@ abstract class AbstractDivLayoutTest ext
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./input[@type="checkbox"][@name="name[]"][@id="name_0"][@value="&a"][@checked]
         /following-sibling::label[@for="name_0"][.="[trans]label.&a[/trans]"]
@@ -848,7 +848,7 @@ abstract class AbstractDivLayoutTest ext
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./input[@type="checkbox"][@name="name[]"][@id="name_0"][@value="&a"][@checked]
         /following-sibling::input[@type="checkbox"][@name="name[]"][@id="name_1"][@value="&b"][not(@checked)]
@@ -875,7 +875,7 @@ abstract class AbstractDivLayoutTest ext
 
         // Insert the start tag, the end tag should be rendered by the helper
         $this->assertMatchesXpath('<form>'.$html,
-'/form
+            '/form
     [
         ./div
             [
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php 5.4.11+dfsg-1/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -150,7 +150,7 @@ abstract class AbstractLayoutTest extend
         $html = $this->renderLabel($view);
 
         $this->assertMatchesXpath($html,
-'/label
+            '/label
     [@for="name"]
     [.="[trans]Name[/trans]"]
 '
@@ -164,7 +164,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertMatchesXpath($this->renderLabel($form->createView()),
-'/label
+            '/label
     [@for="name"]
     [.="Name"]
 '
@@ -179,7 +179,7 @@ abstract class AbstractLayoutTest extend
         $html = $this->renderLabel($view);
 
         $this->assertMatchesXpath($html,
-'/label
+            '/label
     [@class="required"]
     [.="[trans]Name[/trans]"]
 '
@@ -194,7 +194,7 @@ abstract class AbstractLayoutTest extend
         $html = $this->renderLabel($form->createView());
 
         $this->assertMatchesXpath($html,
-'/label
+            '/label
     [@for="name"]
     [.="[trans]Custom label[/trans]"]
 '
@@ -207,7 +207,7 @@ abstract class AbstractLayoutTest extend
         $html = $this->renderLabel($form->createView(), 'Custom label');
 
         $this->assertMatchesXpath($html,
-'/label
+            '/label
     [@for="name"]
     [.="[trans]Custom label[/trans]"]
 '
@@ -222,7 +222,7 @@ abstract class AbstractLayoutTest extend
         $html = $this->renderLabel($form->createView(), 'Overridden label');
 
         $this->assertMatchesXpath($html,
-'/label
+            '/label
     [@for="name"]
     [.="[trans]Overridden label[/trans]"]
 '
@@ -239,7 +239,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertMatchesXpath($html,
-'/label
+            '/label
     [@for="name"]
     [@class="required"]
 '
@@ -256,7 +256,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertMatchesXpath($html,
-'/label
+            '/label
     [@for="name"]
     [@class="my&class required"]
 '
@@ -273,7 +273,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertMatchesXpath($html,
-'/label
+            '/label
     [@for="name"]
     [@class="my&class required"]
     [.="[trans]Custom label[/trans]"]
@@ -311,7 +311,7 @@ abstract class AbstractLayoutTest extend
         $html = $this->renderLabel($view, null, ['label_format' => 'form.%name%']);
 
         $this->assertMatchesXpath($html,
-'/label
+            '/label
     [@for="myform_myfield"]
     [.="[trans]form.myfield[/trans]"]
 '
@@ -327,7 +327,7 @@ abstract class AbstractLayoutTest extend
         $html = $this->renderLabel($view, null, ['label_format' => 'form.%id%']);
 
         $this->assertMatchesXpath($html,
-'/label
+            '/label
     [@for="myform_myfield"]
     [.="[trans]form.myform_myfield[/trans]"]
 '
@@ -345,7 +345,7 @@ abstract class AbstractLayoutTest extend
         $html = $this->renderLabel($view);
 
         $this->assertMatchesXpath($html,
-'/label
+            '/label
     [@for="myform_myfield"]
     [.="[trans]form.myfield[/trans]"]
 '
@@ -363,7 +363,7 @@ abstract class AbstractLayoutTest extend
         $html = $this->renderLabel($view);
 
         $this->assertMatchesXpath($html,
-'/label
+            '/label
     [@for="myform_myfield"]
     [.="[trans]field.myfield[/trans]"]
 '
@@ -381,7 +381,7 @@ abstract class AbstractLayoutTest extend
         $html = $this->renderWidget($view);
 
         $this->assertMatchesXpath($html,
-'/button
+            '/button
     [@type="button"]
     [@name="myform[mybutton]"]
     [.="Mybutton"]
@@ -398,7 +398,7 @@ abstract class AbstractLayoutTest extend
         $html = $this->renderWidget($view, ['label_format' => 'form.%name%']);
 
         $this->assertMatchesXpath($html,
-'/button
+            '/button
     [@type="button"]
     [@name="myform[mybutton]"]
     [.="[trans]form.mybutton[/trans]"]
@@ -415,7 +415,7 @@ abstract class AbstractLayoutTest extend
         $html = $this->renderWidget($view, ['label_format' => 'form.%id%']);
 
         $this->assertMatchesXpath($html,
-'/button
+            '/button
     [@type="button"]
     [@name="myform[mybutton]"]
     [.="[trans]form.myform_mybutton[/trans]"]
@@ -432,7 +432,7 @@ abstract class AbstractLayoutTest extend
         $html = $this->renderHelp($view);
 
         $this->assertMatchesXpath($html,
-'/p
+            '/p
     [@id="name_help"]
     [@class="help-text"]
     [.="[trans]Help text test![/trans]"]
@@ -461,7 +461,7 @@ abstract class AbstractLayoutTest extend
         $this->renderHelp($view);
 
         $this->assertMatchesXpath($html,
-'//input
+            '//input
     [@aria-describedby="name_help"]
 '
         );
@@ -477,7 +477,7 @@ abstract class AbstractLayoutTest extend
         $this->renderHelp($view);
 
         $this->assertMatchesXpath($html,
-'//input
+            '//input
     [not(@aria-describedby)]
 '
         );
@@ -492,7 +492,7 @@ abstract class AbstractLayoutTest extend
         $html = $this->renderErrors($view);
 
         $this->assertMatchesXpath($html,
-'/ul
+            '/ul
     [
         ./li[.="[trans]Error 1[/trans]"]
         /following-sibling::li[.="[trans]Error 2[/trans]"]
@@ -509,7 +509,7 @@ abstract class AbstractLayoutTest extend
         $html = $this->renderWidget($form->createView());
 
         $this->assertMatchesXpath($html,
-'/div
+            '/div
     [
         ./input
         [@type="text"]
@@ -525,7 +525,7 @@ abstract class AbstractLayoutTest extend
         $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\CheckboxType', true);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/input
+            '/input
     [@type="checkbox"]
     [@name="name"]
     [@checked="checked"]
@@ -539,7 +539,7 @@ abstract class AbstractLayoutTest extend
         $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\CheckboxType', false);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/input
+            '/input
     [@type="checkbox"]
     [@name="name"]
     [not(@checked)]
@@ -554,7 +554,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/input
+            '/input
     [@type="checkbox"]
     [@name="name"]
     [@value="foo&bar"]
@@ -583,7 +583,7 @@ abstract class AbstractLayoutTest extend
         //  then the select element must have a placeholder label option."
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/select
+            '/select
     [@name="name"]
     [not(@required)]
     [
@@ -605,7 +605,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/select
+            '/select
     [@name="name"]
     [@required="required"]
     [@size="2"]
@@ -624,7 +624,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/select
+            '/select
     [@name="name"]
     [not(@required)]
     [
@@ -648,7 +648,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/select
+            '/select
     [@name="name"]
     [not(@required)]
     [
@@ -671,7 +671,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/select
+            '/select
     [@name="name"]
     [not(@required)]
     [
@@ -693,7 +693,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'bar&baz']],
-'/select
+            '/select
     [@name="name"]
     [@class="bar&baz"]
     [not(@required)]
@@ -716,7 +716,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['attr' => ['class' => 'bar&baz']],
-'/div
+            '/div
     [@class="bar&baz"]
     [
         ./input[@type="radio"][@name="name"][@id="name_0"][@value="&a"][@checked]
@@ -742,7 +742,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['separator' => '-- sep --'],
-'/select
+            '/select
     [@name="name"]
     [not(@required)]
     [
@@ -768,7 +768,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['separator' => null],
-'/select
+            '/select
     [@name="name"]
     [not(@required)]
     [
@@ -793,7 +793,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), ['separator' => ''],
-'/select
+            '/select
     [@name="name"]
     [not(@required)]
     [
@@ -819,7 +819,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/select
+            '/select
     [count(./option)=5]
 '
         );
@@ -835,7 +835,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/select
+            '/select
     [@name="name"]
     [not(@required)]
     [
@@ -858,7 +858,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/select
+            '/select
     [@name="name"]
     [not(@required)]
     [
@@ -882,7 +882,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/select
+            '/select
     [@name="name"]
     [not(@required)]
     [
@@ -909,7 +909,7 @@ abstract class AbstractLayoutTest extend
         // BlackBerry 10 browser.
         // See https://github.com/symfony/symfony/pull/7678
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/select
+            '/select
     [@name="name"]
     [@required="required"]
     [
@@ -935,7 +935,7 @@ abstract class AbstractLayoutTest extend
         // BlackBerry 10 browser.
         // See https://github.com/symfony/symfony/pull/7678
         $this->assertWidgetMatchesXpath($form->createView(), ['placeholder' => ''],
-'/select
+            '/select
     [@name="name"]
     [@required="required"]
     [
@@ -960,7 +960,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/select
+            '/select
     [@name="name"]
     [./optgroup[@label="[trans]Group&1[/trans]"]
         [
@@ -988,7 +988,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/select
+            '/select
     [@name="name[]"]
     [@required="required"]
     [@multiple="multiple"]
@@ -1012,7 +1012,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/select
+            '/select
     [@name="name[]"]
     [@required="required"]
     [@multiple="multiple"]
@@ -1035,7 +1035,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/select
+            '/select
     [@name="name[]"]
     [@multiple="multiple"]
     [
@@ -1057,7 +1057,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/select
+            '/select
     [@name="name[]"]
     [@multiple="multiple"]
     [
@@ -1078,7 +1078,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./input[@type="radio"][@name="name"][@id="name_0"][@value="&a"][@checked]
         /following-sibling::label[@for="name_0"][.="[trans]Choice&A[/trans]"]
@@ -1102,7 +1102,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./input[@type="radio"][@name="name"][@id="name_0"][@value="&a"][@checked]
         /following-sibling::label[@for="name_0"][.="Choice&A"]
@@ -1125,7 +1125,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./input[@type="radio"][@name="name"][@id="name_0"][@value="&a"][@checked]
         /following-sibling::label[@for="name_0"][.="[trans]Choice&A[/trans]"]
@@ -1149,7 +1149,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./input[@type="radio"][@name="name"][@id="name_placeholder"][not(@checked)]
         /following-sibling::label[@for="name_placeholder"][.="[trans]Test&Me[/trans]"]
@@ -1176,7 +1176,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./input[@type="radio"][@name="name"][@id="name_placeholder"][not(@checked)]
         /following-sibling::label[@for="name_placeholder"][.="Placeholder&Not&Translated"]
@@ -1200,7 +1200,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./input[@type="radio"][@name="name"][@id="name_0"][@checked]
         /following-sibling::label[@for="name_0"][.="[trans]Choice&A[/trans]"]
@@ -1223,7 +1223,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./input[@type="checkbox"][@name="name[]"][@id="name_0"][@checked][not(@required)]
         /following-sibling::label[@for="name_0"][.="[trans]Choice&A[/trans]"]
@@ -1249,7 +1249,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./input[@type="checkbox"][@name="name[]"][@id="name_0"][@checked][not(@required)]
         /following-sibling::label[@for="name_0"][.="Choice&A"]
@@ -1275,7 +1275,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./input[@type="checkbox"][@name="name[]"][@id="name_0"][@checked][not(@required)]
         /following-sibling::label[@for="name_0"][.="[trans]Choice&A[/trans]"]
@@ -1295,7 +1295,7 @@ abstract class AbstractLayoutTest extend
         $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\CountryType', 'AT');
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/select
+            '/select
     [@name="name"]
     [./option[@value="AT"][@selected="selected"][.="Austria"]]
     [count(./option)>200]
@@ -1311,7 +1311,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/select
+            '/select
     [@name="name"]
     [./option[@value=""][not(@selected)][not(@disabled)][.="[trans]Select&Country[/trans]"]]
     [./option[@value="AT"][@selected="selected"][.="Austria"]]
@@ -1328,7 +1328,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./div
             [@id="name_date"]
@@ -1368,7 +1368,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./div
             [@id="name_date"]
@@ -1409,7 +1409,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./div
             [@id="name_date"]
@@ -1448,7 +1448,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./div
             [@id="name_date"]
@@ -1491,7 +1491,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./input
             [@type="date"]
@@ -1518,7 +1518,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/input
+            '/input
     [@type="datetime-local"]
     [@name="name"]
     [@value="2011-02-03T04:05:06"]
@@ -1534,7 +1534,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./select
             [@id="name_month"]
@@ -1561,7 +1561,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./select
             [@id="name_month"]
@@ -1588,7 +1588,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./select
             [@id="name_month"]
@@ -1613,7 +1613,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./input
             [@id="name_month"]
@@ -1641,7 +1641,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/input
+            '/input
     [@type="date"]
     [@name="name"]
     [@value="2011-02-03"]
@@ -1668,7 +1668,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./select
             [@id="name_month"]
@@ -1694,7 +1694,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./select
             [@id="name_month"]
@@ -1719,7 +1719,7 @@ abstract class AbstractLayoutTest extend
         $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\EmailType', 'foo&bar');
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/input
+            '/input
     [@type="email"]
     [@name="name"]
     [@value="foo&bar"]
@@ -1735,7 +1735,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/input
+            '/input
     [@type="email"]
     [@name="name"]
     [@value="foo&bar"]
@@ -1749,7 +1749,7 @@ abstract class AbstractLayoutTest extend
         $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\FileType');
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/input
+            '/input
     [@type="file"]
 '
         );
@@ -1760,7 +1760,7 @@ abstract class AbstractLayoutTest extend
         $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\HiddenType', 'foo&bar');
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/input
+            '/input
     [@type="hidden"]
     [@name="name"]
     [@value="foo&bar"]
@@ -1775,7 +1775,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/input
+            '/input
     [@type="text"]
     [@name="name"]
     [@disabled="disabled"]
@@ -1788,7 +1788,7 @@ abstract class AbstractLayoutTest extend
         $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\IntegerType', 123);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/input
+            '/input
     [@type="number"]
     [@name="name"]
     [@value="123"]
@@ -1803,7 +1803,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/input
+            '/input
     [@type="text"]
     [@name="name"]
     [@value="123"]
@@ -1816,7 +1816,7 @@ abstract class AbstractLayoutTest extend
         $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\LanguageType', 'de');
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/select
+            '/select
     [@name="name"]
     [./option[@value="de"][@selected="selected"][.="German"]]
     [count(./option)>200]
@@ -1829,7 +1829,7 @@ abstract class AbstractLayoutTest extend
         $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\LocaleType', 'de_AT');
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/select
+            '/select
     [@name="name"]
     [./option[@value="de_AT"][@selected="selected"][.="German (Austria)"]]
     [count(./option)>200]
@@ -1844,7 +1844,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/input
+            '/input
     [@type="text"]
     [@name="name"]
     [@value="1234.56"]
@@ -1858,7 +1858,7 @@ abstract class AbstractLayoutTest extend
         $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\NumberType', 1234.56);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/input
+            '/input
     [@type="text"]
     [@name="name"]
     [@value="1234.56"]
@@ -1875,7 +1875,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/input
+            '/input
     [@type="number"]
     [@name="name"]
     [@value="1234.56"]
@@ -1888,7 +1888,7 @@ abstract class AbstractLayoutTest extend
         $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\PasswordType', 'foo&bar');
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/input
+            '/input
     [@type="password"]
     [@name="name"]
 '
@@ -1903,7 +1903,7 @@ abstract class AbstractLayoutTest extend
         $form->submit('foo&bar');
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/input
+            '/input
     [@type="password"]
     [@name="name"]
     [@value="foo&bar"]
@@ -1918,7 +1918,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/input
+            '/input
     [@type="password"]
     [@name="name"]
     [@maxlength="123"]
@@ -1931,7 +1931,7 @@ abstract class AbstractLayoutTest extend
         $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\PercentType', 0.1, ['rounding_mode' => \NumberFormatter::ROUND_CEILING]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/input
+            '/input
     [@type="text"]
     [@name="name"]
     [@value="10"]
@@ -1946,7 +1946,7 @@ abstract class AbstractLayoutTest extend
 
         $form = $this->factory->createNamed('name', PercentType::class, 0.1, ['symbol' => false, 'rounding_mode' => \NumberFormatter::ROUND_CEILING]);
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/input
+            '/input
     [@type="text"]
     [@name="name"]
     [@value="10"]
@@ -1961,7 +1961,7 @@ abstract class AbstractLayoutTest extend
 
         $form = $this->factory->createNamed('name', PercentType::class, 0.1, ['symbol' => '‱', 'rounding_mode' => \NumberFormatter::ROUND_CEILING]);
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/input
+            '/input
     [@type="text"]
     [@name="name"]
     [@value="10"]
@@ -1975,7 +1975,7 @@ abstract class AbstractLayoutTest extend
         $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\RadioType', true);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/input
+            '/input
     [@type="radio"]
     [@name="name"]
     [@checked="checked"]
@@ -1989,7 +1989,7 @@ abstract class AbstractLayoutTest extend
         $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\RadioType', false);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/input
+            '/input
     [@type="radio"]
     [@name="name"]
     [not(@checked)]
@@ -2004,7 +2004,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/input
+            '/input
     [@type="radio"]
     [@name="name"]
     [@value="foo&bar"]
@@ -2017,7 +2017,7 @@ abstract class AbstractLayoutTest extend
         $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\RangeType', 42, ['attr' => ['min' => 5]]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/input
+            '/input
     [@type="range"]
     [@name="name"]
     [@value="42"]
@@ -2031,7 +2031,7 @@ abstract class AbstractLayoutTest extend
         $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\RangeType', 42, ['attr' => ['min' => 5, 'max' => 57]]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/input
+            '/input
     [@type="range"]
     [@name="name"]
     [@value="42"]
@@ -2048,7 +2048,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/textarea
+            '/textarea
     [@name="name"]
     [not(@pattern)]
     [.="foo&bar"]
@@ -2061,7 +2061,7 @@ abstract class AbstractLayoutTest extend
         $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\TextType', 'foo&bar');
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/input
+            '/input
     [@type="text"]
     [@name="name"]
     [@value="foo&bar"]
@@ -2077,7 +2077,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/input
+            '/input
     [@type="text"]
     [@name="name"]
     [@value="foo&bar"]
@@ -2091,7 +2091,7 @@ abstract class AbstractLayoutTest extend
         $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\SearchType', 'foo&bar');
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/input
+            '/input
     [@type="search"]
     [@name="name"]
     [@value="foo&bar"]
@@ -2108,7 +2108,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./select
             [@id="name_hour"]
@@ -2132,7 +2132,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./select
             [@id="name_hour"]
@@ -2163,7 +2163,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./input
             [@type="text"]
@@ -2193,7 +2193,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/input
+            '/input
     [@type="time"]
     [@name="name"]
     [@value="04:05"]
@@ -2211,7 +2211,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./select
             [@id="name_hour"]
@@ -2236,7 +2236,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/div
+            '/div
     [
         ./select
             [@id="name_hour"]
@@ -2269,7 +2269,7 @@ abstract class AbstractLayoutTest extend
         $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\TimezoneType', 'Europe/Vienna');
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/select
+            '/select
     [@name="name"]
     [not(@required)]
     [./option[@value="Europe/Vienna"][@selected="selected"][.="Europe / Vienna"]]
@@ -2286,7 +2286,7 @@ abstract class AbstractLayoutTest extend
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/select
+            '/select
     [./option[@value=""][not(@selected)][not(@disabled)][.="[trans]Select&Timezone[/trans]"]]
     [count(./option)>201]
 '
@@ -2299,7 +2299,7 @@ abstract class AbstractLayoutTest extend
         $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\UrlType', $url, ['default_protocol' => 'http']);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/input
+            '/input
     [@type="text"]
     [@name="name"]
     [@value="http://www.example.com?foo1=bar1&foo2=bar2"]
@@ -2314,7 +2314,7 @@ abstract class AbstractLayoutTest extend
         $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\UrlType', $url, ['default_protocol' => null]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/input
+            '/input
     [@type="url"]
     [@name="name"]
     [@value="http://www.example.com?foo1=bar1&foo2=bar2"]
@@ -2417,7 +2417,7 @@ abstract class AbstractLayoutTest extend
         $html = $this->renderStart($form->createView());
 
         $this->assertMatchesXpath($html.'</form>',
-'/form
+            '/form
     [./input[@type="hidden"][@name="_method"][@value="PUT"]]
     [@method="post"]
     [@action="http://example.com/directory"]'
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Form/Tests/AbstractTableLayoutTest.php 5.4.11+dfsg-1/src/Symfony/Component/Form/Tests/AbstractTableLayoutTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Form/Tests/AbstractTableLayoutTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Form/Tests/AbstractTableLayoutTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -24,7 +24,7 @@ abstract class AbstractTableLayoutTest e
         $html = $this->renderRow($view);
 
         $this->assertMatchesXpath($html,
-'/tr
+            '/tr
     [
         ./td
             [./label[@for="name"]]
@@ -48,7 +48,7 @@ abstract class AbstractTableLayoutTest e
         $html = $this->renderRow($form->createView());
 
         $this->assertMatchesXpath($html,
-'/tr
+            '/tr
     [
         ./td
             [count(//label)=0]
@@ -65,7 +65,7 @@ abstract class AbstractTableLayoutTest e
         $html = $this->renderRow($form->createView());
 
         $this->assertMatchesXpath($html,
-'/tr
+            '/tr
     [
         ./td
             [./label[@for="name_first"]]
@@ -102,7 +102,7 @@ abstract class AbstractTableLayoutTest e
         // (see RepeatedTypeValidatorExtension)
 
         $this->assertMatchesXpath($html,
-'/tr
+            '/tr
     [
         ./td
             [./label[@for="name_first"]]
@@ -133,7 +133,7 @@ abstract class AbstractTableLayoutTest e
         $html = $this->renderRow($view);
 
         $this->assertMatchesXpath($html,
-'/tr
+            '/tr
     [
         ./td
             [.=""]
@@ -166,7 +166,7 @@ abstract class AbstractTableLayoutTest e
         $html = $this->renderRest($view);
 
         $this->assertMatchesXpath($html,
-'/tr
+            '/tr
     [
         ./td
             [./label[@for="name_field1"]]
@@ -199,7 +199,7 @@ abstract class AbstractTableLayoutTest e
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/table
+            '/table
     [
         ./tr[./td/input[@type="text"][@value="a"]]
         /following-sibling::tr[./td/input[@type="text"][@value="b"]]
@@ -217,7 +217,7 @@ abstract class AbstractTableLayoutTest e
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/table
+            '/table
     [./tr[@style="display: none"][./td[@colspan="2"]/input[@type="hidden"][@id="names__token"]]]
     [count(./tr[./td/input])=1]
 '
@@ -240,7 +240,7 @@ abstract class AbstractTableLayoutTest e
         ]);
 
         $this->assertMatchesXpath($html,
-'/form
+            '/form
     [
         ./input[@type="hidden"][@name="_method"][@value="PUT"]
         /following-sibling::table
@@ -285,7 +285,7 @@ abstract class AbstractTableLayoutTest e
             ->createView();
 
         $this->assertWidgetMatchesXpath($view, [],
-'/table
+            '/table
     [
         ./tr
             [
@@ -325,7 +325,7 @@ abstract class AbstractTableLayoutTest e
         $form->get('child')->addError(new FormError('[trans]Error![/trans]'));
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/table
+            '/table
     [
         ./tr/td/ul[./li[.="[trans]Error![/trans]"]]
         /following-sibling::table[@id="name_child"]
@@ -350,7 +350,7 @@ abstract class AbstractTableLayoutTest e
             ->getForm();
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/table
+            '/table
     [
         ./tr[@style="display: none"]
             [./td[@colspan="2"]/input
@@ -370,7 +370,7 @@ abstract class AbstractTableLayoutTest e
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/table
+            '/table
     [
         ./tr
             [
@@ -406,7 +406,7 @@ abstract class AbstractTableLayoutTest e
         ]);
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/table
+            '/table
     [
         ./tr
             [
@@ -444,7 +444,7 @@ abstract class AbstractTableLayoutTest e
             ->getForm();
 
         $this->assertWidgetMatchesXpath($form->createView(), [],
-'/table
+            '/table
     [
         ./tr[./td/label[.="Custom label: [trans]0[/trans]"]]
         /following-sibling::tr[./td/label[.="Custom label: [trans]1[/trans]"]]
@@ -473,7 +473,7 @@ abstract class AbstractTableLayoutTest e
         // manually, they should call form_rest() explicitly within the <table>
         // tag.
         $this->assertMatchesXpath('<form>'.$html,
-'/form
+            '/form
     [
         ./tr
             [
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Form/Tests/ChoiceList/Factory/DefaultChoiceListFactoryTest.php 5.4.11+dfsg-1/src/Symfony/Component/Form/Tests/ChoiceList/Factory/DefaultChoiceListFactoryTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Form/Tests/ChoiceList/Factory/DefaultChoiceListFactoryTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Form/Tests/ChoiceList/Factory/DefaultChoiceListFactoryTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -285,12 +285,12 @@ class DefaultChoiceListFactoryTest exten
         $view = $this->factory->createView($this->list);
 
         $this->assertEquals(new ChoiceListView(
-                [
-                    0 => new ChoiceView($this->obj1, '0', 'A'),
-                    1 => new ChoiceView($this->obj2, '1', 'B'),
-                    2 => new ChoiceView($this->obj3, '2', 'C'),
-                    3 => new ChoiceView($this->obj4, '3', 'D'),
-                ], []
+            [
+                0 => new ChoiceView($this->obj1, '0', 'A'),
+                1 => new ChoiceView($this->obj2, '1', 'B'),
+                2 => new ChoiceView($this->obj3, '2', 'C'),
+                3 => new ChoiceView($this->obj4, '3', 'D'),
+            ], []
         ), $view);
     }
 
@@ -365,12 +365,12 @@ class DefaultChoiceListFactoryTest exten
         );
 
         $this->assertEquals(new ChoiceListView(
-                [
-                    0 => new ChoiceView($this->obj1, '0', 'A'),
-                    1 => new ChoiceView($this->obj2, '1', 'B'),
-                    2 => new ChoiceView($this->obj3, '2', 'C'),
-                    3 => new ChoiceView($this->obj4, '3', 'D'),
-                ], []
+            [
+                0 => new ChoiceView($this->obj1, '0', 'A'),
+                1 => new ChoiceView($this->obj2, '1', 'B'),
+                2 => new ChoiceView($this->obj3, '2', 'C'),
+                3 => new ChoiceView($this->obj4, '3', 'D'),
+            ], []
         ), $view);
     }
 
@@ -960,64 +960,64 @@ class DefaultChoiceListFactoryTest exten
     private function assertFlatView($view)
     {
         $this->assertEquals(new ChoiceListView(
-                [
-                    0 => new ChoiceView($this->obj1, '0', 'A'),
-                    1 => new ChoiceView($this->obj2, '1', 'B'),
-                    2 => new ChoiceView($this->obj3, '2', 'C'),
-                    3 => new ChoiceView($this->obj4, '3', 'D'),
-                ], [
-                    1 => new ChoiceView($this->obj2, '1', 'B'),
-                    2 => new ChoiceView($this->obj3, '2', 'C'),
-                ]
+            [
+                0 => new ChoiceView($this->obj1, '0', 'A'),
+                1 => new ChoiceView($this->obj2, '1', 'B'),
+                2 => new ChoiceView($this->obj3, '2', 'C'),
+                3 => new ChoiceView($this->obj4, '3', 'D'),
+            ], [
+                1 => new ChoiceView($this->obj2, '1', 'B'),
+                2 => new ChoiceView($this->obj3, '2', 'C'),
+            ]
         ), $view);
     }
 
     private function assertFlatViewWithCustomIndices($view)
     {
         $this->assertEquals(new ChoiceListView(
-                [
-                    'w' => new ChoiceView($this->obj1, '0', 'A'),
-                    'x' => new ChoiceView($this->obj2, '1', 'B'),
-                    'y' => new ChoiceView($this->obj3, '2', 'C'),
-                    'z' => new ChoiceView($this->obj4, '3', 'D'),
-                ], [
-                    'x' => new ChoiceView($this->obj2, '1', 'B'),
-                    'y' => new ChoiceView($this->obj3, '2', 'C'),
-                ]
+            [
+                'w' => new ChoiceView($this->obj1, '0', 'A'),
+                'x' => new ChoiceView($this->obj2, '1', 'B'),
+                'y' => new ChoiceView($this->obj3, '2', 'C'),
+                'z' => new ChoiceView($this->obj4, '3', 'D'),
+            ], [
+                'x' => new ChoiceView($this->obj2, '1', 'B'),
+                'y' => new ChoiceView($this->obj3, '2', 'C'),
+            ]
         ), $view);
     }
 
     private function assertFlatViewWithAttr($view)
     {
         $this->assertEquals(new ChoiceListView(
-                [
-                    0 => new ChoiceView($this->obj1, '0', 'A'),
-                    1 => new ChoiceView(
-                        $this->obj2,
-                        '1',
-                        'B',
-                        ['attr1' => 'value1']
-                    ),
-                    2 => new ChoiceView(
-                        $this->obj3,
-                        '2',
-                        'C',
-                        ['attr2' => 'value2']
-                    ),
-                    3 => new ChoiceView($this->obj4, '3', 'D'),
-                ], [
-                    1 => new ChoiceView(
-                        $this->obj2,
-                        '1',
-                        'B',
-                        ['attr1' => 'value1']
-                    ),
-                    2 => new ChoiceView(
-                        $this->obj3,
-                        '2',
-                        'C',
-                        ['attr2' => 'value2']
-                    ),
+            [
+                0 => new ChoiceView($this->obj1, '0', 'A'),
+                1 => new ChoiceView(
+                    $this->obj2,
+                    '1',
+                    'B',
+                    ['attr1' => 'value1']
+                ),
+                2 => new ChoiceView(
+                    $this->obj3,
+                    '2',
+                    'C',
+                    ['attr2' => 'value2']
+                ),
+                3 => new ChoiceView($this->obj4, '3', 'D'),
+            ], [
+                1 => new ChoiceView(
+                    $this->obj2,
+                    '1',
+                    'B',
+                    ['attr1' => 'value1']
+                ),
+                2 => new ChoiceView(
+                    $this->obj3,
+                    '2',
+                    'C',
+                    ['attr2' => 'value2']
+                ),
                 ]
         ), $view);
     }
@@ -1040,30 +1040,30 @@ class DefaultChoiceListFactoryTest exten
     private function assertGroupedView($view)
     {
         $this->assertEquals(new ChoiceListView(
-                [
-                    'Group 1' => new ChoiceGroupView(
-                        'Group 1',
-                        [
-                            0 => new ChoiceView($this->obj1, '0', 'A'),
-                            1 => new ChoiceView($this->obj2, '1', 'B'),
-                        ]
-                    ),
-                    'Group 2' => new ChoiceGroupView(
-                        'Group 2',
-                        [
-                            2 => new ChoiceView($this->obj3, '2', 'C'),
-                            3 => new ChoiceView($this->obj4, '3', 'D'),
-                        ]
-                    ),
-                ], [
-                    'Group 1' => new ChoiceGroupView(
-                        'Group 1',
-                        [1 => new ChoiceView($this->obj2, '1', 'B')]
-                    ),
-                    'Group 2' => new ChoiceGroupView(
-                        'Group 2',
-                        [2 => new ChoiceView($this->obj3, '2', 'C')]
-                    ),
+            [
+                'Group 1' => new ChoiceGroupView(
+                    'Group 1',
+                    [
+                        0 => new ChoiceView($this->obj1, '0', 'A'),
+                        1 => new ChoiceView($this->obj2, '1', 'B'),
+                    ]
+                ),
+                'Group 2' => new ChoiceGroupView(
+                    'Group 2',
+                    [
+                        2 => new ChoiceView($this->obj3, '2', 'C'),
+                        3 => new ChoiceView($this->obj4, '3', 'D'),
+                    ]
+                ),
+            ], [
+                'Group 1' => new ChoiceGroupView(
+                    'Group 1',
+                    [1 => new ChoiceView($this->obj2, '1', 'B')]
+                ),
+                'Group 2' => new ChoiceGroupView(
+                    'Group 2',
+                    [2 => new ChoiceView($this->obj3, '2', 'C')]
+                ),
                 ]
         ), $view);
     }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Form/Tests/Command/DebugCommandTest.php 5.4.11+dfsg-1/src/Symfony/Component/Form/Tests/Command/DebugCommandTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Form/Tests/Command/DebugCommandTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Form/Tests/Command/DebugCommandTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -57,7 +57,7 @@ Service form types
 
 
 TXT
-        , $tester->getDisplay(true));
+            , $tester->getDisplay(true));
     }
 
     public function testDebugSingleFormType()
@@ -139,7 +139,7 @@ Select one of the following form types t
 %A\A\AmbiguousType (Block prefix: "ambiguous")
 %A
 TXT
-        , $output);
+            , $output);
     }
 
     public function testDebugInvalidFormType()
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Form/Tests/CompoundFormTest.php 5.4.11+dfsg-1/src/Symfony/Component/Form/Tests/CompoundFormTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Form/Tests/CompoundFormTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Form/Tests/CompoundFormTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -806,9 +806,9 @@ class CompoundFormTest extends TestCase
         $errors = $this->form->getErrors();
 
         $this->assertSame(
-             "ERROR: Error 1\n".
-             "ERROR: Error 2\n",
-             (string) $errors
+            "ERROR: Error 1\n".
+            "ERROR: Error 2\n",
+            (string) $errors
         );
 
         $this->assertSame([$error1, $error2], iterator_to_array($errors));
@@ -826,15 +826,15 @@ class CompoundFormTest extends TestCase
         $errors = $this->form->getErrors(true);
 
         $this->assertSame(
-             "ERROR: Error 1\n".
-             "ERROR: Error 2\n".
-             "ERROR: Nested Error\n",
-             (string) $errors
+            "ERROR: Error 1\n".
+            "ERROR: Error 2\n".
+            "ERROR: Nested Error\n",
+            (string) $errors
         );
 
         $this->assertSame(
-             [$error1, $error2, $nestedError],
-             iterator_to_array($errors)
+            [$error1, $error2, $nestedError],
+            iterator_to_array($errors)
         );
     }
 
@@ -850,11 +850,11 @@ class CompoundFormTest extends TestCase
         $errors = $this->form->getErrors(true, false);
 
         $this->assertSame(
-             "ERROR: Error 1\n".
-             "ERROR: Error 2\n".
-             "Child:\n".
-             "    ERROR: Nested Error\n",
-             (string) $errors
+            "ERROR: Error 1\n".
+            "ERROR: Error 2\n".
+            "Child:\n".
+            "    ERROR: Nested Error\n",
+            (string) $errors
         );
 
         $errorsAsArray = iterator_to_array($errors);
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToLocalizedStringTransformerTest.php 5.4.11+dfsg-1/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToLocalizedStringTransformerTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToLocalizedStringTransformerTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToLocalizedStringTransformerTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -197,9 +197,9 @@ class DateTimeToLocalizedStringTransform
 
         // HOW TO REPRODUCE?
 
-        //$this->expectException(\Symfony\Component\Form\Extension\Core\DataTransformer\TransformationFailedException::class);
+        // $this->expectException(\Symfony\Component\Form\Extension\Core\DataTransformer\TransformationFailedException::class);
 
-        //$transformer->transform(1.5);
+        // $transformer->transform(1.5);
     }
 
     /**
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToStringTransformerTest.php 5.4.11+dfsg-1/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToStringTransformerTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToStringTransformerTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToStringTransformerTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -41,8 +41,8 @@ class DateTimeToStringTransformerTest ex
             // this will not work as PHP will use actual date to replace missing info
             // and after change of date will lookup for closest Wednesday
             // i.e. value: 2010-02, PHP value: 2010-02-(today i.e. 20), parsed date: 2010-02-24
-            //['Y-m-D', '2010-02-Wed', '2010-02-03 00:00:00 UTC'],
-            //['Y-m-l', '2010-02-Wednesday', '2010-02-03 00:00:00 UTC'],
+            // ['Y-m-D', '2010-02-Wed', '2010-02-03 00:00:00 UTC'],
+            // ['Y-m-l', '2010-02-Wednesday', '2010-02-03 00:00:00 UTC'],
 
             // different month representations
             ['Y-n-d', '2010-2-03', '2010-02-03 00:00:00 UTC'],
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Form/Tests/Extension/Core/Type/ChoiceTypeTest.php 5.4.11+dfsg-1/src/Symfony/Component/Form/Tests/Extension/Core/Type/ChoiceTypeTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Form/Tests/Extension/Core/Type/ChoiceTypeTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Form/Tests/Extension/Core/Type/ChoiceTypeTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -15,9 +15,8 @@ use Symfony\Bridge\PhpUnit\ExpectDepreca
 use Symfony\Component\Form\ChoiceList\Loader\CallbackChoiceLoader;
 use Symfony\Component\Form\ChoiceList\View\ChoiceGroupView;
 use Symfony\Component\Form\ChoiceList\View\ChoiceView;
-use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
 use Symfony\Component\Form\Exception\TransformationFailedException;
-use Symfony\Component\Form\Extension\Validator\ValidatorExtension;
+use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
 use Symfony\Component\Form\FormInterface;
 use Symfony\Component\Form\Tests\Fixtures\ChoiceList\DeprecatedChoiceListFactory;
 use Symfony\Component\OptionsResolver\Exception\InvalidOptionsException;
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Form/Tests/Extension/Core/Type/ChoiceTypeTranslationTest.php 5.4.11+dfsg-1/src/Symfony/Component/Form/Tests/Extension/Core/Type/ChoiceTypeTranslationTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Form/Tests/Extension/Core/Type/ChoiceTypeTranslationTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Form/Tests/Extension/Core/Type/ChoiceTypeTranslationTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -34,7 +34,7 @@ class ChoiceTypeTranslationTest extends
             ->willReturnCallback(function ($key, $params) {
                 return strtr(sprintf('Translation of: %s', $key), $params);
             }
-        );
+            );
 
         return array_merge(parent::getExtensions(), [new CoreExtension(null, null, $translator)]);
     }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Form/Tests/Extension/Validator/Constraints/FormValidatorFunctionalTest.php 5.4.11+dfsg-1/src/Symfony/Component/Form/Tests/Extension/Validator/Constraints/FormValidatorFunctionalTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Form/Tests/Extension/Validator/Constraints/FormValidatorFunctionalTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Form/Tests/Extension/Validator/Constraints/FormValidatorFunctionalTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -458,12 +458,12 @@ class FormValidatorFunctionalTest extend
                 }
             ));
         $formBuilder->get('field2')->addModelTransformer(new CallbackTransformer(
-                function () {
-                },
-                function () {
-                    throw new TransformationFailedException('This value is invalid.');
-                }
-            ));
+            function () {
+            },
+            function () {
+                throw new TransformationFailedException('This value is invalid.');
+            }
+        ));
         $form = $formBuilder->getForm();
 
         $form->submit([
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Form/Tests/Extension/Validator/Constraints/FormValidatorTest.php 5.4.11+dfsg-1/src/Symfony/Component/Form/Tests/Extension/Validator/Constraints/FormValidatorTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Form/Tests/Extension/Validator/Constraints/FormValidatorTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Form/Tests/Extension/Validator/Constraints/FormValidatorTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -309,9 +309,9 @@ class FormValidatorTest extends Constrai
             ])
             ->setData($object)
             ->addViewTransformer(new CallbackTransformer(
-                    function ($data) { return $data; },
-                    function () { throw new TransformationFailedException(); }
-                ))
+                function ($data) { return $data; },
+                function () { throw new TransformationFailedException(); }
+            ))
             ->getForm();
 
         // Launch transformer
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Form/Tests/Extension/Validator/Type/FormTypeValidatorExtensionTest.php 5.4.11+dfsg-1/src/Symfony/Component/Form/Tests/Extension/Validator/Type/FormTypeValidatorExtensionTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Form/Tests/Extension/Validator/Type/FormTypeValidatorExtensionTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Form/Tests/Extension/Validator/Type/FormTypeValidatorExtensionTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -80,7 +80,7 @@ class FormTypeValidatorExtensionTest ext
         $form = Forms::createFormFactoryBuilder()
             ->addExtension(new ValidatorExtension(Validation::createValidator(), false))
             ->getFormFactory()
-            ->create(FormTypeTest::TESTED_TYPE, null, (['validation_groups' => new GroupSequence(['First', 'Second'])]))
+            ->create(FormTypeTest::TESTED_TYPE, null, ['validation_groups' => new GroupSequence(['First', 'Second'])])
             ->add('field', TextTypeTest::TESTED_TYPE, [
                 'constraints' => [
                     new Length(['min' => 10, 'groups' => ['First']]),
@@ -126,7 +126,7 @@ class FormTypeValidatorExtensionTest ext
         $form = Forms::createFormFactoryBuilder()
             ->addExtension(new ValidatorExtension($validator))
             ->getFormFactory()
-            ->create(FormTypeTest::TESTED_TYPE, new Author(), (['validation_groups' => new GroupSequence(['First', 'Second'])]))
+            ->create(FormTypeTest::TESTED_TYPE, new Author(), ['validation_groups' => new GroupSequence(['First', 'Second'])])
             ->add('firstName', TextTypeTest::TESTED_TYPE)
             ->add('lastName', TextTypeTest::TESTED_TYPE, [
                 'constraints' => [
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Form/Tests/SimpleFormTest.php 5.4.11+dfsg-1/src/Symfony/Component/Form/Tests/SimpleFormTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Form/Tests/SimpleFormTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Form/Tests/SimpleFormTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -169,7 +169,7 @@ class SimpleFormTest extends TestCase
 
         $config = new FormConfigBuilder('name', null, new EventDispatcher());
         $config->addEventListener(FormEvents::PRE_SUBMIT, static function (FormEvent $event) use (&$passedDataIsNull): void {
-            $passedDataIsNull = $event->getData() === null;
+            $passedDataIsNull = null === $event->getData();
         });
         $form = new Form($config);
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Form/Util/ServerParams.php 5.4.11+dfsg-1/src/Symfony/Component/Form/Util/ServerParams.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Form/Util/ServerParams.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Form/Util/ServerParams.php	2022-07-29 12:30:51.000000000 +0000
@@ -62,8 +62,11 @@ class ServerParams
 
         switch (substr($iniMax, -1)) {
             case 't': $max *= 1024;
+                // no break
             case 'g': $max *= 1024;
+                // no break
             case 'm': $max *= 1024;
+                // no break
             case 'k': $max *= 1024;
         }
 
@@ -77,7 +80,7 @@ class ServerParams
      */
     public function getNormalizedIniPostMaxSize()
     {
-        return strtoupper(trim(ini_get('post_max_size')));
+        return strtoupper(trim(\ini_get('post_max_size')));
     }
 
     /**
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/HttpClient/CurlHttpClient.php 5.4.11+dfsg-1/src/Symfony/Component/HttpClient/CurlHttpClient.php
--- 5.4.10+dfsg-1/src/Symfony/Component/HttpClient/CurlHttpClient.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/HttpClient/CurlHttpClient.php	2022-07-29 12:30:51.000000000 +0000
@@ -454,7 +454,7 @@ final class CurlHttpClient implements Ht
     private function validateExtraCurlOptions(array $options): void
     {
         $curloptsToConfig = [
-            //options used in CurlHttpClient
+            // options used in CurlHttpClient
             \CURLOPT_HTTPAUTH => 'auth_ntlm',
             \CURLOPT_USERPWD => 'auth_ntlm',
             \CURLOPT_RESOLVE => 'resolve',
@@ -482,7 +482,7 @@ final class CurlHttpClient implements Ht
             \CURLOPT_CERTINFO => 'capture_peer_cert_chain',
             \CURLOPT_USERAGENT => 'normalized_headers',
             \CURLOPT_REFERER => 'headers',
-            //options used in CurlResponse
+            // options used in CurlResponse
             \CURLOPT_NOPROGRESS => 'on_progress',
             \CURLOPT_PROGRESSFUNCTION => 'on_progress',
         ];
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/HttpClient/Exception/HttpExceptionTrait.php 5.4.11+dfsg-1/src/Symfony/Component/HttpClient/Exception/HttpExceptionTrait.php
--- 5.4.10+dfsg-1/src/Symfony/Component/HttpClient/Exception/HttpExceptionTrait.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/HttpClient/Exception/HttpExceptionTrait.php	2022-07-29 12:30:51.000000000 +0000
@@ -61,7 +61,7 @@ trait HttpExceptionTrait
                 $separator = isset($body['hydra:title'], $body['hydra:description']) ? "\n\n" : '';
                 $message = ($body['hydra:title'] ?? '').$separator.($body['hydra:description'] ?? '');
             } elseif ((isset($body['title']) || isset($body['detail']))
-                && (is_scalar($body['title'] ?? '') && is_scalar($body['detail'] ?? ''))) {
+                && (\is_scalar($body['title'] ?? '') && \is_scalar($body['detail'] ?? ''))) {
                 // see RFC 7807 and https://jsonapi.org/format/#error-objects
                 $separator = isset($body['title'], $body['detail']) ? "\n\n" : '';
                 $message = ($body['title'] ?? '').$separator.($body['detail'] ?? '');
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/HttpClient/HttpClient.php 5.4.11+dfsg-1/src/Symfony/Component/HttpClient/HttpClient.php
--- 5.4.10+dfsg-1/src/Symfony/Component/HttpClient/HttpClient.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/HttpClient/HttpClient.php	2022-07-29 12:30:51.000000000 +0000
@@ -50,7 +50,7 @@ final class HttpClient
         }
 
         if (\extension_loaded('curl')) {
-            if ('\\' !== \DIRECTORY_SEPARATOR || isset($defaultOptions['cafile']) || isset($defaultOptions['capath']) || ini_get('curl.cainfo') || ini_get('openssl.cafile') || ini_get('openssl.capath')) {
+            if ('\\' !== \DIRECTORY_SEPARATOR || isset($defaultOptions['cafile']) || isset($defaultOptions['capath']) || \ini_get('curl.cainfo') || \ini_get('openssl.cafile') || \ini_get('openssl.capath')) {
                 return new CurlHttpClient($defaultOptions, $maxHostConnections, $maxPendingPushes);
             }
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/HttpClient/HttpClientTrait.php 5.4.11+dfsg-1/src/Symfony/Component/HttpClient/HttpClientTrait.php
--- 5.4.10+dfsg-1/src/Symfony/Component/HttpClient/HttpClientTrait.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/HttpClient/HttpClientTrait.php	2022-07-29 12:30:51.000000000 +0000
@@ -117,7 +117,7 @@ trait HttpClientTrait
         }
 
         // Validate on_progress
-        if (!\is_callable($onProgress = $options['on_progress'] ?? 'var_dump')) {
+        if (isset($options['on_progress']) && !\is_callable($onProgress = $options['on_progress'])) {
             throw new InvalidArgumentException(sprintf('Option "on_progress" must be callable, "%s" given.', get_debug_type($onProgress)));
         }
 
@@ -171,7 +171,7 @@ trait HttpClientTrait
 
         // Finalize normalization of options
         $options['http_version'] = (string) ($options['http_version'] ?? '') ?: null;
-        if (0 > $options['timeout'] = (float) ($options['timeout'] ?? ini_get('default_socket_timeout'))) {
+        if (0 > $options['timeout'] = (float) ($options['timeout'] ?? \ini_get('default_socket_timeout'))) {
             $options['timeout'] = 172800.0; // 2 days
         }
 
@@ -206,9 +206,11 @@ trait HttpClientTrait
 
         $options += $defaultOptions;
 
-        foreach (self::$emptyDefaults ?? [] as $k => $v) {
-            if (!isset($options[$k])) {
-                $options[$k] = $v;
+        if (isset(self::$emptyDefaults)) {
+            foreach (self::$emptyDefaults as $k => $v) {
+                if (!isset($options[$k])) {
+                    $options[$k] = $v;
+                }
             }
         }
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/HttpClient/Response/CurlResponse.php 5.4.11+dfsg-1/src/Symfony/Component/HttpClient/Response/CurlResponse.php
--- 5.4.10+dfsg-1/src/Symfony/Component/HttpClient/Response/CurlResponse.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/HttpClient/Response/CurlResponse.php	2022-07-29 12:30:51.000000000 +0000
@@ -316,7 +316,7 @@ final class CurlResponse implements Resp
                 $id = (int) $ch = $info['handle'];
                 $waitFor = @curl_getinfo($ch, \CURLINFO_PRIVATE) ?: '_0';
 
-                if (\in_array($result, [\CURLE_SEND_ERROR, \CURLE_RECV_ERROR, /*CURLE_HTTP2*/ 16, /*CURLE_HTTP2_STREAM*/ 92], true) && $waitFor[1] && 'C' !== $waitFor[0]) {
+                if (\in_array($result, [\CURLE_SEND_ERROR, \CURLE_RECV_ERROR, /* CURLE_HTTP2 */ 16, /* CURLE_HTTP2_STREAM */ 92], true) && $waitFor[1] && 'C' !== $waitFor[0]) {
                     curl_multi_remove_handle($multi->handle, $ch);
                     $waitFor[1] = (string) ((int) $waitFor[1] - 1); // decrement the retry counter
                     curl_setopt($ch, \CURLOPT_PRIVATE, $waitFor);
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/HttpFoundation/BinaryFileResponse.php 5.4.11+dfsg-1/src/Symfony/Component/HttpFoundation/BinaryFileResponse.php
--- 5.4.10+dfsg-1/src/Symfony/Component/HttpFoundation/BinaryFileResponse.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/HttpFoundation/BinaryFileResponse.php	2022-07-29 12:30:51.000000000 +0000
@@ -34,6 +34,7 @@ class BinaryFileResponse extends Respons
     protected $offset = 0;
     protected $maxlen = -1;
     protected $deleteFileAfterSend = false;
+    protected $chunkSize = 8 * 1024;
 
     /**
      * @param \SplFileInfo|string $file               The file to stream
@@ -126,6 +127,22 @@ class BinaryFileResponse extends Respons
     }
 
     /**
+     * Sets the response stream chunk size.
+     *
+     * @return $this
+     */
+    public function setChunkSize(int $chunkSize): self
+    {
+        if ($chunkSize < 1 || $chunkSize > \PHP_INT_MAX) {
+            throw new \LogicException('The chunk size of a BinaryFileResponse cannot be less than 1 or greater than PHP_INT_MAX.');
+        }
+
+        $this->chunkSize = $chunkSize;
+
+        return $this;
+    }
+
+    /**
      * Automatically sets the Last-Modified header according the file modification date.
      *
      * @return $this
@@ -306,7 +323,23 @@ class BinaryFileResponse extends Respons
         $out = fopen('php://output', 'w');
         $file = fopen($this->file->getPathname(), 'r');
 
-        stream_copy_to_stream($file, $out, $this->maxlen, $this->offset);
+        ignore_user_abort(true);
+
+        if (0 !== $this->offset) {
+            fseek($file, $this->offset);
+        }
+
+        $length = $this->maxlen;
+        while ($length && !feof($file)) {
+            $read = ($length > $this->chunkSize) ? $this->chunkSize : $length;
+            $length -= $read;
+
+            stream_copy_to_stream($file, $out, $read);
+
+            if (connection_aborted()) {
+                break;
+            }
+        }
 
         fclose($out);
         fclose($file);
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/HttpFoundation/File/UploadedFile.php 5.4.11+dfsg-1/src/Symfony/Component/HttpFoundation/File/UploadedFile.php
--- 5.4.10+dfsg-1/src/Symfony/Component/HttpFoundation/File/UploadedFile.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/HttpFoundation/File/UploadedFile.php	2022-07-29 12:30:51.000000000 +0000
@@ -223,8 +223,8 @@ class UploadedFile extends File
      */
     public static function getMaxFilesize()
     {
-        $sizePostMax = self::parseFilesize(ini_get('post_max_size'));
-        $sizeUploadMax = self::parseFilesize(ini_get('upload_max_filesize'));
+        $sizePostMax = self::parseFilesize(\ini_get('post_max_size'));
+        $sizeUploadMax = self::parseFilesize(\ini_get('upload_max_filesize'));
 
         return min($sizePostMax ?: \PHP_INT_MAX, $sizeUploadMax ?: \PHP_INT_MAX);
     }
@@ -253,8 +253,11 @@ class UploadedFile extends File
 
         switch (substr($size, -1)) {
             case 't': $max *= 1024;
+                // no break
             case 'g': $max *= 1024;
+                // no break
             case 'm': $max *= 1024;
+                // no break
             case 'k': $max *= 1024;
         }
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/HttpFoundation/InputBag.php 5.4.11+dfsg-1/src/Symfony/Component/HttpFoundation/InputBag.php
--- 5.4.10+dfsg-1/src/Symfony/Component/HttpFoundation/InputBag.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/HttpFoundation/InputBag.php	2022-07-29 12:30:51.000000000 +0000
@@ -29,14 +29,14 @@ final class InputBag extends ParameterBa
      */
     public function get(string $key, $default = null)
     {
-        if (null !== $default && !is_scalar($default) && !(\is_object($default) && method_exists($default, '__toString'))) {
+        if (null !== $default && !\is_scalar($default) && !(\is_object($default) && method_exists($default, '__toString'))) {
             trigger_deprecation('symfony/http-foundation', '5.1', 'Passing a non-scalar value as 2nd argument to "%s()" is deprecated, pass a scalar or null instead.', __METHOD__);
         }
 
         $value = parent::get($key, $this);
 
-        if (null !== $value && $this !== $value && !is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) {
-            trigger_deprecation('symfony/http-foundation', '5.1', 'Retrieving a non-string value from "%s()" is deprecated, and will throw a "%s" exception in Symfony 6.0, use "%s::all($key)" instead.', __METHOD__, BadRequestException::class, __CLASS__);
+        if (null !== $value && $this !== $value && !\is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) {
+            trigger_deprecation('symfony/http-foundation', '5.1', 'Retrieving a non-scalar value from "%s()" is deprecated, and will throw a "%s" exception in Symfony 6.0, use "%s::all($key)" instead.', __METHOD__, BadRequestException::class, __CLASS__);
         }
 
         return $this === $value ? $default : $value;
@@ -76,7 +76,7 @@ final class InputBag extends ParameterBa
      */
     public function set(string $key, $value)
     {
-        if (null !== $value && !is_scalar($value) && !\is_array($value) && !method_exists($value, '__toString')) {
+        if (null !== $value && !\is_scalar($value) && !\is_array($value) && !method_exists($value, '__toString')) {
             trigger_deprecation('symfony/http-foundation', '5.1', 'Passing "%s" as a 2nd Argument to "%s()" is deprecated, pass a scalar, array, or null instead.', get_debug_type($value), __METHOD__);
         }
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/HttpFoundation/ParameterBag.php 5.4.11+dfsg-1/src/Symfony/Component/HttpFoundation/ParameterBag.php
--- 5.4.10+dfsg-1/src/Symfony/Component/HttpFoundation/ParameterBag.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/HttpFoundation/ParameterBag.php	2022-07-29 12:30:51.000000000 +0000
@@ -39,7 +39,7 @@ class ParameterBag implements \IteratorA
      *
      * @return array
      */
-    public function all(/*string $key = null*/)
+    public function all(/* string $key = null */)
     {
         $key = \func_num_args() > 0 ? func_get_arg(0) : null;
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/HttpFoundation/Request.php 5.4.11+dfsg-1/src/Symfony/Component/HttpFoundation/Request.php
--- 5.4.10+dfsg-1/src/Symfony/Component/HttpFoundation/Request.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/HttpFoundation/Request.php	2022-07-29 12:30:51.000000000 +0000
@@ -562,7 +562,7 @@ class Request
 
         $request = ['g' => $_GET, 'p' => $_POST, 'c' => $_COOKIE];
 
-        $requestOrder = ini_get('request_order') ?: ini_get('variables_order');
+        $requestOrder = \ini_get('request_order') ?: \ini_get('variables_order');
         $requestOrder = preg_replace('#[^cgp]#', '', strtolower($requestOrder)) ?: 'gp';
 
         $_REQUEST = [[]];
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/HttpFoundation/Response.php 5.4.11+dfsg-1/src/Symfony/Component/HttpFoundation/Response.php
--- 5.4.10+dfsg-1/src/Symfony/Component/HttpFoundation/Response.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/HttpFoundation/Response.php	2022-07-29 12:30:51.000000000 +0000
@@ -72,7 +72,7 @@ class Response
     public const HTTP_PRECONDITION_REQUIRED = 428;                                       // RFC6585
     public const HTTP_TOO_MANY_REQUESTS = 429;                                           // RFC6585
     public const HTTP_REQUEST_HEADER_FIELDS_TOO_LARGE = 431;                             // RFC6585
-    public const HTTP_UNAVAILABLE_FOR_LEGAL_REASONS = 451;
+    public const HTTP_UNAVAILABLE_FOR_LEGAL_REASONS = 451;                               // RFC7725
     public const HTTP_INTERNAL_SERVER_ERROR = 500;
     public const HTTP_NOT_IMPLEMENTED = 501;
     public const HTTP_BAD_GATEWAY = 502;
@@ -1245,6 +1245,7 @@ class Response
         while ($level-- > $targetLevel && ($s = $status[$level]) && (!isset($s['del']) ? !isset($s['flags']) || ($s['flags'] & $flags) === $flags : $s['del'])) {
             if ($flush) {
                 ob_end_flush();
+                flush();
             } else {
                 ob_end_clean();
             }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/AbstractSessionHandler.php 5.4.11+dfsg-1/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/AbstractSessionHandler.php
--- 5.4.10+dfsg-1/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/AbstractSessionHandler.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/AbstractSessionHandler.php	2022-07-29 12:30:51.000000000 +0000
@@ -35,8 +35,8 @@ abstract class AbstractSessionHandler im
     public function open($savePath, $sessionName)
     {
         $this->sessionName = $sessionName;
-        if (!headers_sent() && !ini_get('session.cache_limiter') && '0' !== ini_get('session.cache_limiter')) {
-            header(sprintf('Cache-Control: max-age=%d, private, must-revalidate', 60 * (int) ini_get('session.cache_expire')));
+        if (!headers_sent() && !\ini_get('session.cache_limiter') && '0' !== \ini_get('session.cache_limiter')) {
+            header(sprintf('Cache-Control: max-age=%d, private, must-revalidate', 60 * (int) \ini_get('session.cache_expire')));
         }
 
         return true;
@@ -126,7 +126,7 @@ abstract class AbstractSessionHandler im
     #[\ReturnTypeWillChange]
     public function destroy($sessionId)
     {
-        if (!headers_sent() && filter_var(ini_get('session.use_cookies'), \FILTER_VALIDATE_BOOLEAN)) {
+        if (!headers_sent() && filter_var(\ini_get('session.use_cookies'), \FILTER_VALIDATE_BOOLEAN)) {
             if (!$this->sessionName) {
                 throw new \LogicException(sprintf('Session name cannot be empty, did you forget to call "parent::open()" in "%s"?.', static::class));
             }
@@ -141,7 +141,7 @@ abstract class AbstractSessionHandler im
              */
             if (null === $cookie || isset($_COOKIE[$this->sessionName])) {
                 if (\PHP_VERSION_ID < 70300) {
-                    setcookie($this->sessionName, '', 0, ini_get('session.cookie_path'), ini_get('session.cookie_domain'), filter_var(ini_get('session.cookie_secure'), \FILTER_VALIDATE_BOOLEAN), filter_var(ini_get('session.cookie_httponly'), \FILTER_VALIDATE_BOOLEAN));
+                    setcookie($this->sessionName, '', 0, \ini_get('session.cookie_path'), \ini_get('session.cookie_domain'), filter_var(\ini_get('session.cookie_secure'), \FILTER_VALIDATE_BOOLEAN), filter_var(\ini_get('session.cookie_httponly'), \FILTER_VALIDATE_BOOLEAN));
                 } else {
                     $params = session_get_cookie_params();
                     unset($params['lifetime']);
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/MemcachedSessionHandler.php 5.4.11+dfsg-1/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/MemcachedSessionHandler.php
--- 5.4.10+dfsg-1/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/MemcachedSessionHandler.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/MemcachedSessionHandler.php	2022-07-29 12:30:51.000000000 +0000
@@ -77,7 +77,7 @@ class MemcachedSessionHandler extends Ab
     #[\ReturnTypeWillChange]
     public function updateTimestamp($sessionId, $data)
     {
-        $this->memcached->touch($this->prefix.$sessionId, time() + (int) ($this->ttl ?? ini_get('session.gc_maxlifetime')));
+        $this->memcached->touch($this->prefix.$sessionId, time() + (int) ($this->ttl ?? \ini_get('session.gc_maxlifetime')));
 
         return true;
     }
@@ -87,7 +87,7 @@ class MemcachedSessionHandler extends Ab
      */
     protected function doWrite(string $sessionId, string $data)
     {
-        return $this->memcached->set($this->prefix.$sessionId, $data, time() + (int) ($this->ttl ?? ini_get('session.gc_maxlifetime')));
+        return $this->memcached->set($this->prefix.$sessionId, $data, time() + (int) ($this->ttl ?? \ini_get('session.gc_maxlifetime')));
     }
 
     /**
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/MongoDbSessionHandler.php 5.4.11+dfsg-1/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/MongoDbSessionHandler.php
--- 5.4.10+dfsg-1/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/MongoDbSessionHandler.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/MongoDbSessionHandler.php	2022-07-29 12:30:51.000000000 +0000
@@ -121,7 +121,7 @@ class MongoDbSessionHandler extends Abst
      */
     protected function doWrite(string $sessionId, string $data)
     {
-        $expiry = new UTCDateTime((time() + (int) ini_get('session.gc_maxlifetime')) * 1000);
+        $expiry = new UTCDateTime((time() + (int) \ini_get('session.gc_maxlifetime')) * 1000);
 
         $fields = [
             $this->options['time_field'] => new UTCDateTime(),
@@ -144,7 +144,7 @@ class MongoDbSessionHandler extends Abst
     #[\ReturnTypeWillChange]
     public function updateTimestamp($sessionId, $data)
     {
-        $expiry = new UTCDateTime((time() + (int) ini_get('session.gc_maxlifetime')) * 1000);
+        $expiry = new UTCDateTime((time() + (int) \ini_get('session.gc_maxlifetime')) * 1000);
 
         $this->getCollection()->updateOne(
             [$this->options['id_field'] => $sessionId],
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/NativeFileSessionHandler.php 5.4.11+dfsg-1/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/NativeFileSessionHandler.php
--- 5.4.10+dfsg-1/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/NativeFileSessionHandler.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/NativeFileSessionHandler.php	2022-07-29 12:30:51.000000000 +0000
@@ -31,7 +31,7 @@ class NativeFileSessionHandler extends \
     public function __construct(string $savePath = null)
     {
         if (null === $savePath) {
-            $savePath = ini_get('session.save_path');
+            $savePath = \ini_get('session.save_path');
         }
 
         $baseDir = $savePath;
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/PdoSessionHandler.php 5.4.11+dfsg-1/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/PdoSessionHandler.php
--- 5.4.10+dfsg-1/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/PdoSessionHandler.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/PdoSessionHandler.php	2022-07-29 12:30:51.000000000 +0000
@@ -344,7 +344,7 @@ class PdoSessionHandler extends Abstract
      */
     protected function doWrite(string $sessionId, string $data)
     {
-        $maxlifetime = (int) ini_get('session.gc_maxlifetime');
+        $maxlifetime = (int) \ini_get('session.gc_maxlifetime');
 
         try {
             // We use a single MERGE SQL query when supported by the database.
@@ -391,7 +391,7 @@ class PdoSessionHandler extends Abstract
     #[\ReturnTypeWillChange]
     public function updateTimestamp($sessionId, $data)
     {
-        $expiry = time() + (int) ini_get('session.gc_maxlifetime');
+        $expiry = time() + (int) \ini_get('session.gc_maxlifetime');
 
         try {
             $updateStmt = $this->pdo->prepare(
@@ -687,7 +687,7 @@ class PdoSessionHandler extends Abstract
                 throw new \RuntimeException('Failed to read session: INSERT reported a duplicate id but next SELECT did not return any data.');
             }
 
-            if (!filter_var(ini_get('session.use_strict_mode'), \FILTER_VALIDATE_BOOLEAN) && self::LOCK_TRANSACTIONAL === $this->lockMode && 'sqlite' !== $this->driver) {
+            if (!filter_var(\ini_get('session.use_strict_mode'), \FILTER_VALIDATE_BOOLEAN) && self::LOCK_TRANSACTIONAL === $this->lockMode && 'sqlite' !== $this->driver) {
                 // In strict mode, session fixation is not possible: new sessions always start with a unique
                 // random id, so that concurrency is not possible and this code path can be skipped.
                 // Exclusive-reading of non-existent rows does not block, so we need to do an insert to block
@@ -935,7 +935,7 @@ class PdoSessionHandler extends Abstract
     protected function getConnection()
     {
         if (null === $this->pdo) {
-            $this->connect($this->dsn ?: ini_get('session.save_path'));
+            $this->connect($this->dsn ?: \ini_get('session.save_path'));
         }
 
         return $this->pdo;
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/RedisSessionHandler.php 5.4.11+dfsg-1/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/RedisSessionHandler.php
--- 5.4.10+dfsg-1/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/RedisSessionHandler.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/RedisSessionHandler.php	2022-07-29 12:30:51.000000000 +0000
@@ -79,7 +79,7 @@ class RedisSessionHandler extends Abstra
      */
     protected function doWrite(string $sessionId, string $data): bool
     {
-        $result = $this->redis->setEx($this->prefix.$sessionId, (int) ($this->ttl ?? ini_get('session.gc_maxlifetime')), $data);
+        $result = $this->redis->setEx($this->prefix.$sessionId, (int) ($this->ttl ?? \ini_get('session.gc_maxlifetime')), $data);
 
         return $result && !$result instanceof ErrorInterface;
     }
@@ -132,6 +132,6 @@ class RedisSessionHandler extends Abstra
     #[\ReturnTypeWillChange]
     public function updateTimestamp($sessionId, $data)
     {
-        return (bool) $this->redis->expire($this->prefix.$sessionId, (int) ($this->ttl ?? ini_get('session.gc_maxlifetime')));
+        return (bool) $this->redis->expire($this->prefix.$sessionId, (int) ($this->ttl ?? \ini_get('session.gc_maxlifetime')));
     }
 }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/HttpFoundation/Session/Storage/MetadataBag.php 5.4.11+dfsg-1/src/Symfony/Component/HttpFoundation/Session/Storage/MetadataBag.php
--- 5.4.10+dfsg-1/src/Symfony/Component/HttpFoundation/Session/Storage/MetadataBag.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/HttpFoundation/Session/Storage/MetadataBag.php	2022-07-29 12:30:51.000000000 +0000
@@ -162,6 +162,6 @@ class MetadataBag implements SessionBagI
     {
         $timeStamp = time();
         $this->meta[self::CREATED] = $this->meta[self::UPDATED] = $this->lastUsed = $timeStamp;
-        $this->meta[self::LIFETIME] = $lifetime ?? (int) ini_get('session.cookie_lifetime');
+        $this->meta[self::LIFETIME] = $lifetime ?? (int) \ini_get('session.cookie_lifetime');
     }
 }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/HttpFoundation/Session/Storage/NativeSessionStorage.php 5.4.11+dfsg-1/src/Symfony/Component/HttpFoundation/Session/Storage/NativeSessionStorage.php
--- 5.4.10+dfsg-1/src/Symfony/Component/HttpFoundation/Session/Storage/NativeSessionStorage.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/HttpFoundation/Session/Storage/NativeSessionStorage.php	2022-07-29 12:30:51.000000000 +0000
@@ -141,12 +141,42 @@ class NativeSessionStorage implements Se
             throw new \RuntimeException('Failed to start the session: already started by PHP.');
         }
 
-        if (filter_var(ini_get('session.use_cookies'), \FILTER_VALIDATE_BOOLEAN) && headers_sent($file, $line)) {
+        if (filter_var(\ini_get('session.use_cookies'), \FILTER_VALIDATE_BOOLEAN) && headers_sent($file, $line)) {
             throw new \RuntimeException(sprintf('Failed to start the session because headers have already been sent by "%s" at line %d.', $file, $line));
         }
 
         $sessionId = $_COOKIE[session_name()] ?? null;
-        if ($sessionId && $this->saveHandler instanceof AbstractProxy && 'files' === $this->saveHandler->getSaveHandlerName() && !preg_match('/^[a-zA-Z0-9,-]{22,}$/', $sessionId)) {
+        /*
+         * Explanation of the session ID regular expression: `/^[a-zA-Z0-9,-]{22,250}$/`.
+         *
+         * ---------- Part 1
+         *
+         * The part `[a-zA-Z0-9,-]` is related to the PHP ini directive `session.sid_bits_per_character` defined as 6.
+         * See https://www.php.net/manual/en/session.configuration.php#ini.session.sid-bits-per-character.
+         * Allowed values are integers such as:
+         * - 4 for range `a-f0-9`
+         * - 5 for range `a-v0-9`
+         * - 6 for range `a-zA-Z0-9,-`
+         *
+         * ---------- Part 2
+         *
+         * The part `{22,250}` is related to the PHP ini directive `session.sid_length`.
+         * See https://www.php.net/manual/en/session.configuration.php#ini.session.sid-length.
+         * Allowed values are integers between 22 and 256, but we use 250 for the max.
+         *
+         * Where does the 250 come from?
+         * - The length of Windows and Linux filenames is limited to 255 bytes. Then the max must not exceed 255.
+         * - The session filename prefix is `sess_`, a 5 bytes string. Then the max must not exceed 255 - 5 = 250.
+         *
+         * ---------- Conclusion
+         *
+         * The parts 1 and 2 prevent the warning below:
+         * `PHP Warning: SessionHandler::read(): Session ID is too long or contains illegal characters. Only the A-Z, a-z, 0-9, "-", and "," characters are allowed.`
+         *
+         * The part 2 prevents the warning below:
+         * `PHP Warning: SessionHandler::read(): open(filepath, O_RDWR) failed: No such file or directory (2).`
+         */
+        if ($sessionId && $this->saveHandler instanceof AbstractProxy && 'files' === $this->saveHandler->getSaveHandlerName() && !preg_match('/^[a-zA-Z0-9,-]{22,250}$/', $sessionId)) {
             // the session ID in the header is invalid, create a new one
             session_id(session_create_id());
         }
@@ -214,7 +244,7 @@ class NativeSessionStorage implements Se
             return false;
         }
 
-        if (null !== $lifetime && $lifetime != ini_get('session.cookie_lifetime')) {
+        if (null !== $lifetime && $lifetime != \ini_get('session.cookie_lifetime')) {
             $this->save();
             ini_set('session.cookie_lifetime', $lifetime);
             $this->start();
@@ -249,7 +279,7 @@ class NativeSessionStorage implements Se
                 unset($_SESSION[$key]);
             }
         }
-        if ([$key = $this->metadataBag->getStorageKey()] === array_keys($_SESSION)) {
+        if ($_SESSION && [$key = $this->metadataBag->getStorageKey()] === array_keys($_SESSION)) {
             unset($_SESSION[$key]);
         }
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/HttpFoundation/Session/Storage/Proxy/SessionHandlerProxy.php 5.4.11+dfsg-1/src/Symfony/Component/HttpFoundation/Session/Storage/Proxy/SessionHandlerProxy.php
--- 5.4.10+dfsg-1/src/Symfony/Component/HttpFoundation/Session/Storage/Proxy/SessionHandlerProxy.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/HttpFoundation/Session/Storage/Proxy/SessionHandlerProxy.php	2022-07-29 12:30:51.000000000 +0000
@@ -22,7 +22,7 @@ class SessionHandlerProxy extends Abstra
     {
         $this->handler = $handler;
         $this->wrapper = $handler instanceof \SessionHandler;
-        $this->saveHandlerName = $this->wrapper ? ini_get('session.save_handler') : 'user';
+        $this->saveHandlerName = $this->wrapper ? \ini_get('session.save_handler') : 'user';
     }
 
     /**
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/HttpFoundation/Tests/File/UploadedFileTest.php 5.4.11+dfsg-1/src/Symfony/Component/HttpFoundation/Tests/File/UploadedFileTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/HttpFoundation/Tests/File/UploadedFileTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/HttpFoundation/Tests/File/UploadedFileTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -27,7 +27,7 @@ class UploadedFileTest extends TestCase
 {
     protected function setUp(): void
     {
-        if (!ini_get('file_uploads')) {
+        if (!\ini_get('file_uploads')) {
             $this->markTestSkipped('file_uploads is disabled in php.ini');
         }
     }
@@ -333,7 +333,7 @@ class UploadedFileTest extends TestCase
 
         $this->assertGreaterThan(0, $size);
 
-        if (0 === (int) ini_get('post_max_size') && 0 === (int) ini_get('upload_max_filesize')) {
+        if (0 === (int) \ini_get('post_max_size') && 0 === (int) \ini_get('upload_max_filesize')) {
             $this->assertSame(\PHP_INT_MAX, $size);
         }
     }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/HttpFoundation/Tests/InputBagTest.php 5.4.11+dfsg-1/src/Symfony/Component/HttpFoundation/Tests/InputBagTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/HttpFoundation/Tests/InputBagTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/HttpFoundation/Tests/InputBagTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -72,10 +72,10 @@ class InputBagTest extends TestCase
     /**
      * @group legacy
      */
-    public function testGettingANonStringValueIsDeprecated()
+    public function testGettingANonScalarValueIsDeprecated()
     {
         $bag = new InputBag(['foo' => ['a', 'b']]);
-        $this->expectDeprecation('Since symfony/http-foundation 5.1: Retrieving a non-string value from "Symfony\Component\HttpFoundation\InputBag::get()" is deprecated, and will throw a "Symfony\Component\HttpFoundation\Exception\BadRequestException" exception in Symfony 6.0, use "Symfony\Component\HttpFoundation\InputBag::all($key)" instead.');
+        $this->expectDeprecation('Since symfony/http-foundation 5.1: Retrieving a non-scalar value from "Symfony\Component\HttpFoundation\InputBag::get()" is deprecated, and will throw a "Symfony\Component\HttpFoundation\Exception\BadRequestException" exception in Symfony 6.0, use "Symfony\Component\HttpFoundation\InputBag::all($key)" instead.');
         $bag->get('foo');
     }
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/HttpFoundation/Tests/RequestTest.php 5.4.11+dfsg-1/src/Symfony/Component/HttpFoundation/Tests/RequestTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/HttpFoundation/Tests/RequestTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/HttpFoundation/Tests/RequestTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -2360,7 +2360,7 @@ class RequestTest extends TestCase
     {
         Request::setTrustedProxies(['1.1.1.1'], Request::HEADER_X_FORWARDED_TRAEFIK);
 
-        //test with index deployed under root
+        // test with index deployed under root
         $request = Request::create('/method');
         $request->server->set('REMOTE_ADDR', '1.1.1.1');
         $request->headers->set('X-Forwarded-Prefix', '/myprefix');
@@ -2381,7 +2381,7 @@ class RequestTest extends TestCase
             'PHP_SELF' => '/public/index.php',
         ];
 
-        //test with index file deployed in subdir, i.e. local dev server (insecure!!)
+        // test with index file deployed in subdir, i.e. local dev server (insecure!!)
         $request = Request::create('/public/method', 'GET', [], [], [], $server);
         $request->server->set('REMOTE_ADDR', '1.1.1.1');
         $request->headers->set('X-Forwarded-Prefix', '/prefix');
@@ -2394,7 +2394,7 @@ class RequestTest extends TestCase
 
     public function testTrustedPrefixEmpty()
     {
-        //check that there is no error, if no prefix is provided
+        // check that there is no error, if no prefix is provided
         Request::setTrustedProxies(['1.1.1.1'], Request::HEADER_X_FORWARDED_TRAEFIK);
         $request = Request::create('/method');
         $request->server->set('REMOTE_ADDR', '1.1.1.1');
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/AbstractRedisSessionHandlerTestCase.php 5.4.11+dfsg-1/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/AbstractRedisSessionHandlerTestCase.php
--- 5.4.10+dfsg-1/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/AbstractRedisSessionHandlerTestCase.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/AbstractRedisSessionHandlerTestCase.php	2022-07-29 12:30:51.000000000 +0000
@@ -99,7 +99,7 @@ abstract class AbstractRedisSessionHandl
         $this->storage->write('id', 'data');
         $ttl = $this->redisClient->ttl(self::PREFIX.'id');
 
-        $this->assertLessThanOrEqual(ini_get('session.gc_maxlifetime'), $ttl);
+        $this->assertLessThanOrEqual(\ini_get('session.gc_maxlifetime'), $ttl);
         $this->assertGreaterThanOrEqual(0, $ttl);
     }
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MongoDbSessionHandlerTest.php 5.4.11+dfsg-1/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MongoDbSessionHandlerTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MongoDbSessionHandlerTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MongoDbSessionHandlerTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -121,7 +121,7 @@ class MongoDbSessionHandlerTest extends
                 $this->assertEquals(['upsert' => true], $options);
 
                 $data = $updateData['$set'];
-                $expectedExpiry = time() + (int) ini_get('session.gc_maxlifetime');
+                $expectedExpiry = time() + (int) \ini_get('session.gc_maxlifetime');
                 $this->assertInstanceOf(\MongoDB\BSON\Binary::class, $data[$this->options['data_field']]);
                 $this->assertEquals('bar', $data[$this->options['data_field']]->getData());
                 $this->assertInstanceOf(\MongoDB\BSON\UTCDateTime::class, $data[$this->options['time_field']]);
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/NativeFileSessionHandlerTest.php 5.4.11+dfsg-1/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/NativeFileSessionHandlerTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/NativeFileSessionHandlerTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/NativeFileSessionHandlerTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -29,10 +29,10 @@ class NativeFileSessionHandlerTest exten
     {
         new NativeSessionStorage(['name' => 'TESTING'], new NativeFileSessionHandler(sys_get_temp_dir()));
 
-        $this->assertEquals('user', ini_get('session.save_handler'));
+        $this->assertEquals('user', \ini_get('session.save_handler'));
 
-        $this->assertEquals(sys_get_temp_dir(), ini_get('session.save_path'));
-        $this->assertEquals('TESTING', ini_get('session.name'));
+        $this->assertEquals(sys_get_temp_dir(), \ini_get('session.save_path'));
+        $this->assertEquals('TESTING', \ini_get('session.name'));
     }
 
     /**
@@ -41,7 +41,7 @@ class NativeFileSessionHandlerTest exten
     public function testConstructSavePath($savePath, $expectedSavePath, $path)
     {
         new NativeFileSessionHandler($savePath);
-        $this->assertEquals($expectedSavePath, ini_get('session.save_path'));
+        $this->assertEquals($expectedSavePath, \ini_get('session.save_path'));
         $this->assertDirectoryExists(realpath($path));
 
         rmdir($path);
@@ -66,9 +66,9 @@ class NativeFileSessionHandlerTest exten
 
     public function testConstructDefault()
     {
-        $path = ini_get('session.save_path');
+        $path = \ini_get('session.save_path');
         new NativeSessionStorage(['name' => 'TESTING'], new NativeFileSessionHandler());
 
-        $this->assertEquals($path, ini_get('session.save_path'));
+        $this->assertEquals($path, \ini_get('session.save_path'));
     }
 }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/NullSessionHandlerTest.php 5.4.11+dfsg-1/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/NullSessionHandlerTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/NullSessionHandlerTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/NullSessionHandlerTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -29,7 +29,7 @@ class NullSessionHandlerTest extends Tes
     public function testSaveHandlers()
     {
         $this->getStorage();
-        $this->assertEquals('user', ini_get('session.save_handler'));
+        $this->assertEquals('user', \ini_get('session.save_handler'));
     }
 
     public function testSession()
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/PdoSessionHandlerTest.php 5.4.11+dfsg-1/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/PdoSessionHandlerTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/PdoSessionHandlerTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/PdoSessionHandlerTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -147,7 +147,7 @@ class PdoSessionHandlerTest extends Test
 
     public function testReadLockedConvertsStreamToString()
     {
-        if (filter_var(ini_get('session.use_strict_mode'), \FILTER_VALIDATE_BOOLEAN)) {
+        if (filter_var(\ini_get('session.use_strict_mode'), \FILTER_VALIDATE_BOOLEAN)) {
             $this->markTestSkipped('Strict mode needs no locking for new sessions.');
         }
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/SessionHandlerFactoryTest.php 5.4.11+dfsg-1/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/SessionHandlerFactoryTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/SessionHandlerFactoryTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/SessionHandlerFactoryTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -34,7 +34,7 @@ class SessionHandlerFactoryTest extends
         $handler = SessionHandlerFactory::createHandler($connectionDSN);
 
         $this->assertInstanceOf($expectedHandlerType, $handler);
-        $this->assertEquals($expectedPath, ini_get('session.save_path'));
+        $this->assertEquals($expectedPath, \ini_get('session.save_path'));
     }
 
     public function provideConnectionDSN(): array
@@ -42,7 +42,7 @@ class SessionHandlerFactoryTest extends
         $base = sys_get_temp_dir();
 
         return [
-            'native file handler using save_path from php.ini' => ['connectionDSN' => 'file://', 'expectedPath' => ini_get('session.save_path'), 'expectedHandlerType' => StrictSessionHandler::class],
+            'native file handler using save_path from php.ini' => ['connectionDSN' => 'file://', 'expectedPath' => \ini_get('session.save_path'), 'expectedHandlerType' => StrictSessionHandler::class],
             'native file handler using provided save_path' => ['connectionDSN' => 'file://'.$base.'/session/storage', 'expectedPath' => $base.'/session/storage', 'expectedHandlerType' => StrictSessionHandler::class],
         ];
     }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/NativeSessionStorageTest.php 5.4.11+dfsg-1/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/NativeSessionStorageTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/NativeSessionStorageTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/NativeSessionStorageTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -130,7 +130,7 @@ class NativeSessionStorageTest extends T
         $storage->regenerate(false, $lifetime);
         $this->assertNotEquals($id, $storage->getId());
         $this->assertEquals(11, $storage->getBag('attributes')->get('legs'));
-        $this->assertEquals($lifetime, ini_get('session.cookie_lifetime'));
+        $this->assertEquals($lifetime, \ini_get('session.cookie_lifetime'));
     }
 
     public function testSessionGlobalIsUpToDateAfterIdRegeneration()
@@ -156,7 +156,7 @@ class NativeSessionStorageTest extends T
         $this->iniSet('session.cache_limiter', 'nocache');
 
         new NativeSessionStorage();
-        $this->assertEquals('', ini_get('session.cache_limiter'));
+        $this->assertEquals('', \ini_get('session.cache_limiter'));
     }
 
     public function testExplicitSessionCacheLimiter()
@@ -164,7 +164,7 @@ class NativeSessionStorageTest extends T
         $this->iniSet('session.cache_limiter', 'nocache');
 
         new NativeSessionStorage(['cache_limiter' => 'public']);
-        $this->assertEquals('public', ini_get('session.cache_limiter'));
+        $this->assertEquals('public', \ini_get('session.cache_limiter'));
     }
 
     public function testCookieOptions()
@@ -201,8 +201,8 @@ class NativeSessionStorageTest extends T
 
         $this->getStorage($options);
 
-        $this->assertSame('a=href', ini_get('session.trans_sid_tags'));
-        $this->assertSame('200', ini_get('session.cache_expire'));
+        $this->assertSame('a=href', \ini_get('session.trans_sid_tags'));
+        $this->assertSame('200', \ini_get('session.cache_expire'));
     }
 
     public function testSetSaveHandler()
@@ -295,7 +295,7 @@ class NativeSessionStorageTest extends T
         $started = $storage->start();
 
         $this->assertTrue($started);
-        $this->assertMatchesRegularExpression('/^[a-zA-Z0-9,-]{22,}$/', session_id());
+        $this->assertMatchesRegularExpression('/^[a-zA-Z0-9,-]{22,250}$/', session_id());
         $storage->save();
 
         $_COOKIE[session_name()] = '&~[';
@@ -304,7 +304,7 @@ class NativeSessionStorageTest extends T
         $started = $storage->start();
 
         $this->assertTrue($started);
-        $this->assertMatchesRegularExpression('/^[a-zA-Z0-9,-]{22,}$/', session_id());
+        $this->assertMatchesRegularExpression('/^[a-zA-Z0-9,-]{22,250}$/', session_id());
         $storage->save();
 
         $_COOKIE[session_name()] = '&~[';
@@ -314,4 +314,13 @@ class NativeSessionStorageTest extends T
         $this->assertTrue($started);
         $this->assertSame('&~[', session_id());
     }
+
+    public function testSaveHandlesNullSessionGracefully()
+    {
+        $storage = $this->getStorage();
+        $_SESSION = null;
+        $storage->save();
+
+        $this->addToAssertionCount(1);
+    }
 }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/HttpKernel/DataCollector/ConfigDataCollector.php 5.4.11+dfsg-1/src/Symfony/Component/HttpKernel/DataCollector/ConfigDataCollector.php
--- 5.4.10+dfsg-1/src/Symfony/Component/HttpKernel/DataCollector/ConfigDataCollector.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/HttpKernel/DataCollector/ConfigDataCollector.php	2022-07-29 12:30:51.000000000 +0000
@@ -60,8 +60,8 @@ class ConfigDataCollector extends DataCo
             'php_intl_locale' => class_exists(\Locale::class, false) && \Locale::getDefault() ? \Locale::getDefault() : 'n/a',
             'php_timezone' => date_default_timezone_get(),
             'xdebug_enabled' => \extension_loaded('xdebug'),
-            'apcu_enabled' => \extension_loaded('apcu') && filter_var(ini_get('apc.enabled'), \FILTER_VALIDATE_BOOLEAN),
-            'zend_opcache_enabled' => \extension_loaded('Zend OPcache') && filter_var(ini_get('opcache.enable'), \FILTER_VALIDATE_BOOLEAN),
+            'apcu_enabled' => \extension_loaded('apcu') && filter_var(\ini_get('apc.enabled'), \FILTER_VALIDATE_BOOLEAN),
+            'zend_opcache_enabled' => \extension_loaded('Zend OPcache') && filter_var(\ini_get('opcache.enable'), \FILTER_VALIDATE_BOOLEAN),
             'bundles' => [],
             'sapi_name' => \PHP_SAPI,
         ];
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/HttpKernel/DataCollector/DumpDataCollector.php 5.4.11+dfsg-1/src/Symfony/Component/HttpKernel/DataCollector/DumpDataCollector.php
--- 5.4.10+dfsg-1/src/Symfony/Component/HttpKernel/DataCollector/DumpDataCollector.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/HttpKernel/DataCollector/DumpDataCollector.php	2022-07-29 12:30:51.000000000 +0000
@@ -49,9 +49,10 @@ class DumpDataCollector extends DataColl
      */
     public function __construct(Stopwatch $stopwatch = null, $fileLinkFormat = null, string $charset = null, RequestStack $requestStack = null, $dumper = null)
     {
+        $fileLinkFormat = $fileLinkFormat ?: \ini_get('xdebug.file_link_format') ?: get_cfg_var('xdebug.file_link_format');
         $this->stopwatch = $stopwatch;
-        $this->fileLinkFormat = $fileLinkFormat ?: ini_get('xdebug.file_link_format') ?: get_cfg_var('xdebug.file_link_format');
-        $this->charset = $charset ?: ini_get('php.output_encoding') ?: ini_get('default_charset') ?: 'UTF-8';
+        $this->fileLinkFormat = $fileLinkFormat instanceof FileLinkFormatter && false === $fileLinkFormat->format('', 0) ? false : $fileLinkFormat;
+        $this->charset = $charset ?: \ini_get('php.output_encoding') ?: \ini_get('default_charset') ?: 'UTF-8';
         $this->requestStack = $requestStack;
         $this->dumper = $dumper;
 
@@ -232,7 +233,7 @@ class DumpDataCollector extends DataColl
 
             $h = headers_list();
             $i = \count($h);
-            array_unshift($h, 'Content-Type: '.ini_get('default_mimetype'));
+            array_unshift($h, 'Content-Type: '.\ini_get('default_mimetype'));
             while (0 !== stripos($h[$i], 'Content-Type:')) {
                 --$i;
             }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/HttpKernel/DataCollector/MemoryDataCollector.php 5.4.11+dfsg-1/src/Symfony/Component/HttpKernel/DataCollector/MemoryDataCollector.php
--- 5.4.10+dfsg-1/src/Symfony/Component/HttpKernel/DataCollector/MemoryDataCollector.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/HttpKernel/DataCollector/MemoryDataCollector.php	2022-07-29 12:30:51.000000000 +0000
@@ -41,7 +41,7 @@ class MemoryDataCollector extends DataCo
     {
         $this->data = [
             'memory' => 0,
-            'memory_limit' => $this->convertToBytes(ini_get('memory_limit')),
+            'memory_limit' => $this->convertToBytes(\ini_get('memory_limit')),
         ];
     }
 
@@ -100,8 +100,11 @@ class MemoryDataCollector extends DataCo
 
         switch (substr($memoryLimit, -1)) {
             case 't': $max *= 1024;
+            // no break
             case 'g': $max *= 1024;
+            // no break
             case 'm': $max *= 1024;
+            // no break
             case 'k': $max *= 1024;
         }
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/HttpKernel/Debug/FileLinkFormatter.php 5.4.11+dfsg-1/src/Symfony/Component/HttpKernel/Debug/FileLinkFormatter.php
--- 5.4.10+dfsg-1/src/Symfony/Component/HttpKernel/Debug/FileLinkFormatter.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/HttpKernel/Debug/FileLinkFormatter.php	2022-07-29 12:30:51.000000000 +0000
@@ -40,12 +40,12 @@ class FileLinkFormatter
     private $urlFormat;
 
     /**
-     * @param string|\Closure $urlFormat the URL format, or a closure that returns it on-demand
+     * @param string|array|null $fileLinkFormat
+     * @param string|\Closure   $urlFormat the URL format, or a closure that returns it on-demand
      */
-    public function __construct(string $fileLinkFormat = null, RequestStack $requestStack = null, string $baseDir = null, $urlFormat = null)
+    public function __construct($fileLinkFormat = null, RequestStack $requestStack = null, string $baseDir = null, $urlFormat = null)
     {
-        $fileLinkFormat = (self::FORMATS[$fileLinkFormat] ?? $fileLinkFormat) ?: ini_get('xdebug.file_link_format') ?: get_cfg_var('xdebug.file_link_format');
-        if ($fileLinkFormat && !\is_array($fileLinkFormat)) {
+        if (!\is_array($fileLinkFormat) && $fileLinkFormat = (self::FORMATS[$fileLinkFormat] ?? $fileLinkFormat) ?: \ini_get('xdebug.file_link_format') ?: get_cfg_var('xdebug.file_link_format')) {
             $i = strpos($f = $fileLinkFormat, '&', max(strrpos($f, '%f'), strrpos($f, '%l'))) ?: \strlen($f);
             $fileLinkFormat = [substr($f, 0, $i)] + preg_split('/&([^>]++)>/', substr($f, $i), -1, \PREG_SPLIT_DELIM_CAPTURE);
         }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/HttpKernel/EventListener/DebugHandlersListener.php 5.4.11+dfsg-1/src/Symfony/Component/HttpKernel/EventListener/DebugHandlersListener.php
--- 5.4.10+dfsg-1/src/Symfony/Component/HttpKernel/EventListener/DebugHandlersListener.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/HttpKernel/EventListener/DebugHandlersListener.php	2022-07-29 12:30:51.000000000 +0000
@@ -57,7 +57,7 @@ class DebugHandlersListener implements E
             $deprecationLogger = $fileLinkFormat;
         }
 
-        $handler = set_exception_handler('var_dump');
+        $handler = set_exception_handler('is_int');
         $this->earlyHandler = \is_array($handler) ? $handler[0] : null;
         restore_exception_handler();
 
@@ -83,7 +83,7 @@ class DebugHandlersListener implements E
         }
         $this->firstCall = $this->hasTerminatedWithException = false;
 
-        $handler = set_exception_handler('var_dump');
+        $handler = set_exception_handler('is_int');
         $handler = \is_array($handler) ? $handler[0] : null;
         restore_exception_handler();
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/HttpKernel/Fragment/AbstractSurrogateFragmentRenderer.php 5.4.11+dfsg-1/src/Symfony/Component/HttpKernel/Fragment/AbstractSurrogateFragmentRenderer.php
--- 5.4.10+dfsg-1/src/Symfony/Component/HttpKernel/Fragment/AbstractSurrogateFragmentRenderer.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/HttpKernel/Fragment/AbstractSurrogateFragmentRenderer.php	2022-07-29 12:30:51.000000000 +0000
@@ -89,9 +89,11 @@ abstract class AbstractSurrogateFragment
     private function containsNonScalars(array $values): bool
     {
         foreach ($values as $value) {
-            if (\is_array($value)) {
-                return $this->containsNonScalars($value);
-            } elseif (!is_scalar($value) && null !== $value) {
+            if (\is_scalar($value) || null === $value) {
+                continue;
+            }
+
+            if (!\is_array($value) || $this->containsNonScalars($value)) {
                 return true;
             }
         }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/HttpKernel/Fragment/FragmentUriGenerator.php 5.4.11+dfsg-1/src/Symfony/Component/HttpKernel/Fragment/FragmentUriGenerator.php
--- 5.4.10+dfsg-1/src/Symfony/Component/HttpKernel/Fragment/FragmentUriGenerator.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/HttpKernel/Fragment/FragmentUriGenerator.php	2022-07-29 12:30:51.000000000 +0000
@@ -85,7 +85,7 @@ final class FragmentUriGenerator impleme
         foreach ($values as $key => $value) {
             if (\is_array($value)) {
                 $this->checkNonScalar($value);
-            } elseif (!is_scalar($value) && null !== $value) {
+            } elseif (!\is_scalar($value) && null !== $value) {
                 throw new \LogicException(sprintf('Controller attributes cannot contain non-scalar/non-null values (value for key "%s" is not a scalar or null).', $key));
             }
         }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/HttpKernel/HttpCache/AbstractSurrogate.php 5.4.11+dfsg-1/src/Symfony/Component/HttpKernel/HttpCache/AbstractSurrogate.php
--- 5.4.10+dfsg-1/src/Symfony/Component/HttpKernel/HttpCache/AbstractSurrogate.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/HttpKernel/HttpCache/AbstractSurrogate.php	2022-07-29 12:30:51.000000000 +0000
@@ -95,7 +95,7 @@ abstract class AbstractSurrogate impleme
         try {
             $response = $cache->handle($subRequest, HttpKernelInterface::SUB_REQUEST, true);
 
-            if (!$response->isSuccessful()) {
+            if (!$response->isSuccessful() && Response::HTTP_NOT_MODIFIED !== $response->getStatusCode()) {
                 throw new \RuntimeException(sprintf('Error when rendering "%s" (Status code is %d).', $subRequest->getUri(), $response->getStatusCode()));
             }
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/HttpKernel/Kernel.php 5.4.11+dfsg-1/src/Symfony/Component/HttpKernel/Kernel.php
--- 5.4.10+dfsg-1/src/Symfony/Component/HttpKernel/Kernel.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/HttpKernel/Kernel.php	2022-07-29 12:30:51.000000000 +0000
@@ -78,11 +78,11 @@ abstract class Kernel implements KernelI
      */
     private static $freshCache = [];
 
-    public const VERSION = '5.4.10';
-    public const VERSION_ID = 50410;
+    public const VERSION = '5.4.11';
+    public const VERSION_ID = 50411;
     public const MAJOR_VERSION = 5;
     public const MINOR_VERSION = 4;
-    public const RELEASE_VERSION = 10;
+    public const RELEASE_VERSION = 11;
     public const EXTRA_VERSION = '';
 
     public const END_OF_MAINTENANCE = '11/2024';
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/HttpKernel/Log/Logger.php 5.4.11+dfsg-1/src/Symfony/Component/HttpKernel/Log/Logger.php
--- 5.4.10+dfsg-1/src/Symfony/Component/HttpKernel/Log/Logger.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/HttpKernel/Log/Logger.php	2022-07-29 12:30:51.000000000 +0000
@@ -96,7 +96,7 @@ class Logger extends AbstractLogger
         if (str_contains($message, '{')) {
             $replacements = [];
             foreach ($context as $key => $val) {
-                if (null === $val || is_scalar($val) || (\is_object($val) && method_exists($val, '__toString'))) {
+                if (null === $val || \is_scalar($val) || (\is_object($val) && method_exists($val, '__toString'))) {
                     $replacements["{{$key}}"] = $val;
                 } elseif ($val instanceof \DateTimeInterface) {
                     $replacements["{{$key}}"] = $val->format(\DateTime::RFC3339);
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/HttpKernel/Tests/DataCollector/ConfigDataCollectorTest.php 5.4.11+dfsg-1/src/Symfony/Component/HttpKernel/Tests/DataCollector/ConfigDataCollectorTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/HttpKernel/Tests/DataCollector/ConfigDataCollectorTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/HttpKernel/Tests/DataCollector/ConfigDataCollectorTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -39,8 +39,8 @@ class ConfigDataCollectorTest extends Te
         $this->assertSame(4 === Kernel::MINOR_VERSION, $c->isSymfonyLts());
         $this->assertNull($c->getToken());
         $this->assertSame(\extension_loaded('xdebug'), $c->hasXDebug());
-        $this->assertSame(\extension_loaded('Zend OPcache') && filter_var(ini_get('opcache.enable'), \FILTER_VALIDATE_BOOLEAN), $c->hasZendOpcache());
-        $this->assertSame(\extension_loaded('apcu') && filter_var(ini_get('apc.enabled'), \FILTER_VALIDATE_BOOLEAN), $c->hasApcu());
+        $this->assertSame(\extension_loaded('Zend OPcache') && filter_var(\ini_get('opcache.enable'), \FILTER_VALIDATE_BOOLEAN), $c->hasZendOpcache());
+        $this->assertSame(\extension_loaded('apcu') && filter_var(\ini_get('apc.enabled'), \FILTER_VALIDATE_BOOLEAN), $c->hasApcu());
         $this->assertSame(sprintf('%s.%s', Kernel::MAJOR_VERSION, Kernel::MINOR_VERSION), $c->getSymfonyMinorVersion());
         $this->assertContains($c->getSymfonyState(), ['eol', 'eom', 'dev', 'stable']);
 
@@ -67,8 +67,8 @@ class ConfigDataCollectorTest extends Te
         $this->assertSame(4 === Kernel::MINOR_VERSION, $c->isSymfonyLts());
         $this->assertNull($c->getToken());
         $this->assertSame(\extension_loaded('xdebug'), $c->hasXDebug());
-        $this->assertSame(\extension_loaded('Zend OPcache') && filter_var(ini_get('opcache.enable'), \FILTER_VALIDATE_BOOLEAN), $c->hasZendOpcache());
-        $this->assertSame(\extension_loaded('apcu') && filter_var(ini_get('apc.enabled'), \FILTER_VALIDATE_BOOLEAN), $c->hasApcu());
+        $this->assertSame(\extension_loaded('Zend OPcache') && filter_var(\ini_get('opcache.enable'), \FILTER_VALIDATE_BOOLEAN), $c->hasZendOpcache());
+        $this->assertSame(\extension_loaded('apcu') && filter_var(\ini_get('apc.enabled'), \FILTER_VALIDATE_BOOLEAN), $c->hasApcu());
         $this->assertSame(sprintf('%s.%s', Kernel::MAJOR_VERSION, Kernel::MINOR_VERSION), $c->getSymfonyMinorVersion());
         $this->assertContains($c->getSymfonyState(), ['eol', 'eom', 'dev', 'stable']);
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/HttpKernel/Tests/DataCollector/DumpDataCollectorTest.php 5.4.11+dfsg-1/src/Symfony/Component/HttpKernel/Tests/DataCollector/DumpDataCollectorTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/HttpKernel/Tests/DataCollector/DumpDataCollectorTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/HttpKernel/Tests/DataCollector/DumpDataCollectorTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -15,6 +15,7 @@ use PHPUnit\Framework\TestCase;
 use Symfony\Component\HttpFoundation\Request;
 use Symfony\Component\HttpFoundation\Response;
 use Symfony\Component\HttpKernel\DataCollector\DumpDataCollector;
+use Symfony\Component\HttpKernel\Debug\FileLinkFormatter;
 use Symfony\Component\VarDumper\Cloner\Data;
 use Symfony\Component\VarDumper\Dumper\CliDumper;
 use Symfony\Component\VarDumper\Server\Connection;
@@ -28,7 +29,7 @@ class DumpDataCollectorTest extends Test
     {
         $data = new Data([[123]]);
 
-        $collector = new DumpDataCollector();
+        $collector = new DumpDataCollector(null, new FileLinkFormatter([]));
 
         $this->assertSame('dump', $collector->getName());
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/HttpKernel/Tests/Debug/FileLinkFormatterTest.php 5.4.11+dfsg-1/src/Symfony/Component/HttpKernel/Tests/Debug/FileLinkFormatterTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/HttpKernel/Tests/Debug/FileLinkFormatterTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/HttpKernel/Tests/Debug/FileLinkFormatterTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -20,7 +20,7 @@ class FileLinkFormatterTest extends Test
 {
     public function testWhenNoFileLinkFormatAndNoRequest()
     {
-        $sut = new FileLinkFormatter();
+        $sut = new FileLinkFormatter([]);
 
         $this->assertFalse($sut->format('/kernel/root/src/my/very/best/file.php', 3));
     }
@@ -47,7 +47,7 @@ class FileLinkFormatterTest extends Test
         $request->server->set('SCRIPT_FILENAME', '/public/index.php');
         $request->server->set('REQUEST_URI', '/index.php/example');
 
-        $sut = new FileLinkFormatter(null, $requestStack, __DIR__, '/_profiler/open?file=%f&line=%l#line%l');
+        $sut = new FileLinkFormatter([], $requestStack, __DIR__, '/_profiler/open?file=%f&line=%l#line%l');
 
         $this->assertSame('http://www.example.org/_profiler/open?file=file.php&line=3#line3', $sut->format($file, 3));
     }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/HttpKernel/Tests/EventListener/SessionListenerTest.php 5.4.11+dfsg-1/src/Symfony/Component/HttpKernel/Tests/EventListener/SessionListenerTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/HttpKernel/Tests/EventListener/SessionListenerTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/HttpKernel/Tests/EventListener/SessionListenerTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -415,7 +415,7 @@ class SessionListenerTest extends TestCa
         $this->assertTrue($response->headers->hasCacheControlDirective('private'));
         $this->assertTrue($response->headers->hasCacheControlDirective('must-revalidate'));
         $this->assertSame('0', $response->headers->getCacheControlDirective('max-age'));
-        $this->assertLessThanOrEqual((new \DateTime('now', new \DateTimeZone('UTC'))), (new \DateTime($response->headers->get('Expires'))));
+        $this->assertLessThanOrEqual(new \DateTime('now', new \DateTimeZone('UTC')), new \DateTime($response->headers->get('Expires')));
         $this->assertFalse($response->headers->has(AbstractSessionListener::NO_AUTO_CACHE_CONTROL_HEADER));
     }
 
@@ -568,7 +568,7 @@ class SessionListenerTest extends TestCa
         $this->assertSame('0', $response->headers->getCacheControlDirective('max-age'));
 
         $this->assertTrue($response->headers->has('Expires'));
-        $this->assertLessThanOrEqual((new \DateTime('now', new \DateTimeZone('UTC'))), (new \DateTime($response->headers->get('Expires'))));
+        $this->assertLessThanOrEqual(new \DateTime('now', new \DateTimeZone('UTC')), new \DateTime($response->headers->get('Expires')));
     }
 
     public function testGetSessionIsCalledOnce()
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/HttpKernel/Tests/HttpCache/EsiTest.php 5.4.11+dfsg-1/src/Symfony/Component/HttpKernel/Tests/HttpCache/EsiTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/HttpKernel/Tests/HttpCache/EsiTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/HttpKernel/Tests/HttpCache/EsiTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -221,6 +221,15 @@ class EsiTest extends TestCase
         $this->assertEquals('bar', $esi->handle($cache, '/', '/alt', false));
     }
 
+    public function testHandleWhenResponseIsNotModified()
+    {
+        $esi = new Esi();
+        $response = new Response('');
+        $response->setStatusCode(304);
+        $cache = $this->getCache(Request::create('/'), $response);
+        $this->assertEquals('', $esi->handle($cache, '/', '/alt', true));
+    }
+
     protected function getCache($request, $response)
     {
         $cache = $this->getMockBuilder(HttpCache::class)->setMethods(['getRequest', 'handle'])->disableOriginalConstructor()->getMock();
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/HttpKernel/Tests/KernelTest.php 5.4.11+dfsg-1/src/Symfony/Component/HttpKernel/Tests/KernelTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/HttpKernel/Tests/KernelTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/HttpKernel/Tests/KernelTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -596,7 +596,7 @@ EOF
         $kernel->boot();
         $preReBoot = $kernel->getStartTime();
 
-        sleep(3600); //Intentionally large value to detect if ClockMock ever breaks
+        sleep(3600); // Intentionally large value to detect if ClockMock ever breaks
         $kernel->reboot(null);
 
         $this->assertGreaterThan($preReBoot, $kernel->getStartTime());
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/HttpKernel/Tests/Profiler/FileProfilerStorageTest.php 5.4.11+dfsg-1/src/Symfony/Component/HttpKernel/Tests/Profiler/FileProfilerStorageTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/HttpKernel/Tests/Profiler/FileProfilerStorageTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/HttpKernel/Tests/Profiler/FileProfilerStorageTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -297,7 +297,7 @@ class FileProfilerStorageTest extends Te
             $profile->setUrl('http://example.net/');
             $profile->setMethod('GET');
 
-            ///three duplicates
+            // three duplicates
             $this->storage->write($profile);
             $this->storage->write($profile);
             $this->storage->write($profile);
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Inflector/Tests/InflectorTest.php 5.4.11+dfsg-1/src/Symfony/Component/Inflector/Tests/InflectorTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Inflector/Tests/InflectorTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Inflector/Tests/InflectorTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -90,7 +90,7 @@ class InflectorTest extends TestCase
             ['halves', ['half', 'halve', 'halff']],
             ['hats', 'hat'],
             ['heroes', ['hero', 'heroe']],
-            ['hippopotamuses', ['hippopotamus', 'hippopotamuse', 'hippopotamusis']], //hippopotami
+            ['hippopotamuses', ['hippopotamus', 'hippopotamuse', 'hippopotamusis']], // hippopotami
             ['hoaxes', 'hoax'],
             ['hooves', ['hoof', 'hoove', 'hooff']],
             ['houses', ['hous', 'house', 'housis']],
@@ -133,7 +133,7 @@ class InflectorTest extends TestCase
             ['roses', ['ros', 'rose', 'rosis']],
             ['sandwiches', ['sandwich', 'sandwiche']],
             ['scarves', ['scarf', 'scarve', 'scarff']],
-            ['schemas', 'schema'], //schemata
+            ['schemas', 'schema'], // schemata
             ['seasons', 'season'],
             ['selfies', 'selfie'],
             ['series', 'series'],
@@ -163,9 +163,9 @@ class InflectorTest extends TestCase
             ['SubTrees', 'SubTree'],
 
             // Known issues
-            //['insignia', 'insigne'],
-            //['insignias', 'insigne'],
-            //['rattles', 'rattle'],
+            // ['insignia', 'insigne'],
+            // ['insignias', 'insigne'],
+            // ['rattles', 'rattle'],
         ];
     }
 
@@ -179,7 +179,7 @@ class InflectorTest extends TestCase
             ['agenda', 'agendas'],
             ['alumnus', 'alumni'],
             ['analysis', 'analyses'],
-            ['antenna', 'antennas'], //antennae
+            ['antenna', 'antennas'], // antennae
             ['appendix', ['appendicies', 'appendixes']],
             ['arch', 'arches'],
             ['atlas', 'atlases'],
@@ -224,7 +224,7 @@ class InflectorTest extends TestCase
             ['feedback', 'feedback'],
             ['focus', 'focuses'],
             ['foot', 'feet'],
-            ['formula', 'formulas'], //formulae
+            ['formula', 'formulas'], // formulae
             ['conspectus', 'conspectuses'],
             ['fungus', 'fungi'],
             ['garage', 'garages'],
@@ -232,7 +232,7 @@ class InflectorTest extends TestCase
             ['half', ['halfs', 'halves']],
             ['hat', 'hats'],
             ['hero', 'heroes'],
-            ['hippopotamus', 'hippopotami'], //hippopotamuses
+            ['hippopotamus', 'hippopotami'], // hippopotamuses
             ['hoax', 'hoaxes'],
             ['hoof', ['hoofs', 'hooves']],
             ['house', 'houses'],
@@ -272,7 +272,7 @@ class InflectorTest extends TestCase
             ['rose', 'roses'],
             ['sandwich', 'sandwiches'],
             ['scarf', ['scarfs', 'scarves']],
-            ['schema', 'schemas'], //schemata
+            ['schema', 'schemas'], // schemata
             ['season', 'seasons'],
             ['selfie', 'selfies'],
             ['series', 'series'],
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Intl/DateFormatter/DateFormat/TimezoneTransformer.php 5.4.11+dfsg-1/src/Symfony/Component/Intl/DateFormatter/DateFormat/TimezoneTransformer.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Intl/DateFormatter/DateFormat/TimezoneTransformer.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Intl/DateFormatter/DateFormat/TimezoneTransformer.php	2022-07-29 12:30:51.000000000 +0000
@@ -59,7 +59,7 @@ class TimezoneTransformer extends Transf
             return $dateTime->format('\G\M\TP');
         }
 
-        return sprintf('GMT%s%d', ($offset >= 0 ? '+' : ''), $offset / 100);
+        return sprintf('GMT%s%d', $offset >= 0 ? '+' : '', $offset / 100);
     }
 
     /**
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Ldap/Adapter/ExtLdap/Connection.php 5.4.11+dfsg-1/src/Symfony/Component/Ldap/Adapter/ExtLdap/Connection.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Ldap/Adapter/ExtLdap/Connection.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Ldap/Adapter/ExtLdap/Connection.php	2022-07-29 12:30:51.000000000 +0000
@@ -137,7 +137,7 @@ class Connection extends AbstractConnect
             }
 
             if (!isset($parent['network_timeout'])) {
-                $options->setDefault('network_timeout', ini_get('default_socket_timeout'));
+                $options->setDefault('network_timeout', \ini_get('default_socket_timeout'));
             }
 
             $options->setDefaults([
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Mailer/Bridge/OhMySmtp/Tests/Transport/OhMySmtpApiTransportTest.php 5.4.11+dfsg-1/src/Symfony/Component/Mailer/Bridge/OhMySmtp/Tests/Transport/OhMySmtpApiTransportTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Mailer/Bridge/OhMySmtp/Tests/Transport/OhMySmtpApiTransportTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Mailer/Bridge/OhMySmtp/Tests/Transport/OhMySmtpApiTransportTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -125,7 +125,7 @@ final class OhMySmtpApiTransportTest ext
     public function testSendThrowsForMultipleErrorResponses()
     {
         $client = new MockHttpClient(static function (string $method, string $url, array $options): ResponseInterface {
-            return new MockResponse(json_encode(['errors' => ["to" => "undefined field" ]]), [
+            return new MockResponse(json_encode(['errors' => ['to' => 'undefined field']]), [
                 'http_code' => 418,
                 'response_headers' => [
                     'content-type' => 'application/json',
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Mailer/Mailer.php 5.4.11+dfsg-1/src/Symfony/Component/Mailer/Mailer.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Mailer/Mailer.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Mailer/Mailer.php	2022-07-29 12:30:51.000000000 +0000
@@ -48,6 +48,11 @@ final class Mailer implements MailerInte
         }
 
         if (null !== $this->dispatcher) {
+            // The dispatched event here has `queued` set to `true`; the goal is NOT to render the message, but to let
+            // listeners do something before a message is sent to the queue.
+            // We are using a cloned message as we still want to dispatch the **original** message, not the one modified by listeners.
+            // That's because the listeners will run again when the email is sent via Messenger by the transport (see `AbstractTransport`).
+            // Listeners should act depending on the `$queued` argument of the `MessageEvent` instance.
             $clonedMessage = clone $message;
             $clonedEnvelope = null !== $envelope ? clone $envelope : Envelope::create($clonedMessage);
             $event = new MessageEvent($clonedMessage, $clonedEnvelope, (string) $this->transport, true);
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Mailer/Tests/Transport/FailoverTransportTest.php 5.4.11+dfsg-1/src/Symfony/Component/Mailer/Tests/Transport/FailoverTransportTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Mailer/Tests/Transport/FailoverTransportTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Mailer/Tests/Transport/FailoverTransportTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -142,10 +142,10 @@ class FailoverTransportTest extends Test
         $t2 = $this->createMock(TransportInterface::class);
         $t2->expects($this->exactly(3))
             ->method('send')->willReturnOnConsecutiveCalls(
-            null,
-            null,
-            $this->throwException(new TransportException())
-        );
+                null,
+                null,
+                $this->throwException(new TransportException())
+            );
         $t = new FailoverTransport([$t1, $t2], 1);
         $t->send(new RawMessage(''));
         sleep(1);
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Mailer/Transport/Smtp/Stream/AbstractStream.php 5.4.11+dfsg-1/src/Symfony/Component/Mailer/Transport/Smtp/Stream/AbstractStream.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Mailer/Transport/Smtp/Stream/AbstractStream.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Mailer/Transport/Smtp/Stream/AbstractStream.php	2022-07-29 12:30:51.000000000 +0000
@@ -75,7 +75,7 @@ abstract class AbstractStream
         }
 
         $line = fgets($this->out);
-        if (0 === \strlen($line)) {
+        if ('' === $line) {
             $metas = stream_get_meta_data($this->out);
             if ($metas['timed_out']) {
                 throw new TransportException(sprintf('Connection to "%s" timed out.', $this->getReadConnectionDescription()));
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Mailer/Transport/Smtp/Stream/SocketStream.php 5.4.11+dfsg-1/src/Symfony/Component/Mailer/Transport/Smtp/Stream/SocketStream.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Mailer/Transport/Smtp/Stream/SocketStream.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Mailer/Transport/Smtp/Stream/SocketStream.php	2022-07-29 12:30:51.000000000 +0000
@@ -43,7 +43,7 @@ final class SocketStream extends Abstrac
 
     public function getTimeout(): float
     {
-        return $this->timeout ?? (float) ini_get('default_socket_timeout');
+        return $this->timeout ?? (float) \ini_get('default_socket_timeout');
     }
 
     /**
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Mailer/Transport.php 5.4.11+dfsg-1/src/Symfony/Component/Mailer/Transport.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Mailer/Transport.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Mailer/Transport.php	2022-07-29 12:30:51.000000000 +0000
@@ -63,7 +63,7 @@ class Transport
      * @param HttpClientInterface|null      $client
      * @param LoggerInterface|null          $logger
      */
-    public static function fromDsn(string $dsn/*, EventDispatcherInterface $dispatcher = null, HttpClientInterface $client = null, LoggerInterface $logger = null*/): TransportInterface
+    public static function fromDsn(string $dsn/* , EventDispatcherInterface $dispatcher = null, HttpClientInterface $client = null, LoggerInterface $logger = null */): TransportInterface
     {
         $dispatcher = 2 <= \func_num_args() ? func_get_arg(1) : null;
         $client = 3 <= \func_num_args() ? func_get_arg(2) : null;
@@ -79,7 +79,7 @@ class Transport
      * @param HttpClientInterface|null      $client
      * @param LoggerInterface|null          $logger
      */
-    public static function fromDsns(array $dsns/*, EventDispatcherInterface $dispatcher = null, HttpClientInterface $client = null, LoggerInterface $logger = null*/): TransportInterface
+    public static function fromDsns(array $dsns/* , EventDispatcherInterface $dispatcher = null, HttpClientInterface $client = null, LoggerInterface $logger = null */): TransportInterface
     {
         $dispatcher = 2 <= \func_num_args() ? func_get_arg(1) : null;
         $client = 3 <= \func_num_args() ? func_get_arg(2) : null;
@@ -183,7 +183,7 @@ class Transport
      *
      * @return \Traversable<int, TransportFactoryInterface>
      */
-    public static function getDefaultFactories(/*EventDispatcherInterface $dispatcher = null, HttpClientInterface $client = null, LoggerInterface $logger = null*/): iterable
+    public static function getDefaultFactories(/* EventDispatcherInterface $dispatcher = null, HttpClientInterface $client = null, LoggerInterface $logger = null */): iterable
     {
         $dispatcher = 1 <= \func_num_args() ? func_get_arg(0) : null;
         $client = 2 <= \func_num_args() ? func_get_arg(1) : null;
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Messenger/Bridge/Amqp/Transport/Connection.php 5.4.11+dfsg-1/src/Symfony/Component/Messenger/Bridge/Amqp/Transport/Connection.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Messenger/Bridge/Amqp/Transport/Connection.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Messenger/Bridge/Amqp/Transport/Connection.php	2022-07-29 12:30:51.000000000 +0000
@@ -282,7 +282,7 @@ class Connection
 
     private static function hasCaCertConfigured(array $amqpOptions): bool
     {
-        return (isset($amqpOptions['cacert']) && '' !== $amqpOptions['cacert']) || '' !== ini_get('amqp.cacert');
+        return (isset($amqpOptions['cacert']) && '' !== $amqpOptions['cacert']) || '' !== \ini_get('amqp.cacert');
     }
 
     /**
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Messenger/Bridge/Doctrine/Tests/Transport/PostgreSqlConnectionTest.php 5.4.11+dfsg-1/src/Symfony/Component/Messenger/Bridge/Doctrine/Tests/Transport/PostgreSqlConnectionTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Messenger/Bridge/Doctrine/Tests/Transport/PostgreSqlConnectionTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Messenger/Bridge/Doctrine/Tests/Transport/PostgreSqlConnectionTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -58,6 +58,19 @@ class PostgreSqlConnectionTest extends T
         $this->assertStringNotContainsString('COMMIT;', $sql);
     }
 
+    public function testTransformTableNameWithSchemaToValidProcedureName()
+    {
+        $driverConnection = $this->createMock(\Doctrine\DBAL\Connection::class);
+        $connection = new PostgreSqlConnection(['table_name' => 'schema.queue_table'], $driverConnection);
+
+        $table = new Table('schema.queue_table');
+        $table->addOption('_symfony_messenger_table_name', 'schema.queue_table');
+        $sql = implode("\n", $connection->getExtraSetupSqlForTable($table));
+
+        $this->assertStringContainsString('CREATE OR REPLACE FUNCTION schema.notify_queue_table', $sql);
+        $this->assertStringContainsString('FOR EACH ROW EXECUTE PROCEDURE schema.notify_queue_table()', $sql);
+    }
+
     public function testGetExtraSetupSqlWrongTable()
     {
         $driverConnection = $this->createMock(\Doctrine\DBAL\Connection::class);
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Messenger/Bridge/Doctrine/Transport/Connection.php 5.4.11+dfsg-1/src/Symfony/Component/Messenger/Bridge/Doctrine/Transport/Connection.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Messenger/Bridge/Doctrine/Transport/Connection.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Messenger/Bridge/Doctrine/Transport/Connection.php	2022-07-29 12:30:51.000000000 +0000
@@ -24,6 +24,7 @@ use Doctrine\DBAL\Result;
 use Doctrine\DBAL\Schema\AbstractSchemaManager;
 use Doctrine\DBAL\Schema\Comparator;
 use Doctrine\DBAL\Schema\Schema;
+use Doctrine\DBAL\Schema\SchemaDiff;
 use Doctrine\DBAL\Schema\Synchronizer\SchemaSynchronizer;
 use Doctrine\DBAL\Schema\Table;
 use Doctrine\DBAL\Types\Types;
@@ -467,8 +468,9 @@ class Connection implements ResetInterfa
             return;
         }
 
-        $comparator = new Comparator();
-        $schemaDiff = $comparator->compare($this->createSchemaManager()->createSchema(), $this->getSchema());
+        $schemaManager = $this->createSchemaManager();
+        $comparator = $this->createComparator($schemaManager);
+        $schemaDiff = $this->compareSchemas($comparator, $schemaManager->createSchema(), $this->getSchema());
 
         foreach ($schemaDiff->toSaveSql($this->driverConnection->getDatabasePlatform()) as $sql) {
             if (method_exists($this->driverConnection, 'executeStatement')) {
@@ -485,6 +487,20 @@ class Connection implements ResetInterfa
             ? $this->driverConnection->createSchemaManager()
             : $this->driverConnection->getSchemaManager();
     }
+
+    private function createComparator(AbstractSchemaManager $schemaManager): Comparator
+    {
+        return method_exists($schemaManager, 'createComparator')
+            ? $schemaManager->createComparator()
+            : new Comparator();
+    }
+
+    private function compareSchemas(Comparator $comparator, Schema $from, Schema $to): SchemaDiff
+    {
+        return method_exists($comparator, 'compareSchemas')
+            ? $comparator->compareSchemas($from, $to)
+            : $comparator->compare($from, $to);
+    }
 }
 
 if (!class_exists(\Symfony\Component\Messenger\Transport\Doctrine\Connection::class, false)) {
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Messenger/Bridge/Doctrine/Transport/PostgreSqlConnection.php 5.4.11+dfsg-1/src/Symfony/Component/Messenger/Bridge/Doctrine/Transport/PostgreSqlConnection.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Messenger/Bridge/Doctrine/Transport/PostgreSqlConnection.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Messenger/Bridge/Doctrine/Transport/PostgreSqlConnection.php	2022-07-29 12:30:51.000000000 +0000
@@ -118,23 +118,36 @@ final class PostgreSqlConnection extends
 
     private function getTriggerSql(): array
     {
+        $functionName = $this->createTriggerFunctionName();
+
         return [
             // create trigger function
             sprintf(<<<'SQL'
-CREATE OR REPLACE FUNCTION notify_%1$s() RETURNS TRIGGER AS $$
+CREATE OR REPLACE FUNCTION %1$s() RETURNS TRIGGER AS $$
     BEGIN
-        PERFORM pg_notify('%1$s', NEW.queue_name::text);
+        PERFORM pg_notify('%2$s', NEW.queue_name::text);
         RETURN NEW;
     END;
 $$ LANGUAGE plpgsql;
 SQL
-            , $this->configuration['table_name']),
+                , $functionName, $this->configuration['table_name']),
             // register trigger
             sprintf('DROP TRIGGER IF EXISTS notify_trigger ON %s;', $this->configuration['table_name']),
-            sprintf('CREATE TRIGGER notify_trigger AFTER INSERT OR UPDATE ON %1$s FOR EACH ROW EXECUTE PROCEDURE notify_%1$s();', $this->configuration['table_name']),
+            sprintf('CREATE TRIGGER notify_trigger AFTER INSERT OR UPDATE ON %1$s FOR EACH ROW EXECUTE PROCEDURE %2$s();', $this->configuration['table_name'], $functionName),
         ];
     }
 
+    private function createTriggerFunctionName(): string
+    {
+        $tableConfig = explode('.', $this->configuration['table_name']);
+
+        if (1 === \count($tableConfig)) {
+            return sprintf('notify_%1$s', $tableConfig[0]);
+        }
+
+        return sprintf('%1$s.notify_%2$s', $tableConfig[0], $tableConfig[1]);
+    }
+
     private function unlisten()
     {
         if (!$this->listening) {
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Messenger/Command/ConsumeMessagesCommand.php 5.4.11+dfsg-1/src/Symfony/Component/Messenger/Command/ConsumeMessagesCommand.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Messenger/Command/ConsumeMessagesCommand.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Messenger/Command/ConsumeMessagesCommand.php	2022-07-29 12:30:51.000000000 +0000
@@ -254,8 +254,11 @@ EOF
 
         switch (substr(rtrim($memoryLimit, 'b'), -1)) {
             case 't': $max *= 1024;
+                // no break
             case 'g': $max *= 1024;
+                // no break
             case 'm': $max *= 1024;
+                // no break
             case 'k': $max *= 1024;
         }
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Messenger/Exception/ExceptionInterface.php 5.4.11+dfsg-1/src/Symfony/Component/Messenger/Exception/ExceptionInterface.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Messenger/Exception/ExceptionInterface.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Messenger/Exception/ExceptionInterface.php	2022-07-29 12:30:51.000000000 +0000
@@ -12,7 +12,7 @@
 namespace Symfony\Component\Messenger\Exception;
 
 /**
- * Base Message component's exception.
+ * Base Messenger component's exception.
  *
  * @author Samuel Roze <samuel.roze@gmail.com>
  */
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Messenger/Handler/BatchHandlerInterface.php 5.4.11+dfsg-1/src/Symfony/Component/Messenger/Handler/BatchHandlerInterface.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Messenger/Handler/BatchHandlerInterface.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Messenger/Handler/BatchHandlerInterface.php	2022-07-29 12:30:51.000000000 +0000
@@ -23,7 +23,7 @@ interface BatchHandlerInterface
      * @return mixed The number of pending messages in the batch if $ack is not null,
      *               the result from handling the message otherwise
      */
-    //public function __invoke(object $message, Acknowledger $ack = null): mixed;
+    // public function __invoke(object $message, Acknowledger $ack = null): mixed;
 
     /**
      * Flushes any pending buffers.
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Messenger/Retry/MultiplierRetryStrategy.php 5.4.11+dfsg-1/src/Symfony/Component/Messenger/Retry/MultiplierRetryStrategy.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Messenger/Retry/MultiplierRetryStrategy.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Messenger/Retry/MultiplierRetryStrategy.php	2022-07-29 12:30:51.000000000 +0000
@@ -86,6 +86,6 @@ class MultiplierRetryStrategy implements
             return $this->maxDelayMilliseconds;
         }
 
-        return $delay;
+        return (int) ceil($delay);
     }
 }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Messenger/Retry/RetryStrategyInterface.php 5.4.11+dfsg-1/src/Symfony/Component/Messenger/Retry/RetryStrategyInterface.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Messenger/Retry/RetryStrategyInterface.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Messenger/Retry/RetryStrategyInterface.php	2022-07-29 12:30:51.000000000 +0000
@@ -23,12 +23,12 @@ interface RetryStrategyInterface
     /**
      * @param \Throwable|null $throwable The cause of the failed handling
      */
-    public function isRetryable(Envelope $message/*, \Throwable $throwable = null*/): bool;
+    public function isRetryable(Envelope $message/* , \Throwable $throwable = null */): bool;
 
     /**
      * @param \Throwable|null $throwable The cause of the failed handling
      *
      * @return int The time to delay/wait in milliseconds
      */
-    public function getWaitingTime(Envelope $message/*, \Throwable $throwable = null*/): int;
+    public function getWaitingTime(Envelope $message/* , \Throwable $throwable = null */): int;
 }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Messenger/Tests/DataCollector/MessengerDataCollectorTest.php 5.4.11+dfsg-1/src/Symfony/Component/Messenger/Tests/DataCollector/MessengerDataCollectorTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Messenger/Tests/DataCollector/MessengerDataCollectorTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Messenger/Tests/DataCollector/MessengerDataCollectorTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -122,7 +122,7 @@ array:6 [
   ]
 ]
 DUMP
-        , $this->getDataAsString($messages[0]));
+            , $this->getDataAsString($messages[0]));
     }
 
     public function testKeepsOrderedDispatchCalls()
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Messenger/Tests/EventListener/SendFailedMessageForRetryListenerTest.php 5.4.11+dfsg-1/src/Symfony/Component/Messenger/Tests/EventListener/SendFailedMessageForRetryListenerTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Messenger/Tests/EventListener/SendFailedMessageForRetryListenerTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Messenger/Tests/EventListener/SendFailedMessageForRetryListenerTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -159,8 +159,8 @@ class SendFailedMessageForRetryListenerT
     {
         $exception = new \Exception('no!');
         $stamps = array_merge(
-          array_fill(0, 15, new DelayStamp(1)),
-          array_fill(0, 3, new RedeliveryStamp(1))
+            array_fill(0, 15, new DelayStamp(1)),
+            array_fill(0, 3, new RedeliveryStamp(1))
         );
         $envelope = new Envelope(new \stdClass(), $stamps);
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Messenger/Tests/Retry/MultiplierRetryStrategyTest.php 5.4.11+dfsg-1/src/Symfony/Component/Messenger/Tests/Retry/MultiplierRetryStrategyTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Messenger/Tests/Retry/MultiplierRetryStrategyTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Messenger/Tests/Retry/MultiplierRetryStrategyTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -52,7 +52,7 @@ class MultiplierRetryStrategyTest extend
     /**
      * @dataProvider getWaitTimeTests
      */
-    public function testGetWaitTime(int $delay, int $multiplier, int $maxDelay, int $previousRetries, int $expectedDelay)
+    public function testGetWaitTime(int $delay, float $multiplier, int $maxDelay, int $previousRetries, int $expectedDelay)
     {
         $strategy = new MultiplierRetryStrategy(10, $delay, $multiplier, $maxDelay);
         $envelope = new Envelope(new \stdClass(), [new RedeliveryStamp($previousRetries)]);
@@ -83,5 +83,10 @@ class MultiplierRetryStrategyTest extend
         // never a delay
         yield [0, 2, 10000, 0, 0];
         yield [0, 2, 10000, 1, 0];
+
+        // Float delay
+        yield [1000, 1.5555, 5000, 0, 1000];
+        yield [1000, 1.5555, 5000, 1, 1556];
+        yield [1000, 1.5555, 5000, 2, 2420];
     }
 }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Mime/CharacterStream.php 5.4.11+dfsg-1/src/Symfony/Component/Mime/CharacterStream.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Mime/CharacterStream.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Mime/CharacterStream.php	2022-07-29 12:30:51.000000000 +0000
@@ -81,17 +81,17 @@ final class CharacterStream
                     $this->fixedWidth = 2;
                     break;
 
-                // 32 bits
+                    // 32 bits
                 case 'ucs4':
                 case 'ucs-4':
                 case 'utf32':
                 case 'utf-32':
                     $this->fixedWidth = 4;
-                break;
+                    break;
 
-                // 7-8 bit charsets: (us-)?ascii, (iso|iec)-?8859-?[0-9]+, windows-?125[0-9], cp-?[0-9]+, ansi, macintosh,
+                    // 7-8 bit charsets: (us-)?ascii, (iso|iec)-?8859-?[0-9]+, windows-?125[0-9], cp-?[0-9]+, ansi, macintosh,
                 //                   koi-?7, koi-?8-?.+, mik, (cork|t1), v?iscii
-                // and fallback
+                    // and fallback
                 default:
                     $this->fixedWidth = 1;
             }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Mime/Email.php 5.4.11+dfsg-1/src/Symfony/Component/Mime/Email.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Mime/Email.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Mime/Email.php	2022-07-29 12:30:51.000000000 +0000
@@ -43,6 +43,10 @@ class Email extends Message
     private $html;
     private $htmlCharset;
     private $attachments = [];
+    /**
+     * @var AbstractPart|null
+     */
+    private $cachedBody; // Used to avoid wrong body hash in DKIM signatures with multiple parts (e.g. HTML + TEXT) due to multiple boundaries.
 
     /**
      * @return $this
@@ -282,6 +286,7 @@ class Email extends Message
             throw new \TypeError(sprintf('The body must be a string, a resource or null (got "%s").', get_debug_type($body)));
         }
 
+        $this->cachedBody = null;
         $this->text = $body;
         $this->textCharset = $charset;
 
@@ -312,6 +317,7 @@ class Email extends Message
             throw new \TypeError(sprintf('The body must be a string, a resource or null (got "%s").', get_debug_type($body)));
         }
 
+        $this->cachedBody = null;
         $this->html = $body;
         $this->htmlCharset = $charset;
 
@@ -342,6 +348,7 @@ class Email extends Message
             throw new \TypeError(sprintf('The body must be a string or a resource (got "%s").', get_debug_type($body)));
         }
 
+        $this->cachedBody = null;
         $this->attachments[] = ['body' => $body, 'name' => $name, 'content-type' => $contentType, 'inline' => false];
 
         return $this;
@@ -352,6 +359,7 @@ class Email extends Message
      */
     public function attachFromPath(string $path, string $name = null, string $contentType = null)
     {
+        $this->cachedBody = null;
         $this->attachments[] = ['path' => $path, 'name' => $name, 'content-type' => $contentType, 'inline' => false];
 
         return $this;
@@ -368,6 +376,7 @@ class Email extends Message
             throw new \TypeError(sprintf('The body must be a string or a resource (got "%s").', get_debug_type($body)));
         }
 
+        $this->cachedBody = null;
         $this->attachments[] = ['body' => $body, 'name' => $name, 'content-type' => $contentType, 'inline' => true];
 
         return $this;
@@ -378,6 +387,7 @@ class Email extends Message
      */
     public function embedFromPath(string $path, string $name = null, string $contentType = null)
     {
+        $this->cachedBody = null;
         $this->attachments[] = ['path' => $path, 'name' => $name, 'content-type' => $contentType, 'inline' => true];
 
         return $this;
@@ -388,6 +398,7 @@ class Email extends Message
      */
     public function attachPart(DataPart $part)
     {
+        $this->cachedBody = null;
         $this->attachments[] = ['part' => $part];
 
         return $this;
@@ -446,6 +457,10 @@ class Email extends Message
      */
     private function generateBody(): AbstractPart
     {
+        if (null !== $this->cachedBody) {
+            return $this->cachedBody;
+        }
+
         $this->ensureValidity();
 
         [$htmlPart, $attachmentParts, $inlineParts] = $this->prepareParts();
@@ -471,7 +486,7 @@ class Email extends Message
             }
         }
 
-        return $part;
+        return $this->cachedBody = $part;
     }
 
     private function prepareParts(): ?array
@@ -486,25 +501,37 @@ class Email extends Message
             $names = array_filter(array_unique(array_merge($names[2], $names[3])));
         }
 
+        // usage of reflection is a temporary workaround for missing getters that will be added in 6.2
+        $dispositionRef = new \ReflectionProperty(TextPart::class, 'disposition');
+        $dispositionRef->setAccessible(true);
+        $nameRef = new \ReflectionProperty(TextPart::class, 'name');
+        $nameRef->setAccessible(true);
         $attachmentParts = $inlineParts = [];
         foreach ($this->attachments as $attachment) {
+            $part = $this->createDataPart($attachment);
+            if (isset($attachment['part'])) {
+                $attachment['name'] = $nameRef->getValue($part);
+            }
+
             foreach ($names as $name) {
-                if (isset($attachment['part'])) {
-                    continue;
-                }
                 if ($name !== $attachment['name']) {
                     continue;
                 }
                 if (isset($inlineParts[$name])) {
                     continue 2;
                 }
-                $attachment['inline'] = true;
-                $inlineParts[$name] = $part = $this->createDataPart($attachment);
+                $part->setDisposition('inline');
                 $html = str_replace('cid:'.$name, 'cid:'.$part->getContentId(), $html);
                 $part->setName($part->getContentId());
-                continue 2;
+
+                break;
+            }
+
+            if ('inline' === $dispositionRef->getValue($part)) {
+                $inlineParts[$attachment['name']] = $part;
+            } else {
+                $attachmentParts[] = $part;
             }
-            $attachmentParts[] = $this->createDataPart($attachment);
         }
         if (null !== $htmlPart) {
             $htmlPart = new TextPart($html, $this->htmlCharset, 'html');
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Mime/Header/AbstractHeader.php 5.4.11+dfsg-1/src/Symfony/Component/Mime/Header/AbstractHeader.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Mime/Header/AbstractHeader.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Mime/Header/AbstractHeader.php	2022-07-29 12:30:51.000000000 +0000
@@ -109,6 +109,11 @@ abstract class AbstractHeader implements
                 }
                 $phraseStr = $this->encodeWords($header, $string, $usedLength);
             }
+        } elseif (str_contains($phraseStr, '(')) {
+            foreach (['\\', '"'] as $char) {
+                $phraseStr = str_replace($char, '\\'.$char, $phraseStr);
+            }
+            $phraseStr = '"'.$phraseStr.'"';
         }
 
         return $phraseStr;
@@ -195,7 +200,7 @@ abstract class AbstractHeader implements
         $encodingWrapperLength = \strlen('=?'.$charsetDecl.'?'.self::$encoder->getName().'??=');
 
         if ($firstLineOffset >= 75) {
-            //Does this logic need to be here?
+            // Does this logic need to be here?
             $firstLineOffset = 0;
         }
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Mime/MessageConverter.php 5.4.11+dfsg-1/src/Symfony/Component/Mime/MessageConverter.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Mime/MessageConverter.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Mime/MessageConverter.php	2022-07-29 12:30:51.000000000 +0000
@@ -83,7 +83,7 @@ final class MessageConverter
             2 === \count($parts) &&
             $parts[0] instanceof TextPart && 'text' === $parts[0]->getMediaType() && 'plain' === $parts[0]->getMediaSubtype() &&
             $parts[1] instanceof TextPart && 'text' === $parts[1]->getMediaType() && 'html' === $parts[1]->getMediaSubtype()
-         ) {
+        ) {
             return (new Email(clone $message->getHeaders()))
                 ->text($parts[0]->getBody(), $parts[0]->getPreparedHeaders()->getHeaderParameter('Content-Type', 'charset') ?: 'utf-8')
                 ->html($parts[1]->getBody(), $parts[1]->getPreparedHeaders()->getHeaderParameter('Content-Type', 'charset') ?: 'utf-8')
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Mime/Tests/EmailTest.php 5.4.11+dfsg-1/src/Symfony/Component/Mime/Tests/EmailTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Mime/Tests/EmailTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Mime/Tests/EmailTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -253,76 +253,116 @@ class EmailTest extends TestCase
         $this->assertEquals($text, $e->getBody());
     }
 
-    public function testGenerateBody()
+    public function testGenerateBodyWithTextOnly()
     {
         $text = new TextPart('text content');
-        $html = new TextPart('html content', 'utf-8', 'html');
-        $att = new DataPart($file = fopen(__DIR__.'/Fixtures/mimetypes/test', 'r'));
-        $img = new DataPart($image = fopen(__DIR__.'/Fixtures/mimetypes/test.gif', 'r'), 'test.gif');
-
         $e = (new Email())->from('me@example.com')->to('you@example.com');
         $e->text('text content');
         $this->assertEquals($text, $e->getBody());
         $this->assertEquals('text content', $e->getTextBody());
+    }
 
+    public function testGenerateBodyWithHtmlOnly()
+    {
+        $html = new TextPart('html content', 'utf-8', 'html');
         $e = (new Email())->from('me@example.com')->to('you@example.com');
         $e->html('html content');
         $this->assertEquals($html, $e->getBody());
         $this->assertEquals('html content', $e->getHtmlBody());
+    }
 
+    public function testGenerateBodyWithTextAndHtml()
+    {
+        $text = new TextPart('text content');
+        $html = new TextPart('html content', 'utf-8', 'html');
         $e = (new Email())->from('me@example.com')->to('you@example.com');
         $e->html('html content');
         $e->text('text content');
         $this->assertEquals(new AlternativePart($text, $html), $e->getBody());
+    }
 
+    public function testGenerateBodyWithTextAndHtmlNotUtf8()
+    {
         $e = (new Email())->from('me@example.com')->to('you@example.com');
         $e->html('html content', 'iso-8859-1');
         $e->text('text content', 'iso-8859-1');
         $this->assertEquals('iso-8859-1', $e->getTextCharset());
         $this->assertEquals('iso-8859-1', $e->getHtmlCharset());
         $this->assertEquals(new AlternativePart(new TextPart('text content', 'iso-8859-1'), new TextPart('html content', 'iso-8859-1', 'html')), $e->getBody());
+    }
 
+    public function testGenerateBodyWithTextContentAndAttachedFile()
+    {
+        [$text, $html, $filePart, $file, $imagePart, $image] = $this->generateSomeParts();
         $e = (new Email())->from('me@example.com')->to('you@example.com');
         $e->attach($file);
         $e->text('text content');
-        $this->assertEquals(new MixedPart($text, $att), $e->getBody());
+        $this->assertEquals(new MixedPart($text, $filePart), $e->getBody());
+    }
 
+    public function testGenerateBodyWithHtmlContentAndAttachedFile()
+    {
+        [$text, $html, $filePart, $file, $imagePart, $image] = $this->generateSomeParts();
         $e = (new Email())->from('me@example.com')->to('you@example.com');
         $e->attach($file);
         $e->html('html content');
-        $this->assertEquals(new MixedPart($html, $att), $e->getBody());
+        $this->assertEquals(new MixedPart($html, $filePart), $e->getBody());
+    }
 
+    public function testGenerateBodyWithAttachedFileOnly()
+    {
+        [$text, $html, $filePart, $file, $imagePart, $image] = $this->generateSomeParts();
         $e = (new Email())->from('me@example.com')->to('you@example.com');
         $e->attach($file);
-        $this->assertEquals(new MixedPart($att), $e->getBody());
+        $this->assertEquals(new MixedPart($filePart), $e->getBody());
+    }
 
+    public function testGenerateBodyWithTextAndHtmlContentAndAttachedFile()
+    {
+        [$text, $html, $filePart, $file, $imagePart, $image] = $this->generateSomeParts();
         $e = (new Email())->from('me@example.com')->to('you@example.com');
         $e->html('html content');
         $e->text('text content');
         $e->attach($file);
-        $this->assertEquals(new MixedPart(new AlternativePart($text, $html), $att), $e->getBody());
+        $this->assertEquals(new MixedPart(new AlternativePart($text, $html), $filePart), $e->getBody());
+    }
 
+    public function testGenerateBodyWithTextAndHtmlAndAttachedFileAndAttachedImageNotReferenced()
+    {
+        [$text, $html, $filePart, $file, $imagePart, $image] = $this->generateSomeParts();
         $e = (new Email())->from('me@example.com')->to('you@example.com');
         $e->html('html content');
         $e->text('text content');
         $e->attach($file);
         $e->attach($image, 'test.gif');
-        $this->assertEquals(new MixedPart(new AlternativePart($text, $html), $att, $img), $e->getBody());
+        $this->assertEquals(new MixedPart(new AlternativePart($text, $html), $filePart, $imagePart), $e->getBody());
+    }
 
+    public function testGenerateBodyWithTextAndAttachedFileAndAttachedImageNotReferenced()
+    {
+        [$text, $html, $filePart, $file, $imagePart, $image] = $this->generateSomeParts();
         $e = (new Email())->from('me@example.com')->to('you@example.com');
         $e->text('text content');
         $e->attach($file);
         $e->attach($image, 'test.gif');
-        $this->assertEquals(new MixedPart($text, $att, $img), $e->getBody());
+        $this->assertEquals(new MixedPart($text, $filePart, $imagePart), $e->getBody());
+    }
 
+    public function testGenerateBodyWithTextAndHtmlAndAttachedFileAndAttachedImageNotReferencedViaCid()
+    {
+        [$text, $html, $filePart, $file, $imagePart, $image] = $this->generateSomeParts();
         $e = (new Email())->from('me@example.com')->to('you@example.com');
         $e->html($content = 'html content <img src="test.gif">');
         $e->text('text content');
         $e->attach($file);
         $e->attach($image, 'test.gif');
         $fullhtml = new TextPart($content, 'utf-8', 'html');
-        $this->assertEquals(new MixedPart(new AlternativePart($text, $fullhtml), $att, $img), $e->getBody());
+        $this->assertEquals(new MixedPart(new AlternativePart($text, $fullhtml), $filePart, $imagePart), $e->getBody());
+    }
 
+    public function testGenerateBodyWithTextAndHtmlAndAttachedFileAndAttachedImageReferencedViaCid()
+    {
+        [$text, $html, $filePart, $file, $imagePart, $image] = $this->generateSomeParts();
         $e = (new Email())->from('me@example.com')->to('you@example.com');
         $e->html($content = 'html content <img src="cid:test.gif">');
         $e->text('text content');
@@ -332,12 +372,35 @@ class EmailTest extends TestCase
         $this->assertInstanceOf(MixedPart::class, $body);
         $this->assertCount(2, $related = $body->getParts());
         $this->assertInstanceOf(RelatedPart::class, $related[0]);
-        $this->assertEquals($att, $related[1]);
+        $this->assertEquals($filePart, $related[1]);
+        $this->assertCount(2, $parts = $related[0]->getParts());
+        $this->assertInstanceOf(AlternativePart::class, $parts[0]);
+        $generatedHtml = $parts[0]->getParts()[1];
+        $this->assertStringContainsString('cid:'.$parts[1]->getContentId(), $generatedHtml->getBody());
+    }
+
+    public function testGenerateBodyWithTextAndHtmlAndAttachedFileAndAttachedImagePartAsInlineReferencedViaCid()
+    {
+        [$text, $html, $filePart, $file, $imagePart, $image] = $this->generateSomeParts();
+        $e = (new Email())->from('me@example.com')->to('you@example.com');
+        $e->html($content = 'html content <img src="cid:test.gif">');
+        $e->text('text content');
+        $e->attach($file);
+        $e->attachPart((new DataPart($image, 'test.gif'))->asInline());
+        $body = $e->getBody();
+        $this->assertInstanceOf(MixedPart::class, $body);
+        $this->assertCount(2, $related = $body->getParts());
+        $this->assertInstanceOf(RelatedPart::class, $related[0]);
+        $this->assertEquals($filePart, $related[1]);
         $this->assertCount(2, $parts = $related[0]->getParts());
         $this->assertInstanceOf(AlternativePart::class, $parts[0]);
         $generatedHtml = $parts[0]->getParts()[1];
         $this->assertStringContainsString('cid:'.$parts[1]->getContentId(), $generatedHtml->getBody());
+    }
 
+    public function testGenerateBodyWithHtmlAndInlinedImageTwiceReferencedViaCid()
+    {
+        // inline image (twice) referenced in the HTML content
         $content = 'html content <img src="cid:test.gif">';
         $r = fopen('php://memory', 'r+', false);
         fwrite($r, $content);
@@ -346,6 +409,7 @@ class EmailTest extends TestCase
         $e = (new Email())->from('me@example.com')->to('you@example.com');
         $e->html($r);
         // embedding the same image twice results in one image only in the email
+        $image = fopen(__DIR__.'/Fixtures/mimetypes/test.gif', 'r');
         $e->embed($image, 'test.gif');
         $e->embed($image, 'test.gif');
         $body = $e->getBody();
@@ -355,8 +419,19 @@ class EmailTest extends TestCase
         $this->assertStringMatchesFormat('html content <img src=3D"cid:%s@symfony">', $parts[0]->bodyToString());
     }
 
+    private function generateSomeParts(): array
+    {
+        $text = new TextPart('text content');
+        $html = new TextPart('html content', 'utf-8', 'html');
+        $filePart = new DataPart($file = fopen(__DIR__.'/Fixtures/mimetypes/test', 'r'));
+        $imagePart = new DataPart($image = fopen(__DIR__.'/Fixtures/mimetypes/test.gif', 'r'), 'test.gif');
+
+        return [$text, $html, $filePart, $file, $imagePart, $image];
+    }
+
     public function testAttachments()
     {
+        // inline part
         $contents = file_get_contents($name = __DIR__.'/Fixtures/mimetypes/test', 'r');
         $att = new DataPart($file = fopen($name, 'r'), 'test');
         $inline = (new DataPart($contents, 'test'))->asInline();
@@ -365,6 +440,7 @@ class EmailTest extends TestCase
         $e->embed($contents, 'test');
         $this->assertEquals([$att, $inline], $e->getAttachments());
 
+        // inline part from path
         $att = DataPart::fromPath($name, 'test');
         $inline = DataPart::fromPath($name, 'test')->asInline();
         $e = new Email();
@@ -448,11 +524,11 @@ EOF;
             $propertyNormalizer,
         ], [new JsonEncoder()]);
 
-        $serialized = $serializer->serialize($e, 'json');
+        $serialized = $serializer->serialize($e, 'json', [ObjectNormalizer::IGNORED_ATTRIBUTES => ['cachedBody']]);
         $this->assertSame($expectedJson, json_encode(json_decode($serialized), \JSON_PRETTY_PRINT | \JSON_UNESCAPED_SLASHES));
 
         $n = $serializer->deserialize($serialized, Email::class, 'json');
-        $serialized = $serializer->serialize($e, 'json');
+        $serialized = $serializer->serialize($e, 'json', [ObjectNormalizer::IGNORED_ATTRIBUTES => ['cachedBody']]);
         $this->assertSame($expectedJson, json_encode(json_decode($serialized), \JSON_PRETTY_PRINT | \JSON_UNESCAPED_SLASHES));
 
         $n->from('fabien@symfony.com');
@@ -532,4 +608,24 @@ EOF;
         $email->text($contents);
         $this->assertSame($contents, $email->getTextBody());
     }
+
+    public function testBodyCache()
+    {
+        $email = new Email();
+        $email->from('fabien@symfony.com');
+        $email->to('fabien@symfony.com');
+        $email->text('foo');
+        $body1 = $email->getBody();
+        $body2 = $email->getBody();
+        $this->assertSame($body1, $body2, 'The two bodies must reference the same object, so the body cache ensures that the hash for the DKIM signature is unique.');
+
+        $email = new Email();
+        $email->from('fabien@symfony.com');
+        $email->to('fabien@symfony.com');
+        $email->text('foo');
+        $body1 = $email->getBody();
+        $email->html('<b>bar</b>'); // We change a part to reset the body cache.
+        $body2 = $email->getBody();
+        $this->assertNotSame($body1, $body2, 'The two bodies must not reference the same object, so the body cache does not ensure that the hash for the DKIM signature is unique.');
+    }
 }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Mime/Tests/Encoder/Base64EncoderTest.php 5.4.11+dfsg-1/src/Symfony/Component/Mime/Tests/Encoder/Base64EncoderTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Mime/Tests/Encoder/Base64EncoderTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Mime/Tests/Encoder/Base64EncoderTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -97,12 +97,12 @@ class Base64EncoderTest extends TestCase
         'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
 
         $output =
-        'YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQk'.//38
-        'NERUZHSElKS0xNTk9QUVJTVFVWV1hZWjEyMzQ1'."\r\n".//76 *
-        'Njc4OTBhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3'.//38
-        'h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFla'."\r\n".//76 *
-        'MTIzNDU2Nzg5MEFCQ0RFRkdISUpLTE1OT1BRUl'.//38
-        'NUVVZXWFla';                                       //48
+        'YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQk'.// 38
+        'NERUZHSElKS0xNTk9QUVJTVFVWV1hZWjEyMzQ1'."\r\n".// 76 *
+        'Njc4OTBhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3'.// 38
+        'h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFla'."\r\n".// 76 *
+        'MTIzNDU2Nzg5MEFCQ0RFRkdISUpLTE1OT1BRUl'.// 38
+        'NUVVZXWFla';                                       // 48
 
         $encoder = new Base64Encoder();
         $this->assertEquals($output, $encoder->encodeString($input), 'Lines should be no more than 76 characters');
@@ -120,14 +120,14 @@ class Base64EncoderTest extends TestCase
         'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
 
         $output =
-        'YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQk'.//38
-        'NERUZHSElKS0'."\r\n".//50 *
-        'xNTk9QUVJTVFVWV1hZWjEyMzQ1Njc4OTBhYmNk'.//38
-        'ZWZnaGlqa2xt'."\r\n".//50 *
-        'bm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1'.//38
-        'BRUlNUVVZXWF'."\r\n".//50 *
-        'laMTIzNDU2Nzg5MEFCQ0RFRkdISUpLTE1OT1BR'.//38
-        'UlNUVVZXWFla';                                     //50 *
+        'YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQk'.// 38
+        'NERUZHSElKS0'."\r\n".// 50 *
+        'xNTk9QUVJTVFVWV1hZWjEyMzQ1Njc4OTBhYmNk'.// 38
+        'ZWZnaGlqa2xt'."\r\n".// 50 *
+        'bm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1'.// 38
+        'BRUlNUVVZXWF'."\r\n".// 50 *
+        'laMTIzNDU2Nzg5MEFCQ0RFRkdISUpLTE1OT1BR'.// 38
+        'UlNUVVZXWFla';                                     // 50 *
 
         $encoder = new Base64Encoder();
         $this->assertEquals($output, $encoder->encodeString($input, 'utf-8', 0, 50), 'Lines should be no more than 100 characters');
@@ -145,12 +145,12 @@ class Base64EncoderTest extends TestCase
         'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
 
         $output =
-        'YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQk'.//38
-        'NERUZHSElKS0xNTk9QU'."\r\n".//57 *
-        'VJTVFVWV1hZWjEyMzQ1Njc4OTBhYmNkZWZnaGl'.//38
-        'qa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLT'."\r\n".//76 *
-        'E1OT1BRUlNUVVZXWFlaMTIzNDU2Nzg5MEFCQ0R'.//38
-        'FRkdISUpLTE1OT1BRUlNUVVZXWFla';                    //67
+        'YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQk'.// 38
+        'NERUZHSElKS0xNTk9QU'."\r\n".// 57 *
+        'VJTVFVWV1hZWjEyMzQ1Njc4OTBhYmNkZWZnaGl'.// 38
+        'qa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLT'."\r\n".// 76 *
+        'E1OT1BRUlNUVVZXWFlaMTIzNDU2Nzg5MEFCQ0R'.// 38
+        'FRkdISUpLTE1OT1BRUlNUVVZXWFla';                    // 67
 
         $encoder = new Base64Encoder();
         $this->assertEquals($output, $encoder->encodeString($input, 'utf-8', 19), 'First line offset is 19 so first line should be 57 chars long');
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Mime/Tests/Header/HeadersTest.php 5.4.11+dfsg-1/src/Symfony/Component/Mime/Tests/Header/HeadersTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Mime/Tests/Header/HeadersTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Mime/Tests/Header/HeadersTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -290,7 +290,7 @@ class HeadersTest extends TestCase
     public function testReferencesAcceptsNonIdentifierValues()
     {
         $headers = new Headers();
-        $headers->addTextHeader('References' , 'foobar');
+        $headers->addTextHeader('References', 'foobar');
         $this->assertEquals('foobar', $headers->get('References')->getBody());
     }
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Mime/Tests/Header/MailboxListHeaderTest.php 5.4.11+dfsg-1/src/Symfony/Component/Mime/Tests/Header/MailboxListHeaderTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Mime/Tests/Header/MailboxListHeaderTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Mime/Tests/Header/MailboxListHeaderTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -49,6 +49,12 @@ class MailboxListHeaderTest extends Test
         $this->assertEquals(['"Chris Corbyn, \\\\escaped\\\\" <chris@swiftmailer.org>'], $header->getAddressStrings());
     }
 
+    public function testParenthesesInNameAreQuoted()
+    {
+        $header = new MailboxListHeader('From', [new Address('j.doe@example.com', 'J Doe (ACME)')]);
+        $this->assertEquals(['"J Doe (ACME)" <j.doe@example.com>'], $header->getAddressStrings());
+    }
+
     public function testUtf8CharsInDomainAreIdnEncoded()
     {
         $header = new MailboxListHeader('From', [new Address('chris@swïftmailer.org', 'Chris Corbyn')]);
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Mime/Tests/Header/UnstructuredHeaderTest.php 5.4.11+dfsg-1/src/Symfony/Component/Mime/Tests/Header/UnstructuredHeaderTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Mime/Tests/Header/UnstructuredHeaderTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Mime/Tests/Header/UnstructuredHeaderTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -61,7 +61,7 @@ class UnstructuredHeaderTest extends Tes
         */
         $this->assertEquals(
             'X-Custom-Header: The quick brown fox jumped over the fence, he was a'.
-            ' very'."\r\n".//Folding
+            ' very'."\r\n".// Folding
             ' very scary brown fox with a bushy tail',
             $header->toString(), '%s: The header should have been folded at 76th char'
         );
@@ -149,10 +149,10 @@ class UnstructuredHeaderTest extends Tes
 
         $nonAsciiChar = pack('C', 0x8F);
 
-        //Note that multi-line headers begin with LWSP which makes 75 + 1 = 76
-        //Note also that =?utf-8?q??= is 12 chars which makes 75 - 12 = 63
+        // Note that multi-line headers begin with LWSP which makes 75 + 1 = 76
+        // Note also that =?utf-8?q??= is 12 chars which makes 75 - 12 = 63
 
-        //* X-Test: is 8 chars
+        // * X-Test: is 8 chars
         $header = new UnstructuredHeader('X-Test', $nonAsciiChar);
         $header->setCharset('iso-8859-1');
         $this->assertEquals('X-Test: =?'.$header->getCharset().'?Q?=8F?=', $header->toString());
@@ -169,7 +169,7 @@ class UnstructuredHeaderTest extends Tes
         // Note that multi-line headers begin with LWSP which makes 75 + 1 = 76
         // Note also that =?utf-8?q??= is 12 chars which makes 75 - 12 = 63
 
-        //* X-Test: is 8 chars
+        // * X-Test: is 8 chars
         $header = new UnstructuredHeader('X-Test', pack('C', 0x8F).'line_one_here'."\r\n".'line_two_here');
         $header->setCharset('iso-8859-1');
         $this->assertEquals('X-Test: =?'.$header->getCharset().'?Q?=8Fline=5Fone=5Fhere?='."\r\n".' =?'.$header->getCharset().'?Q?line=5Ftwo=5Fhere?=', $header->toString());
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Mime/Tests/MessageConverterTest.php 5.4.11+dfsg-1/src/Symfony/Component/Mime/Tests/MessageConverterTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Mime/Tests/MessageConverterTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Mime/Tests/MessageConverterTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -76,6 +76,12 @@ class MessageConverterTest extends TestC
             $expected->html('HTML content');
             $converted->html('HTML content');
         }
+
+        $r = new \ReflectionProperty($expected, 'cachedBody');
+        $r->setAccessible(true);
+        $r->setValue($expected, null);
+        $r->setValue($converted, null);
+
         $this->assertEquals($expected, $converted);
     }
 }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Notifier/Bridge/MicrosoftTeams/Tests/MicrosoftTeamsOptionsTest.php 5.4.11+dfsg-1/src/Symfony/Component/Notifier/Bridge/MicrosoftTeams/Tests/MicrosoftTeamsOptionsTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Notifier/Bridge/MicrosoftTeams/Tests/MicrosoftTeamsOptionsTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Notifier/Bridge/MicrosoftTeams/Tests/MicrosoftTeamsOptionsTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -32,7 +32,7 @@ final class MicrosoftTeamsOptionsTest ex
                 '@type' => 'MessageCard',
                 '@context' => 'https://schema.org/extensions',
             ],
-            (MicrosoftTeamsOptions::fromNotification($notification))->toArray()
+            MicrosoftTeamsOptions::fromNotification($notification)->toArray()
         );
     }
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Notifier/Bridge/Mobyt/Tests/MobytOptionsTest.php 5.4.11+dfsg-1/src/Symfony/Component/Notifier/Bridge/Mobyt/Tests/MobytOptionsTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Notifier/Bridge/Mobyt/Tests/MobytOptionsTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Notifier/Bridge/Mobyt/Tests/MobytOptionsTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -25,7 +25,7 @@ final class MobytOptionsTest extends Tes
     {
         $notification = (new Notification('Foo'))->importance($importance);
 
-        $options = (MobytOptions::fromNotification($notification))->toArray();
+        $options = MobytOptions::fromNotification($notification)->toArray();
 
         $this->assertSame($expectedMessageType, $options['message_type']);
     }
@@ -45,7 +45,7 @@ final class MobytOptionsTest extends Tes
     {
         $notification = (new Notification('Foo'))->importance('Bar');
 
-        $options = (MobytOptions::fromNotification($notification))->toArray();
+        $options = MobytOptions::fromNotification($notification)->toArray();
 
         $this->assertSame(MobytOptions::MESSAGE_TYPE_QUALITY_HIGH, $options['message_type']);
     }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Notifier/Bridge/Slack/Tests/SlackOptionsTest.php 5.4.11+dfsg-1/src/Symfony/Component/Notifier/Bridge/Slack/Tests/SlackOptionsTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Notifier/Bridge/Slack/Tests/SlackOptionsTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Notifier/Bridge/Slack/Tests/SlackOptionsTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -86,9 +86,9 @@ final class SlackOptionsTest extends Tes
     public function getRecipientIdProvider(): iterable
     {
         yield [null, new SlackOptions()];
-        yield [null, (new SlackOptions(['recipient_id' => null]))];
+        yield [null, new SlackOptions(['recipient_id' => null])];
         yield ['foo', (new SlackOptions())->recipient('foo')];
-        yield ['foo', (new SlackOptions(['recipient_id' => 'foo']))];
+        yield ['foo', new SlackOptions(['recipient_id' => 'foo'])];
     }
 
     /**
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/OptionsResolver/OptionsResolver.php 5.4.11+dfsg-1/src/Symfony/Component/OptionsResolver/OptionsResolver.php
--- 5.4.10+dfsg-1/src/Symfony/Component/OptionsResolver/OptionsResolver.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/OptionsResolver/OptionsResolver.php	2022-07-29 12:30:51.000000000 +0000
@@ -437,7 +437,7 @@ class OptionsResolver implements Options
      *
      * @return $this
      */
-    public function setDeprecated(string $option/*, string $package, string $version, $message = 'The option "%name%" is deprecated.' */): self
+    public function setDeprecated(string $option/* , string $package, string $version, $message = 'The option "%name%" is deprecated.' */): self
     {
         if ($this->locked) {
             throw new AccessException('Options cannot be deprecated from a lazy option or normalizer.');
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/PasswordHasher/Tests/Command/UserPasswordHashCommandTest.php 5.4.11+dfsg-1/src/Symfony/Component/PasswordHasher/Tests/Command/UserPasswordHashCommandTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/PasswordHasher/Tests/Command/UserPasswordHashCommandTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/PasswordHasher/Tests/Command/UserPasswordHashCommandTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -264,7 +264,7 @@ class UserPasswordHashCommandTest extend
   [2] Custom\Class\Test\User
   [3] Symfony\Component\Security\Core\User\InMemoryUser
 EOTXT
-        , $this->passwordHasherCommandTester->getDisplay(true));
+            , $this->passwordHasherCommandTester->getDisplay(true));
     }
 
     public function testNonInteractiveEncodePasswordUsesFirstUserClass()
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Process/ExecutableFinder.php 5.4.11+dfsg-1/src/Symfony/Component/Process/ExecutableFinder.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Process/ExecutableFinder.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Process/ExecutableFinder.php	2022-07-29 12:30:51.000000000 +0000
@@ -48,8 +48,8 @@ class ExecutableFinder
      */
     public function find(string $name, string $default = null, array $extraDirs = [])
     {
-        if (ini_get('open_basedir')) {
-            $searchPath = array_merge(explode(\PATH_SEPARATOR, ini_get('open_basedir')), $extraDirs);
+        if (\ini_get('open_basedir')) {
+            $searchPath = array_merge(explode(\PATH_SEPARATOR, \ini_get('open_basedir')), $extraDirs);
             $dirs = [];
             foreach ($searchPath as $path) {
                 // Silencing against https://bugs.php.net/69240
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Process/Pipes/AbstractPipes.php 5.4.11+dfsg-1/src/Symfony/Component/Process/Pipes/AbstractPipes.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Process/Pipes/AbstractPipes.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Process/Pipes/AbstractPipes.php	2022-07-29 12:30:51.000000000 +0000
@@ -104,7 +104,7 @@ abstract class AbstractPipes implements
                 stream_set_blocking($input, 0);
             } elseif (!isset($this->inputBuffer[0])) {
                 if (!\is_string($input)) {
-                    if (!is_scalar($input)) {
+                    if (!\is_scalar($input)) {
                         throw new InvalidArgumentException(sprintf('"%s" yielded a value of type "%s", but only scalars and stream resources are supported.', get_debug_type($this->input), get_debug_type($input)));
                     }
                     $input = (string) $input;
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Process/ProcessUtils.php 5.4.11+dfsg-1/src/Symfony/Component/Process/ProcessUtils.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Process/ProcessUtils.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Process/ProcessUtils.php	2022-07-29 12:30:51.000000000 +0000
@@ -48,7 +48,7 @@ class ProcessUtils
             if (\is_string($input)) {
                 return $input;
             }
-            if (is_scalar($input)) {
+            if (\is_scalar($input)) {
                 return (string) $input;
             }
             if ($input instanceof Process) {
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Process/Tests/ExecutableFinderTest.php 5.4.11+dfsg-1/src/Symfony/Component/Process/Tests/ExecutableFinderTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Process/Tests/ExecutableFinderTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Process/Tests/ExecutableFinderTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -37,7 +37,7 @@ class ExecutableFinderTest extends TestC
 
     public function testFind()
     {
-        if (ini_get('open_basedir')) {
+        if (\ini_get('open_basedir')) {
             $this->markTestSkipped('Cannot test when open_basedir is set');
         }
 
@@ -51,7 +51,7 @@ class ExecutableFinderTest extends TestC
 
     public function testFindWithDefault()
     {
-        if (ini_get('open_basedir')) {
+        if (\ini_get('open_basedir')) {
             $this->markTestSkipped('Cannot test when open_basedir is set');
         }
 
@@ -67,7 +67,7 @@ class ExecutableFinderTest extends TestC
 
     public function testFindWithNullAsDefault()
     {
-        if (ini_get('open_basedir')) {
+        if (\ini_get('open_basedir')) {
             $this->markTestSkipped('Cannot test when open_basedir is set');
         }
 
@@ -82,7 +82,7 @@ class ExecutableFinderTest extends TestC
 
     public function testFindWithExtraDirs()
     {
-        if (ini_get('open_basedir')) {
+        if (\ini_get('open_basedir')) {
             $this->markTestSkipped('Cannot test when open_basedir is set');
         }
 
@@ -105,7 +105,7 @@ class ExecutableFinderTest extends TestC
             $this->markTestSkipped('Cannot run test on windows');
         }
 
-        if (ini_get('open_basedir')) {
+        if (\ini_get('open_basedir')) {
             $this->markTestSkipped('Cannot test when open_basedir is set');
         }
 
@@ -122,7 +122,7 @@ class ExecutableFinderTest extends TestC
      */
     public function testFindProcessInOpenBasedir()
     {
-        if (ini_get('open_basedir')) {
+        if (\ini_get('open_basedir')) {
             $this->markTestSkipped('Cannot test when open_basedir is set');
         }
         if ('\\' === \DIRECTORY_SEPARATOR) {
@@ -140,7 +140,7 @@ class ExecutableFinderTest extends TestC
 
     public function testFindBatchExecutableOnWindows()
     {
-        if (ini_get('open_basedir')) {
+        if (\ini_get('open_basedir')) {
             $this->markTestSkipped('Cannot test when open_basedir is set');
         }
         if ('\\' !== \DIRECTORY_SEPARATOR) {
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Process/Tests/ProcessTest.php 5.4.11+dfsg-1/src/Symfony/Component/Process/Tests/ProcessTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Process/Tests/ProcessTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Process/Tests/ProcessTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -1133,7 +1133,7 @@ class ProcessTest extends TestCase
     public function responsesCodeProvider()
     {
         return [
-            //expected output / getter / code to execute
+            // expected output / getter / code to execute
             // [1,'getExitCode','exit(1);'],
             // [true,'isSuccessful','exit();'],
             ['output', 'getOutput', 'echo \'output\';'],
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/PropertyAccess/PropertyAccessor.php 5.4.11+dfsg-1/src/Symfony/Component/PropertyAccess/PropertyAccessor.php
--- 5.4.10+dfsg-1/src/Symfony/Component/PropertyAccess/PropertyAccessor.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/PropertyAccess/PropertyAccessor.php	2022-07-29 12:30:51.000000000 +0000
@@ -737,7 +737,7 @@ class PropertyAccessor implements Proper
         }
 
         $apcu = new ApcuAdapter($namespace, $defaultLifetime / 5, $version);
-        if ('cli' === \PHP_SAPI && !filter_var(ini_get('apc.enable_cli'), \FILTER_VALIDATE_BOOLEAN)) {
+        if ('cli' === \PHP_SAPI && !filter_var(\ini_get('apc.enable_cli'), \FILTER_VALIDATE_BOOLEAN)) {
             $apcu->setLogger(new NullLogger());
         } elseif (null !== $logger) {
             $apcu->setLogger($logger);
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/PropertyAccess/Tests/PropertyAccessorTest.php 5.4.11+dfsg-1/src/Symfony/Component/PropertyAccess/Tests/PropertyAccessorTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/PropertyAccess/Tests/PropertyAccessorTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/PropertyAccess/Tests/PropertyAccessorTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -930,7 +930,7 @@ class PropertyAccessorTest extends TestC
     {
         $object = new TestSingularAndPluralProps();
 
-        $this->propertyAccessor->isWritable($object, 'email'); //cache access info
+        $this->propertyAccessor->isWritable($object, 'email'); // cache access info
         $this->propertyAccessor->setValue($object, 'email', 'test@email.com');
 
         self::assertEquals('test@email.com', $object->getEmail());
@@ -941,7 +941,7 @@ class PropertyAccessorTest extends TestC
     {
         $object = new TestSingularAndPluralProps();
 
-        $this->propertyAccessor->isWritable($object, 'emails'); //cache access info
+        $this->propertyAccessor->isWritable($object, 'emails'); // cache access info
         $this->propertyAccessor->setValue($object, 'emails', ['test@email.com']);
 
         $this->assertEquals(['test@email.com'], $object->getEmails());
@@ -952,7 +952,7 @@ class PropertyAccessorTest extends TestC
     {
         $object = new TestPluralAdderRemoverAndSetter();
 
-        $this->propertyAccessor->isWritable($object, 'emails'); //cache access info
+        $this->propertyAccessor->isWritable($object, 'emails'); // cache access info
         $this->propertyAccessor->setValue($object, 'emails', ['test@email.com']);
 
         $this->assertEquals(['test@email.com'], $object->getEmails());
@@ -962,7 +962,7 @@ class PropertyAccessorTest extends TestC
     {
         $object = new TestPluralAdderRemoverAndSetterSameSingularAndPlural();
 
-        $this->propertyAccessor->isWritable($object, 'aircraft'); //cache access info
+        $this->propertyAccessor->isWritable($object, 'aircraft'); // cache access info
         $this->propertyAccessor->setValue($object, 'aircraft', ['aeroplane']);
 
         $this->assertEquals(['aeroplane'], $object->getAircraft());
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/PropertyInfo/Extractor/ReflectionExtractor.php 5.4.11+dfsg-1/src/Symfony/Component/PropertyInfo/Extractor/ReflectionExtractor.php
--- 5.4.10+dfsg-1/src/Symfony/Component/PropertyInfo/Extractor/ReflectionExtractor.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/PropertyInfo/Extractor/ReflectionExtractor.php	2022-07-29 12:30:51.000000000 +0000
@@ -553,6 +553,11 @@ class ReflectionExtractor implements Pro
         $nullable = $reflectionType->allowsNull();
 
         foreach (($reflectionType instanceof \ReflectionUnionType || $reflectionType instanceof \ReflectionIntersectionType) ? $reflectionType->getTypes() : [$reflectionType] as $type) {
+            if (!$type instanceof \ReflectionNamedType) {
+                // Nested composite types are not supported yet.
+                return [];
+            }
+
             $phpTypeOrClass = $type->getName();
             if ('null' === $phpTypeOrClass || 'mixed' === $phpTypeOrClass || 'never' === $phpTypeOrClass) {
                 continue;
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/PropertyInfo/Tests/Extractor/ReflectionExtractorTest.php 5.4.11+dfsg-1/src/Symfony/Component/PropertyInfo/Tests/Extractor/ReflectionExtractorTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/PropertyInfo/Tests/Extractor/ReflectionExtractorTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/PropertyInfo/Tests/Extractor/ReflectionExtractorTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -314,10 +314,14 @@ class ReflectionExtractorTest extends Te
         $this->assertEquals($type, $this->extractor->getTypes('Symfony\Component\PropertyInfo\Tests\Fixtures\Php82Dummy', $property, []));
     }
 
-    public function php82TypesProvider()
+    public function php82TypesProvider(): iterable
     {
         yield ['nil', null];
         yield ['false', [new Type(Type::BUILTIN_TYPE_FALSE)]];
+
+        // Nesting intersection and union types is not supported yet,
+        // but we should make sure this kind of composite types does not crash the extractor.
+        yield ['someCollection', null];
     }
 
     /**
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/PropertyInfo/Tests/Fixtures/Php82Dummy.php 5.4.11+dfsg-1/src/Symfony/Component/PropertyInfo/Tests/Fixtures/Php82Dummy.php
--- 5.4.10+dfsg-1/src/Symfony/Component/PropertyInfo/Tests/Fixtures/Php82Dummy.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/PropertyInfo/Tests/Fixtures/Php82Dummy.php	2022-07-29 12:30:51.000000000 +0000
@@ -16,4 +16,6 @@ class Php82Dummy
     public null $nil = null;
 
     public false $false = false;
+
+    public (\Traversable&\Countable)|null $someCollection = null;
 }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/RateLimiter/Util/TimeUtil.php 5.4.11+dfsg-1/src/Symfony/Component/RateLimiter/Util/TimeUtil.php
--- 5.4.10+dfsg-1/src/Symfony/Component/RateLimiter/Util/TimeUtil.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/RateLimiter/Util/TimeUtil.php	2022-07-29 12:30:51.000000000 +0000
@@ -22,6 +22,6 @@ final class TimeUtil
     {
         $now = new \DateTimeImmutable();
 
-        return ($now->add($interval))->getTimestamp() - $now->getTimestamp();
+        return $now->add($interval)->getTimestamp() - $now->getTimestamp();
     }
 }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Routing/Loader/XmlFileLoader.php 5.4.11+dfsg-1/src/Symfony/Component/Routing/Loader/XmlFileLoader.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Routing/Loader/XmlFileLoader.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Routing/Loader/XmlFileLoader.php	2022-07-29 12:30:51.000000000 +0000
@@ -195,7 +195,7 @@ class XmlFileLoader extends FileLoader
         $this->setCurrentDir(\dirname($path));
 
         /** @var RouteCollection[] $imported */
-        $imported = $this->import($resource, ('' !== $type ? $type : null), false, $file, $exclude) ?: [];
+        $imported = $this->import($resource, '' !== $type ? $type : null, false, $file, $exclude) ?: [];
 
         if (!\is_array($imported)) {
             $imported = [$imported];
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Routing/RouteCollection.php 5.4.11+dfsg-1/src/Symfony/Component/Routing/RouteCollection.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Routing/RouteCollection.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Routing/RouteCollection.php	2022-07-29 12:30:51.000000000 +0000
@@ -89,7 +89,7 @@ class RouteCollection implements \Iterat
     /**
      * @param int $priority
      */
-    public function add(string $name, Route $route/*, int $priority = 0*/)
+    public function add(string $name, Route $route/* , int $priority = 0 */)
     {
         if (\func_num_args() < 3 && __CLASS__ !== static::class && __CLASS__ !== (new \ReflectionMethod($this, __FUNCTION__))->getDeclaringClass()->getName() && !$this instanceof \PHPUnit\Framework\MockObject\MockObject && !$this instanceof \Prophecy\Prophecy\ProphecySubjectInterface && !$this instanceof \Mockery\MockInterface) {
             trigger_deprecation('symfony/routing', '5.1', 'The "%s()" method will have a new "int $priority = 0" argument in version 6.0, not defining it is deprecated.', __METHOD__);
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Routing/Router.php 5.4.11+dfsg-1/src/Symfony/Component/Routing/Router.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Routing/Router.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Routing/Router.php	2022-07-29 12:30:51.000000000 +0000
@@ -376,7 +376,7 @@ class Router implements RouterInterface,
 
     private static function getCompiledRoutes(string $path): array
     {
-        if ([] === self::$cache && \function_exists('opcache_invalidate') && filter_var(ini_get('opcache.enable'), \FILTER_VALIDATE_BOOLEAN) && (!\in_array(\PHP_SAPI, ['cli', 'phpdbg'], true) || filter_var(ini_get('opcache.enable_cli'), \FILTER_VALIDATE_BOOLEAN))) {
+        if ([] === self::$cache && \function_exists('opcache_invalidate') && filter_var(\ini_get('opcache.enable'), \FILTER_VALIDATE_BOOLEAN) && (!\in_array(\PHP_SAPI, ['cli', 'phpdbg'], true) || filter_var(\ini_get('opcache.enable_cli'), \FILTER_VALIDATE_BOOLEAN))) {
             self::$cache = null;
         }
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Routing/Tests/Generator/Dumper/CompiledUrlGeneratorDumperTest.php 5.4.11+dfsg-1/src/Symfony/Component/Routing/Tests/Generator/Dumper/CompiledUrlGeneratorDumperTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Routing/Tests/Generator/Dumper/CompiledUrlGeneratorDumperTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Routing/Tests/Generator/Dumper/CompiledUrlGeneratorDumperTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -91,7 +91,7 @@ class CompiledUrlGeneratorDumperTest ext
 
     public function testDumpWithSimpleLocalizedRoutes()
     {
-        $this->routeCollection->add('test', (new Route('/foo')));
+        $this->routeCollection->add('test', new Route('/foo'));
         $this->routeCollection->add('test.en', (new Route('/testing/is/fun'))->setDefault('_locale', 'en')->setDefault('_canonical_route', 'test')->setRequirement('_locale', 'en'));
         $this->routeCollection->add('test.nl', (new Route('/testen/is/leuk'))->setDefault('_locale', 'nl')->setDefault('_canonical_route', 'test')->setRequirement('_locale', 'nl'));
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Routing/Tests/Generator/UrlGeneratorTest.php 5.4.11+dfsg-1/src/Symfony/Component/Routing/Tests/Generator/UrlGeneratorTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Routing/Tests/Generator/UrlGeneratorTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Routing/Tests/Generator/UrlGeneratorTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -740,7 +740,7 @@ class UrlGeneratorTest extends TestCase
             ['author' => 'bernhard', 'article' => 'forms-are-great'], UrlGeneratorInterface::RELATIVE_PATH)
         );
         $this->assertSame('https://example.com/app.php/bernhard/blog', $generator->generate('scheme',
-                ['author' => 'bernhard'], UrlGeneratorInterface::RELATIVE_PATH)
+            ['author' => 'bernhard'], UrlGeneratorInterface::RELATIVE_PATH)
         );
         $this->assertSame('../../about', $generator->generate('unrelated',
             [], UrlGeneratorInterface::RELATIVE_PATH)
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Routing/Tests/RouteTest.php 5.4.11+dfsg-1/src/Symfony/Component/Routing/Tests/RouteTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Routing/Tests/RouteTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Routing/Tests/RouteTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -357,7 +357,7 @@ class RouteTest extends TestCase
     public function provideNonLocalizedRoutes()
     {
         return [
-            [(new Route('/foo'))],
+            [new Route('/foo')],
             [(new Route('/foo'))->setDefault('_locale', 'en')],
             [(new Route('/foo'))->setDefault('_locale', 'en')->setDefault('_canonical_route', 'foo')],
             [(new Route('/foo'))->setDefault('_locale', 'en')->setDefault('_canonical_route', 'foo')->setRequirement('_locale', 'foobar')],
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Runtime/Internal/BasicErrorHandler.php 5.4.11+dfsg-1/src/Symfony/Component/Runtime/Internal/BasicErrorHandler.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Runtime/Internal/BasicErrorHandler.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Runtime/Internal/BasicErrorHandler.php	2022-07-29 12:30:51.000000000 +0000
@@ -24,12 +24,12 @@ class BasicErrorHandler
 
         if (!\in_array(\PHP_SAPI, ['cli', 'phpdbg'], true)) {
             ini_set('display_errors', $debug);
-        } elseif (!filter_var(ini_get('log_errors'), \FILTER_VALIDATE_BOOLEAN) || ini_get('error_log')) {
+        } elseif (!filter_var(\ini_get('log_errors'), \FILTER_VALIDATE_BOOLEAN) || \ini_get('error_log')) {
             // CLI - display errors only if they're not already logged to STDERR
             ini_set('display_errors', 1);
         }
 
-        if (0 <= ini_get('zend.assertions')) {
+        if (0 <= \ini_get('zend.assertions')) {
             ini_set('zend.assertions', 1);
             ini_set('assert.active', $debug);
             ini_set('assert.warning', 0);
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Security/Core/Authentication/AuthenticationTrustResolver.php 5.4.11+dfsg-1/src/Symfony/Component/Security/Core/Authentication/AuthenticationTrustResolver.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Security/Core/Authentication/AuthenticationTrustResolver.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Security/Core/Authentication/AuthenticationTrustResolver.php	2022-07-29 12:30:51.000000000 +0000
@@ -32,7 +32,7 @@ class AuthenticationTrustResolver implem
     /**
      * {@inheritdoc}
      */
-    public function isAnonymous(TokenInterface $token = null/*, $deprecation = true*/)
+    public function isAnonymous(TokenInterface $token = null/* , $deprecation = true */)
     {
         if (1 === \func_num_args() || false !== func_get_arg(1)) {
             trigger_deprecation('symfony/security-core', '5.4', 'The "%s()" method is deprecated, use "isAuthenticated()" or "isFullFledged()" if you want to check if the request is (fully) authenticated.', __METHOD__);
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Security/Core/Authentication/Token/PreAuthenticatedToken.php 5.4.11+dfsg-1/src/Symfony/Component/Security/Core/Authentication/Token/PreAuthenticatedToken.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Security/Core/Authentication/Token/PreAuthenticatedToken.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Security/Core/Authentication/Token/PreAuthenticatedToken.php	2022-07-29 12:30:51.000000000 +0000
@@ -28,7 +28,7 @@ class PreAuthenticatedToken extends Abst
      * @param string        $firewallName
      * @param string[]      $roles
      */
-    public function __construct($user, /*string*/ $firewallName, /*array*/ $roles = [])
+    public function __construct($user, /* string */ $firewallName, /* array */ $roles = [])
     {
         if (\is_string($roles)) {
             trigger_deprecation('symfony/security-core', '5.4', 'Argument $credentials of "%s()" is deprecated.', __METHOD__);
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Security/Core/Authentication/Token/SwitchUserToken.php 5.4.11+dfsg-1/src/Symfony/Component/Security/Core/Authentication/Token/SwitchUserToken.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Security/Core/Authentication/Token/SwitchUserToken.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Security/Core/Authentication/Token/SwitchUserToken.php	2022-07-29 12:30:51.000000000 +0000
@@ -29,7 +29,7 @@ class SwitchUserToken extends UsernamePa
      *
      * @throws \InvalidArgumentException
      */
-    public function __construct($user, /*string*/ $firewallName, /*array*/ $roles, /*TokenInterface*/ $originalToken, /*string*/ $originatedFromUri = null)
+    public function __construct($user, /* string */ $firewallName, /* array */ $roles, /* TokenInterface */ $originalToken, /* string */ $originatedFromUri = null)
     {
         if (\is_string($roles)) {
             // @deprecated since 5.4, deprecation is triggered by UsernamePasswordToken::__construct()
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Security/Core/Authentication/Token/UsernamePasswordToken.php 5.4.11+dfsg-1/src/Symfony/Component/Security/Core/Authentication/Token/UsernamePasswordToken.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Security/Core/Authentication/Token/UsernamePasswordToken.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Security/Core/Authentication/Token/UsernamePasswordToken.php	2022-07-29 12:30:51.000000000 +0000
@@ -29,7 +29,7 @@ class UsernamePasswordToken extends Abst
      *
      * @throws \InvalidArgumentException
      */
-    public function __construct($user, /*string*/ $firewallName, /*array*/ $roles = [])
+    public function __construct($user, /* string */ $firewallName, /* array */ $roles = [])
     {
         if (\is_string($roles)) {
             trigger_deprecation('symfony/security-core', '5.4', 'The $credentials argument of "%s" is deprecated.', static::class.'::__construct');
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Security/Core/Authorization/AccessDecisionManager.php 5.4.11+dfsg-1/src/Symfony/Component/Security/Core/Authorization/AccessDecisionManager.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Security/Core/Authorization/AccessDecisionManager.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Security/Core/Authorization/AccessDecisionManager.php	2022-07-29 12:30:51.000000000 +0000
@@ -89,7 +89,7 @@ class AccessDecisionManager implements A
      *
      * {@inheritdoc}
      */
-    public function decide(TokenInterface $token, array $attributes, $object = null/*, bool $allowMultipleAttributes = false*/)
+    public function decide(TokenInterface $token, array $attributes, $object = null/* , bool $allowMultipleAttributes = false */)
     {
         $allowMultipleAttributes = 3 < \func_num_args() && func_get_arg(3);
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Security/Core/Authorization/AuthorizationChecker.php 5.4.11+dfsg-1/src/Symfony/Component/Security/Core/Authorization/AuthorizationChecker.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Security/Core/Authorization/AuthorizationChecker.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Security/Core/Authorization/AuthorizationChecker.php	2022-07-29 12:30:51.000000000 +0000
@@ -32,7 +32,7 @@ class AuthorizationChecker implements Au
     private $alwaysAuthenticate;
     private $exceptionOnNoToken;
 
-    public function __construct(TokenStorageInterface $tokenStorage, /*AccessDecisionManagerInterface*/ $accessDecisionManager, /*bool*/ $alwaysAuthenticate = false, /*bool*/ $exceptionOnNoToken = true)
+    public function __construct(TokenStorageInterface $tokenStorage, /* AccessDecisionManagerInterface */ $accessDecisionManager, /* bool */ $alwaysAuthenticate = false, /* bool */ $exceptionOnNoToken = true)
     {
         if ($accessDecisionManager instanceof AuthenticationManagerInterface) {
             trigger_deprecation('symfony/security-core', '5.4', 'The $autenticationManager argument of "%s" is deprecated.', __METHOD__);
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Security/Core/Authorization/TraceableAccessDecisionManager.php 5.4.11+dfsg-1/src/Symfony/Component/Security/Core/Authorization/TraceableAccessDecisionManager.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Security/Core/Authorization/TraceableAccessDecisionManager.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Security/Core/Authorization/TraceableAccessDecisionManager.php	2022-07-29 12:30:51.000000000 +0000
@@ -51,7 +51,7 @@ class TraceableAccessDecisionManager imp
      *
      * @param bool $allowMultipleAttributes Whether to allow passing multiple values to the $attributes array
      */
-    public function decide(TokenInterface $token, array $attributes, $object = null/*, bool $allowMultipleAttributes = false*/): bool
+    public function decide(TokenInterface $token, array $attributes, $object = null/* , bool $allowMultipleAttributes = false */): bool
     {
         $currentDecisionLog = [
             'attributes' => $attributes,
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Security/Core/Signature/SignatureHasher.php 5.4.11+dfsg-1/src/Symfony/Component/Security/Core/Signature/SignatureHasher.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Security/Core/Signature/SignatureHasher.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Security/Core/Signature/SignatureHasher.php	2022-07-29 12:30:51.000000000 +0000
@@ -87,7 +87,7 @@ class SignatureHasher
                 $value = $value->format('c');
             }
 
-            if (!is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) {
+            if (!\is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) {
                 throw new \InvalidArgumentException(sprintf('The property path "%s" on the user object "%s" must return a value that can be cast to a string, but "%s" was returned.', $property, \get_class($user), get_debug_type($value)));
             }
             $signatureFields[] = base64_encode($value);
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Security/Core/Tests/Authorization/AccessDecisionManagerTest.php 5.4.11+dfsg-1/src/Symfony/Component/Security/Core/Tests/Authorization/AccessDecisionManagerTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Security/Core/Tests/Authorization/AccessDecisionManagerTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Security/Core/Tests/Authorization/AccessDecisionManagerTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -96,15 +96,15 @@ class AccessDecisionManagerTest extends
                 $i = 0;
                 foreach ($results as $result) {
                     switch ($i++) {
-                       case 0:
-                           Assert::assertSame(VoterInterface::ACCESS_DENIED, $result);
+                        case 0:
+                            Assert::assertSame(VoterInterface::ACCESS_DENIED, $result);
 
-                           break;
-                       case 1:
-                           Assert::assertSame(VoterInterface::ACCESS_GRANTED, $result);
+                            break;
+                        case 1:
+                            Assert::assertSame(VoterInterface::ACCESS_GRANTED, $result);
 
-                           return true;
-                   }
+                            return true;
+                    }
                 }
 
                 return false;
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Security/Core/Tests/Authorization/Voter/AuthenticatedVoterTest.php 5.4.11+dfsg-1/src/Symfony/Component/Security/Core/Tests/Authorization/Voter/AuthenticatedVoterTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Security/Core/Tests/Authorization/Voter/AuthenticatedVoterTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Security/Core/Tests/Authorization/Voter/AuthenticatedVoterTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -114,7 +114,7 @@ class AuthenticatedVoterTest extends Tes
 
         $this->assertTrue($voter->supportsType(get_debug_type('foo')));
         $this->assertTrue($voter->supportsType(get_debug_type(null)));
-        $this->assertTrue($voter->supportsType(get_debug_type(new \StdClass())));
+        $this->assertTrue($voter->supportsType(get_debug_type(new \stdClass())));
     }
 
     protected function getToken($authenticated)
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Security/Core/Tests/Authorization/Voter/RoleVoterTest.php 5.4.11+dfsg-1/src/Symfony/Component/Security/Core/Tests/Authorization/Voter/RoleVoterTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Security/Core/Tests/Authorization/Voter/RoleVoterTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Security/Core/Tests/Authorization/Voter/RoleVoterTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -86,7 +86,7 @@ class RoleVoterTest extends TestCase
 
         $this->assertTrue($voter->supportsType(get_debug_type('foo')));
         $this->assertTrue($voter->supportsType(get_debug_type(null)));
-        $this->assertTrue($voter->supportsType(get_debug_type(new \StdClass())));
+        $this->assertTrue($voter->supportsType(get_debug_type(new \stdClass())));
     }
 
     protected function getTokenWithRoleNames(array $roles)
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Security/Core/User/InMemoryUserProvider.php 5.4.11+dfsg-1/src/Symfony/Component/Security/Core/User/InMemoryUserProvider.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Security/Core/User/InMemoryUserProvider.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Security/Core/User/InMemoryUserProvider.php	2022-07-29 12:30:51.000000000 +0000
@@ -130,7 +130,7 @@ class InMemoryUserProvider implements Us
      *
      * @throws UserNotFoundException if user whose given username does not exist
      */
-    private function getUser(string $username)/*: InMemoryUser */
+    private function getUser(string $username)/* : InMemoryUser */
     {
         if (!isset($this->users[strtolower($username)])) {
             $ex = new UserNotFoundException(sprintf('Username "%s" does not exist.', $username));
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Security/Csrf/TokenStorage/SessionTokenStorage.php 5.4.11+dfsg-1/src/Symfony/Component/Security/Csrf/TokenStorage/SessionTokenStorage.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Security/Csrf/TokenStorage/SessionTokenStorage.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Security/Csrf/TokenStorage/SessionTokenStorage.php	2022-07-29 12:30:51.000000000 +0000
@@ -44,7 +44,7 @@ class SessionTokenStorage implements Cle
      * @param RequestStack $requestStack
      * @param string       $namespace    The namespace under which the token is stored in the requestStack
      */
-    public function __construct(/* RequestStack*/ $requestStack, string $namespace = self::SESSION_NAMESPACE)
+    public function __construct(/* RequestStack */ $requestStack, string $namespace = self::SESSION_NAMESPACE)
     {
         if ($requestStack instanceof SessionInterface) {
             trigger_deprecation('symfony/security-csrf', '5.3', 'Passing a "%s" to "%s" is deprecated, use a "%s" instead.', SessionInterface::class, __CLASS__, RequestStack::class);
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Security/Http/Authentication/DefaultAuthenticationFailureHandler.php 5.4.11+dfsg-1/src/Symfony/Component/Security/Http/Authentication/DefaultAuthenticationFailureHandler.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Security/Http/Authentication/DefaultAuthenticationFailureHandler.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Security/Http/Authentication/DefaultAuthenticationFailureHandler.php	2022-07-29 12:30:51.000000000 +0000
@@ -73,7 +73,7 @@ class DefaultAuthenticationFailureHandle
         $options = $this->options;
         $failureUrl = ParameterBagUtils::getRequestParameterValue($request, $options['failure_path_parameter']);
 
-        if (\is_string($failureUrl) && str_starts_with($failureUrl, '/')) {
+        if (\is_string($failureUrl) && (str_starts_with($failureUrl, '/') || str_starts_with($failureUrl, 'http'))) {
             $options['failure_path'] = $failureUrl;
         } elseif ($this->logger && $failureUrl) {
             $this->logger->debug(sprintf('Ignoring query parameter "%s": not a valid URL.', $options['failure_path_parameter']));
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Security/Http/Authentication/DefaultAuthenticationSuccessHandler.php 5.4.11+dfsg-1/src/Symfony/Component/Security/Http/Authentication/DefaultAuthenticationSuccessHandler.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Security/Http/Authentication/DefaultAuthenticationSuccessHandler.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Security/Http/Authentication/DefaultAuthenticationSuccessHandler.php	2022-07-29 12:30:51.000000000 +0000
@@ -132,7 +132,7 @@ class DefaultAuthenticationSuccessHandle
 
         $targetUrl = ParameterBagUtils::getRequestParameterValue($request, $this->options['target_path_parameter']);
 
-        if (\is_string($targetUrl) && str_starts_with($targetUrl, '/')) {
+        if (\is_string($targetUrl) && (str_starts_with($targetUrl, '/') || str_starts_with($targetUrl, 'http'))) {
             return $targetUrl;
         }
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Security/Http/Authenticator/AuthenticatorInterface.php 5.4.11+dfsg-1/src/Symfony/Component/Security/Http/Authenticator/AuthenticatorInterface.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Security/Http/Authenticator/AuthenticatorInterface.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Security/Http/Authenticator/AuthenticatorInterface.php	2022-07-29 12:30:51.000000000 +0000
@@ -55,7 +55,7 @@ interface AuthenticatorInterface
      *
      * @return Passport
      */
-    public function authenticate(Request $request); /*: Passport;*/
+    public function authenticate(Request $request); /* : Passport; */
 
     /**
      * Create an authenticated token for the given user.
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Security/Http/Firewall/AccessListener.php 5.4.11+dfsg-1/src/Symfony/Component/Security/Http/Firewall/AccessListener.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Security/Http/Firewall/AccessListener.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Security/Http/Firewall/AccessListener.php	2022-07-29 12:30:51.000000000 +0000
@@ -39,7 +39,7 @@ class AccessListener extends AbstractLis
     private $authManager;
     private $exceptionOnNoToken;
 
-    public function __construct(TokenStorageInterface $tokenStorage, AccessDecisionManagerInterface $accessDecisionManager, AccessMapInterface $map, /*bool*/ $exceptionOnNoToken = true)
+    public function __construct(TokenStorageInterface $tokenStorage, AccessDecisionManagerInterface $accessDecisionManager, AccessMapInterface $map, /* bool */ $exceptionOnNoToken = true)
     {
         if ($exceptionOnNoToken instanceof AuthenticationManagerInterface) {
             trigger_deprecation('symfony/security-http', '5.4', 'The $authManager argument of "%s" is deprecated.', __METHOD__);
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Security/Http/Firewall/ChannelListener.php 5.4.11+dfsg-1/src/Symfony/Component/Security/Http/Firewall/ChannelListener.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Security/Http/Firewall/ChannelListener.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Security/Http/Firewall/ChannelListener.php	2022-07-29 12:30:51.000000000 +0000
@@ -34,7 +34,7 @@ class ChannelListener extends AbstractLi
     private $httpPort;
     private $httpsPort;
 
-    public function __construct(AccessMapInterface $map, /*LoggerInterface*/ $logger = null, /*int*/ $httpPort = 80, /*int*/ $httpsPort = 443)
+    public function __construct(AccessMapInterface $map, /* LoggerInterface */ $logger = null, /* int */ $httpPort = 80, /* int */ $httpsPort = 443)
     {
         if ($logger instanceof AuthenticationEntryPointInterface) {
             trigger_deprecation('symfony/security-http', '5.4', 'The "$authenticationEntryPoint" argument of "%s()" is deprecated.', __METHOD__);
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Security/Http/Firewall/LogoutListener.php 5.4.11+dfsg-1/src/Symfony/Component/Security/Http/Firewall/LogoutListener.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Security/Http/Firewall/LogoutListener.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Security/Http/Firewall/LogoutListener.php	2022-07-29 12:30:51.000000000 +0000
@@ -121,8 +121,7 @@ class LogoutListener extends AbstractLis
         $logoutEvent = new LogoutEvent($request, $this->tokenStorage->getToken());
         $this->eventDispatcher->dispatch($logoutEvent);
 
-        $response = $logoutEvent->getResponse();
-        if (!$response instanceof Response) {
+        if (!$response = $logoutEvent->getResponse()) {
             throw new \RuntimeException('No logout listener set the Response, make sure at least the DefaultLogoutListener is registered.');
         }
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Security/Http/Tests/Authentication/DefaultAuthenticationFailureHandlerTest.php 5.4.11+dfsg-1/src/Symfony/Component/Security/Http/Tests/Authentication/DefaultAuthenticationFailureHandlerTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Security/Http/Tests/Authentication/DefaultAuthenticationFailureHandlerTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Security/Http/Tests/Authentication/DefaultAuthenticationFailureHandlerTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -207,6 +207,21 @@ class DefaultAuthenticationFailureHandle
         $handler->onAuthenticationFailure($this->request, $this->exception);
     }
 
+    public function testAbsoluteUrlRedirectionFromRequest()
+    {
+        $options = ['failure_path_parameter' => '_my_failure_path'];
+
+        $this->request->expects($this->once())
+            ->method('get')->with('_my_failure_path')
+            ->willReturn('https://localhost/some-path');
+
+        $this->httpUtils->expects($this->once())
+            ->method('createRedirectResponse')->with($this->request, 'https://localhost/some-path');
+
+        $handler = new DefaultAuthenticationFailureHandler($this->httpKernel, $this->httpUtils, $options, $this->logger);
+        $handler->onAuthenticationFailure($this->request, $this->exception);
+    }
+
     private function getRequest()
     {
         $request = $this->createMock(Request::class);
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Security/Http/Tests/Authentication/DefaultAuthenticationSuccessHandlerTest.php 5.4.11+dfsg-1/src/Symfony/Component/Security/Http/Tests/Authentication/DefaultAuthenticationSuccessHandlerTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Security/Http/Tests/Authentication/DefaultAuthenticationSuccessHandlerTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Security/Http/Tests/Authentication/DefaultAuthenticationSuccessHandlerTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -135,4 +135,21 @@ class DefaultAuthenticationSuccessHandle
 
         $handler->onAuthenticationSuccess($request, $token);
     }
+
+    public function testTargetPathWithAbsoluteUrlFromRequest()
+    {
+        $options = ['target_path_parameter' => '_my_target_path'];
+
+        $request = $this->createMock(Request::class);
+        $request->expects($this->once())
+            ->method('get')->with('_my_target_path')
+            ->willReturn('https://localhost/some-path');
+
+        $httpUtils = $this->createMock(HttpUtils::class);
+        $httpUtils->expects($this->once())
+            ->method('createRedirectResponse')->with($request, 'https://localhost/some-path');
+
+        $handler = new DefaultAuthenticationSuccessHandler($httpUtils, $options);
+        $handler->onAuthenticationSuccess($request, $this->createMock(TokenInterface::class));
+    }
 }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Serializer/Annotation/Context.php 5.4.11+dfsg-1/src/Symfony/Component/Serializer/Annotation/Context.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Serializer/Annotation/Context.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Serializer/Annotation/Context.php	2022-07-29 12:30:51.000000000 +0000
@@ -38,7 +38,7 @@ final class Context
     public function __construct(array $options = [], array $context = [], array $normalizationContext = [], array $denormalizationContext = [], $groups = [])
     {
         if (!$context) {
-            if (!array_intersect((array_keys($options)), ['normalizationContext', 'groups', 'context', 'value', 'denormalizationContext'])) {
+            if (!array_intersect(array_keys($options), ['normalizationContext', 'groups', 'context', 'value', 'denormalizationContext'])) {
                 // gracefully supports context as first, unnamed attribute argument if it cannot be confused with Doctrine-style options
                 $context = $options;
             } else {
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Serializer/Encoder/XmlEncoder.php 5.4.11+dfsg-1/src/Symfony/Component/Serializer/Encoder/XmlEncoder.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Serializer/Encoder/XmlEncoder.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Serializer/Encoder/XmlEncoder.php	2022-07-29 12:30:51.000000000 +0000
@@ -83,7 +83,7 @@ class XmlEncoder implements EncoderInter
 
         $dom = $this->createDomDocument($context);
 
-        if (null !== $data && !is_scalar($data)) {
+        if (null !== $data && !\is_scalar($data)) {
             $root = $dom->createElement($xmlRootNodeName);
             $dom->appendChild($root);
             $this->buildXml($root, $data, $format, $context, $xmlRootNodeName);
@@ -367,11 +367,14 @@ class XmlEncoder implements EncoderInter
 
         if (\is_array($data) || ($data instanceof \Traversable && (null === $this->serializer || !$this->serializer->supportsNormalization($data, $format)))) {
             foreach ($data as $key => $data) {
-                //Ah this is the magic @ attribute types.
+                // Ah this is the magic @ attribute types.
                 if (str_starts_with($key, '@') && $this->isElementNameValid($attributeName = substr($key, 1))) {
-                    if (!is_scalar($data)) {
+                    if (!\is_scalar($data)) {
                         $data = $this->serializer->normalize($data, $format, $context);
                     }
+                    if (\is_bool($data)) {
+                        $data = (int) $data;
+                    }
                     $parentNode->setAttribute($attributeName, $data);
                 } elseif ('#' === $key) {
                     $append = $this->selectNodeType($parentNode, $data, $format, $context);
@@ -409,7 +412,7 @@ class XmlEncoder implements EncoderInter
             }
 
             $data = $this->serializer->normalize($data, $format, $context);
-            if (null !== $data && !is_scalar($data)) {
+            if (null !== $data && !\is_scalar($data)) {
                 return $this->buildXml($parentNode, $data, $format, $context, $xmlRootNodeName);
             }
 
@@ -434,7 +437,7 @@ class XmlEncoder implements EncoderInter
      */
     private function appendNode(\DOMNode $parentNode, $data, string $format, array $context, string $nodeName, string $key = null): bool
     {
-        $dom = $parentNode instanceof \DomDocument ? $parentNode : $parentNode->ownerDocument;
+        $dom = $parentNode instanceof \DOMDocument ? $parentNode : $parentNode->ownerDocument;
         $node = $dom->createElement($nodeName);
         if (null !== $key) {
             $node->setAttribute('key', $key);
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Serializer/Mapping/Loader/AnnotationLoader.php 5.4.11+dfsg-1/src/Symfony/Component/Serializer/Mapping/Loader/AnnotationLoader.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Serializer/Mapping/Loader/AnnotationLoader.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Serializer/Mapping/Loader/AnnotationLoader.php	2022-07-29 12:30:51.000000000 +0000
@@ -100,6 +100,11 @@ class AnnotationLoader implements Loader
                 continue;
             }
 
+            $getAccessor = preg_match('/^(get|)(.+)$/i', $method->name);
+            if ($getAccessor && 0 !== $method->getNumberOfRequiredParameters()) {
+                continue; /*  matches the BC behavior in `Symfony\Component\Serializer\Normalizer\ObjectNormalizer::extractAttributes` */
+            }
+
             $accessorOrMutator = preg_match('/^(get|is|has|set)(.+)$/i', $method->name, $matches);
             if ($accessorOrMutator) {
                 $attributeName = lcfirst($matches[2]);
@@ -134,6 +139,10 @@ class AnnotationLoader implements Loader
 
                     $attributeMetadata->setSerializedName($annotation->getSerializedName());
                 } elseif ($annotation instanceof Ignore) {
+                    if (!$accessorOrMutator) {
+                        throw new MappingException(sprintf('Ignore on "%s::%s()" cannot be added. Ignore can only be added on methods beginning with "get", "is", "has" or "set".', $className, $method->name));
+                    }
+
                     $attributeMetadata->setIgnore(true);
                 } elseif ($annotation instanceof Context) {
                     if (!$accessorOrMutator) {
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Serializer/Normalizer/AbstractNormalizer.php 5.4.11+dfsg-1/src/Symfony/Component/Serializer/Normalizer/AbstractNormalizer.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Serializer/Normalizer/AbstractNormalizer.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Serializer/Normalizer/AbstractNormalizer.php	2022-07-29 12:30:51.000000000 +0000
@@ -259,7 +259,7 @@ abstract class AbstractNormalizer implem
     {
         $groups = $context[self::GROUPS] ?? $this->defaultContext[self::GROUPS] ?? [];
 
-        return is_scalar($groups) ? (array) $groups : $groups;
+        return \is_scalar($groups) ? (array) $groups : $groups;
     }
 
     /**
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Serializer/Normalizer/AbstractObjectNormalizer.php 5.4.11+dfsg-1/src/Symfony/Component/Serializer/Normalizer/AbstractObjectNormalizer.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Serializer/Normalizer/AbstractObjectNormalizer.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Serializer/Normalizer/AbstractObjectNormalizer.php	2022-07-29 12:30:51.000000000 +0000
@@ -198,7 +198,7 @@ abstract class AbstractObjectNormalizer
 
             $attributeValue = $this->applyCallbacks($attributeValue, $object, $attribute, $format, $attributeContext);
 
-            if (null !== $attributeValue && !is_scalar($attributeValue)) {
+            if (null !== $attributeValue && !\is_scalar($attributeValue)) {
                 $stack[$attribute] = $attributeValue;
             }
 
@@ -351,6 +351,10 @@ abstract class AbstractObjectNormalizer
 
         $this->validateCallbackContext($context);
 
+        if (null === $data && isset($context['value_type']) && $context['value_type'] instanceof Type && $context['value_type']->isNullable()) {
+            return null;
+        }
+
         $allowedAttributes = $this->getAllowedAttributes($type, $context, true);
         $normalizedData = $this->prepareForDenormalization($data);
         $extraAttributes = [];
@@ -524,6 +528,8 @@ abstract class AbstractObjectNormalizer
                     if (\count($collectionKeyType = $type->getCollectionKeyTypes()) > 0) {
                         [$context['key_type']] = $collectionKeyType;
                     }
+
+                    $context['value_type'] = $collectionValueType;
                 } elseif ($type->isCollection() && \count($collectionValueType = $type->getCollectionValueTypes()) > 0 && Type::BUILTIN_TYPE_ARRAY === $collectionValueType[0]->getBuiltinType()) {
                     // get inner type for any nested array
                     [$innerType] = $collectionValueType;
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Serializer/Normalizer/DateTimeNormalizer.php 5.4.11+dfsg-1/src/Symfony/Component/Serializer/Normalizer/DateTimeNormalizer.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Serializer/Normalizer/DateTimeNormalizer.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Serializer/Normalizer/DateTimeNormalizer.php	2022-07-29 12:30:51.000000000 +0000
@@ -107,6 +107,16 @@ class DateTimeNormalizer implements Norm
             throw NotNormalizableValueException::createForUnexpectedDataType(sprintf('Parsing datetime string "%s" using format "%s" resulted in %d errors: ', $data, $dateTimeFormat, $dateTimeErrors['error_count'])."\n".implode("\n", $this->formatDateTimeErrors($dateTimeErrors['errors'])), $data, [Type::BUILTIN_TYPE_STRING], $context['deserialization_path'] ?? null, true);
         }
 
+        $defaultDateTimeFormat = $this->defaultContext[self::FORMAT_KEY] ?? null;
+
+        if (null !== $defaultDateTimeFormat) {
+            $object = \DateTime::class === $type ? \DateTime::createFromFormat($defaultDateTimeFormat, $data, $timezone) : \DateTimeImmutable::createFromFormat($defaultDateTimeFormat, $data, $timezone);
+
+            if (false !== $object) {
+                return $object;
+            }
+        }
+
         try {
             return \DateTime::class === $type ? new \DateTime($data, $timezone) : new \DateTimeImmutable($data, $timezone);
         } catch (\Exception $e) {
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Serializer/Serializer.php 5.4.11+dfsg-1/src/Symfony/Component/Serializer/Serializer.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Serializer/Serializer.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Serializer/Serializer.php	2022-07-29 12:30:51.000000000 +0000
@@ -161,7 +161,7 @@ class Serializer implements SerializerIn
             return $normalizer->normalize($data, $format, $context);
         }
 
-        if (null === $data || is_scalar($data)) {
+        if (null === $data || \is_scalar($data)) {
             return $data;
         }
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Serializer/Tests/DeserializeNestedArrayOfObjectsTest.php 5.4.11+dfsg-1/src/Symfony/Component/Serializer/Tests/DeserializeNestedArrayOfObjectsTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Serializer/Tests/DeserializeNestedArrayOfObjectsTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Serializer/Tests/DeserializeNestedArrayOfObjectsTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -23,9 +23,9 @@ class DeserializeNestedArrayOfObjectsTes
     public function provider()
     {
         return [
-            //from property PhpDoc
+            // from property PhpDoc
             [Zoo::class],
-            //from argument constructor PhpDoc
+            // from argument constructor PhpDoc
             [ZooImmutable::class],
         ];
     }
@@ -35,7 +35,7 @@ class DeserializeNestedArrayOfObjectsTes
      */
     public function testPropertyPhpDoc($class)
     {
-        //GIVEN
+        // GIVEN
         $json = <<<EOF
 {
     "animals": [
@@ -47,10 +47,10 @@ EOF;
             new ObjectNormalizer(null, null, null, new PhpDocExtractor()),
             new ArrayDenormalizer(),
         ], ['json' => new JsonEncoder()]);
-        //WHEN
+        // WHEN
         /** @var Zoo $zoo */
         $zoo = $serializer->deserialize($json, $class, 'json');
-        //THEN
+        // THEN
         self::assertCount(1, $zoo->getAnimals());
         self::assertInstanceOf(Animal::class, $zoo->getAnimals()[0]);
     }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Serializer/Tests/Encoder/CsvEncoderTest.php 5.4.11+dfsg-1/src/Symfony/Component/Serializer/Tests/Encoder/CsvEncoderTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Serializer/Tests/Encoder/CsvEncoderTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Serializer/Tests/Encoder/CsvEncoderTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -47,7 +47,7 @@ string,int,false,true,int_one,string_one
 foo,2,0,1,1,1
 
 CSV
-        , $this->encoder->encode($data, 'csv'));
+            , $this->encoder->encode($data, 'csv'));
 
         $this->assertSame([
             'string' => 'foo',
@@ -69,7 +69,7 @@ CSV
 ,"""","foo""","\""",\,foo\
 
 CSV
-        , $this->encoder->encode($data = ['', '"', 'foo"', '\\"', '\\', 'foo\\'], 'csv'));
+            , $this->encoder->encode($data = ['', '"', 'foo"', '\\"', '\\', 'foo\\'], 'csv'));
 
         $this->assertSame($data, $this->encoder->decode($csv, 'csv', [CsvEncoder::AS_COLLECTION_KEY => false]));
     }
@@ -99,7 +99,7 @@ foo,bar
 hello,"hey ho"
 
 CSV
-    , $this->encoder->encode($value, 'csv'));
+            , $this->encoder->encode($value, 'csv'));
     }
 
     public function testEncodeCollection()
@@ -115,7 +115,7 @@ hello,"hey ho"
 hi,"let's go"
 
 CSV
-    , $this->encoder->encode($value, 'csv'));
+            , $this->encoder->encode($value, 'csv'));
     }
 
     public function testEncodePlainIndexedArray()
@@ -150,7 +150,7 @@ foo,bar.0.id,bar.0.1,bar.1.baz,bar.1.foo
 hello,yo,wesh,Halo,olá
 
 CSV
-    , $this->encoder->encode($value, 'csv'));
+            , $this->encoder->encode($value, 'csv'));
     }
 
     public function testEncodeCustomSettings()
@@ -169,7 +169,7 @@ a;c-d
 'he''llo';foo
 
 CSV
-    , $this->encoder->encode($value, 'csv'));
+            , $this->encoder->encode($value, 'csv'));
     }
 
     public function testEncodeCustomSettingsPassedInContext()
@@ -181,12 +181,12 @@ a;c-d
 'he''llo';foo
 
 CSV
-        , $this->encoder->encode($value, 'csv', [
-            CsvEncoder::DELIMITER_KEY => ';',
-            CsvEncoder::ENCLOSURE_KEY => "'",
-            CsvEncoder::ESCAPE_CHAR_KEY => '|',
-            CsvEncoder::KEY_SEPARATOR_KEY => '-',
-        ]));
+            , $this->encoder->encode($value, 'csv', [
+                CsvEncoder::DELIMITER_KEY => ';',
+                CsvEncoder::ENCLOSURE_KEY => "'",
+                CsvEncoder::ESCAPE_CHAR_KEY => '|',
+                CsvEncoder::KEY_SEPARATOR_KEY => '-',
+            ]));
     }
 
     public function testEncodeCustomSettingsPassedInConstructor()
@@ -204,7 +204,7 @@ a;c-d
 'he''llo';foo
 
 CSV
-        , $encoder->encode($value, 'csv'));
+            , $encoder->encode($value, 'csv'));
     }
 
     public function testEncodeEmptyArray()
@@ -495,7 +495,7 @@ CSV
 foo,bar
 a,b
 CSV
-        , 'csv', [CsvEncoder::AS_COLLECTION_KEY => false]));
+            , 'csv', [CsvEncoder::AS_COLLECTION_KEY => false]));
     }
 
     public function testDecodeCollection()
@@ -513,7 +513,7 @@ c,d
 f
 
 CSV
-        , 'csv'));
+            , 'csv'));
     }
 
     public function testDecode()
@@ -527,7 +527,7 @@ foo
 a
 
 CSV
-        , 'csv'));
+            , 'csv'));
     }
 
     public function testDecodeToManyRelation()
@@ -561,7 +561,7 @@ foo,bar.baz.bat
 a,b
 c,d
 CSV
-        , 'csv'));
+            , 'csv'));
     }
 
     public function testDecodeCustomSettings()
@@ -578,7 +578,7 @@ CSV
 a;bar-baz
 'hell''o';b;c
 CSV
-        , 'csv'));
+            , 'csv'));
     }
 
     public function testDecodeCustomSettingsPassedInContext()
@@ -588,12 +588,12 @@ CSV
 a;bar-baz
 'hell''o';b;c
 CSV
-        , 'csv', [
-            CsvEncoder::DELIMITER_KEY => ';',
-            CsvEncoder::ENCLOSURE_KEY => "'",
-            CsvEncoder::ESCAPE_CHAR_KEY => '|',
-            CsvEncoder::KEY_SEPARATOR_KEY => '-',
-        ]));
+            , 'csv', [
+                CsvEncoder::DELIMITER_KEY => ';',
+                CsvEncoder::ENCLOSURE_KEY => "'",
+                CsvEncoder::ESCAPE_CHAR_KEY => '|',
+                CsvEncoder::KEY_SEPARATOR_KEY => '-',
+            ]));
     }
 
     public function testDecodeCustomSettingsPassedInConstructor()
@@ -610,7 +610,7 @@ CSV
 a;bar-baz
 'hell''o';b;c
 CSV
-        , 'csv'));
+            , 'csv'));
     }
 
     public function testDecodeMalformedCollection()
@@ -643,18 +643,18 @@ a,b
 c,d
 
 CSV
-        , 'csv', [
-            CsvEncoder::NO_HEADERS_KEY => true,
-        ]));
+            , 'csv', [
+                CsvEncoder::NO_HEADERS_KEY => true,
+            ]));
         $encoder = new CsvEncoder([CsvEncoder::NO_HEADERS_KEY => true]);
         $this->assertEquals([['a', 'b'], ['c', 'd']], $encoder->decode(<<<'CSV'
 a,b
 c,d
 
 CSV
-        , 'csv', [
-            CsvEncoder::NO_HEADERS_KEY => true,
-        ]));
+            , 'csv', [
+                CsvEncoder::NO_HEADERS_KEY => true,
+            ]));
     }
 
     public function testBOMIsAddedOnDemand()
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Serializer/Tests/Encoder/XmlEncoderTest.php 5.4.11+dfsg-1/src/Symfony/Component/Serializer/Tests/Encoder/XmlEncoderTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Serializer/Tests/Encoder/XmlEncoderTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Serializer/Tests/Encoder/XmlEncoderTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -96,6 +96,13 @@ class XmlEncoderTest extends TestCase
             'föo_bär' => 'a',
             'Bar' => [1, 2, 3],
             'a' => 'b',
+            'scalars' => [
+                '@bool-true' => true,
+                '@bool-false' => false,
+                '@int' => 3,
+                '@float' => 3.4,
+                '@sring' => 'a',
+            ],
         ];
         $expected = '<?xml version="1.0"?>'."\n".
             '<response>'.
@@ -106,6 +113,7 @@ class XmlEncoderTest extends TestCase
             '<Bar>2</Bar>'.
             '<Bar>3</Bar>'.
             '<a>b</a>'.
+            '<scalars bool-true="1" bool-false="0" int="3" float="3.4" sring="a"/>'.
             '</response>'."\n";
         $this->assertEquals($expected, $this->encoder->encode($obj, 'xml'));
     }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Serializer/Tests/Fixtures/Annotations/Entity45016.php 5.4.11+dfsg-1/src/Symfony/Component/Serializer/Tests/Fixtures/Annotations/Entity45016.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Serializer/Tests/Fixtures/Annotations/Entity45016.php	1970-01-01 00:00:00.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Serializer/Tests/Fixtures/Annotations/Entity45016.php	2022-07-29 12:30:51.000000000 +0000
@@ -0,0 +1,26 @@
+<?php
+
+namespace Symfony\Component\Serializer\Tests\Fixtures\Annotations;
+
+use Symfony\Component\Serializer\Annotation\Ignore;
+
+class Entity45016
+{
+    /**
+     * @var int
+     */
+    private $id = 1234;
+
+    public function getId(): int
+    {
+        return $this->id;
+    }
+
+    /**
+     * @Ignore()
+     */
+    public function badIgnore(): bool
+    {
+        return true;
+    }
+}
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Serializer/Tests/Fixtures/Annotations/IgnoreDummyAdditionalGetter.php 5.4.11+dfsg-1/src/Symfony/Component/Serializer/Tests/Fixtures/Annotations/IgnoreDummyAdditionalGetter.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Serializer/Tests/Fixtures/Annotations/IgnoreDummyAdditionalGetter.php	1970-01-01 00:00:00.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Serializer/Tests/Fixtures/Annotations/IgnoreDummyAdditionalGetter.php	2022-07-29 12:30:51.000000000 +0000
@@ -0,0 +1,23 @@
+<?php
+
+namespace Symfony\Component\Serializer\Tests\Fixtures\Annotations;
+
+use Symfony\Component\Serializer\Annotation\Ignore;
+
+class IgnoreDummyAdditionalGetter
+{
+    private $myValue;
+
+    /**
+     * @Ignore()
+     */
+    public function getMyValue()
+    {
+        return $this->myValue;
+    }
+
+    public function getExtraValue(string $parameter)
+    {
+        return $parameter;
+    }
+}
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Serializer/Tests/Fixtures/Annotations/IgnoreDummyAdditionalGetterWithoutIgnoreAnnotations.php 5.4.11+dfsg-1/src/Symfony/Component/Serializer/Tests/Fixtures/Annotations/IgnoreDummyAdditionalGetterWithoutIgnoreAnnotations.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Serializer/Tests/Fixtures/Annotations/IgnoreDummyAdditionalGetterWithoutIgnoreAnnotations.php	1970-01-01 00:00:00.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Serializer/Tests/Fixtures/Annotations/IgnoreDummyAdditionalGetterWithoutIgnoreAnnotations.php	2022-07-29 12:30:51.000000000 +0000
@@ -0,0 +1,18 @@
+<?php
+
+namespace Symfony\Component\Serializer\Tests\Fixtures\Annotations;
+
+class IgnoreDummyAdditionalGetterWithoutIgnoreAnnotations
+{
+    private $myValue;
+
+    public function getMyValue()
+    {
+        return $this->myValue;
+    }
+
+    public function getExtraValue(string $parameter)
+    {
+        return $parameter;
+    }
+}
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Serializer/Tests/Fixtures/Attributes/Entity45016.php 5.4.11+dfsg-1/src/Symfony/Component/Serializer/Tests/Fixtures/Attributes/Entity45016.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Serializer/Tests/Fixtures/Attributes/Entity45016.php	1970-01-01 00:00:00.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Serializer/Tests/Fixtures/Attributes/Entity45016.php	2022-07-29 12:30:51.000000000 +0000
@@ -0,0 +1,24 @@
+<?php
+
+namespace Symfony\Component\Serializer\Tests\Fixtures\Attributes;
+
+use Symfony\Component\Serializer\Annotation\Ignore;
+
+class Entity45016
+{
+    /**
+     * @var int
+     */
+    private $id = 1234;
+
+    public function getId(): int
+    {
+        return $this->id;
+    }
+
+    #[Ignore]
+    public function badIgnore(): bool
+    {
+        return true;
+    }
+}
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Serializer/Tests/Fixtures/Attributes/IgnoreDummyAdditionalGetter.php 5.4.11+dfsg-1/src/Symfony/Component/Serializer/Tests/Fixtures/Attributes/IgnoreDummyAdditionalGetter.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Serializer/Tests/Fixtures/Attributes/IgnoreDummyAdditionalGetter.php	1970-01-01 00:00:00.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Serializer/Tests/Fixtures/Attributes/IgnoreDummyAdditionalGetter.php	2022-07-29 12:30:51.000000000 +0000
@@ -0,0 +1,21 @@
+<?php
+
+namespace Symfony\Component\Serializer\Tests\Fixtures\Attributes;
+
+use Symfony\Component\Serializer\Annotation\Ignore;
+
+class IgnoreDummyAdditionalGetter
+{
+    private $myValue;
+
+    #[Ignore]
+    public function getIgnored2()
+    {
+        return $this->myValue;
+    }
+
+    public function getExtraValue(string $parameter)
+    {
+        return $parameter;
+    }
+}
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Serializer/Tests/Fixtures/Attributes/IgnoreDummyAdditionalGetterWithoutIgnoreAnnotations.php 5.4.11+dfsg-1/src/Symfony/Component/Serializer/Tests/Fixtures/Attributes/IgnoreDummyAdditionalGetterWithoutIgnoreAnnotations.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Serializer/Tests/Fixtures/Attributes/IgnoreDummyAdditionalGetterWithoutIgnoreAnnotations.php	1970-01-01 00:00:00.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Serializer/Tests/Fixtures/Attributes/IgnoreDummyAdditionalGetterWithoutIgnoreAnnotations.php	2022-07-29 12:30:51.000000000 +0000
@@ -0,0 +1,18 @@
+<?php
+
+namespace Symfony\Component\Serializer\Tests\Fixtures\Attributes;
+
+class IgnoreDummyAdditionalGetterWithoutIgnoreAnnotations
+{
+    private $myValue;
+
+    public function getIgnored2()
+    {
+        return $this->myValue;
+    }
+
+    public function getExtraValue(string $parameter)
+    {
+        return $parameter;
+    }
+}
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Serializer/Tests/Mapping/Loader/AnnotationLoaderTest.php 5.4.11+dfsg-1/src/Symfony/Component/Serializer/Tests/Mapping/Loader/AnnotationLoaderTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Serializer/Tests/Mapping/Loader/AnnotationLoaderTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Serializer/Tests/Mapping/Loader/AnnotationLoaderTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -137,6 +137,37 @@ abstract class AnnotationLoaderTest exte
         $loader->loadClassMetadata($classMetadata);
     }
 
+    public function testCanHandleUnrelatedIgnoredMethods()
+    {
+        $class = $this->getNamespace().'\Entity45016';
+
+        $this->expectException(MappingException::class);
+        $this->expectExceptionMessage(sprintf('Ignore on "%s::badIgnore()" cannot be added', $class));
+
+        $metadata = new ClassMetadata($class);
+        $loader = $this->getLoaderForContextMapping();
+
+        $loader->loadClassMetadata($metadata);
+    }
+
+    public function testIgnoreGetterWirhRequiredParameterIfIgnoreAnnotationIsUsed()
+    {
+        $classMetadata = new ClassMetadata($this->getNamespace().'\IgnoreDummyAdditionalGetter');
+        $this->getLoaderForContextMapping()->loadClassMetadata($classMetadata);
+
+        $attributes = $classMetadata->getAttributesMetadata();
+        self::assertArrayNotHasKey('extraValue', $attributes);
+    }
+
+    public function testIgnoreGetterWirhRequiredParameterIfIgnoreAnnotationIsNotUsed()
+    {
+        $classMetadata = new ClassMetadata($this->getNamespace().'\IgnoreDummyAdditionalGetterWithoutIgnoreAnnotations');
+        $this->getLoaderForContextMapping()->loadClassMetadata($classMetadata);
+
+        $attributes = $classMetadata->getAttributesMetadata();
+        self::assertArrayNotHasKey('extraValue', $attributes);
+    }
+
     abstract protected function createLoader(): AnnotationLoader;
 
     abstract protected function getNamespace(): string;
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Serializer/Tests/Normalizer/DateTimeNormalizerTest.php 5.4.11+dfsg-1/src/Symfony/Component/Serializer/Tests/Normalizer/DateTimeNormalizerTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Serializer/Tests/Normalizer/DateTimeNormalizerTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Serializer/Tests/Normalizer/DateTimeNormalizerTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -271,6 +271,28 @@ class DateTimeNormalizerTest extends Tes
         $this->normalizer->denormalize('  2016.01.01  ', \DateTime::class, null, [DateTimeNormalizer::FORMAT_KEY => 'Y.m.d|']);
     }
 
+    public function testDenormalizeDateTimeStringWithDefaultContextFormat()
+    {
+        $format = 'd/m/Y';
+        $string = '01/10/2018';
+
+        $normalizer = new DateTimeNormalizer([DateTimeNormalizer::FORMAT_KEY => $format]);
+        $denormalizedDate = $normalizer->denormalize($string, \DateTimeInterface::class);
+
+        $this->assertSame('01/10/2018', $denormalizedDate->format($format));
+    }
+
+    public function testDenormalizeDateTimeStringWithDefaultContextAllowsErrorFormat()
+    {
+        $format = 'd/m/Y'; // the default format
+        $string = '2020-01-01'; // the value which is in the wrong format, but is accepted because of `new \DateTime` in DateTimeNormalizer::denormalize
+
+        $normalizer = new DateTimeNormalizer([DateTimeNormalizer::FORMAT_KEY => $format]);
+        $denormalizedDate = $normalizer->denormalize($string, \DateTimeInterface::class);
+
+        $this->assertSame('2020-01-01', $denormalizedDate->format('Y-m-d'));
+    }
+
     public function testDenormalizeFormatMismatchThrowsException()
     {
         $this->expectException(UnexpectedValueException::class);
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Serializer/Tests/Normalizer/FormErrorNormalizerTest.php 5.4.11+dfsg-1/src/Symfony/Component/Serializer/Tests/Normalizer/FormErrorNormalizerTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Serializer/Tests/Normalizer/FormErrorNormalizerTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Serializer/Tests/Normalizer/FormErrorNormalizerTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -42,7 +42,7 @@ class FormErrorNormalizerTest extends Te
                 new FormError('a', 'b', ['c', 'd'], 5, 'f'),
                 new FormError(1, 2, [3, 4], 5, 6),
             ])
-        );
+            );
     }
 
     public function testSupportsNormalizationWithWrongClass()
@@ -130,21 +130,21 @@ class FormErrorNormalizerTest extends Te
             ->willReturn(new FormErrorIterator($form1, [
                 new FormError('b'),
             ])
-        );
+            );
         $form1->method('getName')->willReturn('form1');
 
         $form2->method('getErrors')
             ->willReturn(new FormErrorIterator($form1, [
                 new FormError('c'),
             ])
-        );
+            );
         $form2->method('getName')->willReturn('form2');
 
         $form3->method('getErrors')
             ->willReturn(new FormErrorIterator($form1, [
                 new FormError('d'),
             ])
-        );
+            );
         $form3->method('getName')->willReturn('form3');
 
         $form2->method('all')->willReturn([$form3]);
@@ -156,7 +156,7 @@ class FormErrorNormalizerTest extends Te
             ->willReturn(new FormErrorIterator($form, [
                 new FormError('a'),
             ])
-        );
+            );
 
         $this->assertEquals($exptected, $this->normalizer->normalize($form));
     }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Serializer/Tests/Normalizer/MapDenormalizationTest.php 5.4.11+dfsg-1/src/Symfony/Component/Serializer/Tests/Normalizer/MapDenormalizationTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Serializer/Tests/Normalizer/MapDenormalizationTest.php	1970-01-01 00:00:00.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Serializer/Tests/Normalizer/MapDenormalizationTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -0,0 +1,304 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Serializer\Tests\Normalizer;
+
+use Doctrine\Common\Annotations\AnnotationReader;
+use PHPUnit\Framework\TestCase;
+use Symfony\Component\PropertyInfo\Extractor\PhpDocExtractor;
+use Symfony\Component\Serializer\Exception\InvalidArgumentException;
+use Symfony\Component\Serializer\Exception\NotNormalizableValueException;
+use Symfony\Component\Serializer\Mapping\ClassDiscriminatorFromClassMetadata;
+use Symfony\Component\Serializer\Mapping\ClassDiscriminatorMapping;
+use Symfony\Component\Serializer\Mapping\ClassMetadata;
+use Symfony\Component\Serializer\Mapping\ClassMetadataInterface;
+use Symfony\Component\Serializer\Mapping\Factory\ClassMetadataFactory;
+use Symfony\Component\Serializer\Mapping\Factory\ClassMetadataFactoryInterface;
+use Symfony\Component\Serializer\Mapping\Loader\AnnotationLoader;
+use Symfony\Component\Serializer\Normalizer\ArrayDenormalizer;
+use Symfony\Component\Serializer\Normalizer\ObjectNormalizer;
+use Symfony\Component\Serializer\Serializer;
+
+class MapDenormalizationTest extends TestCase
+{
+    public function testMapOfStringToNullableObject()
+    {
+        $normalizedData = $this->getSerializer()->denormalize([
+            'map' => [
+                'assertDummyMapValue' => [
+                    'value' => 'foo',
+                ],
+                'assertNull' => null,
+            ],
+        ], DummyMapOfStringToNullableObject::class);
+
+        $this->assertInstanceOf(DummyMapOfStringToNullableObject::class, $normalizedData);
+
+        // check nullable map value
+        $this->assertIsArray($normalizedData->map);
+
+        $this->assertArrayHasKey('assertDummyMapValue', $normalizedData->map);
+        $this->assertInstanceOf(DummyValue::class, $normalizedData->map['assertDummyMapValue']);
+
+        $this->assertArrayHasKey('assertNull', $normalizedData->map);
+
+        $this->assertNull($normalizedData->map['assertNull']);
+    }
+
+    public function testMapOfStringToAbstractNullableObject()
+    {
+        $normalizedData = $this->getSerializer()->denormalize(
+            [
+                'map' => [
+                    'assertNull' => null,
+                ],
+            ], DummyMapOfStringToNullableAbstractObject::class);
+
+        $this->assertInstanceOf(DummyMapOfStringToNullableAbstractObject::class, $normalizedData);
+
+        $this->assertIsArray($normalizedData->map);
+        $this->assertArrayHasKey('assertNull', $normalizedData->map);
+        $this->assertNull($normalizedData->map['assertNull']);
+    }
+
+    public function testMapOfStringToObject()
+    {
+        $normalizedData = $this->getSerializer()->denormalize(
+            [
+                'map' => [
+                    'assertDummyMapValue' => [
+                        'value' => 'foo',
+                    ],
+                    'assertEmptyDummyMapValue' => null,
+                ],
+            ], DummyMapOfStringToObject::class);
+
+        $this->assertInstanceOf(DummyMapOfStringToObject::class, $normalizedData);
+
+        // check nullable map value
+        $this->assertIsArray($normalizedData->map);
+
+        $this->assertArrayHasKey('assertDummyMapValue', $normalizedData->map);
+        $this->assertInstanceOf(DummyValue::class, $normalizedData->map['assertDummyMapValue']);
+        $this->assertEquals('foo', $normalizedData->map['assertDummyMapValue']->value);
+
+        $this->assertArrayHasKey('assertEmptyDummyMapValue', $normalizedData->map);
+        $this->assertInstanceOf(DummyValue::class, $normalizedData->map['assertEmptyDummyMapValue']); // correct since to attribute is not nullable
+        $this->assertNull($normalizedData->map['assertEmptyDummyMapValue']->value);
+    }
+
+    public function testMapOfStringToAbstractObject()
+    {
+        $normalizedData = $this->getSerializer()->denormalize(
+            [
+                'map' => [
+                    'assertDummyMapValue' => [
+                        'type' => 'dummy',
+                        'value' => 'foo',
+                    ],
+                ],
+            ], DummyMapOfStringToNotNullableAbstractObject::class);
+
+        $this->assertInstanceOf(DummyMapOfStringToNotNullableAbstractObject::class, $normalizedData);
+
+        // check nullable map value
+        $this->assertIsArray($normalizedData->map);
+
+        $this->assertArrayHasKey('assertDummyMapValue', $normalizedData->map);
+        $this->assertInstanceOf(DummyValue::class, $normalizedData->map['assertDummyMapValue']);
+        $this->assertEquals('foo', $normalizedData->map['assertDummyMapValue']->value);
+    }
+
+    public function testMapOfStringToAbstractObjectMissingTypeAttribute()
+    {
+        $this->expectException(NotNormalizableValueException::class);
+        $this->expectExceptionMessage('Type property "type" not found for the abstract object "Symfony\Component\Serializer\Tests\Normalizer\AbstractDummyValue".');
+
+        $this->getSerializer()->denormalize(
+            [
+                'map' => [
+                    'assertEmptyDummyMapValue' => null,
+                ],
+            ], DummyMapOfStringToNotNullableAbstractObject::class);
+    }
+
+    public function testNullableObject()
+    {
+        $normalizedData = $this->getSerializer()->denormalize(
+            [
+                'object' => [
+                    'value' => 'foo',
+                ],
+                'nullObject' => null,
+            ], DummyNullableObjectValue::class);
+
+        $this->assertInstanceOf(DummyNullableObjectValue::class, $normalizedData);
+
+        $this->assertInstanceOf(DummyValue::class, $normalizedData->object);
+        $this->assertEquals('foo', $normalizedData->object->value);
+
+        $this->assertNull($normalizedData->nullObject);
+    }
+
+    public function testNotNullableObject()
+    {
+        $normalizedData = $this->getSerializer()->denormalize(
+            [
+                'object' => [
+                    'value' => 'foo',
+                ],
+                'nullObject' => null,
+            ], DummyNotNullableObjectValue::class);
+
+        $this->assertInstanceOf(DummyNotNullableObjectValue::class, $normalizedData);
+
+        $this->assertInstanceOf(DummyValue::class, $normalizedData->object);
+        $this->assertEquals('foo', $normalizedData->object->value);
+
+        $this->assertInstanceOf(DummyValue::class, $normalizedData->nullObject);
+        $this->assertNull($normalizedData->nullObject->value);
+    }
+
+    public function testNullableAbstractObject()
+    {
+        $normalizedData = $this->getSerializer()->denormalize(
+            [
+                'object' => [
+                    'type' => 'another-dummy',
+                    'value' => 'foo',
+                ],
+                'nullObject' => null,
+            ], DummyNullableAbstractObjectValue::class);
+
+        $this->assertInstanceOf(DummyNullableAbstractObjectValue::class, $normalizedData);
+
+        $this->assertInstanceOf(AnotherDummyValue::class, $normalizedData->object);
+        $this->assertEquals('foo', $normalizedData->object->value);
+
+        $this->assertNull($normalizedData->nullObject);
+    }
+
+    private function getSerializer()
+    {
+        $loaderMock = new class() implements ClassMetadataFactoryInterface {
+            public function getMetadataFor($value): ClassMetadataInterface
+            {
+                if (AbstractDummyValue::class === $value) {
+                    return new ClassMetadata(
+                        AbstractDummyValue::class,
+                        new ClassDiscriminatorMapping('type', [
+                            'dummy' => DummyValue::class,
+                            'another-dummy' => AnotherDummyValue::class,
+                        ])
+                    );
+                }
+
+                throw new InvalidArgumentException();
+            }
+
+            public function hasMetadataFor($value): bool
+            {
+                return AbstractDummyValue::class === $value;
+            }
+        };
+
+        $factory = new ClassMetadataFactory(new AnnotationLoader(new AnnotationReader()));
+        $normalizer = new ObjectNormalizer($factory, null, null, new PhpDocExtractor(), new ClassDiscriminatorFromClassMetadata($loaderMock));
+        $serializer = new Serializer([$normalizer, new ArrayDenormalizer()]);
+        $normalizer->setSerializer($serializer);
+
+        return $serializer;
+    }
+}
+
+abstract class AbstractDummyValue
+{
+    public $value;
+}
+
+class DummyValue extends AbstractDummyValue
+{
+}
+
+class AnotherDummyValue extends AbstractDummyValue
+{
+}
+
+class DummyNotNullableObjectValue
+{
+    /**
+     * @var DummyValue
+     */
+    public $object;
+
+    /**
+     * @var DummyValue
+     */
+    public $nullObject;
+}
+
+class DummyNullableObjectValue
+{
+    /**
+     * @var DummyValue|null
+     */
+    public $object;
+
+    /**
+     * @var DummyValue|null
+     */
+    public $nullObject;
+}
+
+class DummyNullableAbstractObjectValue
+{
+    /**
+     * @var AbstractDummyValue|null
+     */
+    public $object;
+
+    /**
+     * @var AbstractDummyValue|null
+     */
+    public $nullObject;
+}
+
+class DummyMapOfStringToNullableObject
+{
+    /**
+     * @var array<string,DummyValue|null>
+     */
+    public $map;
+}
+
+class DummyMapOfStringToObject
+{
+    /**
+     * @var array<string,DummyValue>
+     */
+    public $map;
+}
+
+class DummyMapOfStringToNullableAbstractObject
+{
+    /**
+     * @var array<string,AbstractDummyValue|null>
+     */
+    public $map;
+}
+
+class DummyMapOfStringToNotNullableAbstractObject
+{
+    /**
+     * @var array<string,AbstractDummyValue>
+     */
+    public $map;
+}
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Serializer/Tests/SerializerTest.php 5.4.11+dfsg-1/src/Symfony/Component/Serializer/Tests/SerializerTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Serializer/Tests/SerializerTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Serializer/Tests/SerializerTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -219,7 +219,7 @@ class SerializerTest extends TestCase
         $serializer = new Serializer([new ObjectNormalizer()], ['json' => new JsonEncoder()]);
         $data = ['foo' => new \stdClass()];
 
-        //Old buggy behaviour
+        // Old buggy behaviour
         $result = $serializer->serialize($data, 'json');
         $this->assertEquals('{"foo":[]}', $result);
 
@@ -528,14 +528,14 @@ class SerializerTest extends TestCase
     public function testNormalizeTransformEmptyArrayObjectToArray()
     {
         $serializer = new Serializer(
-          [
-              new PropertyNormalizer(),
-              new ObjectNormalizer(),
-              new ArrayDenormalizer(),
-          ],
-          [
-              'json' => new JsonEncoder(),
-          ]
+            [
+                new PropertyNormalizer(),
+                new ObjectNormalizer(),
+                new ArrayDenormalizer(),
+            ],
+            [
+                'json' => new JsonEncoder(),
+            ]
         );
 
         $object = [];
@@ -551,14 +551,14 @@ class SerializerTest extends TestCase
     public function provideObjectOrCollectionTests()
     {
         $serializer = new Serializer(
-          [
-              new PropertyNormalizer(),
-              new ObjectNormalizer(),
-              new ArrayDenormalizer(),
-          ],
-          [
-              'json' => new JsonEncoder(),
-          ]
+            [
+                new PropertyNormalizer(),
+                new ObjectNormalizer(),
+                new ArrayDenormalizer(),
+            ],
+            [
+                'json' => new JsonEncoder(),
+            ]
         );
 
         $data = [];
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/String/AbstractUnicodeString.php 5.4.11+dfsg-1/src/Symfony/Component/String/AbstractUnicodeString.php
--- 5.4.10+dfsg-1/src/Symfony/Component/String/AbstractUnicodeString.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/String/AbstractUnicodeString.php	2022-07-29 12:30:51.000000000 +0000
@@ -498,8 +498,11 @@ abstract class AbstractUnicodeString ext
                 )|[\p{Cc}\x7F]++)/xu', '', $s);
             }
 
-            // Non printable characters have been dropped, so wcswidth cannot logically return -1.
-            $width += $this->wcswidth($s);
+            $lineWidth = $this->wcswidth($s);
+
+            if ($lineWidth > $width) {
+                $width = $lineWidth;
+            }
         }
 
         return $width;
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/String/Inflector/FrenchInflector.php 5.4.11+dfsg-1/src/Symfony/Component/String/Inflector/FrenchInflector.php
--- 5.4.10+dfsg-1/src/Symfony/Component/String/Inflector/FrenchInflector.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/String/Inflector/FrenchInflector.php	2022-07-29 12:30:51.000000000 +0000
@@ -100,7 +100,7 @@ final class FrenchInflector implements I
         ['/^mes(sieur|seigneur)s$/', 'mon\1'],
         ['/^Mes(sieur|seigneur)s$/', 'Mon\1'],
 
-        //Default rule
+        // Default rule
         ['/s$/i', ''],
     ];
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/String/LazyString.php 5.4.11+dfsg-1/src/Symfony/Component/String/LazyString.php
--- 5.4.10+dfsg-1/src/Symfony/Component/String/LazyString.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/String/LazyString.php	2022-07-29 12:30:51.000000000 +0000
@@ -75,7 +75,7 @@ class LazyString implements \Stringable,
      */
     final public static function isStringable($value): bool
     {
-        return \is_string($value) || $value instanceof self || (\is_object($value) ? method_exists($value, '__toString') : is_scalar($value));
+        return \is_string($value) || $value instanceof self || (\is_object($value) ? method_exists($value, '__toString') : \is_scalar($value));
     }
 
     /**
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/String/Tests/AbstractUnicodeTestCase.php 5.4.11+dfsg-1/src/Symfony/Component/String/Tests/AbstractUnicodeTestCase.php
--- 5.4.10+dfsg-1/src/Symfony/Component/String/Tests/AbstractUnicodeTestCase.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/String/Tests/AbstractUnicodeTestCase.php	2022-07-29 12:30:51.000000000 +0000
@@ -15,6 +15,19 @@ use Symfony\Component\String\Exception\I
 
 abstract class AbstractUnicodeTestCase extends AbstractAsciiTestCase
 {
+    public static function provideWidth(): array
+    {
+        return array_merge(
+            parent::provideWidth(),
+            [
+                [14, '<<<END
+This is a
+multiline text
+END'],
+            ]
+        );
+    }
+
     public function testCreateFromStringWithInvalidUtf8Input()
     {
         $this->expectException(InvalidArgumentException::class);
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/String/Tests/FunctionsTest.php 5.4.11+dfsg-1/src/Symfony/Component/String/Tests/FunctionsTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/String/Tests/FunctionsTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/String/Tests/FunctionsTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -13,11 +13,12 @@ namespace Symfony\Component\String\Tests
 
 use PHPUnit\Framework\TestCase;
 use Symfony\Component\String\AbstractString;
-use function Symfony\Component\String\b;
 use Symfony\Component\String\ByteString;
+use Symfony\Component\String\UnicodeString;
+
+use function Symfony\Component\String\b;
 use function Symfony\Component\String\s;
 use function Symfony\Component\String\u;
-use Symfony\Component\String\UnicodeString;
 
 final class FunctionsTest extends TestCase
 {
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/String/Tests/Inflector/EnglishInflectorTest.php 5.4.11+dfsg-1/src/Symfony/Component/String/Tests/Inflector/EnglishInflectorTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/String/Tests/Inflector/EnglishInflectorTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/String/Tests/Inflector/EnglishInflectorTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -87,7 +87,7 @@ class EnglishInflectorTest extends TestC
             ['halves', ['half', 'halve', 'halff']],
             ['hats', 'hat'],
             ['heroes', ['hero', 'heroe']],
-            ['hippopotamuses', ['hippopotamus', 'hippopotamuse', 'hippopotamusis']], //hippopotami
+            ['hippopotamuses', ['hippopotamus', 'hippopotamuse', 'hippopotamusis']], // hippopotami
             ['hoaxes', 'hoax'],
             ['hooves', ['hoof', 'hoove', 'hooff']],
             ['houses', ['hous', 'house', 'housis']],
@@ -130,7 +130,7 @@ class EnglishInflectorTest extends TestC
             ['roses', ['ros', 'rose', 'rosis']],
             ['sandwiches', ['sandwich', 'sandwiche']],
             ['scarves', ['scarf', 'scarve', 'scarff']],
-            ['schemas', 'schema'], //schemata
+            ['schemas', 'schema'], // schemata
             ['seasons', 'season'],
             ['selfies', 'selfie'],
             ['series', 'series'],
@@ -160,9 +160,9 @@ class EnglishInflectorTest extends TestC
             ['SubTrees', 'SubTree'],
 
             // Known issues
-            //['insignia', 'insigne'],
-            //['insignias', 'insigne'],
-            //['rattles', 'rattle'],
+            // ['insignia', 'insigne'],
+            // ['insignias', 'insigne'],
+            // ['rattles', 'rattle'],
         ];
     }
 
@@ -176,7 +176,7 @@ class EnglishInflectorTest extends TestC
             ['agenda', 'agendas'],
             ['alumnus', 'alumni'],
             ['analysis', 'analyses'],
-            ['antenna', 'antennas'], //antennae
+            ['antenna', 'antennas'], // antennae
             ['appendix', ['appendicies', 'appendixes']],
             ['arch', 'arches'],
             ['atlas', 'atlases'],
@@ -221,7 +221,7 @@ class EnglishInflectorTest extends TestC
             ['feedback', 'feedback'],
             ['focus', 'focuses'],
             ['foot', 'feet'],
-            ['formula', 'formulas'], //formulae
+            ['formula', 'formulas'], // formulae
             ['conspectus', 'conspectuses'],
             ['fungus', 'fungi'],
             ['garage', 'garages'],
@@ -229,7 +229,7 @@ class EnglishInflectorTest extends TestC
             ['half', ['halfs', 'halves']],
             ['hat', 'hats'],
             ['hero', 'heroes'],
-            ['hippopotamus', 'hippopotami'], //hippopotamuses
+            ['hippopotamus', 'hippopotami'], // hippopotamuses
             ['hoax', 'hoaxes'],
             ['hoof', ['hoofs', 'hooves']],
             ['house', 'houses'],
@@ -269,7 +269,7 @@ class EnglishInflectorTest extends TestC
             ['rose', 'roses'],
             ['sandwich', 'sandwiches'],
             ['scarf', ['scarfs', 'scarves']],
-            ['schema', 'schemas'], //schemata
+            ['schema', 'schemas'], // schemata
             ['season', 'seasons'],
             ['selfie', 'selfies'],
             ['series', 'series'],
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/String/Tests/Inflector/FrenchInflectorTest.php 5.4.11+dfsg-1/src/Symfony/Component/String/Tests/Inflector/FrenchInflectorTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/String/Tests/Inflector/FrenchInflectorTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/String/Tests/Inflector/FrenchInflectorTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -19,13 +19,13 @@ class FrenchInflectorTest extends TestCa
     public function pluralizeProvider()
     {
         return [
-            //Le pluriel par défaut
+            // Le pluriel par défaut
             ['voiture', 'voitures'],
-            //special characters
+            // special characters
             ['œuf', 'œufs'],
             ['oeuf', 'oeufs'],
 
-            //Les mots finissant par s, x, z sont invariables en nombre
+            // Les mots finissant par s, x, z sont invariables en nombre
             ['bois', 'bois'],
             ['fils', 'fils'],
             ['héros', 'héros'],
@@ -36,21 +36,21 @@ class FrenchInflectorTest extends TestCa
             ['tas', 'tas'],
             ['toux', 'toux'],
 
-            //Les mots finissant en eau prennent tous un x au pluriel
+            // Les mots finissant en eau prennent tous un x au pluriel
             ['eau', 'eaux'],
             ['sceau', 'sceaux'],
 
-            //Les mots finissant en au prennent tous un x au pluriel sauf landau
+            // Les mots finissant en au prennent tous un x au pluriel sauf landau
             ['noyau', 'noyaux'],
             ['landau', 'landaus'],
 
-            //Les mots finissant en eu prennent un x au pluriel sauf pneu, bleu et émeu
+            // Les mots finissant en eu prennent un x au pluriel sauf pneu, bleu et émeu
             ['pneu', 'pneus'],
             ['bleu', 'bleus'],
             ['émeu', 'émeus'],
             ['cheveu', 'cheveux'],
 
-            //Les mots finissant en al se terminent en aux au pluriel
+            // Les mots finissant en al se terminent en aux au pluriel
             ['amiral', 'amiraux'],
             ['animal', 'animaux'],
             ['arsenal', 'arsenaux'],
@@ -74,7 +74,7 @@ class FrenchInflectorTest extends TestCa
             ['radical', 'radicaux'],
             ['terminal', 'terminaux'],
 
-            //sauf bal, carnaval, caracal, chacal, choral, corral, étal, festival, récital et val
+            // sauf bal, carnaval, caracal, chacal, choral, corral, étal, festival, récital et val
             ['bal', 'bals'],
             ['carnaval', 'carnavals'],
             ['caracal', 'caracals'],
@@ -105,7 +105,7 @@ class FrenchInflectorTest extends TestCa
             ['trou', 'trous'],
             ['fou', 'fous'],
 
-            //SAUF Bijou, caillou, chou, genou, hibou, joujou et pou qui prennent un x au pluriel
+            // SAUF Bijou, caillou, chou, genou, hibou, joujou et pou qui prennent un x au pluriel
             ['bijou', 'bijoux'],
             ['caillou', 'cailloux'],
             ['chou', 'choux'],
@@ -114,12 +114,12 @@ class FrenchInflectorTest extends TestCa
             ['joujou', 'joujoux'],
             ['pou', 'poux'],
 
-            //Inflected word
+            // Inflected word
             ['cinquante', 'cinquante'],
             ['soixante', 'soixante'],
             ['mille', 'mille'],
 
-            //Titles
+            // Titles
             ['monsieur', 'messieurs'],
             ['madame', 'mesdames'],
             ['mademoiselle', 'mesdemoiselles'],
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/String/Tests/LazyStringTest.php 5.4.11+dfsg-1/src/Symfony/Component/String/Tests/LazyStringTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/String/Tests/LazyStringTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/String/Tests/LazyStringTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -106,6 +106,6 @@ class LazyStringTest extends TestCase
         $this->assertFalse(LazyString::isStringable(null));
         $this->assertFalse(LazyString::isStringable([]));
         $this->assertFalse(LazyString::isStringable(\STDIN));
-        $this->assertFalse(LazyString::isStringable(new \StdClass()));
+        $this->assertFalse(LazyString::isStringable(new \stdClass()));
     }
 }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Templating/PhpEngine.php 5.4.11+dfsg-1/src/Symfony/Component/Templating/PhpEngine.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Templating/PhpEngine.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Templating/PhpEngine.php	2022-07-29 12:30:51.000000000 +0000
@@ -303,7 +303,7 @@ class PhpEngine implements EngineInterfa
 
         // If we deal with a scalar value, we can cache the result to increase
         // the performance when the same value is escaped multiple times (e.g. loops)
-        if (is_scalar($value)) {
+        if (\is_scalar($value)) {
             if (!isset(self::$escaperCache[$context][$value])) {
                 self::$escaperCache[$context][$value] = $this->getEscaper($context)($value);
             }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Translation/Command/TranslationPullCommand.php 5.4.11+dfsg-1/src/Symfony/Component/Translation/Command/TranslationPullCommand.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Translation/Command/TranslationPullCommand.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Translation/Command/TranslationPullCommand.php	2022-07-29 12:30:51.000000000 +0000
@@ -142,7 +142,7 @@ EOF
 
         switch ($format) {
             case 'xlf20': $xliffVersion = '2.0';
-            // no break
+                // no break
             case 'xlf12': $format = 'xlf';
         }
 
@@ -160,7 +160,7 @@ EOF
 
         if ($force) {
             foreach ($providerTranslations->getCatalogues() as $catalogue) {
-                $operation = new TargetOperation((new MessageCatalogue($catalogue->getLocale())), $catalogue);
+                $operation = new TargetOperation(new MessageCatalogue($catalogue->getLocale()), $catalogue);
                 if ($intlIcu) {
                     $operation->moveMessagesToIntlDomainsIfPossible();
                 }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Translation/Dumper/IcuResFileDumper.php 5.4.11+dfsg-1/src/Symfony/Component/Translation/Dumper/IcuResFileDumper.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Translation/Dumper/IcuResFileDumper.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Translation/Dumper/IcuResFileDumper.php	2022-07-29 12:30:51.000000000 +0000
@@ -47,7 +47,7 @@ class IcuResFileDumper extends FileDumpe
             $data .= pack('V', \strlen($target))
                 .mb_convert_encoding($target."\0", 'UTF-16LE', 'UTF-8')
                 .$this->writePadding($data)
-                  ;
+            ;
         }
 
         $resOffset = $this->getPosition($data);
@@ -56,7 +56,7 @@ class IcuResFileDumper extends FileDumpe
             .$indexes
             .$this->writePadding($data)
             .$resources
-              ;
+        ;
 
         $bundleTop = $this->getPosition($data);
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Translation/Dumper/MoFileDumper.php 5.4.11+dfsg-1/src/Symfony/Component/Translation/Dumper/MoFileDumper.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Translation/Dumper/MoFileDumper.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Translation/Dumper/MoFileDumper.php	2022-07-29 12:30:51.000000000 +0000
@@ -62,7 +62,7 @@ class MoFileDumper extends FileDumper
                .$targetOffsets
                .$sources
                .$targets
-                ;
+        ;
 
         return $output;
     }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Translation/Loader/PhpFileLoader.php 5.4.11+dfsg-1/src/Symfony/Component/Translation/Loader/PhpFileLoader.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Translation/Loader/PhpFileLoader.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Translation/Loader/PhpFileLoader.php	2022-07-29 12:30:51.000000000 +0000
@@ -25,7 +25,7 @@ class PhpFileLoader extends FileLoader
      */
     protected function loadResource(string $resource)
     {
-        if ([] === self::$cache && \function_exists('opcache_invalidate') && filter_var(ini_get('opcache.enable'), \FILTER_VALIDATE_BOOLEAN) && (!\in_array(\PHP_SAPI, ['cli', 'phpdbg'], true) || filter_var(ini_get('opcache.enable_cli'), \FILTER_VALIDATE_BOOLEAN))) {
+        if ([] === self::$cache && \function_exists('opcache_invalidate') && filter_var(\ini_get('opcache.enable'), \FILTER_VALIDATE_BOOLEAN) && (!\in_array(\PHP_SAPI, ['cli', 'phpdbg'], true) || filter_var(\ini_get('opcache.enable_cli'), \FILTER_VALIDATE_BOOLEAN))) {
             self::$cache = null;
         }
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Translation/PseudoLocalizationTranslator.php 5.4.11+dfsg-1/src/Symfony/Component/Translation/PseudoLocalizationTranslator.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Translation/PseudoLocalizationTranslator.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Translation/PseudoLocalizationTranslator.php	2022-07-29 12:30:51.000000000 +0000
@@ -283,7 +283,7 @@ final class PseudoLocalizationTranslator
         }
 
         $visibleLength = $this->strlen($visibleText);
-        $missingLength = (int) (ceil($visibleLength * $this->expansionFactor)) - $visibleLength;
+        $missingLength = (int) ceil($visibleLength * $this->expansionFactor) - $visibleLength;
         if ($this->brackets) {
             $missingLength -= 2;
         }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Uid/Command/InspectUlidCommand.php 5.4.11+dfsg-1/src/Symfony/Component/Uid/Command/InspectUlidCommand.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Uid/Command/InspectUlidCommand.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Uid/Command/InspectUlidCommand.php	2022-07-29 12:30:51.000000000 +0000
@@ -66,7 +66,7 @@ EOF
             ['toBase58', $ulid->toBase58()],
             ['toRfc4122', $ulid->toRfc4122()],
             new TableSeparator(),
-            ['Time', ($ulid->getDateTime())->format('Y-m-d H:i:s.v \U\T\C')],
+            ['Time', $ulid->getDateTime()->format('Y-m-d H:i:s.v \U\T\C')],
         ]);
 
         return 0;
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Uid/Tests/Command/InspectUuidCommandTest.php 5.4.11+dfsg-1/src/Symfony/Component/Uid/Tests/Command/InspectUuidCommandTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Uid/Tests/Command/InspectUuidCommandTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Uid/Tests/Command/InspectUuidCommandTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -42,7 +42,7 @@ final class InspectUuidCommandTest exten
 
 
 EOF
-                , $commandTester->getDisplay(true));
+            , $commandTester->getDisplay(true));
     }
 
     public function testUnknown()
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Uid/Tests/Factory/UlidFactoryTest.php 5.4.11+dfsg-1/src/Symfony/Component/Uid/Tests/Factory/UlidFactoryTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Uid/Tests/Factory/UlidFactoryTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Uid/Tests/Factory/UlidFactoryTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -28,7 +28,7 @@ final class UlidFactoryTest extends Test
         $this->assertSame('999999.123000', $ulid2->getDateTime()->format('U.u'));
 
         $this->assertFalse($ulid1->equals($ulid2));
-        $this->assertSame(-1, ($ulid1->compare($ulid2)));
+        $this->assertSame(-1, $ulid1->compare($ulid2));
 
         $ulid3 = $ulidFactory->create(new \DateTime('@1234.162524'));
         $this->assertSame('1234.162000', $ulid3->getDateTime()->format('U.u'));
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Uid/Tests/UuidTest.php 5.4.11+dfsg-1/src/Symfony/Component/Uid/Tests/UuidTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Uid/Tests/UuidTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Uid/Tests/UuidTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -320,13 +320,13 @@ class UuidTest extends TestCase
 
     public function testGetDateTime()
     {
-        $this->assertEquals(\DateTimeImmutable::createFromFormat('U.u', '103072857660.684697'), ((new UuidV1('ffffffff-ffff-1fff-a456-426655440000'))->getDateTime()));
-        $this->assertEquals(\DateTimeImmutable::createFromFormat('U.u', '0.000001'), ((new UuidV1('1381400a-1dd2-11b2-a456-426655440000'))->getDateTime()));
+        $this->assertEquals(\DateTimeImmutable::createFromFormat('U.u', '103072857660.684697'), (new UuidV1('ffffffff-ffff-1fff-a456-426655440000'))->getDateTime());
+        $this->assertEquals(\DateTimeImmutable::createFromFormat('U.u', '0.000001'), (new UuidV1('1381400a-1dd2-11b2-a456-426655440000'))->getDateTime());
         $this->assertEquals(new \DateTimeImmutable('@0'), (new UuidV1('13814001-1dd2-11b2-a456-426655440000'))->getDateTime());
         $this->assertEquals(new \DateTimeImmutable('@0'), (new UuidV1('13814000-1dd2-11b2-a456-426655440000'))->getDateTime());
         $this->assertEquals(new \DateTimeImmutable('@0'), (new UuidV1('13813fff-1dd2-11b2-a456-426655440000'))->getDateTime());
-        $this->assertEquals(\DateTimeImmutable::createFromFormat('U.u', '-0.000001'), ((new UuidV1('13813ff6-1dd2-11b2-a456-426655440000'))->getDateTime()));
-        $this->assertEquals(new \DateTimeImmutable('@-12219292800'), ((new UuidV1('00000000-0000-1000-a456-426655440000'))->getDateTime()));
+        $this->assertEquals(\DateTimeImmutable::createFromFormat('U.u', '-0.000001'), (new UuidV1('13813ff6-1dd2-11b2-a456-426655440000'))->getDateTime());
+        $this->assertEquals(new \DateTimeImmutable('@-12219292800'), (new UuidV1('00000000-0000-1000-a456-426655440000'))->getDateTime());
     }
 
     public function testFromStringBase58Padding()
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Validator/Constraints/BicValidator.php 5.4.11+dfsg-1/src/Symfony/Component/Validator/Constraints/BicValidator.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Validator/Constraints/BicValidator.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Validator/Constraints/BicValidator.php	2022-07-29 12:30:51.000000000 +0000
@@ -68,7 +68,7 @@ class BicValidator extends ConstraintVal
             return;
         }
 
-        if (!is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) {
+        if (!\is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) {
             throw new UnexpectedValueException($value, 'string');
         }
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Validator/Constraints/CountryValidator.php 5.4.11+dfsg-1/src/Symfony/Component/Validator/Constraints/CountryValidator.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Validator/Constraints/CountryValidator.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Validator/Constraints/CountryValidator.php	2022-07-29 12:30:51.000000000 +0000
@@ -37,7 +37,7 @@ class CountryValidator extends Constrain
             return;
         }
 
-        if (!is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) {
+        if (!\is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) {
             throw new UnexpectedValueException($value, 'string');
         }
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Validator/Constraints/CurrencyValidator.php 5.4.11+dfsg-1/src/Symfony/Component/Validator/Constraints/CurrencyValidator.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Validator/Constraints/CurrencyValidator.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Validator/Constraints/CurrencyValidator.php	2022-07-29 12:30:51.000000000 +0000
@@ -38,7 +38,7 @@ class CurrencyValidator extends Constrai
             return;
         }
 
-        if (!is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) {
+        if (!\is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) {
             throw new UnexpectedValueException($value, 'string');
         }
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Validator/Constraints/DateTimeValidator.php 5.4.11+dfsg-1/src/Symfony/Component/Validator/Constraints/DateTimeValidator.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Validator/Constraints/DateTimeValidator.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Validator/Constraints/DateTimeValidator.php	2022-07-29 12:30:51.000000000 +0000
@@ -34,7 +34,7 @@ class DateTimeValidator extends DateVali
             return;
         }
 
-        if (!is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) {
+        if (!\is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) {
             throw new UnexpectedValueException($value, 'string');
         }
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Validator/Constraints/DateValidator.php 5.4.11+dfsg-1/src/Symfony/Component/Validator/Constraints/DateValidator.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Validator/Constraints/DateValidator.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Validator/Constraints/DateValidator.php	2022-07-29 12:30:51.000000000 +0000
@@ -46,7 +46,7 @@ class DateValidator extends ConstraintVa
             return;
         }
 
-        if (!is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) {
+        if (!\is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) {
             throw new UnexpectedValueException($value, 'string');
         }
 
@@ -62,9 +62,9 @@ class DateValidator extends ConstraintVa
         }
 
         if (!self::checkDate(
-          $matches['year'] ?? $matches[1],
-          $matches['month'] ?? $matches[2],
-          $matches['day'] ?? $matches[3]
+            $matches['year'] ?? $matches[1],
+            $matches['month'] ?? $matches[2],
+            $matches['day'] ?? $matches[3]
         )) {
             $this->context->buildViolation($constraint->message)
                 ->setParameter('{{ value }}', $this->formatValue($value))
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Validator/Constraints/EmailValidator.php 5.4.11+dfsg-1/src/Symfony/Component/Validator/Constraints/EmailValidator.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Validator/Constraints/EmailValidator.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Validator/Constraints/EmailValidator.php	2022-07-29 12:30:51.000000000 +0000
@@ -56,7 +56,7 @@ class EmailValidator extends ConstraintV
             return;
         }
 
-        if (!is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) {
+        if (!\is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) {
             throw new UnexpectedValueException($value, 'string');
         }
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Validator/Constraints/FileValidator.php 5.4.11+dfsg-1/src/Symfony/Component/Validator/Constraints/FileValidator.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Validator/Constraints/FileValidator.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Validator/Constraints/FileValidator.php	2022-07-29 12:30:51.000000000 +0000
@@ -116,7 +116,7 @@ class FileValidator extends ConstraintVa
             }
         }
 
-        if (!is_scalar($value) && !$value instanceof FileObject && !(\is_object($value) && method_exists($value, '__toString'))) {
+        if (!\is_scalar($value) && !$value instanceof FileObject && !(\is_object($value) && method_exists($value, '__toString'))) {
             throw new UnexpectedValueException($value, 'string');
         }
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Validator/Constraints/HostnameValidator.php 5.4.11+dfsg-1/src/Symfony/Component/Validator/Constraints/HostnameValidator.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Validator/Constraints/HostnameValidator.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Validator/Constraints/HostnameValidator.php	2022-07-29 12:30:51.000000000 +0000
@@ -41,7 +41,7 @@ class HostnameValidator extends Constrai
             return;
         }
 
-        if (!is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) {
+        if (!\is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) {
             throw new UnexpectedValueException($value, 'string');
         }
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Validator/Constraints/IbanValidator.php 5.4.11+dfsg-1/src/Symfony/Component/Validator/Constraints/IbanValidator.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Validator/Constraints/IbanValidator.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Validator/Constraints/IbanValidator.php	2022-07-29 12:30:51.000000000 +0000
@@ -150,7 +150,7 @@ class IbanValidator extends ConstraintVa
             return;
         }
 
-        if (!is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) {
+        if (!\is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) {
             throw new UnexpectedValueException($value, 'string');
         }
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Validator/Constraints/IpValidator.php 5.4.11+dfsg-1/src/Symfony/Component/Validator/Constraints/IpValidator.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Validator/Constraints/IpValidator.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Validator/Constraints/IpValidator.php	2022-07-29 12:30:51.000000000 +0000
@@ -37,7 +37,7 @@ class IpValidator extends ConstraintVali
             return;
         }
 
-        if (!is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) {
+        if (!\is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) {
             throw new UnexpectedValueException($value, 'string');
         }
 
@@ -49,48 +49,48 @@ class IpValidator extends ConstraintVali
 
         switch ($constraint->version) {
             case Ip::V4:
-               $flag = \FILTER_FLAG_IPV4;
-               break;
+                $flag = \FILTER_FLAG_IPV4;
+                break;
 
             case Ip::V6:
-               $flag = \FILTER_FLAG_IPV6;
-               break;
+                $flag = \FILTER_FLAG_IPV6;
+                break;
 
             case Ip::V4_NO_PRIV:
-               $flag = \FILTER_FLAG_IPV4 | \FILTER_FLAG_NO_PRIV_RANGE;
-               break;
+                $flag = \FILTER_FLAG_IPV4 | \FILTER_FLAG_NO_PRIV_RANGE;
+                break;
 
             case Ip::V6_NO_PRIV:
-               $flag = \FILTER_FLAG_IPV6 | \FILTER_FLAG_NO_PRIV_RANGE;
-               break;
+                $flag = \FILTER_FLAG_IPV6 | \FILTER_FLAG_NO_PRIV_RANGE;
+                break;
 
             case Ip::ALL_NO_PRIV:
-               $flag = \FILTER_FLAG_NO_PRIV_RANGE;
-               break;
+                $flag = \FILTER_FLAG_NO_PRIV_RANGE;
+                break;
 
             case Ip::V4_NO_RES:
-               $flag = \FILTER_FLAG_IPV4 | \FILTER_FLAG_NO_RES_RANGE;
-               break;
+                $flag = \FILTER_FLAG_IPV4 | \FILTER_FLAG_NO_RES_RANGE;
+                break;
 
             case Ip::V6_NO_RES:
-               $flag = \FILTER_FLAG_IPV6 | \FILTER_FLAG_NO_RES_RANGE;
-               break;
+                $flag = \FILTER_FLAG_IPV6 | \FILTER_FLAG_NO_RES_RANGE;
+                break;
 
             case Ip::ALL_NO_RES:
-               $flag = \FILTER_FLAG_NO_RES_RANGE;
-               break;
+                $flag = \FILTER_FLAG_NO_RES_RANGE;
+                break;
 
             case Ip::V4_ONLY_PUBLIC:
-               $flag = \FILTER_FLAG_IPV4 | \FILTER_FLAG_NO_PRIV_RANGE | \FILTER_FLAG_NO_RES_RANGE;
-               break;
+                $flag = \FILTER_FLAG_IPV4 | \FILTER_FLAG_NO_PRIV_RANGE | \FILTER_FLAG_NO_RES_RANGE;
+                break;
 
             case Ip::V6_ONLY_PUBLIC:
-               $flag = \FILTER_FLAG_IPV6 | \FILTER_FLAG_NO_PRIV_RANGE | \FILTER_FLAG_NO_RES_RANGE;
-               break;
+                $flag = \FILTER_FLAG_IPV6 | \FILTER_FLAG_NO_PRIV_RANGE | \FILTER_FLAG_NO_RES_RANGE;
+                break;
 
             case Ip::ALL_ONLY_PUBLIC:
-               $flag = \FILTER_FLAG_NO_PRIV_RANGE | \FILTER_FLAG_NO_RES_RANGE;
-               break;
+                $flag = \FILTER_FLAG_NO_PRIV_RANGE | \FILTER_FLAG_NO_RES_RANGE;
+                break;
 
             default:
                 $flag = 0;
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Validator/Constraints/IsbnValidator.php 5.4.11+dfsg-1/src/Symfony/Component/Validator/Constraints/IsbnValidator.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Validator/Constraints/IsbnValidator.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Validator/Constraints/IsbnValidator.php	2022-07-29 12:30:51.000000000 +0000
@@ -40,7 +40,7 @@ class IsbnValidator extends ConstraintVa
             return;
         }
 
-        if (!is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) {
+        if (!\is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) {
             throw new UnexpectedValueException($value, 'string');
         }
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Validator/Constraints/IsinValidator.php 5.4.11+dfsg-1/src/Symfony/Component/Validator/Constraints/IsinValidator.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Validator/Constraints/IsinValidator.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Validator/Constraints/IsinValidator.php	2022-07-29 12:30:51.000000000 +0000
@@ -36,7 +36,7 @@ class IsinValidator extends ConstraintVa
             return;
         }
 
-        if (!is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) {
+        if (!\is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) {
             throw new UnexpectedValueException($value, 'string');
         }
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Validator/Constraints/IssnValidator.php 5.4.11+dfsg-1/src/Symfony/Component/Validator/Constraints/IssnValidator.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Validator/Constraints/IssnValidator.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Validator/Constraints/IssnValidator.php	2022-07-29 12:30:51.000000000 +0000
@@ -39,7 +39,7 @@ class IssnValidator extends ConstraintVa
             return;
         }
 
-        if (!is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) {
+        if (!\is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) {
             throw new UnexpectedValueException($value, 'string');
         }
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Validator/Constraints/JsonValidator.php 5.4.11+dfsg-1/src/Symfony/Component/Validator/Constraints/JsonValidator.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Validator/Constraints/JsonValidator.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Validator/Constraints/JsonValidator.php	2022-07-29 12:30:51.000000000 +0000
@@ -33,7 +33,7 @@ class JsonValidator extends ConstraintVa
             return;
         }
 
-        if (!is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) {
+        if (!\is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) {
             throw new UnexpectedTypeException($value, 'string');
         }
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Validator/Constraints/LanguageValidator.php 5.4.11+dfsg-1/src/Symfony/Component/Validator/Constraints/LanguageValidator.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Validator/Constraints/LanguageValidator.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Validator/Constraints/LanguageValidator.php	2022-07-29 12:30:51.000000000 +0000
@@ -37,7 +37,7 @@ class LanguageValidator extends Constrai
             return;
         }
 
-        if (!is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) {
+        if (!\is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) {
             throw new UnexpectedValueException($value, 'string');
         }
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Validator/Constraints/LengthValidator.php 5.4.11+dfsg-1/src/Symfony/Component/Validator/Constraints/LengthValidator.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Validator/Constraints/LengthValidator.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Validator/Constraints/LengthValidator.php	2022-07-29 12:30:51.000000000 +0000
@@ -34,7 +34,7 @@ class LengthValidator extends Constraint
             return;
         }
 
-        if (!is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) {
+        if (!\is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) {
             throw new UnexpectedValueException($value, 'string');
         }
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Validator/Constraints/LocaleValidator.php 5.4.11+dfsg-1/src/Symfony/Component/Validator/Constraints/LocaleValidator.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Validator/Constraints/LocaleValidator.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Validator/Constraints/LocaleValidator.php	2022-07-29 12:30:51.000000000 +0000
@@ -37,7 +37,7 @@ class LocaleValidator extends Constraint
             return;
         }
 
-        if (!is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) {
+        if (!\is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) {
             throw new UnexpectedValueException($value, 'string');
         }
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Validator/Constraints/NotCompromisedPasswordValidator.php 5.4.11+dfsg-1/src/Symfony/Component/Validator/Constraints/NotCompromisedPasswordValidator.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Validator/Constraints/NotCompromisedPasswordValidator.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Validator/Constraints/NotCompromisedPasswordValidator.php	2022-07-29 12:30:51.000000000 +0000
@@ -63,7 +63,7 @@ class NotCompromisedPasswordValidator ex
             return;
         }
 
-        if (null !== $value && !is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) {
+        if (null !== $value && !\is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) {
             throw new UnexpectedValueException($value, 'string');
         }
 
@@ -91,6 +91,10 @@ class NotCompromisedPasswordValidator ex
         }
 
         foreach (explode("\r\n", $result) as $line) {
+            if (!str_contains($line, ':')) {
+                continue;
+            }
+
             [$hashSuffix, $count] = explode(':', $line);
 
             if ($hashPrefix.$hashSuffix === $hash && $constraint->threshold <= (int) $count) {
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Validator/Constraints/RegexValidator.php 5.4.11+dfsg-1/src/Symfony/Component/Validator/Constraints/RegexValidator.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Validator/Constraints/RegexValidator.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Validator/Constraints/RegexValidator.php	2022-07-29 12:30:51.000000000 +0000
@@ -37,7 +37,7 @@ class RegexValidator extends ConstraintV
             return;
         }
 
-        if (!is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) {
+        if (!\is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) {
             throw new UnexpectedValueException($value, 'string');
         }
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Validator/Constraints/TimeValidator.php 5.4.11+dfsg-1/src/Symfony/Component/Validator/Constraints/TimeValidator.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Validator/Constraints/TimeValidator.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Validator/Constraints/TimeValidator.php	2022-07-29 12:30:51.000000000 +0000
@@ -46,7 +46,7 @@ class TimeValidator extends ConstraintVa
             return;
         }
 
-        if (!is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) {
+        if (!\is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) {
             throw new UnexpectedValueException($value, 'string');
         }
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Validator/Constraints/TimezoneValidator.php 5.4.11+dfsg-1/src/Symfony/Component/Validator/Constraints/TimezoneValidator.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Validator/Constraints/TimezoneValidator.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Validator/Constraints/TimezoneValidator.php	2022-07-29 12:30:51.000000000 +0000
@@ -39,7 +39,7 @@ class TimezoneValidator extends Constrai
             return;
         }
 
-        if (!is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) {
+        if (!\is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) {
             throw new UnexpectedValueException($value, 'string');
         }
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Validator/Constraints/UlidValidator.php 5.4.11+dfsg-1/src/Symfony/Component/Validator/Constraints/UlidValidator.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Validator/Constraints/UlidValidator.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Validator/Constraints/UlidValidator.php	2022-07-29 12:30:51.000000000 +0000
@@ -37,7 +37,7 @@ class UlidValidator extends ConstraintVa
             return;
         }
 
-        if (!is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) {
+        if (!\is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) {
             throw new UnexpectedValueException($value, 'string');
         }
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Validator/Constraints/UrlValidator.php 5.4.11+dfsg-1/src/Symfony/Component/Validator/Constraints/UrlValidator.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Validator/Constraints/UrlValidator.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Validator/Constraints/UrlValidator.php	2022-07-29 12:30:51.000000000 +0000
@@ -58,7 +58,7 @@ class UrlValidator extends ConstraintVal
             return;
         }
 
-        if (!is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) {
+        if (!\is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) {
             throw new UnexpectedValueException($value, 'string');
         }
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Validator/Constraints/UuidValidator.php 5.4.11+dfsg-1/src/Symfony/Component/Validator/Constraints/UuidValidator.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Validator/Constraints/UuidValidator.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Validator/Constraints/UuidValidator.php	2022-07-29 12:30:51.000000000 +0000
@@ -72,7 +72,7 @@ class UuidValidator extends ConstraintVa
             return;
         }
 
-        if (!is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) {
+        if (!\is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) {
             throw new UnexpectedValueException($value, 'string');
         }
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Validator/Constraints/Valid.php 5.4.11+dfsg-1/src/Symfony/Component/Validator/Constraints/Valid.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Validator/Constraints/Valid.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Validator/Constraints/Valid.php	2022-07-29 12:30:51.000000000 +0000
@@ -24,6 +24,13 @@ class Valid extends Constraint
 {
     public $traverse = true;
 
+    public function __construct(array $options = null, array $groups = null, $payload = null, bool $traverse = null)
+    {
+        parent::__construct($options ?? [], $groups, $payload);
+
+        $this->traverse = $traverse ?? $this->traverse;
+    }
+
     public function __get(string $option)
     {
         if ('groups' === $option) {
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Validator/Mapping/ClassMetadata.php 5.4.11+dfsg-1/src/Symfony/Component/Validator/Mapping/ClassMetadata.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Validator/Mapping/ClassMetadata.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Validator/Mapping/ClassMetadata.php	2022-07-29 12:30:51.000000000 +0000
@@ -210,7 +210,7 @@ class ClassMetadata extends GenericMetad
             $this->cascadingStrategy = CascadingStrategy::CASCADE;
 
             foreach ($this->getReflectionClass()->getProperties() as $property) {
-                if ($property->hasType() && (('array' === $type = $property->getType()->getName()) || class_exists(($type)))) {
+                if ($property->hasType() && (('array' === $type = $property->getType()->getName()) || class_exists($type))) {
                     $this->addPropertyConstraint($property->getName(), new Valid());
                 }
             }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Validator/Resources/translations/validators.eu.xlf 5.4.11+dfsg-1/src/Symfony/Component/Validator/Resources/translations/validators.eu.xlf
--- 5.4.10+dfsg-1/src/Symfony/Component/Validator/Resources/translations/validators.eu.xlf	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Validator/Resources/translations/validators.eu.xlf	2022-07-29 12:30:51.000000000 +0000
@@ -390,6 +390,18 @@
                 <source>This value should be a valid expression.</source>
                 <target>Balio hori baliozko adierazpena izan beharko litzateke.</target>
             </trans-unit>
+            <trans-unit id="101">
+                <source>This value is not a valid CSS color.</source>
+                <target>Balio hori ez da baliozko CSS kolorea.</target>
+            </trans-unit>
+            <trans-unit id="102">
+                <source>This value is not a valid CIDR notation.</source>
+                <target>Balio hori ez da baliozko CIDR notazioa.</target>
+            </trans-unit>
+            <trans-unit id="103">
+                <source>The value of the netmask should be between {{ min }} and {{ max }}.</source>
+                <target>Maskararen balioa {{ min }} eta {{ max }} artekoa izan beharko litzateke.</target>
+            </trans-unit>
         </body>
     </file>
 </xliff>
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Validator/Tests/Constraints/AbstractComparisonValidatorTestCase.php 5.4.11+dfsg-1/src/Symfony/Component/Validator/Tests/Constraints/AbstractComparisonValidatorTestCase.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Validator/Tests/Constraints/AbstractComparisonValidatorTestCase.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Validator/Tests/Constraints/AbstractComparisonValidatorTestCase.php	2022-07-29 12:30:51.000000000 +0000
@@ -91,10 +91,10 @@ abstract class AbstractComparisonValidat
     {
         $this->expectException(ConstraintDefinitionException::class);
         $this->expectExceptionMessage('requires only one of the "value" or "propertyPath" options to be set, not both.');
-        $this->createConstraint(([
+        $this->createConstraint([
             'value' => 'value',
             'propertyPath' => 'propertyPath',
-        ]));
+        ]);
     }
 
     /**
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Validator/Tests/Constraints/EmailValidatorTest.php 5.4.11+dfsg-1/src/Symfony/Component/Validator/Tests/Constraints/EmailValidatorTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Validator/Tests/Constraints/EmailValidatorTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Validator/Tests/Constraints/EmailValidatorTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -304,7 +304,7 @@ class EmailValidatorTest extends Constra
             ['test@email>'],
             ['test@email<'],
             ['test@email{'],
-            [str_repeat('x', 254).'@example.com'], //email with warnings
+            [str_repeat('x', 254).'@example.com'], // email with warnings
         ];
     }
 }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Validator/Tests/Constraints/IbanValidatorTest.php 5.4.11+dfsg-1/src/Symfony/Component/Validator/Tests/Constraints/IbanValidatorTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Validator/Tests/Constraints/IbanValidatorTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Validator/Tests/Constraints/IbanValidatorTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -57,108 +57,108 @@ class IbanValidatorTest extends Constrai
             // Country list
             // http://www.rbs.co.uk/corporate/international/g0/guide-to-international-business/regulatory-information/iban/iban-example.ashx
 
-            ['AL47 2121 1009 0000 0002 3569 8741'], //Albania
-            ['AD12 0001 2030 2003 5910 0100'], //Andorra
-            ['AT61 1904 3002 3457 3201'], //Austria
-            ['AZ21 NABZ 0000 0000 1370 1000 1944'], //Azerbaijan
-            ['BH67 BMAG 0000 1299 1234 56'], //Bahrain
-            ['BE62 5100 0754 7061'], //Belgium
-            ['BA39 1290 0794 0102 8494'], //Bosnia and Herzegovina
-            ['BG80 BNBG 9661 1020 3456 78'], //Bulgaria
-            ['BY 13 NBRB 3600 900000002Z00AB00'], //Belarus
-            ['BY13 NBRB 3600 900000002Z00AB00'], //Belarus
-            ['BY22NB23324232T78YR7823HR32U'], //Belarus
-            ['HR12 1001 0051 8630 0016 0'], //Croatia
-            ['CY17 0020 0128 0000 0012 0052 7600'], //Cyprus
-            ['CZ65 0800 0000 1920 0014 5399'], //Czech Republic
-            ['DK50 0040 0440 1162 43'], //Denmark
-            ['EE38 2200 2210 2014 5685'], //Estonia
-            ['FO97 5432 0388 8999 44'], //Faroe Islands
-            ['FI21 1234 5600 0007 85'], //Finland
-            ['FR14 2004 1010 0505 0001 3M02 606'], //France
-            ['GE29 NB00 0000 0101 9049 17'], //Georgia
-            ['DE89 3704 0044 0532 0130 00'], //Germany
-            ['GI75 NWBK 0000 0000 7099 453'], //Gibraltar
-            ['GR16 0110 1250 0000 0001 2300 695'], //Greece
-            ['GL56 0444 9876 5432 10'], //Greenland
-            ['HU42 1177 3016 1111 1018 0000 0000'], //Hungary
-            ['IS14 0159 2600 7654 5510 7303 39'], //Iceland
-            ['IE29 AIBK 9311 5212 3456 78'], //Ireland
-            ['IL62 0108 0000 0009 9999 999'], //Israel
-            ['IT40 S054 2811 1010 0000 0123 456'], //Italy
-            ['LV80 BANK 0000 4351 9500 1'], //Latvia
-            ['LB62 0999 0000 0001 0019 0122 9114'], //Lebanon
-            ['LI21 0881 0000 2324 013A A'], //Liechtenstein
-            ['LT12 1000 0111 0100 1000'], //Lithuania
-            ['LU28 0019 4006 4475 0000'], //Luxembourg
-            ['MK072 5012 0000 0589 84'], //Macedonia
-            ['MT84 MALT 0110 0001 2345 MTLC AST0 01S'], //Malta
-            ['MU17 BOMM 0101 1010 3030 0200 000M UR'], //Mauritius
-            ['MD24 AG00 0225 1000 1310 4168'], //Moldova
-            ['MC93 2005 2222 1001 1223 3M44 555'], //Monaco
-            ['ME25 5050 0001 2345 6789 51'], //Montenegro
-            ['NL39 RABO 0300 0652 64'], //Netherlands
-            ['NO93 8601 1117 947'], //Norway
-            ['PK36 SCBL 0000 0011 2345 6702'], //Pakistan
-            ['PL60 1020 1026 0000 0422 7020 1111'], //Poland
-            ['PT50 0002 0123 1234 5678 9015 4'], //Portugal
-            ['RO49 AAAA 1B31 0075 9384 0000'], //Romania
-            ['SM86 U032 2509 8000 0000 0270 100'], //San Marino
-            ['SA03 8000 0000 6080 1016 7519'], //Saudi Arabia
-            ['RS35 2600 0560 1001 6113 79'], //Serbia
-            ['SK31 1200 0000 1987 4263 7541'], //Slovak Republic
-            ['SI56 1910 0000 0123 438'], //Slovenia
-            ['ES80 2310 0001 1800 0001 2345'], //Spain
-            ['SE35 5000 0000 0549 1000 0003'], //Sweden
-            ['CH93 0076 2011 6238 5295 7'], //Switzerland
-            ['TN59 1000 6035 1835 9847 8831'], //Tunisia
-            ['TR33 0006 1005 1978 6457 8413 26'], //Turkey
-            ['AE07 0331 2345 6789 0123 456'], //UAE
-            ['GB12 CPBK 0892 9965 0449 91'], //United Kingdom
+            ['AL47 2121 1009 0000 0002 3569 8741'], // Albania
+            ['AD12 0001 2030 2003 5910 0100'], // Andorra
+            ['AT61 1904 3002 3457 3201'], // Austria
+            ['AZ21 NABZ 0000 0000 1370 1000 1944'], // Azerbaijan
+            ['BH67 BMAG 0000 1299 1234 56'], // Bahrain
+            ['BE62 5100 0754 7061'], // Belgium
+            ['BA39 1290 0794 0102 8494'], // Bosnia and Herzegovina
+            ['BG80 BNBG 9661 1020 3456 78'], // Bulgaria
+            ['BY 13 NBRB 3600 900000002Z00AB00'], // Belarus
+            ['BY13 NBRB 3600 900000002Z00AB00'], // Belarus
+            ['BY22NB23324232T78YR7823HR32U'], // Belarus
+            ['HR12 1001 0051 8630 0016 0'], // Croatia
+            ['CY17 0020 0128 0000 0012 0052 7600'], // Cyprus
+            ['CZ65 0800 0000 1920 0014 5399'], // Czech Republic
+            ['DK50 0040 0440 1162 43'], // Denmark
+            ['EE38 2200 2210 2014 5685'], // Estonia
+            ['FO97 5432 0388 8999 44'], // Faroe Islands
+            ['FI21 1234 5600 0007 85'], // Finland
+            ['FR14 2004 1010 0505 0001 3M02 606'], // France
+            ['GE29 NB00 0000 0101 9049 17'], // Georgia
+            ['DE89 3704 0044 0532 0130 00'], // Germany
+            ['GI75 NWBK 0000 0000 7099 453'], // Gibraltar
+            ['GR16 0110 1250 0000 0001 2300 695'], // Greece
+            ['GL56 0444 9876 5432 10'], // Greenland
+            ['HU42 1177 3016 1111 1018 0000 0000'], // Hungary
+            ['IS14 0159 2600 7654 5510 7303 39'], // Iceland
+            ['IE29 AIBK 9311 5212 3456 78'], // Ireland
+            ['IL62 0108 0000 0009 9999 999'], // Israel
+            ['IT40 S054 2811 1010 0000 0123 456'], // Italy
+            ['LV80 BANK 0000 4351 9500 1'], // Latvia
+            ['LB62 0999 0000 0001 0019 0122 9114'], // Lebanon
+            ['LI21 0881 0000 2324 013A A'], // Liechtenstein
+            ['LT12 1000 0111 0100 1000'], // Lithuania
+            ['LU28 0019 4006 4475 0000'], // Luxembourg
+            ['MK072 5012 0000 0589 84'], // Macedonia
+            ['MT84 MALT 0110 0001 2345 MTLC AST0 01S'], // Malta
+            ['MU17 BOMM 0101 1010 3030 0200 000M UR'], // Mauritius
+            ['MD24 AG00 0225 1000 1310 4168'], // Moldova
+            ['MC93 2005 2222 1001 1223 3M44 555'], // Monaco
+            ['ME25 5050 0001 2345 6789 51'], // Montenegro
+            ['NL39 RABO 0300 0652 64'], // Netherlands
+            ['NO93 8601 1117 947'], // Norway
+            ['PK36 SCBL 0000 0011 2345 6702'], // Pakistan
+            ['PL60 1020 1026 0000 0422 7020 1111'], // Poland
+            ['PT50 0002 0123 1234 5678 9015 4'], // Portugal
+            ['RO49 AAAA 1B31 0075 9384 0000'], // Romania
+            ['SM86 U032 2509 8000 0000 0270 100'], // San Marino
+            ['SA03 8000 0000 6080 1016 7519'], // Saudi Arabia
+            ['RS35 2600 0560 1001 6113 79'], // Serbia
+            ['SK31 1200 0000 1987 4263 7541'], // Slovak Republic
+            ['SI56 1910 0000 0123 438'], // Slovenia
+            ['ES80 2310 0001 1800 0001 2345'], // Spain
+            ['SE35 5000 0000 0549 1000 0003'], // Sweden
+            ['CH93 0076 2011 6238 5295 7'], // Switzerland
+            ['TN59 1000 6035 1835 9847 8831'], // Tunisia
+            ['TR33 0006 1005 1978 6457 8413 26'], // Turkey
+            ['AE07 0331 2345 6789 0123 456'], // UAE
+            ['GB12 CPBK 0892 9965 0449 91'], // United Kingdom
 
-            //Extended country list
-            //http://www.nordea.com/Our+services/International+products+and+services/Cash+Management/IBAN+countries/908462.html
+            // Extended country list
+            // http://www.nordea.com/Our+services/International+products+and+services/Cash+Management/IBAN+countries/908462.html
             // https://www.swift.com/sites/default/files/resources/iban_registry.pdf
-            ['AO06000600000100037131174'], //Angola
-            ['AZ21NABZ00000000137010001944'], //Azerbaijan
-            ['BH29BMAG1299123456BH00'], //Bahrain
-            ['BJ11B00610100400271101192591'], //Benin
+            ['AO06000600000100037131174'], // Angola
+            ['AZ21NABZ00000000137010001944'], // Azerbaijan
+            ['BH29BMAG1299123456BH00'], // Bahrain
+            ['BJ11B00610100400271101192591'], // Benin
             ['BR9700360305000010009795493P1'], // Brazil
             ['BR1800000000141455123924100C2'], // Brazil
-            ['VG96VPVG0000012345678901'], //British Virgin Islands
-            ['BF1030134020015400945000643'], //Burkina Faso
-            ['BI43201011067444'], //Burundi
-            ['CM2110003001000500000605306'], //Cameroon
-            ['CV64000300004547069110176'], //Cape Verde
-            ['FR7630007000110009970004942'], //Central African Republic
-            ['CG5230011000202151234567890'], //Congo
-            ['CR05015202001026284066'], //Costa Rica
-            ['DO28BAGR00000001212453611324'], //Dominican Republic
-            ['GT82TRAJ01020000001210029690'], //Guatemala
-            ['IR580540105180021273113007'], //Iran
-            ['IL620108000000099999999'], //Israel
-            ['CI05A00060174100178530011852'], //Ivory Coast
+            ['VG96VPVG0000012345678901'], // British Virgin Islands
+            ['BF1030134020015400945000643'], // Burkina Faso
+            ['BI43201011067444'], // Burundi
+            ['CM2110003001000500000605306'], // Cameroon
+            ['CV64000300004547069110176'], // Cape Verde
+            ['FR7630007000110009970004942'], // Central African Republic
+            ['CG5230011000202151234567890'], // Congo
+            ['CR05015202001026284066'], // Costa Rica
+            ['DO28BAGR00000001212453611324'], // Dominican Republic
+            ['GT82TRAJ01020000001210029690'], // Guatemala
+            ['IR580540105180021273113007'], // Iran
+            ['IL620108000000099999999'], // Israel
+            ['CI05A00060174100178530011852'], // Ivory Coast
             ['JO94CBJO0010000000000131000302'], // Jordan
-            ['KZ176010251000042993'], //Kazakhstan
-            ['KW74NBOK0000000000001000372151'], //Kuwait
-            ['LB30099900000001001925579115'], //Lebanon
-            ['MG4600005030010101914016056'], //Madagascar
-            ['ML03D00890170001002120000447'], //Mali
-            ['MR1300012000010000002037372'], //Mauritania
-            ['MU17BOMM0101101030300200000MUR'], //Mauritius
-            ['MZ59000100000011834194157'], //Mozambique
-            ['PS92PALS000000000400123456702'], //Palestinian Territory
-            ['QA58DOHB00001234567890ABCDEFG'], //Qatar
-            ['XK051212012345678906'], //Republic of Kosovo
-            ['PT50000200000163099310355'], //Sao Tome and Principe
-            ['SA0380000000608010167519'], //Saudi Arabia
-            ['SN12K00100152000025690007542'], //Senegal
-            ['TL380080012345678910157'], //Timor-Leste
-            ['TN5914207207100707129648'], //Tunisia
-            ['TR330006100519786457841326'], //Turkey
-            ['UA213223130000026007233566001'], //Ukraine
-            ['AE260211000000230064016'], //United Arab Emirates
-            ['VA59001123000012345678'], //Vatican City State
+            ['KZ176010251000042993'], // Kazakhstan
+            ['KW74NBOK0000000000001000372151'], // Kuwait
+            ['LB30099900000001001925579115'], // Lebanon
+            ['MG4600005030010101914016056'], // Madagascar
+            ['ML03D00890170001002120000447'], // Mali
+            ['MR1300012000010000002037372'], // Mauritania
+            ['MU17BOMM0101101030300200000MUR'], // Mauritius
+            ['MZ59000100000011834194157'], // Mozambique
+            ['PS92PALS000000000400123456702'], // Palestinian Territory
+            ['QA58DOHB00001234567890ABCDEFG'], // Qatar
+            ['XK051212012345678906'], // Republic of Kosovo
+            ['PT50000200000163099310355'], // Sao Tome and Principe
+            ['SA0380000000608010167519'], // Saudi Arabia
+            ['SN12K00100152000025690007542'], // Senegal
+            ['TL380080012345678910157'], // Timor-Leste
+            ['TN5914207207100707129648'], // Tunisia
+            ['TR330006100519786457841326'], // Turkey
+            ['UA213223130000026007233566001'], // Ukraine
+            ['AE260211000000230064016'], // United Arab Emirates
+            ['VA59001123000012345678'], // Vatican City State
         ];
     }
 
@@ -173,111 +173,111 @@ class IbanValidatorTest extends Constrai
     public function getIbansWithInvalidFormat()
     {
         return [
-            ['AL47 2121 1009 0000 0002 3569 874'], //Albania
-            ['AD12 0001 2030 2003 5910 010'], //Andorra
-            ['AT61 1904 3002 3457 320'], //Austria
-            ['AZ21 NABZ 0000 0000 1370 1000 194'], //Azerbaijan
-            ['AZ21 N1BZ 0000 0000 1370 1000 1944'], //Azerbaijan
-            ['BH67 BMAG 0000 1299 1234 5'], //Bahrain
-            ['BH67 B2AG 0000 1299 1234 56'], //Bahrain
-            ['BE62 5100 0754 7061 2'], //Belgium
-            ['BA39 1290 0794 0102 8494 4'], //Bosnia and Herzegovina
-            ['BG80 BNBG 9661 1020 3456 7'], //Bulgaria
-            ['BG80 B2BG 9661 1020 3456 78'], //Bulgaria
-            ['BY 13 NBRB 3600 900000002Z00AB001'], //Belarus
-            ['BY 13 NBRB 3600 900000002Z00AB0'], //Belarus
-            ['BYRO NBRB 3600 900000002Z00AB0'], //Belarus
-            ['BY 13 3600 NBRB 900000002Z00AB05'], //Belarus
-            ['HR12 1001 0051 8630 0016 01'], //Croatia
-            ['CY17 0020 0128 0000 0012 0052 7600 1'], //Cyprus
-            ['CZ65 0800 0000 1920 0014 5399 1'], //Czech Republic
-            ['DK50 0040 0440 1162 431'], //Denmark
-            ['EE38 2200 2210 2014 5685 1'], //Estonia
-            ['FO97 5432 0388 8999 441'], //Faroe Islands
-            ['FI21 1234 5600 0007 851'], //Finland
-            ['FR14 2004 1010 0505 0001 3M02 6061'], //France
-            ['GE29 NB00 0000 0101 9049 171'], //Georgia
-            ['DE89 3704 0044 0532 0130 001'], //Germany
-            ['GI75 NWBK 0000 0000 7099 4531'], //Gibraltar
-            ['GR16 0110 1250 0000 0001 2300 6951'], //Greece
-            ['GL56 0444 9876 5432 101'], //Greenland
-            ['HU42 1177 3016 1111 1018 0000 0000 1'], //Hungary
-            ['IS14 0159 2600 7654 5510 7303 391'], //Iceland
-            ['IE29 AIBK 9311 5212 3456 781'], //Ireland
-            ['IL62 0108 0000 0009 9999 9991'], //Israel
-            ['IT40 S054 2811 1010 0000 0123 4561'], //Italy
-            ['LV80 BANK 0000 4351 9500 11'], //Latvia
-            ['LB62 0999 0000 0001 0019 0122 9114 1'], //Lebanon
-            ['LI21 0881 0000 2324 013A A1'], //Liechtenstein
-            ['LT12 1000 0111 0100 1000 1'], //Lithuania
-            ['LU28 0019 4006 4475 0000 1'], //Luxembourg
-            ['MK072 5012 0000 0589 84 1'], //Macedonia
-            ['MT84 MALT 0110 0001 2345 MTLC AST0 01SA'], //Malta
-            ['MU17 BOMM 0101 1010 3030 0200 000M URA'], //Mauritius
-            ['MD24 AG00 0225 1000 1310 4168 1'], //Moldova
-            ['MC93 2005 2222 1001 1223 3M44 5551'], //Monaco
-            ['ME25 5050 0001 2345 6789 511'], //Montenegro
-            ['NL39 RABO 0300 0652 641'], //Netherlands
-            ['NO93 8601 1117 9471'], //Norway
-            ['PK36 SCBL 0000 0011 2345 6702 1'], //Pakistan
-            ['PL60 1020 1026 0000 0422 7020 1111 1'], //Poland
-            ['PT50 0002 0123 1234 5678 9015 41'], //Portugal
-            ['RO49 AAAA 1B31 0075 9384 0000 1'], //Romania
-            ['SM86 U032 2509 8000 0000 0270 1001'], //San Marino
-            ['SA03 8000 0000 6080 1016 7519 1'], //Saudi Arabia
-            ['RS35 2600 0560 1001 6113 791'], //Serbia
-            ['SK31 1200 0000 1987 4263 7541 1'], //Slovak Republic
-            ['SI56 1910 0000 0123 4381'], //Slovenia
-            ['ES80 2310 0001 1800 0001 2345 1'], //Spain
-            ['SE35 5000 0000 0549 1000 0003 1'], //Sweden
-            ['CH93 0076 2011 6238 5295 71'], //Switzerland
-            ['TN59 1000 6035 1835 9847 8831 1'], //Tunisia
-            ['TR33 0006 1005 1978 6457 8413 261'], //Turkey
-            ['AE07 0331 2345 6789 0123 4561'], //UAE
-            ['GB12 CPBK 0892 9965 0449 911'], //United Kingdom
+            ['AL47 2121 1009 0000 0002 3569 874'], // Albania
+            ['AD12 0001 2030 2003 5910 010'], // Andorra
+            ['AT61 1904 3002 3457 320'], // Austria
+            ['AZ21 NABZ 0000 0000 1370 1000 194'], // Azerbaijan
+            ['AZ21 N1BZ 0000 0000 1370 1000 1944'], // Azerbaijan
+            ['BH67 BMAG 0000 1299 1234 5'], // Bahrain
+            ['BH67 B2AG 0000 1299 1234 56'], // Bahrain
+            ['BE62 5100 0754 7061 2'], // Belgium
+            ['BA39 1290 0794 0102 8494 4'], // Bosnia and Herzegovina
+            ['BG80 BNBG 9661 1020 3456 7'], // Bulgaria
+            ['BG80 B2BG 9661 1020 3456 78'], // Bulgaria
+            ['BY 13 NBRB 3600 900000002Z00AB001'], // Belarus
+            ['BY 13 NBRB 3600 900000002Z00AB0'], // Belarus
+            ['BYRO NBRB 3600 900000002Z00AB0'], // Belarus
+            ['BY 13 3600 NBRB 900000002Z00AB05'], // Belarus
+            ['HR12 1001 0051 8630 0016 01'], // Croatia
+            ['CY17 0020 0128 0000 0012 0052 7600 1'], // Cyprus
+            ['CZ65 0800 0000 1920 0014 5399 1'], // Czech Republic
+            ['DK50 0040 0440 1162 431'], // Denmark
+            ['EE38 2200 2210 2014 5685 1'], // Estonia
+            ['FO97 5432 0388 8999 441'], // Faroe Islands
+            ['FI21 1234 5600 0007 851'], // Finland
+            ['FR14 2004 1010 0505 0001 3M02 6061'], // France
+            ['GE29 NB00 0000 0101 9049 171'], // Georgia
+            ['DE89 3704 0044 0532 0130 001'], // Germany
+            ['GI75 NWBK 0000 0000 7099 4531'], // Gibraltar
+            ['GR16 0110 1250 0000 0001 2300 6951'], // Greece
+            ['GL56 0444 9876 5432 101'], // Greenland
+            ['HU42 1177 3016 1111 1018 0000 0000 1'], // Hungary
+            ['IS14 0159 2600 7654 5510 7303 391'], // Iceland
+            ['IE29 AIBK 9311 5212 3456 781'], // Ireland
+            ['IL62 0108 0000 0009 9999 9991'], // Israel
+            ['IT40 S054 2811 1010 0000 0123 4561'], // Italy
+            ['LV80 BANK 0000 4351 9500 11'], // Latvia
+            ['LB62 0999 0000 0001 0019 0122 9114 1'], // Lebanon
+            ['LI21 0881 0000 2324 013A A1'], // Liechtenstein
+            ['LT12 1000 0111 0100 1000 1'], // Lithuania
+            ['LU28 0019 4006 4475 0000 1'], // Luxembourg
+            ['MK072 5012 0000 0589 84 1'], // Macedonia
+            ['MT84 MALT 0110 0001 2345 MTLC AST0 01SA'], // Malta
+            ['MU17 BOMM 0101 1010 3030 0200 000M URA'], // Mauritius
+            ['MD24 AG00 0225 1000 1310 4168 1'], // Moldova
+            ['MC93 2005 2222 1001 1223 3M44 5551'], // Monaco
+            ['ME25 5050 0001 2345 6789 511'], // Montenegro
+            ['NL39 RABO 0300 0652 641'], // Netherlands
+            ['NO93 8601 1117 9471'], // Norway
+            ['PK36 SCBL 0000 0011 2345 6702 1'], // Pakistan
+            ['PL60 1020 1026 0000 0422 7020 1111 1'], // Poland
+            ['PT50 0002 0123 1234 5678 9015 41'], // Portugal
+            ['RO49 AAAA 1B31 0075 9384 0000 1'], // Romania
+            ['SM86 U032 2509 8000 0000 0270 1001'], // San Marino
+            ['SA03 8000 0000 6080 1016 7519 1'], // Saudi Arabia
+            ['RS35 2600 0560 1001 6113 791'], // Serbia
+            ['SK31 1200 0000 1987 4263 7541 1'], // Slovak Republic
+            ['SI56 1910 0000 0123 4381'], // Slovenia
+            ['ES80 2310 0001 1800 0001 2345 1'], // Spain
+            ['SE35 5000 0000 0549 1000 0003 1'], // Sweden
+            ['CH93 0076 2011 6238 5295 71'], // Switzerland
+            ['TN59 1000 6035 1835 9847 8831 1'], // Tunisia
+            ['TR33 0006 1005 1978 6457 8413 261'], // Turkey
+            ['AE07 0331 2345 6789 0123 4561'], // UAE
+            ['GB12 CPBK 0892 9965 0449 911'], // United Kingdom
 
-            //Extended country list
-            ['AO060006000001000371311741'], //Angola
-            ['AZ21NABZ000000001370100019441'], //Azerbaijan
-            ['BH29BMAG1299123456BH001'], //Bahrain
-            ['BJ11B006101004002711011925911'], //Benin
+            // Extended country list
+            ['AO060006000001000371311741'], // Angola
+            ['AZ21NABZ000000001370100019441'], // Azerbaijan
+            ['BH29BMAG1299123456BH001'], // Bahrain
+            ['BJ11B006101004002711011925911'], // Benin
             ['BR9700360305000010009795493P11'], // Brazil
             ['BR1800000000141455123924100C21'], // Brazil
-            ['VG96VPVG00000123456789011'], //British Virgin Islands
-            ['BF10301340200154009450006431'], //Burkina Faso
-            ['BI432010110674441'], //Burundi
-            ['CM21100030010005000006053061'], //Cameroon
-            ['CV640003000045470691101761'], //Cape Verde
-            ['FR76300070001100099700049421'], //Central African Republic
-            ['CG52300110002021512345678901'], //Congo
-            ['CR05152020010262840661'], //Costa Rica
-            ['CR0515202001026284066'], //Costa Rica
-            ['DO28BAGR000000012124536113241'], //Dominican Republic
-            ['GT82TRAJ010200000012100296901'], //Guatemala
-            ['IR5805401051800212731130071'], //Iran
-            ['IL6201080000000999999991'], //Israel
-            ['CI05A000601741001785300118521'], //Ivory Coast
+            ['VG96VPVG00000123456789011'], // British Virgin Islands
+            ['BF10301340200154009450006431'], // Burkina Faso
+            ['BI432010110674441'], // Burundi
+            ['CM21100030010005000006053061'], // Cameroon
+            ['CV640003000045470691101761'], // Cape Verde
+            ['FR76300070001100099700049421'], // Central African Republic
+            ['CG52300110002021512345678901'], // Congo
+            ['CR05152020010262840661'], // Costa Rica
+            ['CR0515202001026284066'], // Costa Rica
+            ['DO28BAGR000000012124536113241'], // Dominican Republic
+            ['GT82TRAJ010200000012100296901'], // Guatemala
+            ['IR5805401051800212731130071'], // Iran
+            ['IL6201080000000999999991'], // Israel
+            ['CI05A000601741001785300118521'], // Ivory Coast
             ['JO94CBJO00100000000001310003021'], // Jordan
-            ['KZ1760102510000429931'], //Kazakhstan
-            ['KW74NBOK00000000000010003721511'], //Kuwait
-            ['LB300999000000010019255791151'], //Lebanon
-            ['MG46000050300101019140160561'], //Madagascar
-            ['ML03D008901700010021200004471'], //Mali
-            ['MR13000120000100000020373721'], //Mauritania
-            ['MU17BOMM0101101030300200000MUR1'], //Mauritius
-            ['MZ590001000000118341941571'], //Mozambique
-            ['PS92PALS0000000004001234567021'], //Palestinian Territory
-            ['QA58DOHB00001234567890ABCDEFG1'], //Qatar
-            ['XK0512120123456789061'], //Republic of Kosovo
-            ['PT500002000001630993103551'], //Sao Tome and Principe
-            ['SA03800000006080101675191'], //Saudi Arabia
-            ['SN12K001001520000256900075421'], //Senegal
-            ['TL3800800123456789101571'], //Timor-Leste
-            ['TN59142072071007071296481'], //Tunisia
-            ['TR3300061005197864578413261'], //Turkey
-            ['UA21AAAA1300000260072335660012'], //Ukraine
-            ['AE2602110000002300640161'], //United Arab Emirates
-            ['VA590011230000123456781'], //Vatican City State
+            ['KZ1760102510000429931'], // Kazakhstan
+            ['KW74NBOK00000000000010003721511'], // Kuwait
+            ['LB300999000000010019255791151'], // Lebanon
+            ['MG46000050300101019140160561'], // Madagascar
+            ['ML03D008901700010021200004471'], // Mali
+            ['MR13000120000100000020373721'], // Mauritania
+            ['MU17BOMM0101101030300200000MUR1'], // Mauritius
+            ['MZ590001000000118341941571'], // Mozambique
+            ['PS92PALS0000000004001234567021'], // Palestinian Territory
+            ['QA58DOHB00001234567890ABCDEFG1'], // Qatar
+            ['XK0512120123456789061'], // Republic of Kosovo
+            ['PT500002000001630993103551'], // Sao Tome and Principe
+            ['SA03800000006080101675191'], // Saudi Arabia
+            ['SN12K001001520000256900075421'], // Senegal
+            ['TL3800800123456789101571'], // Timor-Leste
+            ['TN59142072071007071296481'], // Tunisia
+            ['TR3300061005197864578413261'], // Turkey
+            ['UA21AAAA1300000260072335660012'], // Ukraine
+            ['AE2602110000002300640161'], // United Arab Emirates
+            ['VA590011230000123456781'], // Vatican City State
         ];
     }
 
@@ -292,104 +292,104 @@ class IbanValidatorTest extends Constrai
     public function getIbansWithValidFormatButIncorrectChecksum()
     {
         return [
-            ['AL47 2121 1009 0000 0002 3569 8742'], //Albania
-            ['AD12 0001 2030 2003 5910 0101'], //Andorra
-            ['AT61 1904 3002 3457 3202'], //Austria
-            ['AZ21 NABZ 0000 0000 1370 1000 1945'], //Azerbaijan
-            ['BH67 BMAG 0000 1299 1234 57'], //Bahrain
-            ['BE62 5100 0754 7062'], //Belgium
-            ['BA39 1290 0794 0102 8495'], //Bosnia and Herzegovina
-            ['BG80 BNBG 9661 1020 3456 79'], //Bulgaria
-            ['BY90 NBRB 3600 900000002Z00AB00'], //Belarus
-            ['HR12 1001 0051 8630 0016 1'], //Croatia
-            ['CY17 0020 0128 0000 0012 0052 7601'], //Cyprus
-            ['CZ65 0800 0000 1920 0014 5398'], //Czech Republic
-            ['DK50 0040 0440 1162 44'], //Denmark
-            ['EE38 2200 2210 2014 5684'], //Estonia
-            ['FO97 5432 0388 8999 43'], //Faroe Islands
-            ['FI21 1234 5600 0007 84'], //Finland
-            ['FR14 2004 1010 0505 0001 3M02 605'], //France
-            ['GE29 NB00 0000 0101 9049 16'], //Georgia
-            ['DE89 3704 0044 0532 0130 01'], //Germany
-            ['GI75 NWBK 0000 0000 7099 452'], //Gibraltar
-            ['GR16 0110 1250 0000 0001 2300 694'], //Greece
-            ['GL56 0444 9876 5432 11'], //Greenland
-            ['HU42 1177 3016 1111 1018 0000 0001'], //Hungary
-            ['IS14 0159 2600 7654 5510 7303 38'], //Iceland
-            ['IE29 AIBK 9311 5212 3456 79'], //Ireland
-            ['IL62 0108 0000 0009 9999 998'], //Israel
-            ['IT40 S054 2811 1010 0000 0123 457'], //Italy
-            ['LV80 BANK 0000 4351 9500 2'], //Latvia
-            ['LB62 0999 0000 0001 0019 0122 9115'], //Lebanon
-            ['LI21 0881 0000 2324 013A B'], //Liechtenstein
-            ['LT12 1000 0111 0100 1001'], //Lithuania
-            ['LU28 0019 4006 4475 0001'], //Luxembourg
-            ['MK072 5012 0000 0589 85'], //Macedonia
-            ['MT84 MALT 0110 0001 2345 MTLC AST0 01T'], //Malta
-            ['MU17 BOMM 0101 1010 3030 0200 000M UP'], //Mauritius
-            ['MD24 AG00 0225 1000 1310 4169'], //Moldova
-            ['MC93 2005 2222 1001 1223 3M44 554'], //Monaco
-            ['ME25 5050 0001 2345 6789 52'], //Montenegro
-            ['NL39 RABO 0300 0652 65'], //Netherlands
-            ['NO93 8601 1117 948'], //Norway
-            ['PK36 SCBL 0000 0011 2345 6703'], //Pakistan
-            ['PL60 1020 1026 0000 0422 7020 1112'], //Poland
-            ['PT50 0002 0123 1234 5678 9015 5'], //Portugal
-            ['RO49 AAAA 1B31 0075 9384 0001'], //Romania
-            ['SM86 U032 2509 8000 0000 0270 101'], //San Marino
-            ['SA03 8000 0000 6080 1016 7518'], //Saudi Arabia
-            ['RS35 2600 0560 1001 6113 78'], //Serbia
-            ['SK31 1200 0000 1987 4263 7542'], //Slovak Republic
-            ['SI56 1910 0000 0123 439'], //Slovenia
-            ['ES80 2310 0001 1800 0001 2346'], //Spain
-            ['SE35 5000 0000 0549 1000 0004'], //Sweden
-            ['CH93 0076 2011 6238 5295 8'], //Switzerland
-            ['TN59 1000 6035 1835 9847 8832'], //Tunisia
-            ['TR33 0006 1005 1978 6457 8413 27'], //Turkey
-            ['AE07 0331 2345 6789 0123 457'], //UAE
-            ['GB12 CPBK 0892 9965 0449 92'], //United Kingdom
+            ['AL47 2121 1009 0000 0002 3569 8742'], // Albania
+            ['AD12 0001 2030 2003 5910 0101'], // Andorra
+            ['AT61 1904 3002 3457 3202'], // Austria
+            ['AZ21 NABZ 0000 0000 1370 1000 1945'], // Azerbaijan
+            ['BH67 BMAG 0000 1299 1234 57'], // Bahrain
+            ['BE62 5100 0754 7062'], // Belgium
+            ['BA39 1290 0794 0102 8495'], // Bosnia and Herzegovina
+            ['BG80 BNBG 9661 1020 3456 79'], // Bulgaria
+            ['BY90 NBRB 3600 900000002Z00AB00'], // Belarus
+            ['HR12 1001 0051 8630 0016 1'], // Croatia
+            ['CY17 0020 0128 0000 0012 0052 7601'], // Cyprus
+            ['CZ65 0800 0000 1920 0014 5398'], // Czech Republic
+            ['DK50 0040 0440 1162 44'], // Denmark
+            ['EE38 2200 2210 2014 5684'], // Estonia
+            ['FO97 5432 0388 8999 43'], // Faroe Islands
+            ['FI21 1234 5600 0007 84'], // Finland
+            ['FR14 2004 1010 0505 0001 3M02 605'], // France
+            ['GE29 NB00 0000 0101 9049 16'], // Georgia
+            ['DE89 3704 0044 0532 0130 01'], // Germany
+            ['GI75 NWBK 0000 0000 7099 452'], // Gibraltar
+            ['GR16 0110 1250 0000 0001 2300 694'], // Greece
+            ['GL56 0444 9876 5432 11'], // Greenland
+            ['HU42 1177 3016 1111 1018 0000 0001'], // Hungary
+            ['IS14 0159 2600 7654 5510 7303 38'], // Iceland
+            ['IE29 AIBK 9311 5212 3456 79'], // Ireland
+            ['IL62 0108 0000 0009 9999 998'], // Israel
+            ['IT40 S054 2811 1010 0000 0123 457'], // Italy
+            ['LV80 BANK 0000 4351 9500 2'], // Latvia
+            ['LB62 0999 0000 0001 0019 0122 9115'], // Lebanon
+            ['LI21 0881 0000 2324 013A B'], // Liechtenstein
+            ['LT12 1000 0111 0100 1001'], // Lithuania
+            ['LU28 0019 4006 4475 0001'], // Luxembourg
+            ['MK072 5012 0000 0589 85'], // Macedonia
+            ['MT84 MALT 0110 0001 2345 MTLC AST0 01T'], // Malta
+            ['MU17 BOMM 0101 1010 3030 0200 000M UP'], // Mauritius
+            ['MD24 AG00 0225 1000 1310 4169'], // Moldova
+            ['MC93 2005 2222 1001 1223 3M44 554'], // Monaco
+            ['ME25 5050 0001 2345 6789 52'], // Montenegro
+            ['NL39 RABO 0300 0652 65'], // Netherlands
+            ['NO93 8601 1117 948'], // Norway
+            ['PK36 SCBL 0000 0011 2345 6703'], // Pakistan
+            ['PL60 1020 1026 0000 0422 7020 1112'], // Poland
+            ['PT50 0002 0123 1234 5678 9015 5'], // Portugal
+            ['RO49 AAAA 1B31 0075 9384 0001'], // Romania
+            ['SM86 U032 2509 8000 0000 0270 101'], // San Marino
+            ['SA03 8000 0000 6080 1016 7518'], // Saudi Arabia
+            ['RS35 2600 0560 1001 6113 78'], // Serbia
+            ['SK31 1200 0000 1987 4263 7542'], // Slovak Republic
+            ['SI56 1910 0000 0123 439'], // Slovenia
+            ['ES80 2310 0001 1800 0001 2346'], // Spain
+            ['SE35 5000 0000 0549 1000 0004'], // Sweden
+            ['CH93 0076 2011 6238 5295 8'], // Switzerland
+            ['TN59 1000 6035 1835 9847 8832'], // Tunisia
+            ['TR33 0006 1005 1978 6457 8413 27'], // Turkey
+            ['AE07 0331 2345 6789 0123 457'], // UAE
+            ['GB12 CPBK 0892 9965 0449 92'], // United Kingdom
 
-            //Extended country list
-            ['AO06000600000100037131175'], //Angola
-            ['AZ21NABZ00000000137010001945'], //Azerbaijan
-            ['BH29BMAG1299123456BH01'], //Bahrain
-            ['BJ11B00610100400271101192592'], //Benin
+            // Extended country list
+            ['AO06000600000100037131175'], // Angola
+            ['AZ21NABZ00000000137010001945'], // Azerbaijan
+            ['BH29BMAG1299123456BH01'], // Bahrain
+            ['BJ11B00610100400271101192592'], // Benin
             ['BR9700360305000010009795493P2'], // Brazil
             ['BR1800000000141455123924100C3'], // Brazil
-            ['VG96VPVG0000012345678902'], //British Virgin Islands
-            ['BF1030134020015400945000644'], //Burkina Faso
-            ['BI43201011067445'], //Burundi
-            ['CM2110003001000500000605307'], //Cameroon
-            ['CV64000300004547069110177'], //Cape Verde
-            ['FR7630007000110009970004943'], //Central African Republic
-            ['CG5230011000202151234567891'], //Congo
-            ['CR96042332432534543564'], //Costa Rica
-            ['DO28BAGR00000001212453611325'], //Dominican Republic
-            ['GT82TRAJ01020000001210029691'], //Guatemala
-            ['IR580540105180021273113008'], //Iran
-            ['IL620108000000099999998'], //Israel
-            ['CI05A00060174100178530011853'], //Ivory Coast
+            ['VG96VPVG0000012345678902'], // British Virgin Islands
+            ['BF1030134020015400945000644'], // Burkina Faso
+            ['BI43201011067445'], // Burundi
+            ['CM2110003001000500000605307'], // Cameroon
+            ['CV64000300004547069110177'], // Cape Verde
+            ['FR7630007000110009970004943'], // Central African Republic
+            ['CG5230011000202151234567891'], // Congo
+            ['CR96042332432534543564'], // Costa Rica
+            ['DO28BAGR00000001212453611325'], // Dominican Republic
+            ['GT82TRAJ01020000001210029691'], // Guatemala
+            ['IR580540105180021273113008'], // Iran
+            ['IL620108000000099999998'], // Israel
+            ['CI05A00060174100178530011853'], // Ivory Coast
             ['JO94CBJO0010000000000131000303'], // Jordan
-            ['KZ176010251000042994'], //Kazakhstan
-            ['KW74NBOK0000000000001000372152'], //Kuwait
-            ['LB30099900000001001925579116'], //Lebanon
-            ['MG4600005030010101914016057'], //Madagascar
-            ['ML03D00890170001002120000448'], //Mali
-            ['MR1300012000010000002037373'], //Mauritania
-            ['MU17BOMM0101101030300200000MUP'], //Mauritius
-            ['MZ59000100000011834194158'], //Mozambique
-            ['PS92PALS000000000400123456703'], //Palestinian Territory
-            ['QA58DOHB00001234567890ABCDEFH'], //Qatar
-            ['XK051212012345678907'], //Republic of Kosovo
-            ['PT50000200000163099310356'], //Sao Tome and Principe
-            ['SA0380000000608010167518'], //Saudi Arabia
-            ['SN12K00100152000025690007543'], //Senegal
-            ['TL380080012345678910158'], //Timor-Leste
-            ['TN5914207207100707129649'], //Tunisia
-            ['TR330006100519786457841327'], //Turkey
-            ['UA213223130000026007233566002'], //Ukraine
-            ['AE260211000000230064017'], //United Arab Emirates
-            ['VA59001123000012345671'], //Vatican City State
+            ['KZ176010251000042994'], // Kazakhstan
+            ['KW74NBOK0000000000001000372152'], // Kuwait
+            ['LB30099900000001001925579116'], // Lebanon
+            ['MG4600005030010101914016057'], // Madagascar
+            ['ML03D00890170001002120000448'], // Mali
+            ['MR1300012000010000002037373'], // Mauritania
+            ['MU17BOMM0101101030300200000MUP'], // Mauritius
+            ['MZ59000100000011834194158'], // Mozambique
+            ['PS92PALS000000000400123456703'], // Palestinian Territory
+            ['QA58DOHB00001234567890ABCDEFH'], // Qatar
+            ['XK051212012345678907'], // Republic of Kosovo
+            ['PT50000200000163099310356'], // Sao Tome and Principe
+            ['SA0380000000608010167518'], // Saudi Arabia
+            ['SN12K00100152000025690007543'], // Senegal
+            ['TL380080012345678910158'], // Timor-Leste
+            ['TN5914207207100707129649'], // Tunisia
+            ['TR330006100519786457841327'], // Turkey
+            ['UA213223130000026007233566002'], // Ukraine
+            ['AE260211000000230064017'], // United Arab Emirates
+            ['VA59001123000012345671'], // Vatican City State
         ];
     }
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Validator/Tests/Constraints/NotCompromisedPasswordValidatorTest.php 5.4.11+dfsg-1/src/Symfony/Component/Validator/Tests/Constraints/NotCompromisedPasswordValidatorTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Validator/Tests/Constraints/NotCompromisedPasswordValidatorTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Validator/Tests/Constraints/NotCompromisedPasswordValidatorTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -165,6 +165,31 @@ class NotCompromisedPasswordValidatorTes
             ->assertRaised();
     }
 
+    public function testEndpointWithInvalidValueInReturn()
+    {
+        $returnValue = implode(
+            "\r\n",
+            [
+                '36039744C253F9B2A4E90CBEDB02EBFB82D:5',
+                'This should not break the validator',
+                '3686792BBC66A72D40D928ED15621124CFE:7',
+                '36EEC709091B810AA240179A44317ED415C:2',
+                '',
+            ]
+        );
+
+        $validator = new NotCompromisedPasswordValidator(
+            $this->createHttpClientStub($returnValue),
+            'UTF-8',
+            true,
+            'https://password-check.internal.example.com/range/%s'
+        );
+
+        $validator->validate(self::PASSWORD_NOT_LEAKED, new NotCompromisedPassword());
+
+        $this->assertNoViolation();
+    }
+
     public function testInvalidConstraint()
     {
         $this->expectException(UnexpectedTypeException::class);
@@ -202,11 +227,11 @@ class NotCompromisedPasswordValidatorTes
         }
     }
 
-    private function createHttpClientStub(): HttpClientInterface
+    private function createHttpClientStub(?string $returnValue = null): HttpClientInterface
     {
         $httpClientStub = $this->createMock(HttpClientInterface::class);
         $httpClientStub->method('request')->willReturnCallback(
-            function (string $method, string $url): ResponseInterface {
+            function (string $method, string $url) use ($returnValue): ResponseInterface {
                 if (self::PASSWORD_TRIGGERING_AN_ERROR_RANGE_URL === $url) {
                     throw new class('Problem contacting the Have I been Pwned API.') extends \Exception implements ServerExceptionInterface {
                         public function getResponse(): ResponseInterface
@@ -219,7 +244,7 @@ class NotCompromisedPasswordValidatorTes
                 $responseStub = $this->createMock(ResponseInterface::class);
                 $responseStub
                     ->method('getContent')
-                    ->willReturn(implode("\r\n", self::RETURN));
+                    ->willReturn($returnValue ?? implode("\r\n", self::RETURN));
 
                 return $responseStub;
             }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Validator/Tests/Constraints/ValidTest.php 5.4.11+dfsg-1/src/Symfony/Component/Validator/Tests/Constraints/ValidTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Validator/Tests/Constraints/ValidTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Validator/Tests/Constraints/ValidTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -13,6 +13,8 @@ namespace Symfony\Component\Validator\Te
 
 use PHPUnit\Framework\TestCase;
 use Symfony\Component\Validator\Constraints\Valid;
+use Symfony\Component\Validator\Mapping\ClassMetadata;
+use Symfony\Component\Validator\Mapping\Loader\AnnotationLoader;
 
 /**
  * @author Bernhard Schussek <bschussek@gmail.com>
@@ -32,4 +34,34 @@ class ValidTest extends TestCase
 
         $this->assertNull($constraint->groups);
     }
+
+    /**
+     * @requires PHP 8
+     */
+    public function testAttributes()
+    {
+        $metadata = new ClassMetaData(ValidDummy::class);
+        $loader = new AnnotationLoader();
+        self::assertTrue($loader->loadClassMetadata($metadata));
+
+        [$bConstraint] = $metadata->properties['b']->getConstraints();
+        self::assertFalse($bConstraint->traverse);
+        self::assertSame(['traverse_group'], $bConstraint->groups);
+
+        [$cConstraint] = $metadata->properties['c']->getConstraints();
+        self::assertSame(['my_group'], $cConstraint->groups);
+        self::assertSame('some attached data', $cConstraint->payload);
+    }
+}
+
+class ValidDummy
+{
+    #[Valid]
+    private $a;
+
+    #[Valid(groups: ['traverse_group'], traverse: false)] // Needs a group to work at all for this test
+    private $b;
+
+    #[Valid(groups: ['my_group'], payload: 'some attached data')]
+    private $c;
 }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Validator/Validator/RecursiveContextualValidator.php 5.4.11+dfsg-1/src/Symfony/Component/Validator/Validator/RecursiveContextualValidator.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Validator/Validator/RecursiveContextualValidator.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Validator/Validator/RecursiveContextualValidator.php	2022-07-29 12:30:51.000000000 +0000
@@ -467,15 +467,15 @@ class RecursiveContextualValidator imple
             // group sequence and abort if necessary (G1, G2)
             if ($group instanceof GroupSequence) {
                 $this->stepThroughGroupSequence(
-                     $object,
-                     $object,
-                     $cacheKey,
-                     $metadata,
-                     $propertyPath,
-                     $traversalStrategy,
-                     $group,
-                     $defaultOverridden ? Constraint::DEFAULT_GROUP : null,
-                     $context
+                    $object,
+                    $object,
+                    $cacheKey,
+                    $metadata,
+                    $propertyPath,
+                    $traversalStrategy,
+                    $group,
+                    $defaultOverridden ? Constraint::DEFAULT_GROUP : null,
+                    $context
                 );
 
                 // Skip the group sequence when validating properties, because
@@ -581,15 +581,15 @@ class RecursiveContextualValidator imple
         foreach ($groups as $key => $group) {
             if ($group instanceof GroupSequence) {
                 $this->stepThroughGroupSequence(
-                     $value,
-                     $object,
-                     $cacheKey,
-                     $metadata,
-                     $propertyPath,
-                     $traversalStrategy,
-                     $group,
-                     null,
-                     $context
+                    $value,
+                    $object,
+                    $cacheKey,
+                    $metadata,
+                    $propertyPath,
+                    $traversalStrategy,
+                    $group,
+                    null,
+                    $context
                 );
 
                 // Skip the group sequence when cascading, as the cascading
@@ -685,26 +685,26 @@ class RecursiveContextualValidator imple
 
             if ($metadata instanceof ClassMetadataInterface) {
                 $this->validateClassNode(
-                     $value,
-                     $cacheKey,
-                     $metadata,
-                     $propertyPath,
-                     $groups,
-                     $cascadedGroups,
-                     $traversalStrategy,
-                     $context
+                    $value,
+                    $cacheKey,
+                    $metadata,
+                    $propertyPath,
+                    $groups,
+                    $cascadedGroups,
+                    $traversalStrategy,
+                    $context
                 );
             } else {
                 $this->validateGenericNode(
-                     $value,
-                     $object,
-                     $cacheKey,
-                     $metadata,
-                     $propertyPath,
-                     $groups,
-                     $cascadedGroups,
-                     $traversalStrategy,
-                     $context
+                    $value,
+                    $object,
+                    $cacheKey,
+                    $metadata,
+                    $propertyPath,
+                    $groups,
+                    $cascadedGroups,
+                    $traversalStrategy,
+                    $context
                 );
             }
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/VarDumper/Caster/ArgsStub.php 5.4.11+dfsg-1/src/Symfony/Component/VarDumper/Caster/ArgsStub.php
--- 5.4.10+dfsg-1/src/Symfony/Component/VarDumper/Caster/ArgsStub.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/VarDumper/Caster/ArgsStub.php	2022-07-29 12:30:51.000000000 +0000
@@ -28,7 +28,7 @@ class ArgsStub extends EnumStub
 
         $values = [];
         foreach ($args as $k => $v) {
-            $values[$k] = !is_scalar($v) && !$v instanceof Stub ? new CutStub($v) : $v;
+            $values[$k] = !\is_scalar($v) && !$v instanceof Stub ? new CutStub($v) : $v;
         }
         if (null === $params) {
             parent::__construct($values, false);
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/VarDumper/Caster/IntlCaster.php 5.4.11+dfsg-1/src/Symfony/Component/VarDumper/Caster/IntlCaster.php
--- 5.4.10+dfsg-1/src/Symfony/Component/VarDumper/Caster/IntlCaster.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/VarDumper/Caster/IntlCaster.php	2022-07-29 12:30:51.000000000 +0000
@@ -102,7 +102,7 @@ class IntlCaster
                     'SIGNIFICANT_DIGIT_SYMBOL' => $c->getSymbol(\NumberFormatter::SIGNIFICANT_DIGIT_SYMBOL),
                     'MONETARY_GROUPING_SEPARATOR_SYMBOL' => $c->getSymbol(\NumberFormatter::MONETARY_GROUPING_SEPARATOR_SYMBOL),
                 ]
-             ),
+            ),
         ];
 
         return self::castError($c, $a);
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/VarDumper/Dumper/AbstractDumper.php 5.4.11+dfsg-1/src/Symfony/Component/VarDumper/Dumper/AbstractDumper.php
--- 5.4.10+dfsg-1/src/Symfony/Component/VarDumper/Dumper/AbstractDumper.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/VarDumper/Dumper/AbstractDumper.php	2022-07-29 12:30:51.000000000 +0000
@@ -45,7 +45,7 @@ abstract class AbstractDumper implements
     public function __construct($output = null, string $charset = null, int $flags = 0)
     {
         $this->flags = $flags;
-        $this->setCharset($charset ?: ini_get('php.output_encoding') ?: ini_get('default_charset') ?: 'UTF-8');
+        $this->setCharset($charset ?: \ini_get('php.output_encoding') ?: \ini_get('default_charset') ?: 'UTF-8');
         $this->decimalPoint = \PHP_VERSION_ID >= 80000 ? '.' : localeconv()['decimal_point'];
         $this->setOutput($output ?: static::$defaultOutput);
         if (!$output && \is_string(static::$defaultOutput)) {
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/VarDumper/Dumper/CliDumper.php 5.4.11+dfsg-1/src/Symfony/Component/VarDumper/Dumper/CliDumper.php
--- 5.4.10+dfsg-1/src/Symfony/Component/VarDumper/Dumper/CliDumper.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/VarDumper/Dumper/CliDumper.php	2022-07-29 12:30:51.000000000 +0000
@@ -83,7 +83,7 @@ class CliDumper extends AbstractDumper
             ]);
         }
 
-        $this->displayOptions['fileLinkFormat'] = ini_get('xdebug.file_link_format') ?: get_cfg_var('xdebug.file_link_format') ?: 'file://%f#L%l';
+        $this->displayOptions['fileLinkFormat'] = \ini_get('xdebug.file_link_format') ?: get_cfg_var('xdebug.file_link_format') ?: 'file://%f#L%l';
     }
 
     /**
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/VarDumper/Dumper/HtmlDumper.php 5.4.11+dfsg-1/src/Symfony/Component/VarDumper/Dumper/HtmlDumper.php
--- 5.4.10+dfsg-1/src/Symfony/Component/VarDumper/Dumper/HtmlDumper.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/VarDumper/Dumper/HtmlDumper.php	2022-07-29 12:30:51.000000000 +0000
@@ -81,7 +81,7 @@ class HtmlDumper extends CliDumper
     {
         AbstractDumper::__construct($output, $charset, $flags);
         $this->dumpId = 'sf-dump-'.mt_rand();
-        $this->displayOptions['fileLinkFormat'] = ini_get('xdebug.file_link_format') ?: get_cfg_var('xdebug.file_link_format');
+        $this->displayOptions['fileLinkFormat'] = \ini_get('xdebug.file_link_format') ?: get_cfg_var('xdebug.file_link_format');
         $this->styles = static::$themes['dark'] ?? self::$themes['dark'];
     }
 
@@ -864,7 +864,7 @@ EOHTML
         }
 
         if ('const' === $style && isset($attr['value'])) {
-            $style .= sprintf(' title="%s"', esc(is_scalar($attr['value']) ? $attr['value'] : json_encode($attr['value'])));
+            $style .= sprintf(' title="%s"', esc(\is_scalar($attr['value']) ? $attr['value'] : json_encode($attr['value'])));
         } elseif ('public' === $style) {
             $style .= sprintf(' title="%s"', empty($attr['dynamic']) ? 'Public property' : 'Runtime added dynamic property');
         } elseif ('str' === $style && 1 < $attr['length']) {
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/VarDumper/Tests/Caster/ExceptionCasterTest.php 5.4.11+dfsg-1/src/Symfony/Component/VarDumper/Tests/Caster/ExceptionCasterTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/VarDumper/Tests/Caster/ExceptionCasterTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/VarDumper/Tests/Caster/ExceptionCasterTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -151,7 +151,7 @@ EODUMP;
 
     public function testHtmlDump()
     {
-        if (ini_get('xdebug.file_link_format') || get_cfg_var('xdebug.file_link_format')) {
+        if (\ini_get('xdebug.file_link_format') || get_cfg_var('xdebug.file_link_format')) {
             $this->markTestSkipped('A custom file_link_format is defined.');
         }
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/VarDumper/Tests/Caster/RdKafkaCasterTest.php 5.4.11+dfsg-1/src/Symfony/Component/VarDumper/Tests/Caster/RdKafkaCasterTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/VarDumper/Tests/Caster/RdKafkaCasterTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/VarDumper/Tests/Caster/RdKafkaCasterTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -181,7 +181,7 @@ EODUMP;
         $producer->addBrokers($this->broker);
 
         $topic = $producer->newTopic('test');
-        $topic->produce(RD_KAFKA_PARTITION_UA, 0, '{}');
+        $topic->produce(\RD_KAFKA_PARTITION_UA, 0, '{}');
 
         $expectedDump = <<<EODUMP
 RdKafka\ProducerTopic {
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/VarDumper/Tests/Caster/ReflectionCasterTest.php 5.4.11+dfsg-1/src/Symfony/Component/VarDumper/Tests/Caster/ReflectionCasterTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/VarDumper/Tests/Caster/ReflectionCasterTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/VarDumper/Tests/Caster/ReflectionCasterTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -21,6 +21,7 @@ use Symfony\Component\VarDumper\Tests\Fi
 use Symfony\Component\VarDumper\Tests\Fixtures\ReflectionIntersectionTypeFixture;
 use Symfony\Component\VarDumper\Tests\Fixtures\ReflectionNamedTypeFixture;
 use Symfony\Component\VarDumper\Tests\Fixtures\ReflectionUnionTypeFixture;
+use Symfony\Component\VarDumper\Tests\Fixtures\ReflectionUnionTypeWithIntersectionFixture;
 
 /**
  * @author Nicolas Grekas <p@tchwork.com>
@@ -94,7 +95,7 @@ Closure($x) {
     $b: & 123
   }
   file: "%sReflectionCasterTest.php"
-  line: "87 to 87"
+  line: "88 to 88"
 }
 EOTXT
             , $var
@@ -147,7 +148,7 @@ ReflectionParameter {
   typeHint: "Symfony\Component\VarDumper\Tests\Fixtures\NotLoadableClass"
 }
 EOTXT
-                , $var
+            , $var
         );
     }
 
@@ -337,6 +338,44 @@ ReflectionIntersectionType {
     }
   ]
 }
+EOTXT
+            , $var
+        );
+    }
+
+    /**
+     * @requires PHP 8.2
+     */
+    public function testReflectionUnionTypeWithIntersection()
+    {
+        $var = (new \ReflectionProperty(ReflectionUnionTypeWithIntersectionFixture::class, 'a'))->getType();
+        $this->assertDumpMatchesFormat(
+            <<<'EOTXT'
+ReflectionUnionType {
+  allowsNull: true
+  types: array:2 [
+    0 => ReflectionIntersectionType {
+      allowsNull: false
+      types: array:2 [
+        0 => ReflectionNamedType {
+          name: "Traversable"
+          allowsNull: false
+          isBuiltin: false
+        }
+        1 => ReflectionNamedType {
+          name: "Countable"
+          allowsNull: false
+          isBuiltin: false
+        }
+      ]
+    }
+    1 => ReflectionNamedType {
+      name: "null"
+      allowsNull: true
+      isBuiltin: true
+    }
+  ]
+}
 EOTXT
             , $var
         );
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/VarDumper/Tests/Caster/XmlReaderCasterTest.php 5.4.11+dfsg-1/src/Symfony/Component/VarDumper/Tests/Caster/XmlReaderCasterTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/VarDumper/Tests/Caster/XmlReaderCasterTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/VarDumper/Tests/Caster/XmlReaderCasterTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -26,7 +26,7 @@ class XmlReaderCasterTest extends TestCa
 
     protected function setUp(): void
     {
-        $this->reader = new \XmlReader();
+        $this->reader = new \XMLReader();
         $this->reader->open(__DIR__.'/../Fixtures/xml_reader.xml');
     }
 
@@ -248,7 +248,7 @@ EODUMP
 
     public function testWithUninitializedXMLReader()
     {
-        $this->reader = new \XmlReader();
+        $this->reader = new \XMLReader();
 
         $expectedDump = <<<'EODUMP'
 XMLReader {
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/VarDumper/Tests/Cloner/VarClonerTest.php 5.4.11+dfsg-1/src/Symfony/Component/VarDumper/Tests/Cloner/VarClonerTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/VarDumper/Tests/Cloner/VarClonerTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/VarDumper/Tests/Cloner/VarClonerTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -330,7 +330,7 @@ EOTXT;
 
     public function testJsonCast()
     {
-        if (2 == ini_get('xdebug.overload_var_dump')) {
+        if (2 == \ini_get('xdebug.overload_var_dump')) {
             $this->markTestSkipped('xdebug is active');
         }
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/VarDumper/Tests/Dumper/HtmlDumperTest.php 5.4.11+dfsg-1/src/Symfony/Component/VarDumper/Tests/Dumper/HtmlDumperTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/VarDumper/Tests/Dumper/HtmlDumperTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/VarDumper/Tests/Dumper/HtmlDumperTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -23,7 +23,7 @@ class HtmlDumperTest extends TestCase
 {
     public function testGet()
     {
-        if (ini_get('xdebug.file_link_format') || get_cfg_var('xdebug.file_link_format')) {
+        if (\ini_get('xdebug.file_link_format') || get_cfg_var('xdebug.file_link_format')) {
             $this->markTestSkipped('A custom file_link_format is defined.');
         }
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/VarDumper/Tests/Dumper/ServerDumperTest.php 5.4.11+dfsg-1/src/Symfony/Component/VarDumper/Tests/Dumper/ServerDumperTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/VarDumper/Tests/Dumper/ServerDumperTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/VarDumper/Tests/Dumper/ServerDumperTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -79,7 +79,7 @@ class ServerDumperTest extends TestCase
 ]
 %d
 DUMP
-        , $dumped);
+            , $dumped);
     }
 
     private function getServerProcess(): Process
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/VarDumper/Tests/Fixtures/ReflectionUnionTypeWithIntersectionFixture.php 5.4.11+dfsg-1/src/Symfony/Component/VarDumper/Tests/Fixtures/ReflectionUnionTypeWithIntersectionFixture.php
--- 5.4.10+dfsg-1/src/Symfony/Component/VarDumper/Tests/Fixtures/ReflectionUnionTypeWithIntersectionFixture.php	1970-01-01 00:00:00.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/VarDumper/Tests/Fixtures/ReflectionUnionTypeWithIntersectionFixture.php	2022-07-29 12:30:51.000000000 +0000
@@ -0,0 +1,8 @@
+<?php
+
+namespace Symfony\Component\VarDumper\Tests\Fixtures;
+
+class ReflectionUnionTypeWithIntersectionFixture
+{
+    public (\Traversable&\Countable)|null $a;
+}
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/VarDumper/Tests/Server/ConnectionTest.php 5.4.11+dfsg-1/src/Symfony/Component/VarDumper/Tests/Server/ConnectionTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/VarDumper/Tests/Server/ConnectionTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/VarDumper/Tests/Server/ConnectionTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -62,7 +62,7 @@ class ConnectionTest extends TestCase
 %d
 
 DUMP
-        , $dumped);
+            , $dumped);
     }
 
     public function testNoServer()
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/VarDumper/Tests/Test/VarDumperTestTraitTest.php 5.4.11+dfsg-1/src/Symfony/Component/VarDumper/Tests/Test/VarDumperTestTraitTest.php
--- 5.4.10+dfsg-1/src/Symfony/Component/VarDumper/Tests/Test/VarDumperTestTraitTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/VarDumper/Tests/Test/VarDumperTestTraitTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -68,7 +68,7 @@ EODUMP;
   }
 ]
 DUMP
-        , [1, 2, new \DateTime('2019-07-09T0:00:00+00:00')]);
+            , [1, 2, new \DateTime('2019-07-09T0:00:00+00:00')]);
 
         $this->tearDownVarDumper();
 
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/VarDumper/VarDumper.php 5.4.11+dfsg-1/src/Symfony/Component/VarDumper/VarDumper.php
--- 5.4.10+dfsg-1/src/Symfony/Component/VarDumper/VarDumper.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/VarDumper/VarDumper.php	2022-07-29 12:30:51.000000000 +0000
@@ -99,7 +99,7 @@ class VarDumper
     {
         $contextProviders = [];
 
-        if (!\in_array(\PHP_SAPI, ['cli', 'phpdbg'], true) && (class_exists(Request::class))) {
+        if (!\in_array(\PHP_SAPI, ['cli', 'phpdbg'], true) && class_exists(Request::class)) {
             $requestStack = new RequestStack();
             $requestStack->push(Request::createFromGlobals());
             $contextProviders['request'] = new RequestContextProvider($requestStack);
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Workflow/MarkingStore/MethodMarkingStore.php 5.4.11+dfsg-1/src/Symfony/Component/Workflow/MarkingStore/MethodMarkingStore.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Workflow/MarkingStore/MethodMarkingStore.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Workflow/MarkingStore/MethodMarkingStore.php	2022-07-29 12:30:51.000000000 +0000
@@ -58,8 +58,8 @@ final class MethodMarkingStore implement
         try {
             $marking = $subject->{$method}();
         } catch (\Error $e) {
-            $unInitializedPropertyMassage = sprintf('Typed property %s::$%s must not be accessed before initialization', get_debug_type($subject), $this->property);
-            if ($e->getMessage() !== $unInitializedPropertyMassage) {
+            $unInitializedPropertyMessage = sprintf('Typed property %s::$%s must not be accessed before initialization', get_debug_type($subject), $this->property);
+            if ($e->getMessage() !== $unInitializedPropertyMessage) {
                 throw $e;
             }
         }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Yaml/Dumper.php 5.4.11+dfsg-1/src/Symfony/Component/Yaml/Dumper.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Yaml/Dumper.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Yaml/Dumper.php	2022-07-29 12:30:51.000000000 +0000
@@ -108,7 +108,7 @@ class Dumper
                         continue;
                     }
 
-                    if ($inline - 1 <= 0 || null === $value->getValue() || is_scalar($value->getValue())) {
+                    if ($inline - 1 <= 0 || null === $value->getValue() || \is_scalar($value->getValue())) {
                         $output .= ' '.$this->dump($value->getValue(), $inline - 1, 0, $flags)."\n";
                     } else {
                         $output .= "\n";
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Yaml/Inline.php 5.4.11+dfsg-1/src/Symfony/Component/Yaml/Inline.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Yaml/Inline.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Yaml/Inline.php	2022-07-29 12:30:51.000000000 +0000
@@ -68,7 +68,7 @@ class Inline
             return '';
         }
 
-        if (2 /* MB_OVERLOAD_STRING */ & (int) ini_get('mbstring.func_overload')) {
+        if (2 /* MB_OVERLOAD_STRING */ & (int) \ini_get('mbstring.func_overload')) {
             $mbEncoding = mb_internal_encoding();
             mb_internal_encoding('ASCII');
         }
diff -pruN 5.4.10+dfsg-1/src/Symfony/Component/Yaml/Parser.php 5.4.11+dfsg-1/src/Symfony/Component/Yaml/Parser.php
--- 5.4.10+dfsg-1/src/Symfony/Component/Yaml/Parser.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Component/Yaml/Parser.php	2022-07-29 12:30:51.000000000 +0000
@@ -88,7 +88,7 @@ class Parser
 
         $mbEncoding = null;
 
-        if (2 /* MB_OVERLOAD_STRING */ & (int) ini_get('mbstring.func_overload')) {
+        if (2 /* MB_OVERLOAD_STRING */ & (int) \ini_get('mbstring.func_overload')) {
             $mbEncoding = mb_internal_encoding();
             mb_internal_encoding('UTF-8');
         }
@@ -982,7 +982,7 @@ class Parser
      */
     private function isCurrentLineComment(): bool
     {
-        //checking explicitly the first char of the trim is faster than loops or strpos
+        // checking explicitly the first char of the trim is faster than loops or strpos
         $ltrimmedLine = '' !== $this->currentLine && ' ' === $this->currentLine[0] ? ltrim($this->currentLine, ' ') : $this->currentLine;
 
         return '' !== $ltrimmedLine && '#' === $ltrimmedLine[0];
diff -pruN 5.4.10+dfsg-1/src/Symfony/Contracts/Translation/Test/TranslatorTest.php 5.4.11+dfsg-1/src/Symfony/Contracts/Translation/Test/TranslatorTest.php
--- 5.4.10+dfsg-1/src/Symfony/Contracts/Translation/Test/TranslatorTest.php	2022-06-26 16:58:12.000000000 +0000
+++ 5.4.11+dfsg-1/src/Symfony/Contracts/Translation/Test/TranslatorTest.php	2022-07-29 12:30:51.000000000 +0000
@@ -362,7 +362,7 @@ class TranslatorTest extends TestCase
         foreach ($matrix as $langCode => $data) {
             $indexes = array_flip($data);
             if ($expectSuccess) {
-                $this->assertEquals($nplural, \count($indexes), "Langcode '$langCode' has '$nplural' plural forms.");
+                $this->assertCount($nplural, $indexes, "Langcode '$langCode' has '$nplural' plural forms.");
             } else {
                 $this->assertNotEquals((int) $nplural, \count($indexes), "Langcode '$langCode' has '$nplural' plural forms.");
             }
