This program takes AEC electoral data and runs the Single Transferable Vote algorithm on it to calculate election outcomes. To compile this program, the following dependencies are needed: GNAT GMP Compilation is done by 'gprbuild stv.gpr'. Further instruction on how to use this program can be obtained from the '--help' switch, once compiled. The required data files this program expects can be obtained from http://results.aec.gov.au/20499/Website/SenateDownloadsMenu-20499-Csv.htm Specifically, the files listed under 'Formal Preferences'. At the moment this program can only handle AEC Senate data from 2016 or later. Processing of State Legislative Council data and more general STV data is a goal of future versions. Valid parameters for the '--state' option are 'NSW', 'QLD', 'VIC', 'TAS, 'SA', 'WA', 'ACT', 'NT', all uppercase. Note that the number of count logs this program outputs differs from the number that the AEC provides. This is because the AEC's program merges a few more logs compared to this one, eg the initial count, and counts that elect candidates. On the other hand, the AEC program is also a lot more verbose on the distribution of preferences, and doesn't do bulk exclusions.