# Below is a list of people and organizations that have contributed to the
# webkit_inspection_protocol.dart project. Names should be added to the list
# like so:
#
#   Name/Organization <email address>

Google Inc.
Sungguk Lim <limasdf@gmail.com>
Adam Singer <financeCoding@gmail.com>
W. Brian Gourlie <bgourlie@gmail.com>
Kenneth Endfinger <kaendfinger@gmail.com>
Sean Eagan <seaneagan1@gmail.com>
Guillermo López-Anglada <guillermo.lopez@outlook.com>
