# This file is autocompleted by 'contributors-txt',
# using the configuration in 'script/.contributors_aliases.json'.
# Do not add new persons manually and only add information without
# using '-' as the line first character.
# Please verify that your change are stable if you modify manually.

Ex-maintainers
--------------
- Claudiu Popa <pcmanticore@gmail.com>
- Sylvain Thénault <thenault@gmail.com>
- Torsten Marek <shlomme@gmail.com>


Maintainers
-----------
- Pierre Sassoulas <pierre.sassoulas@gmail.com>
- Daniël van Noord <13665637+DanielNoord@users.noreply.github.com>
- Hippo91 <guillaume.peillex@gmail.com>
- Marc Mueller <30130371+cdce8p@users.noreply.github.com>
- Jacob Walls <jacobtylerwalls@gmail.com>
- Bryce Guinta <bryce.paul.guinta@gmail.com>
- Ceridwen <ceridwenv@gmail.com>
- Mark Byrne <31762852+mbyrnepr2@users.noreply.github.com>
- Łukasz Rogalski <rogalski.91@gmail.com>
- Florian Bruhin <me@the-compiler.org>
- Ashley Whetter <ashley@awhetter.co.uk>
- Dimitri Prybysh <dmand@yandex.ru>
- Areveny <areveny@protonmail.com>


Contributors
------------
- Emile Anclin <emile.anclin@logilab.fr>
- Nick Drozd <nicholasdrozd@gmail.com>
- Andrew Haigh <hello@nelf.in>
- Julien Cristau <julien.cristau@logilab.fr>
- David Liu <david@cs.toronto.edu>
- Alexandre Fayolle <alexandre.fayolle@logilab.fr>
- Eevee (Alex Munroe) <amunroe@yelp.com>
- David Gilman <davidgilman1@gmail.com>
- Tushar Sadhwani <tushar.sadhwani000@gmail.com>
- Julien Jehannet <julien.jehannet@logilab.fr>
- Calen Pennington <calen.pennington@gmail.com>
- Hugo van Kemenade <hugovk@users.noreply.github.com>
- Tim Martin <tim@asymptotic.co.uk>
- Phil Schaf <flying-sheep@web.de>
- Alex Hall <alex.mojaki@gmail.com>
- Raphael Gaschignard <raphael@makeleaps.com>
- Radosław Ganczarek <radoslaw@ganczarek.in>
- Paligot Gérard <androwiiid@gmail.com>
- Ioana Tagirta <ioana.tagirta@gmail.com>
- Derek Gustafson <degustaf@gmail.com>
- David Shea <dshea@redhat.com>
- Daniel Harding <dharding@gmail.com>
- Christian Clauss <cclauss@me.com>
- Ville Skyttä <ville.skytta@iki.fi>
- Rene Zhang <rz99@cornell.edu>
- Philip Lorenz <philip@bithub.de>
- Nicolas Chauvat <nicolas.chauvat@logilab.fr>
- Michael K <michael-k@users.noreply.github.com>
- Mario Corchero <mariocj89@gmail.com>
- Marien Zwart <marienz@gentoo.org>
- Laura Médioni <laura.medioni@logilab.fr>
- James Addison <55152140+jayaddison@users.noreply.github.com>
- FELD Boris <lothiraldan@gmail.com>
- Enji Cooper <yaneurabeya@gmail.com>
- Dani Alcala <112832187+clavedeluna@users.noreply.github.com>
- Antonio <antonio@zoftko.com>
- Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
- tristanlatr <19967168+tristanlatr@users.noreply.github.com>
- emile@crater.logilab.fr <emile@crater.logilab.fr>
- doranid <ddandd@gmail.com>
- brendanator <brendan.maginnis@gmail.com>
- Tomas Gavenciak <gavento@ucw.cz>
- Tim Paine <t.paine154@gmail.com>
- Thomas Hisch <t.hisch@gmail.com>
- Stefan Scherfke <stefan@sofa-rockers.org>
- Sergei Lebedev <185856+superbobry@users.noreply.github.com>
- Saugat Pachhai (सौगात) <suagatchhetri@outlook.com>
- Ram Rachum <ram@rachum.com>
- Pierre-Yves David <pierre-yves.david@logilab.fr>
- Peter Pentchev <roam@ringlet.net>
- Peter Kolbus <peter.kolbus@gmail.com>
- Omer Katz <omer.drow@gmail.com>
- Moises Lopez <moylop260@vauxoo.com>
- Michal Vasilek <michal@vasilek.cz>
- Keichi Takahashi <keichi.t@me.com>
- Kavins Singh <kavinsingh@hotmail.com>
- Karthikeyan Singaravelan <tir.karthi@gmail.com>
- Joshua Cannon <joshdcannon@gmail.com>
- John Vandenberg <jayvdb@gmail.com>
- Jacob Bogdanov <jacob@bogdanov.dev>
- Google, Inc. <no-reply@google.com>
- David Euresti <github@euresti.com>
- David Douard <david.douard@logilab.fr>
- David Cain <davidjosephcain@gmail.com>
- Anthony Truchet <anthony.truchet@logilab.fr>
- Anthony Sottile <asottile@umich.edu>
- Alexander Shadchin <alexandr.shadchin@gmail.com>
- wgehalo <wgehalo@gmail.com>
- rr- <rr-@sakuya.pl>
- raylu <lurayl@gmail.com>
- plucury <plucury@gmail.com>
- ostr00000 <ostr00000@gmail.com>
- noah-weingarden <33741795+noah-weingarden@users.noreply.github.com>
- nathannaveen <42319948+nathannaveen@users.noreply.github.com>
- mathieui <mathieui@users.noreply.github.com>
- markmcclain <markmcclain@users.noreply.github.com>
- ioanatia <ioanatia@users.noreply.github.com>
- grayjk <grayjk@gmail.com>
- alm <alonme@users.noreply.github.com>
- adam-grant-hendry <59346180+adam-grant-hendry@users.noreply.github.com>
- Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
- Zac Hatfield-Dodds <Zac-HD@users.noreply.github.com>
- Vilnis Termanis <vilnis.termanis@iotics.com>
- Valentin Valls <valentin.valls@esrf.fr>
- Uilian Ries <uilianries@gmail.com>
- Tomas Novak <ext.Tomas.Novak@skoda-auto.cz>
- Thirumal Venkat <me@thirumal.in>
- SupImDos <62866982+SupImDos@users.noreply.github.com>
- Stanislav Levin <slev@altlinux.org>
- Simon Hewitt <si@sjhewitt.co.uk>
- Serhiy Storchaka <storchaka@gmail.com>
- Roy Wright <roy@wright.org>
- Robin Jarry <robin.jarry@6wind.com>
- René Fritze <47802+renefritze@users.noreply.github.com>
- Redoubts <Redoubts@users.noreply.github.com>
- Philipp Hörist <philipp@hoerist.com>
- Peter de Blanc <peter@standard.ai>
- Peter Talley <peterctalley@gmail.com>
- Ovidiu Sabou <ovidiu@sabou.org>
- Nicolas Noirbent <nicolas@noirbent.fr>
- Neil Girdhar <mistersheik@gmail.com>
- Miro Hrončok <miro@hroncok.cz>
- Michał Masłowski <m.maslowski@clearcode.cc>
- Mateusz Bysiek <mb@mbdev.pl>
- Marcelo Trylesinski <marcelotryle@gmail.com>
- Leandro T. C. Melo <ltcmelo@gmail.com>
- Konrad Weihmann <kweihmann@outlook.com>
- Kian Meng, Ang <kianmeng.ang@gmail.com>
- Kai Mueller <15907922+kasium@users.noreply.github.com>
- Jörg Thalheim <Mic92@users.noreply.github.com>
- Josef Kemetmüller <josef.kemetmueller@gmail.com>
- Jonathan Striebel <jstriebel@users.noreply.github.com>
- John Belmonte <john@neggie.net>
- Jeff Widman <jeff@jeffwidman.com>
- Jeff Quast <contact@jeffquast.com>
- Jarrad Hope <me@jarradhope.com>
- Jared Garst <jgarst@users.noreply.github.com>
- Jakub Wilk <jwilk@jwilk.net>
- Iva Miholic <ivamiho@gmail.com>
- Ionel Maries Cristian <contact@ionelmc.ro>
- HoverHell <hoverhell@gmail.com>
- HQupgradeHQ <18361586+HQupgradeHQ@users.noreply.github.com>
- Grygorii Iermolenko <gyermolenko@gmail.com>
- Gregory P. Smith <greg@krypto.org>
- Giuseppe Scrivano <gscrivan@redhat.com>
- Frédéric Chapoton <fchapoton2@gmail.com>
- Francis Charette Migneault <francis.charette.migneault@gmail.com>
- Felix Mölder <felix.moelder@uni-due.de>
- Federico Bond <federicobond@gmail.com>
- DudeNr33 <3929834+DudeNr33@users.noreply.github.com>
- Dmitry Shachnev <mitya57@users.noreply.github.com>
- Denis Laxalde <denis.laxalde@logilab.fr>
- Deepyaman Datta <deepyaman.datta@utexas.edu>
- David Poirier <david-poirier-csn@users.noreply.github.com>
- Dave Hirschfeld <dave.hirschfeld@gmail.com>
- Dave Baum <dbaum@google.com>
- Daniel Martin <daniel.martin@crowdstrike.com>
- Daniel Colascione <dancol@dancol.org>
- Damien Baty <damien@damienbaty.com>
- Craig Franklin <craigjfranklin@gmail.com>
- Colin Kennedy <colinvfx@gmail.com>
- Cole Robinson <crobinso@redhat.com>
- Christoph Reiter <reiter.christoph@gmail.com>
- Chris Philip <chrisp533@gmail.com>
- BioGeek <jeroen.vangoey@gmail.com>
- Bianca Power <30207144+biancapower@users.noreply.github.com>
- Benjamin Elven <25181435+S3ntinelX@users.noreply.github.com>
- Ben Elliston <bje@air.net.au>
- Becker Awqatty <bawqatty@mide.com>
- Batuhan Taskaya <isidentical@gmail.com>
- BasPH <BasPH@users.noreply.github.com>
- Azeem Bande-Ali <A.BandeAli@gmail.com>
- Avram Lubkin <aviso@rockhopper.net>
- Aru Sahni <arusahni@gmail.com>
- Artsiom Kaval <lezeroq@gmail.com>
- Anubhav <35621759+anubh-v@users.noreply.github.com>
- Antoine Boellinger <aboellinger@hotmail.com>
- Alphadelta14 <alpha@alphaservcomputing.solutions>
- Alexander Scheel <alexander.m.scheel@gmail.com>
- Alexander Presnyakov <flagist0@gmail.com>
- Ahmed Azzaoui <ahmed.azzaoui@engie.com>

Co-Author
---------
The following persons were credited manually but did not commit themselves
under this name, or we did not manage to find their commits in the history.

- François Mockers
- platings
- carl
- alain lefroy
- Mark Gius
