# People who have agreed to one of the CLAs and can contribute patches.
# The AUTHORS file lists the copyright holders; this file
# lists people.  For example, Google employees are listed here
# but not in AUTHORS, because Google holds the copyright.
#
# https://developers.google.com/open-source/cla/individual
# https://developers.google.com/open-source/cla/corporate
#
# Names should be added to this file as:
#     Name <email address>

David Beaumont <dbeaumont@google.com>
David Yonge-Mallo <davinci@google.com>
Dong Zhou <dongzhou@google.com>
Fredrik Roubert <roubert@google.com>
Jeanine Lilleng <jeanine@google.com>
Keghani Kouzoujian <keghani@google.com>
Lara Scheidegger <lararennie@google.com>
Rouslan Solomakhin <rouslan@chromium.org>
Shaopeng Jia <shaopengjia@google.com>
