# This file is used by "git log"
Ben Wagner <bungeman@chromium.org>
Donghee Na <donghee.na@python.org>
Franek Korta <fkorta@gmail.com>
Hanno Böck <hanno@gentoo.org>
James Clark <jjc@jclark.com> <jclark@users.sourceforge.net>
José Gutiérrez de la Concha <jose@zeroc.com>
Karl Waclawek <karl@waclawek.net> <karl.waclawek@qlinesolutions.com>
Karl Waclawek <karl@waclawek.net> <kwaclaw@users.sourceforge.net>
Kishore Kunche <kishore.kunche@intel.com>
Martin Ettl <ettl.martin78@googlemail.com> <orbitcowboy@web.de>
Rhodri James <rhodri@wildebeest.org.uk> <rhodri@kynesim.co.uk>
Rolf Eike Beer <eike@sf-mail.de> <eb@emlix.com>
Sebastian Pipping <sebastian@pipping.org> <hartwork@users.sourceforge.net>
S. P. Zeidler <spz@netbsd.org>
Stephen Groat <stephen@groat.us> <stephengroat@Stephens-MacBook-Pro.local>
Steven Solie <steven@solie.ca> <ssolie@users.sourceforge.net>
Thomas Beutlich <tc@tbeu.de>
Viktor Szakats <commit@vsz.me> <vszakats@users.noreply.github.com>
Zhongyuan Zhou <zhouzhongyuan@huawei.com>
