# Names should be added to this file with this pattern:
#
# For individuals:
#   Name <email address>
#
# For organizations:
#   Organization <fnmatch pattern>
#
# See python fnmatch module documentation for more information.

The Chromium Authors <*@chromium.org>
Google Inc. <*@google.com>
Samsung <*@samsung.com>
Roku <*@roku.com>
LG <*@lge.com>
NVIDIA <*@nvidia.com>
MediaTek <*@mediatek.com>
MIPS <*@mips.com>
Vewd <*@vewd.com>
