# This is the official list of gocui authors for copyright purposes.

# Names should be added to this file as
#	Name or Organization <email address>
# The email address is not required for organizations.

# Please keep the list sorted.

Roi Martin (@nibble_ds) <jroi.martin@gmail.com>
