# This OWNERS list is a last resort. Please prefer to use more specific OWNERS
# where possible.

set noparent

# Reviewers (in CET):
blundell@chromium.org
droger@chromium.org
treib@chromium.org
vasilii@chromium.org

# Reviewers (in EST):
avi@chromium.org
thakis@chromium.org
yfriedman@chromium.org

# Reviewers (in PST):
dtrainor@chromium.org
fgorski@chromium.org
nyquist@chromium.org
sky@chromium.org
tedchoc@chromium.org
thestig@chromium.org
twellington@chromium.org

# per-file rules:
# These are for the common case of adding or renaming files. If you're doing
# structural changes, please get a review from a reviewer in this file.
per-file *.gni=*
per-file BUILD.gn=file://build/OWNERS
per-file MAJOR_BRANCH_DATE=chrome-official-brancher@chops-service-accounts.iam.gserviceaccount.com
per-file VERSION=chrome-official-brancher@chops-service-accounts.iam.gserviceaccount.com
per-file VERSION=amineer@chromium.org
per-file VERSION=anantha@chromium.org
per-file VERSION=govind@chromium.org
per-file VERSION=mmoss@chromium.org