text: import fechbase
  class Records(fechbase.RecordsBase):
      def __init__(self):
          fechbase.RecordsBase.__init__(self)
          self.fields = [
              {'name': 'FORM TYPE', 'number': '1'},
              {'name': 'FILER FEC CMTE ID', 'number': '2'},
              {'name': 'COMMITTEE NAME', 'number': '3'},
              {'name': 'STREET 1', 'number': '4'},
              {'name': 'STREET 2', 'number': '5'},
              {'name': 'CITY', 'number': '6'},
              {'name': 'STATE', 'number': '7'},
              {'name': 'ZIP', 'number': '8'},
              {'name': 'CHG OF ADDRESS', 'number': '9'},
              {'name': 'ELECTION STATE', 'number': '10'},
              {'name': 'ELECTION DISTRICT', 'number': '11'},
              {'name': 'RPTCODE', 'number': '12'},
              {'name': 'RPTPGI', 'number': '13'},
              {'name': 'Of Election', 'number': '14-'},
              {'name': 'STATE (Of Election)', 'number': '15'},
              {'name': 'PRIMARY ELECTION', 'number': '16'},
              {'name': 'GENERAL ELECTION', 'number': '17'},
              {'name': 'SPECIAL ELECTION', 'number': '18'},
              {'name': 'RUNOFF ELECTION', 'number': '19'},
              {'name': 'Coverage From', 'number': '20-'},
              {'name': 'Coverage To', 'number': '21-'},
              {'name': 'Total Contributions (NO Loans)', 'number': '22-(6a)'},
              {'name': 'Total Contribution Refunds', 'number': '23-(6b)'},
              {'name': 'Net Contributions', 'number': '24-(6c)'},
              {'name': 'Total Operating Expenditures', 'number': '25-(7a)'},
              {'name': 'Total Offset to Operating Expenditures', 'number': '26-(7b)'},
              {'name': 'NET Operating Expenditures.', 'number': '27-(7c)'},
              {'name': 'CASH ON HAND AT CLOSE ...', 'number': '28-8.'},
              {'name': 'DEBTS TO ( Totals from SCH C and/or D)', 'number': '29-9.'},
              {'name': 'DEBTS BY (Totals from SCH C and/or D)', 'number': '30-10.'},
              {'name': 'Individuals Itemized', 'number': '31-11(a i.)'},
              {'name': 'Individuals Unitemized', 'number': '32-11(a.ii)'},
              {'name': 'Individual Contribution Total', 'number': '33-11(a.iii)'},
              {'name': 'Political Party Committees', 'number': '34-11(b)'},
              {'name': 'Other Political Committees', 'number': '35-11(c)'},
              {'name': 'The Candidate', 'number': '36-11(d)'},
              {'name': 'Total Contributions', 'number': '37-11(e)'},
              {'name': 'Transfers From Other Authorized Committees', 'number': '38-12.'},
              {'name': 'Loans made or guarn. by the Candidate', 'number': '39-13(a)'},
              {'name': 'All Other Loans', 'number': '40-13(b)'},
              {'name': 'Total Loans', 'number': '41-13(c)'},
              {'name': 'Offsets to Operating Expenditures', 'number': '42-14.'},
              {'name': 'Other Receipts', 'number': '43-15.'},
              {'name': 'Total Receipts', 'number': '44-16.'},
              {'name': 'Operating Expenditures', 'number': '45-17.'},
              {'name': 'Transfers to Other Authorized Committees', 'number': '46-18.'},
              {'name': 'Of Loans made or guar. by the Cand.', 'number': '47-19(a)'},
              {'name': 'Loan Repayments, All Other Loans', 'number': '48-19(b)'},
              {'name': 'Total Loan Repayments', 'number': '49-19(c)'},
              {'name': 'Refund/Individuals Other than Political Committees', 'number': '50-20(a)'},
              {'name': 'Refund/Political Party Committees', 'number': '51-20(b)'},
              {'name': 'Refund/Other Political Committees', 'number': '52-20(c)'},
              {'name': 'Total Contribution Refunds', 'number': '53-20(d)'},
              {'name': 'Other Disbursements', 'number': '54-21.'},
              {'name': 'Total Disbursements', 'number': '55-22.'},
              {'name': 'Cash Beginning Reporting Period', 'number': '56-23.'},
              {'name': 'Total Receipts this Period', 'number': '57-24.'},
              {'name': 'SubTotal', 'number': '58-25.'},
              {'name': 'Total Disbursements this Period', 'number': '59-26.'},
              {'name': 'Cash on hand at Close Period', 'number': '60-27.'},
              {'name': 'Total Contributions (No Loans)', 'number': '61-(6a)'},
              {'name': 'Total Contribution Refunds', 'number': '62-(6b)'},
              {'name': 'Net Contributions', 'number': '63-(6c)'},
              {'name': 'Total Operating Expenditures', 'number': '64-(7a)'},
              {'name': 'Total Offsets to Operating Expenditures', 'number': '65-(7b)'},
              {'name': 'NET Operating Expenditures.', 'number': '66-(7c)'},
              {'name': 'Individuals Itemized', 'number': '67-11(a.i)'},
              {'name': 'Individuals Unitemized', 'number': '68-11(a.ii)'},
              {'name': 'Individuals Total', 'number': '69-11(a.iii)'},
              {'name': 'Political Party Committees', 'number': '70-11(b)'},
              {'name': 'All Other Political Committees (PACS)', 'number': '71-11(c)'},
              {'name': 'The Candidate', 'number': '72-11(d)'},
              {'name': 'Total Contributions', 'number': '73-11(e)'},
              {'name': 'Transfers From Other AUTH Committees', 'number': '74-12.'},
              {'name': 'Loans made or guarn. by the Candidate', 'number': '75-13(a)'},
              {'name': 'All Other Loans', 'number': '76-13(b)'},
              {'name': 'Total Loans', 'number': '77-13(c)'},
              {'name': 'Offsets to Operating Expenditures', 'number': '78-14.'},
              {'name': 'Other Receipts', 'number': '79-15.'},
              {'name': 'Total Receipts', 'number': '80-16.'},
              {'name': 'Operating Expenditures', 'number': '81-17'},
              {'name': 'Transfers To Other AUTH Committees', 'number': '82-18.'},
              {'name': 'Loan Repayment By Candidate', 'number': '83-19(a)'},
              {'name': 'Loan Repayments, ALL Other Loans', 'number': '84-19(b)'},
              {'name': 'Total Loan Repayments', 'number': '85-19(c)'},
              {'name': 'Refund/Individuals Other than Political Committees', 'number': '86-20(a)'},
              {'name': 'Refund, Political Party Committees', 'number': '87-20(b)'},
              {'name': 'Refund, Other Political Committees', 'number': '88-20(c)'},
              {'name': 'Total Contributions Refunds', 'number': '89-20(d)'},
              {'name': 'Other Disbursements', 'number': '90-21.'},
              {'name': 'Total Disbursements', 'number': '91-22.'},
              {'name': 'NAME/TREASURER (as signed)', 'number': '92'},
              {'name': 'Signed', 'number': '93-'},
              {'name': 'FEC CANDIDATE ID NUMBER', 'number': '94'},
              {'name': 'CANDIDATE NAME', 'number': '95'},
              {'name': 'F3Z-1 REPORT TYPE (F3Z-1 RPTCODE)', 'number': '96'},
              {'name': 'GROSS RECEIPTS OF AUTHORIZED COMMITTEES (PRIMARY)', 'number': '97-1.'},
              {'name': 'AGGREGATE AMT OF CONTRIBUTIONS FROM PERSONAL FUNDS (PRIMARY)', 'number': '98-2.'},
              {'name': 'PRIMARY', 'number': '99-3. GROSS RECEIPTS - MINUS PERSONAL CONTRIBUTIONS FROM CANDI'},
              {'name': 'GROSS RECEIPTS OF AUTHORIZED COMMITTEES (GENERAL)', 'number': '100-1.'},
              {'name': 'AGGREGATE AMT OF CONTRIBUTIONS FROM PERSONAL FUNDS (GENERAL)', 'number': '101-2.'},
              {'name': 'GENERAL', 'number': '102-3. GROSS RECEIPTS - MINUS PERSONAL CONTRIBUTIONS FROM CANDI'},
      ]
          self.fields_names = self.hash_names(self.fields)
  