# This is the official list of Skia authors for copyright purposes.
# 
# Names should be added to this file with one of the following patterns:
#
# For individual contributors:
# Name <email address>
#
# For corporate contributors:
# Organization <fnmatch pattern>
# See examples below or python fnmatch module documentation for more information.
#
# Please keep the list sorted.

ACCESS CO., LTD. <*@access-company.com>
ARM <*@arm.com>
Ehsan Akhgari <ehsan.akhgari@gmail.com>
George Wright <george@mozilla.com>
Google Inc. <*@google.com>
Igalia <*@igalia.com>
Intel <*@intel.com>
Jacek Caban <cjacek@gmail.com>
MIPS <*@imgtec.com>
NVIDIA <*@nvidia.com>
Opera Software ASA <*@opera.com>
Samsung <*@samsung.com>
Skia Buildbots <skia.buildbots@gmail.com>
Steve Singer <steve@ssinger.info>
The Chromium Authors <*@chromium.org>
Thiago Fransosi Farina <thiago.farina@gmail.com>
