As I looked through other answers and talked to @DultonM about something unrelated to this challenge, I realized that I completely over complicated my solution in my rush to get it done.
@DataRangler, sorry for the delayed response. We are all flying home from our conference today. Good catch - I mistakenly uploaded the wrong file in the heat of our live session. It's been updated to have the latest version.
:-) nice way to spend the time in the airport, waiting for the outbound flight.
Super over-complicated compared to some of the solutions posted above