# Autoconf files
agent/Makefile
config.h
config.log
config.status
autom4te.cache
**/.cmake.state

# Google APIs
protos/googleapis

# Protobuf intermediate files
**/*.pb.*

# Proto files
**/*.proto

# C++ output files
**/*.o
**/*.a

# Build output
build

# BAL API 3.x
**/bal-api-3.*

# Test binary
**/test_openolt

# Test report
**/test_openolt_report_xunit.xml

# IntelliJ Files
.idea

# vscode
.vscode

# for unit tests
keystore/

# for Rx optical power test app and test data
agent/src/read_rxtx_power
agent/read_rxtx_power
eeprom.bin

# downloaded Accton patch files and BAL packages
agent/download/*
