# Keep following lines sorted according to `LC_COLLATE=C sort`
*.asc
*.eml
*.iml
*.pyc
*.sublime-*
*.swp
*~
.DS_Store
.gwt_work_dir
.primary_build_tool
/.apt_generated
/.buckd
/.classpath
/.factorypath
/.idea
/.metadata
/.project
/.settings/org.eclipse.ltk.core.refactoring.prefs
/.settings/org.eclipse.m2e.core.prefs
/.settings/org.maven.ide.eclipse.prefs
/bazel-bin
/bazel-genfiles
/bazel-gerrit
/bazel-out
/bazel-testlogs
/bin/
/buck-out
/eclipse-out
/extras
/gerrit-package-plugins
/gwt-unitCache
/infer-out
/local.properties
/test_site
/tools/format
