# People who can approve changes for submission.
jchalard@google.com
lorenzo@google.com
maze@google.com
reminv@google.com
xiaom@google.com
goldmanj@google.com

# Emergency approvers in case the above are not available
satk@google.com
