You are viewing a plain text version of this content. The canonical link for it is here.
Posted to odf-commits@incubator.apache.org by sv...@apache.org on 2018/01/14 10:34:22 UTC

svn commit: r1821089 - in /incubator/odf/trunk/simple/src/test: java/org/odftoolkit/simple/text/FooterTest.java resources/testData4HeaderFooterTest.txt

Author: svanteschubert
Date: Sun Jan 14 10:34:22 2018
New Revision: 1821089

URL: http://svn.apache.org/viewvc?rev=1821089&view=rev
Log:
Adding font size test to Simple Api

Added:
    incubator/odf/trunk/simple/src/test/resources/testData4HeaderFooterTest.txt
Modified:
    incubator/odf/trunk/simple/src/test/java/org/odftoolkit/simple/text/FooterTest.java

Modified: incubator/odf/trunk/simple/src/test/java/org/odftoolkit/simple/text/FooterTest.java
URL: http://svn.apache.org/viewvc/incubator/odf/trunk/simple/src/test/java/org/odftoolkit/simple/text/FooterTest.java?rev=1821089&r1=1821088&r2=1821089&view=diff
==============================================================================
--- incubator/odf/trunk/simple/src/test/java/org/odftoolkit/simple/text/FooterTest.java (original)
+++ incubator/odf/trunk/simple/src/test/java/org/odftoolkit/simple/text/FooterTest.java Sun Jan 14 10:34:22 2018
@@ -1,4 +1,4 @@
-/* 
+/*
 Licensed to the Apache Software Foundation (ASF) under one
 or more contributor license agreements.  See the NOTICE file
 distributed with this work for additional information
@@ -19,20 +19,25 @@ under the License.
 
 package org.odftoolkit.simple.text;
 
+import java.io.BufferedReader;
+import java.io.FileReader;
 import java.util.List;
+import java.util.Locale;
 import java.util.logging.Level;
 import java.util.logging.Logger;
-
 import junit.framework.Assert;
-
 import org.junit.Test;
 import org.odftoolkit.odfdom.dom.element.style.StyleFooterElement;
 import org.odftoolkit.odfdom.dom.element.table.TableTableElement;
 import org.odftoolkit.odfdom.pkg.OdfElement;
 import org.odftoolkit.odfdom.type.Color;
 import org.odftoolkit.simple.TextDocument;
+import org.odftoolkit.simple.common.field.Fields;
 import org.odftoolkit.simple.common.field.VariableField;
 import org.odftoolkit.simple.common.field.VariableField.VariableType;
+import org.odftoolkit.simple.style.Font;
+import org.odftoolkit.simple.style.MasterPage;
+import org.odftoolkit.simple.style.StyleTypeDefinitions;
 import org.odftoolkit.simple.style.StyleTypeDefinitions.HorizontalAlignmentType;
 import org.odftoolkit.simple.table.Cell;
 import org.odftoolkit.simple.table.Table;
@@ -61,7 +66,7 @@ public class FooterTest {
 			cellByPosition.setStringValue(expectedCellValue);
 			cellByPosition.setHorizontalAlignment(HorizontalAlignmentType.CENTER);
 			cellByPosition.setCellBackgroundColor(Color.GREEN);
-			
+
 			//first page
 			footer = doc.getFooter(true);
 			Assert.assertNotNull(footer);
@@ -85,7 +90,7 @@ public class FooterTest {
 			Assert.fail(e.getMessage());
 		}
 	}
-	
+
 	@Test
 	public void testFooterHidden() {
 		try {
@@ -100,7 +105,7 @@ public class FooterTest {
 			Assert.fail(e.getMessage());
 		}
 	}
-	
+
 	@Test
 	public void testGetOdfElement() {
 		try {
@@ -118,8 +123,8 @@ public class FooterTest {
 			Assert.fail(e.getMessage());
 		}
 	}
-	
-	
+
+
 	@Test
 	public void testAddtable() {
 		try {
@@ -130,10 +135,10 @@ public class FooterTest {
 			Assert.assertNotNull(tab);
 			Assert.assertTrue(2 == tab.getRowCount());
 			Assert.assertTrue(5 == tab.getColumnCount());
-			
+
 			TableTableElement tabEle = tab.getOdfElement();
 			System.out.println(tabEle);
-			
+
 			//save
 			//doc.save(ResourceUtilities.newTestOutputFile("footerOutput.odt"));
 		} catch (Exception e) {
@@ -141,8 +146,8 @@ public class FooterTest {
 			Assert.fail(e.getMessage());
 		}
 	}
-	
-	
+
+
 	@Test
 	public void testGetTableList() {
 		try {
@@ -150,10 +155,10 @@ public class FooterTest {
 			TextDocument doc = TextDocument.newTextDocument();
 			Footer footer = doc.getFooter();
 			Table tab = footer.addTable();
-			
+
 			List<Table> tabList = footer.getTableList();
 			Assert.assertEquals(tab, tabList.get(0));
-			
+
 			//save
 			//doc.save(ResourceUtilities.newTestOutputFile("footerOutput.odt"));
 		} catch (Exception e) {
@@ -161,8 +166,8 @@ public class FooterTest {
 			Assert.fail(e.getMessage());
 		}
 	}
-	
-	
+
+
 	@Test
 	public void testGetTableBuilder() {
 		try {
@@ -170,14 +175,14 @@ public class FooterTest {
 			TextDocument doc = TextDocument.newTextDocument();
 			Footer footer = doc.getFooter();
 			//Table tab = footer.addTable();
-			
+
 			TableBuilder tb = footer.getTableBuilder();
 			Table tab = tb.newTable();
-			
+
 			Assert.assertNotNull(tab);
 			Assert.assertTrue(2 == tab.getRowCount());
 			Assert.assertTrue(5 == tab.getColumnCount());
-			
+
 			//save
 			doc.save(ResourceUtilities.newTestOutputFile("footerOutput.odt"));
 		} catch (Exception e) {
@@ -185,8 +190,8 @@ public class FooterTest {
 			Assert.fail(e.getMessage());
 		}
 	}
-	
-	
+
+
 	@Test
 	public void testGetVariableContainerElement() {
 		try {
@@ -194,17 +199,17 @@ public class FooterTest {
 			TextDocument doc = TextDocument.newTextDocument();
 			Footer footer = doc.getFooter();
 			OdfElement odfEle = footer.getVariableContainerElement();
-			
+
 			TableBuilder tb = footer.getTableBuilder();
 			Table tab = tb.newTable();
-			
+
 			Assert.assertNotNull(tab);
 			Assert.assertTrue(2 == tab.getRowCount());
 			Assert.assertTrue(5 == tab.getColumnCount());
-			
+
 			Node nod = odfEle.getFirstChild();
 			Assert.assertEquals("table:table", nod.getNodeName());
-			
+
 			//save
 			doc.save(ResourceUtilities.newTestOutputFile("footerOutput.odt"));
 		} catch (Exception e) {
@@ -212,22 +217,22 @@ public class FooterTest {
 			Assert.fail(e.getMessage());
 		}
 	}
-	
-	
+
+
 	@Test
 	public void testDeclareVariable() {
 		try {
 			TextDocument doc = TextDocument.newTextDocument();
 			Footer footer = doc.getFooter();
 			footer.declareVariable("footername", VariableType.USER);
-			
+
 			//validate
 			StyleFooterElement styleFoot = footer.getOdfElement();
 			Node nod = styleFoot.getFirstChild().getFirstChild();
 			NamedNodeMap nameMap = nod.getAttributes();
 			Node nodtext = nameMap.getNamedItem("text:name");
 			Assert.assertEquals("footername", nodtext.getNodeValue());
-			
+
 			//save
 			doc.save(ResourceUtilities.newTestOutputFile("footerOutput.odt"));
 		} catch (Exception e) {
@@ -235,8 +240,8 @@ public class FooterTest {
 			Assert.fail(e.getMessage());
 		}
 	}
-	
-	
+
+
 	@Test
 	public void testGetVariableFieldByName() {
 		try {
@@ -245,14 +250,14 @@ public class FooterTest {
 			footer.declareVariable("footername", VariableType.USER);
 			VariableField vField = footer.getVariableFieldByName("footername");
 			String vName = vField.getVariableName();
-			
+
 			//validate
 			StyleFooterElement styleFoot = footer.getOdfElement();
 			Node nod = styleFoot.getFirstChild().getFirstChild();
 			NamedNodeMap nameMap = nod.getAttributes();
 			Node nodtext = nameMap.getNamedItem("text:name");
 			Assert.assertEquals(vName, nodtext.getNodeValue());
-			
+
 			//save
 			//doc.save(ResourceUtilities.newTestOutputFile("footerOutput.odt"));
 		} catch (Exception e) {
@@ -276,10 +281,91 @@ public class FooterTest {
 			Assert.assertEquals("Section1", nodtext.getNodeValue());
 
 		} catch (Exception e) {
-			Logger.getLogger(HeaderTest.class.getName()).log(Level.SEVERE,
+			Logger.getLogger(FooterTest.class.getName()).log(Level.SEVERE,
 					null, e);
 			Assert.fail(e.getMessage());
 		}
 
 	}
+
+
+    @Test
+    public void testHeaderFooterFontSize() {
+        try {
+            final String TEXT_DATA_INPUT_FILE_NAME = "testData4HeaderFooterTest.txt";
+            final String ODT_DATA_OUTPUT_FILE_NAME = "testData4HeaderFooterTest.odt";
+
+            // Opens infile
+            BufferedReader infile = new BufferedReader(new FileReader(ResourceUtilities.getAbsolutePath(TEXT_DATA_INPUT_FILE_NAME)));
+
+            // Creates new doc and sets defaults see http://www.oracle.com/technetwork/java/javase/javase7locales-334809.html
+            Locale locale_en_US = new Locale("en", "US");
+            Locale locale_ar_SA = new Locale("ar", "SA"); // Saudi Arabia
+            Locale locale_ko_KR = new Locale("ko", "KR"); // South Korea
+            Font font_en_US = new Font("Courier New", StyleTypeDefinitions.FontStyle.REGULAR, 10, locale_en_US);
+            Font font_ar_SA = new Font("Courier New", StyleTypeDefinitions.FontStyle.REGULAR, 10, locale_ar_SA);
+            Font font_ko_KR = new Font("Courier New", StyleTypeDefinitions.FontStyle.REGULAR, 10, locale_ko_KR);
+
+            TextDocument doc = TextDocument.newTextDocument();
+            MasterPage master = MasterPage.getOrCreateMasterPage(doc, "Standard");
+            master.setPageHeight(279.4);
+            master.setPageWidth(215.9);
+            master.setMargins(19.05, 19.05, 19.05, 19.05); // 19.05 mm = 0.75 in
+            doc.setPageColumns(2, 0.635); // 0.635 cm = 0.25 in
+            doc.setLocale(locale_en_US);
+
+            // Adds header
+            Header header = doc.getHeader();
+            Section headersection = header.appendSection("Title");
+            Paragraph headerparagraph = headersection.addParagraph(null);
+            headerparagraph.setFont(font_en_US);
+            headerparagraph.setFont(font_ar_SA);
+            headerparagraph.setFont(font_ko_KR);
+            headerparagraph.appendTextContent(infile.readLine());
+            headerparagraph.setHorizontalAlignment(StyleTypeDefinitions.HorizontalAlignmentType.CENTER);
+
+            // Adds Page X of Y to the footer
+            Font fontsmaller_en_US = new Font("Courier New", StyleTypeDefinitions.FontStyle.ITALIC, 8, Color.RED, locale_en_US);
+            Font fontsmaller_ar_SA = new Font("Courier New", StyleTypeDefinitions.FontStyle.ITALIC, 8, Color.RED, locale_ar_SA);
+            Font fontsmaller_ko_KR = new Font("Courier New", StyleTypeDefinitions.FontStyle.ITALIC, 8, Color.RED, locale_ko_KR);
+            Footer footer = doc.getFooter();
+            Section footersection = footer.appendSection("Page Numbers");
+            Paragraph footerparagraph = footersection.addParagraph("Page\u00A0");
+            Fields.createCurrentPageNumberField(footerparagraph.getOdfElement());
+            footerparagraph.appendTextContent("\u00A0of\u00A0");
+            Fields.createPageCountField(footerparagraph.getOdfElement());
+            footerparagraph.setFont(fontsmaller_en_US); // Doesn't work here
+            footerparagraph.setFont(fontsmaller_ar_SA); // Doesn't work here
+            footerparagraph.setFont(fontsmaller_ko_KR); // Doesn't work here
+            footerparagraph.setHorizontalAlignment(StyleTypeDefinitions.HorizontalAlignmentType.CENTER);
+
+            // Special handling for first line
+            Paragraph p = doc.getParagraphByIndex(0, false);
+            p.setFont(font_en_US);
+            p.setFont(font_ar_SA);
+            p.setFont(font_ko_KR);
+            infile.readLine();
+            p.appendTextContent(infile.readLine());
+
+            // Loops over all other lines
+            String inline = new String();
+            while ((inline = infile.readLine()) != null) {
+                // p.appendTextContent("\r\n" + inline.replaceAll("\n", "\r\n")); // Works, because it doesn't use addParagraph
+                p = doc.addParagraph(inline.replaceAll("\n", "\r\n"));
+                p.setFont(font_en_US); // Does not work, because it uses addParagraph
+                p.setFont(font_ar_SA); // Does not work, because it uses addParagraph
+                p.setFont(font_ko_KR); // Does not work, because it uses addParagraph
+            }
+            infile.close();
+
+            // Saves outfile
+            doc.save(ResourceUtilities.newTestOutputFile(ODT_DATA_OUTPUT_FILE_NAME));
+
+        } catch (Exception e) {
+            Logger.getLogger(FooterTest.class.getName()).log(Level.SEVERE,
+                    null, e);
+            Assert.fail(e.getMessage());
+        }
+
+    }
 }

Added: incubator/odf/trunk/simple/src/test/resources/testData4HeaderFooterTest.txt
URL: http://svn.apache.org/viewvc/incubator/odf/trunk/simple/src/test/resources/testData4HeaderFooterTest.txt?rev=1821089&view=auto
==============================================================================
--- incubator/odf/trunk/simple/src/test/resources/testData4HeaderFooterTest.txt (added)
+++ incubator/odf/trunk/simple/src/test/resources/testData4HeaderFooterTest.txt Sun Jan 14 10:34:22 2018
@@ -0,0 +1,1650 @@
+Precinct: 999 LD: 99
+
+----------------------------------------
+99999 XX 99XX XX XXX 99
+XXXXXXXXX, XX 99999
+
+Issue(s): 
+  *9 XXXXXXXXX XXXX XXXXX XX XXXXXXXXX
+
+Lot Use(s):
+  999-XXXXX-XXXXXX 999 / XXXX XXXXX
+
+  Voter: XXXXX, XXXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: Xxxxx
+    IDs: XX999999999 9999999
+
+  Voter: XXXXXX, XXXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: Xxxxx
+    IDs: XX999999999 9999999
+
+  Voter: XXXXXXXX, XXXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+----------------------------------------
+99999 XX 99XX XX XXX 99
+XXXXXXXXX, XX 99999
+
+Lot Use(s):
+  999-XXXXX-XXXXXX 999 / XXXX XXXXX
+
+  Voter: XXXXXXX, XXXXXXXX X
+    Age: 99 Gender: X
+    Issue(s):
+      *9 XXXXX XXXXX XXXX XXXX /
+       XXXXXXXXXX
+    Registered: 99/99/9999
+    Last Voted: Xxxxx
+    IDs: XX999999999 9999999
+
+----------------------------------------
+99999 XX 99XX XX XXX 99
+XXXXXXXXX, XX 99999
+
+Lot Use(s):
+  999-XXXXX-XXXXXX 999 / XXXX XXXXX
+
+  Voter: XXXXXX, XXXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: Xxxxx
+    IDs: XX999999999 9999999
+
+  Voter: XXXXX, XXXX
+    Age: 99 Gender: X
+    Issue(s):
+      *9 XXXXX XXXXX XXXX XXXX /
+       XXXXXXXXXX
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+----------------------------------------
+99999 XX 99XX XX XXX 99
+XXXXXXXXX, XX 99999
+
+Issue(s): 
+  *9 XXXXXXXXX XXXX XXXXX XX XXXXXXXXX
+
+Lot Use(s):
+  999-XXXXX-XXXXXX 999 / XXXX XXXXX
+
+  Voter: XXXXXX, XXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+  Voter: XXXXXXXX, XXXXXXX
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: Xxxxx
+    IDs: XX999999999 9999999
+
+  Voter: XXXX, XXXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+----------------------------------------
+99999 XX 99XX XX XXX 999
+XXXXXXXXX, XX 99999
+
+Lot Use(s):
+  999-XXXXX-XXXXXX 999 / XXXX XXXXX
+
+  Voter: XXXX XX, XXXXXXX X
+    Age: 99 Gender: X
+    Issue(s):
+      *XXXXXXXXXX XXXXXX 99 XXXX XX
+       XXXXXX
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+  Voter: XXXX, XXXXXXX
+    Age: 99 Gender: X
+    Issue(s):
+      *XXXXXXXXXX XXXXXX 99 XXXX XX
+       XXXXXX
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+----------------------------------------
+99999 XX 99XX XX XXX 999
+XXXXXXXXX, XX 99999
+
+Issue(s): 
+  *9 XXXXXXXXX XXXX XXXXX XX XXXXXXXXX
+
+Lot Use(s):
+  999-XXXXX-XXXXXX 999 / XXXX XXXXX
+
+  Voter: XXXXXXXXXX, XXXXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+  Voter: XXXX, XXXXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+  Voter: XXXXXXX, XXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+----------------------------------------
+99999 XX 99XX XX XXX 999
+XXXXXXXXX, XX 99999
+
+Lot Use(s):
+  999-XXXXX-XXXXXX 999 / XXXX XXXXX
+
+  Voter: XXXXXXXX, XXXXXX X
+    Age: 99 Gender: X
+    Issue(s):
+      *XXXXXXXXXX XXXXXX 99 XXXX XX
+       XXXXXX
+    Xailing Xddress:
+      XX XXX 999
+      XXXXXXXXX, XX 99999
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+  Voter: XXXXXXXX, XXXXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+----------------------------------------
+99999 XX 99XX XX XXX 999
+XXXXXXXXX, XX 99999
+
+Lot Use(s):
+  999-XXXXX-XXXXXX 999 / XXXX XXXXX
+
+  Voter: XXXXXXXX, XXXXXXX X
+    Age: 99 Gender: X
+    Issue(s):
+      *99 XXXXX XXXXX XXXX XXXX /
+       XXXXXXXXXX
+    Registered: 99/99/9999
+    Last Voted: Xxxxx
+    IDs: XX999999999 9999999
+
+----------------------------------------
+99999 XX 99XX XX XXX 999
+XXXXXXXXX, XX 99999
+
+Lot Use(s):
+  999-XXXXX-XXXXXX 999 / XXXX XXXXX
+
+  Voter: XXXXX, XXXXXXX X
+    Age: 99 Gender: X
+    Issue(s):
+      *9 XXXXX XXXXX XXXX XXXX /
+       XXXXXXXXXX
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+----------------------------------------
+99999 XX 99XX XX XXX 999
+XXXXXXXXX, XX 99999
+
+Lot Use(s):
+  999-XXXXX-XXXXXX 999 / XXXX XXXXX
+
+  Voter: XXXXXX, XXXXX X
+    Age: 99 Gender: X
+    Issue(s):
+      *XXXXXXX XXXXXX XXXXX XXXXXXX
+       XXXXXX XXXXXXXXXX 9 XXXXX XXX
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+  Voter: XXXXXXX, XXXXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: Xxxxx
+    IDs: XX999999999 9999999
+
+----------------------------------------
+99999 XX 99XX XX XXX 999
+XXXXXXXXX, XX 99999
+
+Lot Use(s):
+  999-XXXXX-XXXXXX 999 / XXXX XXXXX
+
+  Voter: XXXXX-XXXXXXX, XXXXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: Xxxxx
+    IDs: XX999999999 9999999
+
+  Voter: XXXXX, XXXXXX X
+    Age: 99 Gender: X
+    Issue(s):
+      *XXXXXXX XXXXXX XXXXX XXXXXXX
+       XXXXXX XXXXXXXXXX 9 XXXXX XXX
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+  Voter: XXXXX, XXXXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+----------------------------------------
+99999 XX 99XX XX XXX 999
+XXXXXXXXX, XX 99999
+
+Lot Use(s):
+  999-XXXXX-XXXXXX 999 / XXXX XXXXX
+
+  Voter: XXXXX, XXXXX X
+    Age: 99 Gender: X
+    Issue(s):
+      *9 XXXXX XXXXX XXXX XXXX /
+       XXXXXXXXXX
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+----------------------------------------
+99999 XX 99XX XX XXX 999
+XXXXXXXXX, XX 99999
+
+Lot Use(s):
+  999-XXXXX-XXXXXX 999 / XXXX XXXXX
+
+  Voter: XXXXXX, XXXXXXX X
+    Age: 99 Gender: X
+    Issue(s):
+      *99 XXXXX XXXXX XXXX XXXX /
+       XXXXXXXXXX
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+  Voter: XXXXXX, XXXXXXXXXX X
+    Age: 99 Gender: X
+    Issue(s):
+      *99 XXXXX XXXXX XXXX XXXX /
+       XXXXXXXXXX
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+----------------------------------------
+99999 XX 99XX XX XXX XX999
+XXXXXXXXX, XX 99999
+
+Lot Use(s):
+  999-XXXXX-XXXXXX 999 / XXXX XXXXX
+
+  Voter: XXX, XXXXX X
+    Age: 99 Gender: X
+    Issue(s):
+      *XXXXXXXXXX XXXXXX 99 XXXX XX
+       XXXXXX
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+----------------------------------------
+99999 XX 99XX XX XXX 999
+XXXXXXXXX, XX 99999
+
+Lot Use(s):
+  999-XXXXX-XXXXXX 999 / XXXX XXXXX
+
+  Voter: XXXXXX, XXXXX
+    Age: 99 Gender: X
+    Issue(s):
+      *99 XXXXX XXXXX XXXX XXXX /
+       XXXXXXXXXX
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+----------------------------------------
+99999 XX 99XX XX XXX 999
+XXXXXXXXX, XX 99999
+
+Issue(s): 
+  *9 XXXXXXXXX XXXX XXXXX XX XXXXXXXXX
+
+Lot Use(s):
+  999-XXXXX-XXXXXX 999 / XXXX XXXXX
+
+  Voter: XXXXXXX, XXXXXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: Xxxxx
+    IDs: XX999999999 9999999
+
+  Voter: XXXXXXXXXXX, XXXXXXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: Xxxxx
+    IDs: XX999999999 9999999
+
+  Voter: XXXXXXXXXX, XXXX
+    Age: 99 Gender: X
+    Xailing Xddress:
+      9999 XXXXXXX XXXXXX
+      XXX XXXXXXX, XX 99999
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+  Voter: XXXXXXXXXX, XXXXX X
+    Age: 99 Gender: X
+    Xailing Xddress:
+      9999 XXXXXXX XXXXXX
+      XXX XXXXXXX, XX 99999
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+  Voter: XXXXX, XXXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: Xxxxx
+    IDs: XX999999999 9999999
+
+----------------------------------------
+99999 XX 99XX XX XXX 999
+XXXXXXXXX, XX 99999
+
+Issue(s): 
+  *9 XXXXXXXXX XXXX XXXXX XX XXXXXXXXX
+
+Lot Use(s):
+  999-XXXXX-XXXXXX 999 / XXXX XXXXX
+
+  Voter: XXXXXXX-XXXXX, XXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+  Voter: XXX-XXXXXX, XXXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+  Voter: XXXXXXX, XXXXXX
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+----------------------------------------
+99999 XX 99XX XX XXX XX999
+XXXXXXXXX, XX 99999
+
+Issue(s): 
+  *9 XXXXXXXXX XXXX XXXXX XX XXXXXXXXX
+
+Lot Use(s):
+  999-XXXXX-XXXXXX 999 / XXXX XXXXX
+
+  Voter: XXXXXXX, XXXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+  Voter: XXXXXXX, XXXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+  Voter: XXXXXXX, XXXXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+----------------------------------------
+99999 XX 99XX XX XXX 999
+XXXXXXXXX, XX 99999
+
+Lot Use(s):
+  999-XXXXX-XXXXXX 999 / XXXX XXXXX
+
+  Voter: XXXXXX, XXX X
+    Age: 99 Gender: X
+    Issue(s):
+      *9 XXXXX XXXXX XXXX XXXX /
+       XXXXXXXXXX
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+----------------------------------------
+99999 XX 99XX XX XXX 999
+XXXXXXXXX, XX 99999
+
+Lot Use(s):
+  999-XXXXX-XXXXXX 999 / XXXX XXXXX
+
+  Voter: XXXXXX, XXXXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: Xxxxx
+    IDs: XX999999999 9999999
+
+  Voter: XXXXXX, XXXX X
+    Age: 99 Gender: X
+    Issue(s):
+      *XXXXXXX XXXXXX XXXXX XXXXXXX
+       XXXXXX XXXXXXXXXX 9 XXXXX XXX
+      *99 XXXXX XXXXX XXXX XXXX /
+       XXXXXXXXXX
+    Registered: 99/99/9999
+    Last Voted: Xxxxx
+    IDs: XX999999999 9999999
+
+----------------------------------------
+99999 XX 99XX XX XXX 999
+XXXXXXXXX, XX 99999
+
+Lot Use(s):
+  999-XXXXX-XXXXXX 999 / XXXX XXXXX
+
+  Voter: XXXXXXXXXX, XXX X
+    Age: 99 Gender: X
+    Issue(s):
+      *XXXXXXXXXX XXXXXX 99 XXXX XX
+       XXXXXX
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+----------------------------------------
+99999 XX 99XX XX XXX 999
+XXXXXXXXX, XX 99999
+
+Lot Use(s):
+  999-XXXXX-XXXXXX 999 / XXXX XXXXX
+
+  Voter: XXXXX, XXXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: Xxxxx
+    IDs: XX999999999 9999999
+
+  Voter: XXXXX, XXXX X
+    Age: 99 Gender: X
+    Issue(s):
+      *XXXXXXX XXXXXX XXXXX XXXXXXX
+       XXXXXX XXXXXXXXXX 9 XXXXX XXX
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+----------------------------------------
+99999 XX 99XX XX XXX 999
+XXXXXXXXX, XX 99999
+
+Lot Use(s):
+  999-XXXXX-XXXXXX 999 / XXXX XXXXX
+
+  Voter: XXXXX, XXXXXXXXX X
+    Age: 99 Gender: X
+    Issue(s):
+      *9 XXXXX XXXXX XXXX XXXX /
+       XXXXXXXXXX
+    Registered: 99/99/9999
+    Last Voted: Xxxxx
+    IDs: XX999999999 9999999
+
+----------------------------------------
+99999 XX 99XX XX XXX 999
+XXXXXXXXX, XX 99999
+
+Lot Use(s):
+  999-XXXXX-XXXXXX 999 / XXXX XXXXX
+
+  Voter: XXXXX, XXXX X
+    Age: 99 Gender: X
+    Issue(s):
+      *9 XXXXX XXXXX XXXX XXXX /
+       XXXXXXXXXX
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+  Voter: XXXXXXX, XXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+----------------------------------------
+99999 XX 99XX XX XXX 999
+XXXXXXXXX, XX 99999
+
+Lot Use(s):
+  999-XXXXX-XXXXXX 999 / XXXX XXXXX
+
+  Voter: XXXX, XXXX X
+    Age: 99 Gender: X
+    Issue(s):
+      *9 XXXXX XXXXX XXXX XXXX /
+       XXXXXXXXXX
+    Registered: 99/99/9999
+    Last Voted: Xxxxx
+    IDs: XX999999999 9999999
+
+----------------------------------------
+99999 XX 99XX XX XXX XX999
+XXXXXXXXX, XX 99999
+
+Lot Use(s):
+  999-XXXXX-XXXXXX 999 / XXXX XXXXX
+
+  Voter: XXXX, XXXXXX X
+    Age: 99 Gender: X
+    Issue(s):
+      *XXXXXXXXXX XXXXXX 99 XXXX XX
+       XXXXXX
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+----------------------------------------
+99999 XX 99XX XX XXX 999
+XXXXXXXXX, XX 99999
+
+Lot Use(s):
+  999-XXXXX-XXXXXX 999 / XXXX XXXXX
+
+  Voter: XXXXXXX, XXXXX X
+    Age: 99 Gender: X
+    Issue(s):
+      *XXXXXXX XXXXXX XXXXX XXXXXXX
+       XXXXXX XXXXXXXXXX 9 XXXXX XXX
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+  Voter: XXXXXXX, XXXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: Xxxxx
+    IDs: XX999999999 9999999
+
+----------------------------------------
+99999 XX 99XX XX XXX 999
+XXXXXXXXX, XX 99999
+
+Lot Use(s):
+  999-XXXXX-XXXXXX 999 / XXXX XXXXX
+
+  Voter: XXXXXXXXXXXX, XXXXXX X
+    Age: 99 Gender: X
+    Issue(s):
+      *9 XXXXX XXXXX XXXX XXXX /
+       XXXXXXXXXX
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+----------------------------------------
+99999 XX 99XX XX XXX XX999
+XXXXXXXXX, XX 99999
+
+Lot Use(s):
+  999-XXXXX-XXXXXX 999 / XXXX XXXXX
+
+  Voter: XXXXXXXXXX, XXXXXXX X
+    Age: 99 Gender: X
+    Issue(s):
+      *XXXXXXXXXX XXXXXX 99 XXXX XX
+       XXXXXX
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+  Voter: XXXXXX, XXXXXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+----------------------------------------
+99999 XX 99XX XX XXX XX999
+XXXXXXXXX, XX 99999
+
+Lot Use(s):
+  999-XXXXX-XXXXXX 999 / XXXX XXXXX
+
+  Voter: XXXXXXX, XXXXXX X
+    Age: 99 Gender: X
+    Issue(s):
+      *XXXXXXXXXX XXXXXX 99 XXXX XX
+       XXXXXX
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+----------------------------------------
+99999 XX 99XX XX
+XXXXXXXXX, XX 99999
+
+Lot Use(s):
+  999-XXX XXX XXXXXXX XXXX X/XXXXX XXXX
+
+  Voter: XXXX, XXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: Xxxxx
+    IDs: XX999999999 9999999
+
+  Voter: XXXX, XXXXXX X
+    Age: 99 Gender: X
+    Issue(s):
+      *XXXXXXX XXXXXX XXXXX XXXXXXX
+       XXXXXX XXXXXXXXXX 9 XXXXX XXX
+      *9 XXXXX XXXXX XXXX XXXX /
+       XXXXXXXXXX
+    Registered: 99/99/9999
+    Last Voted: Xxxxx
+    IDs: XX999999999 9999999
+
+  Voter: XXXX, XXXXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: Xxxxx
+    IDs: XX999999999 9999999
+
+  Voter: XXXXXXXX, XXXXXXX X
+    Age: 99 Gender: X
+    Issue(s):
+      *XXXXXXX XXXXXX XXXXX XXXXXXX
+       XXXXXX XXXXXXXXXX 9 XXXXX XXX
+      *99 XXXXX XXXXX XXXX XXXX /
+       XXXXXXXXXX
+    Registered: 99/99/9999
+    Last Voted: Xxxxx
+    IDs: XX999999999 9999999
+
+----------------------------------------
+99999 XX 99XX XX
+XXXXXXXXX, XX 99999
+
+Lot Use(s):
+  999-XXX XXX XXXXXXX XXXX X/XXXXX XXXX
+
+  Voter: XXXXXXXX, XXXXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+  Voter: XXXXXXXX, XXXXXXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+  Voter: XXXXXXXX, XXXXXX
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+  Voter: XXXXXXXX, XXXXXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+  Voter: XXXXXXXX, XXXXXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+  Voter: XXXXXXXX, XXXXXX X
+    Age: 99 Gender: X
+    Issue(s):
+      *XXXXXXX XXXXXX XXXXX XXXXXXX
+       XXXXXX XXXXXXXXXX 9 XXXXX XXX
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+  Voter: XXXXXXXX, XXXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+----------------------------------------
+99999 XX 99XX XX
+XXXXXXXXX, XX 99999
+
+Lot Use(s):
+  999-XXX XXX XXXXXXX XXXX X/XXXXX XXXX
+
+  Voter: XXXXXXXXXX, XXXXXXXX X
+    Age: 99 Gender: X
+    Issue(s):
+      *XXXXXXXXXX XXXXXX 99 XXXX XX
+       XXXXXX
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+  Voter: XXXXXXXXXX, XXXXXXX X
+    Age: 99 Gender: X
+    Issue(s):
+      *XXXXXXXXXX XXXXXX 99 XXXX XX
+       XXXXXX
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+  Voter: XXXXXXXXXX, XXXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+----------------------------------------
+99999 XX 99XX XX
+XXXXXXXXX, XX 99999
+
+Lot Use(s):
+  999-XXX XXX XXXXXXX XXXX X/XXXXX XXXX
+
+  Voter: XXXXXXXXX, XXXXXX
+    Age: 99 Gender: X
+    Issue(s):
+      *9 XXXXX XXXXX XXXX XXXX /
+       XXXXXXXXXX
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+  Voter: XXXXXXXXXX, XXXXXX X
+    Age: 99 Gender: X
+    Issue(s):
+      *9 XXXXX XXXXX XXXX XXXX /
+       XXXXXXXXXX
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+----------------------------------------
+99999 XX 99XX XX
+XXXXXXXXX, XX 99999
+
+Lot Use(s):
+  999-XXX XXX XXXXXXX XXXX X/XXXXX XXXX
+
+  Voter: XXXXXXXXX, XXXX
+    Age: 99 Gender: X
+    Issue(s):
+      *99 XXXXX XXXXX XXXX XXXX /
+       XXXXXXXXXX
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+----------------------------------------
+99999 XX 99XX XX
+XXXXXXXXX, XX 99999
+
+Lot Use(s):
+  999-XXX XXX XXXXXXX XXXX X/XXXXX XXXX
+
+  Voter: XXXXXXX, XXXXXXX
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: Xxxxx
+    IDs: XX999999999 9999999
+
+  Voter: XXXXX, XXX X
+    Age: 99 Gender: X
+    Issue(s):
+      *XXXXXXX XXXXXX XXXXX XXXXXXX
+       XXXXXX XXXXXXXXXX 99 XXXXX XXX
+      *99 XXXXX XXXXX XXXX XXXX /
+       XXXXXXXXXX
+    Xailing Xddress:
+      XX XXX 999999
+      XXXXXXXXX, XX 99999
+    Registered: 99/99/9999
+    Last Voted: Xxxxx
+    IDs: XX999999999 9999999
+
+----------------------------------------
+99999 XX 99XX XX
+XXXXXXXXX, XX 99999
+
+Lot Use(s):
+  999-XXX XXX XXXXXXX XXXX X/XXXXX XXXX
+
+  Voter: XXXXXXXXXX, XXXXXXXXX X
+    Age: 99 Gender: X
+    Issue(s):
+      *XXXXXXX XXXXXX XXXXX XXXXXXX
+       XXXXXX XXXXXXXXXX 9 XXXXX XXX
+    Registered: 99/99/9999
+    Last Voted: Xxxxx
+    IDs: XX999999999 9999999
+
+  Voter: XXXXXXXXX, XXXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: Xxxxx
+    IDs: XX999999999 9999999
+
+----------------------------------------
+99999 XX 99XX XXX
+XXXXXXXXX, XX 99999
+
+Lot Use(s):
+  999-XXX XXX XXXXXXX XXXX X/XXXXX XXXX
+
+  Voter: XXXXXXXX, XXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+  Voter: XXXXXXXX, XXXXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: Xxxxx
+    IDs: XX999999999 9999999
+
+  Voter: XXXXXXXX, XXXXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+  Voter: XXXXXXXX, XXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+  Voter: XXXXXXXX, XXXXXXXX
+    Age: 99 Gender: X
+    Issue(s):
+      *XXXXXXX XXXXXX XXXXX XXXXXXX
+       XXXXXX XXXXXXXXXX 9 XXXXX XXX
+    Registered: 99/99/9999
+    Last Voted: Xxxxx
+    IDs: XX999999999 9999999
+
+----------------------------------------
+99999 XX 99XX XXX
+XXXXXXXXX, XX 99999
+
+Lot Use(s):
+  999-XXX XXX XXXXXXX XXXX X/XXXXX XXXX
+
+  Voter: XXXXXX, XXXXXXX X
+    Age: 99 Gender: X
+    Issue(s):
+      *9 XXXXX XXXXX XXXX XXXX /
+       XXXXXXXXXX
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+  Voter: XXXXXX, XXXXXX X
+    Age: 99 Gender: X
+    Issue(s):
+      *9 XXXXX XXXXX XXXX XXXX /
+       XXXXXXXXXX
+    Registered: 99/99/9999
+    Last Voted: Xxxxx
+    IDs: XX999999999 9999999
+
+----------------------------------------
+99999 XX 99XX XX
+XXXXXXXXX, XX 99999
+
+Lot Use(s):
+  999-XXX XXX XXXXXXX XXXX X/XXXXX XXXX
+  999-XXXXXXXXXX XXXXXXXXXX & XXX'X
+
+  Voter: XXXXXX, XXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+  Voter: XXXXXXX, XXXXXXXX X
+    Age: 99 Gender: X
+    Issue(s):
+      *XXXXXXX XXXXXX XXXXX XXXXXXX
+       XXXXXX XXXXXXXXXX 9 XXXXX XXX
+      *9 XXXXX XXXXX XXXX XXXX /
+       XXXXXXXXXX
+    Registered: 99/99/9999
+    Last Voted: Xxxxx
+    IDs: XX999999999 9999999
+
+----------------------------------------
+99999 XX 99XX XX
+XXXXXXXXX, XX 99999
+
+Lot Use(s):
+  999-XXX XXX XXXXXXX XXXX X/XXXXX XXXX
+
+  Voter: XXXXXX, XXXXXXX X
+    Age: 99 Gender: X
+    Issue(s):
+      *XXXXXXXXXX XXXXXX 99 XXXX XX
+       XXXXXX
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+----------------------------------------
+99999 XX 99XX XX
+XXXXXXXXX, XX 99999
+
+Lot Use(s):
+  999-XXX XXX XXXXXXX XXXX X/XXXXX XXXX
+
+  Voter: XXXXXXX, XXXXXXX X
+    Age: 99 Gender: X
+    Issue(s):
+      *9 XXXXX XXXXX XXXX XXXX /
+       XXXXXXXXXX
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+  Voter: XXXXXXX, XXXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+  Voter: XXXXXXX, XXXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+----------------------------------------
+99999 XX 99XX XX
+XXXXXXXXX, XX 99999
+
+Lot Use(s):
+  999-XXX XXX XXXXXXX XXXX X/XXXXX XXXX
+
+  Voter: XXXXXX, XXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+  Voter: XXXXXX, XXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+  Voter: XXXXXX, XXXX X
+    Age: 99 Gender: X
+    Issue(s):
+      *XXXXXXX XXXXXX XXXXX XXXXXXX
+       XXXXXX XXXXXXXXXX 9 XXXXX XXX
+      *99 XXXXX XXXXX XXXX XXXX /
+       XXXXXXXXXX
+    Registered: 99/99/9999
+    Last Voted: Xxxxx
+    IDs: XX999999999 9999999
+
+  Voter: XXXXXX, XXXXX X
+    Age: 99 Gender: X
+    Issue(s):
+      *XXXXXXX XXXXXX XXXXX XXXXXXX
+       XXXXXX XXXXXXXXXX 9 XXXXX XXX
+      *9 XXXXX XXXXX XXXX XXXX /
+       XXXXXXXXXX
+    Registered: 99/99/9999
+    Last Voted: Xxxxx
+    IDs: XX999999999 9999999
+
+----------------------------------------
+9999 XX 999XX XXX
+XXXXXXXXX, XX 99999
+
+Lot Use(s):
+  999-XXX XXX XXXXXXX XXXX X/XXXXX XXXX
+
+  Voter: XXXXXXXXXX, XXXXXXX X
+    Age: 99 Gender: X
+    Issue(s):
+      *XXXXXXX XXXXXX XXXXX XXXXXXX
+       XXXXXX XXXXXXXXXX 9 XXXXX XXX
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+  Voter: XXXXXXXXXX, XXXXXX
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+----------------------------------------
+9999 XX 999XX XXX
+XXXXXXXXX, XX 99999
+
+Issue(s): 
+  *9 XXXXXXXXX XXXX XXXXX XX XXXXXXXXX
+
+Lot Use(s):
+  999-XXX XXX XXXXXXX XXXX X/XXXXX XXXX
+
+  Voter: XXXXXX, XXXXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+  Voter: XXXXXXXX, XXXXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: Xxxxx
+    IDs: XX999999999 9999999
+
+  Voter: XXX, XXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+----------------------------------------
+9999 XX 999XX XX
+XXXXXXXXX, XX 99999
+
+Lot Use(s):
+  999-XXX XXX XXXXXXX XXXX X/XXXXX XXXX
+
+  Voter: XXXXX, XXXXXXX
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+  Voter: XXXXX, XXXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+  Voter: XXXXX, XXXX X
+    Age: 99 Gender: X
+    Issue(s):
+      *XXXXXXX XXXXXX XXXXX XXXXXXX
+       XXXXXX XXXXXXXXXX 9 XXXXX XXX
+    Registered: 99/99/9999
+    Last Voted: Xxxxx
+    IDs: XX999999999 9999999
+
+  Voter: XXXXX, XXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+  Voter: XXXXX, XXXXXX
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: Xxxxx
+    IDs: XX999999999 9999999
+
+----------------------------------------
+9999 XX 999XX XX
+XXXXXXXXX, XX 99999
+
+Lot Use(s):
+  999-XXX XXX XXXXXXX XXXX X/XXXXX XXXX
+
+  Voter: XXXXXXXXXX, XXXXXXX
+    Age: 99 Gender: X
+    Issue(s):
+      *XXXXXXX XXXXXX XXXXX XXXXXXX
+       XXXXXX XXXXXXXXXX 99 XXXXX XXX
+      *99 XXXXX XXXXX XXXX XXXX /
+       XXXXXXXXXX
+    Registered: 99/99/9999
+    Last Voted: Xxxxx
+    IDs: XX999999999 9999999
+
+  Voter: XXXXXXXXXX, XXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: Xxxxx
+    IDs: XX999999999 9999999
+
+----------------------------------------
+9999 XX 999XX XX
+XXXXXXXXX, XX 99999
+
+Lot Use(s):
+  999-XXX XXX XXXXXXX XXXX X/XXXXX XXXX
+
+  Voter: XXXXXXXX, XXXXXX X
+    Age: 99 Gender: X
+    Issue(s):
+      *99 XXXXX XXXXX XXXX XXXX /
+       XXXXXXXXXX
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+  Voter: XXXXXXXX, XXXXX X
+    Age: 99 Gender: X
+    Issue(s):
+      *99 XXXXX XXXXX XXXX XXXX /
+       XXXXXXXXXX
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+----------------------------------------
+9999 XX 999XX XX
+XXXXXXXXX, XX 99999
+
+Issue(s): 
+  *9 XXXXXXXXX XXXX XXXXX XX XXXXXXXXX
+
+Lot Use(s):
+  999-XXX XXX XXXXXXX XXXX X/XXXXX XXXX
+
+  Voter: XXXXXX, XXXXXXXXX
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: Xxxxx
+    IDs: XX999999999 9999999
+
+  Voter: XXXXXXX, XXXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: Xxxxx
+    IDs: XX999999999 9999999
+
+  Voter: XXXXXX, XXXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+  Voter: XXXXXX, XXXXXXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+----------------------------------------
+9999 XX 999XX XXX
+XXXXXXXXX, XX 99999
+
+Issue(s): 
+  *9 XXXXXXXXX XXXX XXXXX XX XXXXXXXXX
+
+Lot Use(s):
+  999-XXX XXX XXXXXXX XXXX X/XXXXX XXXX
+
+  Voter: XXXX, XXXXXX X
+    Age: 99 Gender: X
+    Xailing Xddress:
+      XXX 999 XXX 999
+      XXX, XX 99999
+    Registered: 99/99/9999
+    Last Voted: Xxxxx
+    IDs: XX999999999 9999999
+
+  Voter: XXXX, XXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+  Voter: XXXXX, XXXXX
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+----------------------------------------
+9999 XX 999XX XXX
+XXXXXXXXX, XX 99999
+
+Lot Use(s):
+  999-XXX XXX XXXXXXX XXXX X/XXXXX XXXX
+
+  Voter: XXXXXXX, XXXXXXXXX X
+    Age: 99 Gender: X
+    Issue(s):
+      *XXXXXXXXXX XXXXXX 99 XXXX XX
+       XXXXXX
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+  Voter: XXXXXXXX XX, XXXXX X
+    Age: 99 Gender: X
+    Issue(s):
+      *XXXXXXXXXX XXXXXX 99 XXXX XX
+       XXXXXX
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+----------------------------------------
+9999 XX 999XX XXX
+XXXXXXXXX, XX 99999
+
+Issue(s): 
+  *9 XXXXXXXXX XXXX XXXXX XX XXXXXXXXX
+
+Lot Use(s):
+  999-XXX XXX XXXXXXX XXXX X/XXXXX XXXX
+
+  Voter: XXXXXX, XXXX X
+    Age: 99 Gender: X
+    Issue(s):
+      *XXXXXXX XXXXXX XXXXX XXXXXXX
+       XXXXXX XXXXXXXXXX 9 XXXXX XXX
+    Registered: 99/99/9999
+    Last Voted: Xxxxx
+    IDs: XX999999999 9999999
+
+  Voter: XXXXX, XXXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+  Voter: XXXXX, XXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+  Voter: XXXXXXXXX, XXXXXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+----------------------------------------
+9999 XX 999XX XXX
+XXXXXXXXX, XX 99999
+
+Issue(s): 
+  *9 XXXXXXXXX XXXX XXXXX XX XXXXXXXXX
+
+Lot Use(s):
+  999-XXX XXX XXXXXXX XXXX X/XXXXX XXXX
+
+  Voter: XXXXXXXXX, XXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+  Voter: XXXXXXXXX, XXXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+  Voter: XXXX, XXXXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+  Voter: XXXXXX, XXXXXXXX X
+    Age: 99 Gender: X
+    Issue(s):
+      *XXXXXXX XXXXXX XXXXX XXXXXXX
+       XXXXXX XXXXXXXXXX 9 XXXXX XXX
+    Registered: 99/99/9999
+    Last Voted: Xxxxx
+    IDs: XX999999999 9999999
+
+----------------------------------------
+9999 XX 999XX XXX
+XXXXXXXXX, XX 99999
+
+Issue(s): 
+  *9 XXXXXXXXX XXXX XXXXX XX XXXXXXXXX
+
+Lot Use(s):
+  999-XXX XXX XXXXXXX XXXX X/XXXXX XXXX
+
+  Voter: XXXXXXXX, XXXXXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: Xxxxx
+    IDs: XX999999999 9999999
+
+  Voter: XXXX, XXXXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+  Voter: XXXX, XXXXXXXXXXX X
+    Age: 99 Gender: X
+    Issue(s):
+      *XXXXXXX XXXXXX XXXXX XXXXXXX
+       XXXXXX XXXXXXXXXX 9 XXXXX XXX
+      *99 XXXXX XXXXX XXXX XXXX /
+       XXXXXXXXXX
+    Registered: 99/99/9999
+    Last Voted: Xxxxx
+    IDs: XX999999999 9999999
+
+  Voter: XXXX, XXXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+  Voter: XXXXX, XXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+  Voter: XXXXX, XXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+----------------------------------------
+9999 XX 999XX XXX
+XXXXXXXXX, XX 99999
+
+Lot Use(s):
+  999-XXX XXX XXXXXXX XXXX X/XXXXX XXXX
+
+  Voter: XXXXX, XXXXXXX X
+    Age: 99 Gender: X
+    Issue(s):
+      *99 XXXXX XXXXX XXXX XXXX /
+       XXXXXXXXXX
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 999999
+
+  Voter: XXXXX, XXXXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 999999
+
+----------------------------------------
+9999 XX 999XX XX
+XXXXXXXXX, XX 99999
+
+Lot Use(s):
+  999-XXX XXX XXXXXXX XXXX X/XXXXX XXXX
+
+  Voter: XXXXXX, XXXXXX X
+    Age: 99 Gender: X
+    Issue(s):
+      *99 XXXXX XXXXX XXXX XXXX /
+       XXXXXXXXXX
+    Registered: 99/99/9999
+    Last Voted: Xxxxx
+    IDs: XX999999999 9999999
+
+----------------------------------------
+9999 XX 999XX XX
+XXXXXXXXX, XX 99999
+
+Lot Use(s):
+  999-XXX XXX XXXXXXX XXXX X/XXXXX XXXX
+
+  Voter: XXXXXXXXXX, XXXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+  Voter: XXXXXXXXXX, XXXXXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+  Voter: XXXXXXXXXX, XXXXXX
+    Age: 99 Gender: X
+    Issue(s):
+      *XXXXXXX XXXXXX XXXXX XXXXXXX
+       XXXXXX XXXXXXXXXX 9 XXXXX XXX
+      *99 XXXXX XXXXX XXXX XXXX /
+       XXXXXXXXXX
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+  Voter: XXXXXXXXXX, XXXXXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+----------------------------------------
+9999 XX XXXX XXXXXXX XX XXX X999
+XXXXXXXXX, XX 99999
+
+Lot Use(s):
+  999-XXXXX-XXXXXX 999 / XXXX XXXXX
+
+  Voter: XXXXX, XXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+  Voter: XXX, XXX X
+    Age: 99 Gender: X
+    Issue(s):
+      *XXXXXXX XXXXXX XXXXX XXXXXXX
+       XXXXXX XXXXXXXXXX 9 XXXXX XXX
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+  Voter: XXX, XXXXXXXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: Xxxxx
+    IDs: XX999999999 9999999
+
+----------------------------------------
+9999 XX XXXX XXXXXXX XX XXX X999
+XXXXXXXXX, XX 99999
+
+Lot Use(s):
+  999-XXXXX-XXXXXX 999 / XXXX XXXXX
+
+  Voter: XXXXX XXXXXXXX, XXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: Xxxxx
+    IDs: XX999999999 9999999
+
+  Voter: XXXX, XXXX-XXX X
+    Age: 99 Gender: X
+    Issue(s):
+      *XXXXXXX XXXXXX XXXXX XXXXXXX
+       XXXXXX XXXXXXXXXX 99 XXXXX XXX
+      *99 XXXXX XXXXX XXXX XXXX /
+       XXXXXXXXXX
+    Xailing Xddress:
+      99999 XX 999XX XX
+      XXXXXXXXX, XX 99999
+    Registered: 99/99/9999
+    Last Voted: Xxxxx
+    IDs: XX999999999 9999999
+
+----------------------------------------
+9999 XX XXXX XXXXXXX XX XXX X999
+XXXXXXXXX, XX 99999
+
+Lot Use(s):
+  999-XXXXX-XXXXXX 999 / XXXX XXXXX
+
+  Voter: XXXXX, XXXXX X
+    Age: 99 Gender: X
+    Issue(s):
+      *XXXXXXX XXXXXX XXXXX XXXXXXX
+       XXXXXX XXXXXXXXXX 9 XXXXX XXX
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+  Voter: XXXXX, XXXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: Xxxxx
+    IDs: XX999999999 9999999
+
+----------------------------------------
+9999 XX XXXX XXXXXXX XX XXX X999
+XXXXXXXXX, XX 99999
+
+Lot Use(s):
+  999-XXXXX-XXXXXX 999 / XXXX XXXXX
+
+  Voter: XXXXXXXXX, XXXXXXX X
+    Age: 99 Gender: X
+    Issue(s):
+      *XXXXXXXXXX XXXXXX 99 XXXX XX
+       XXXXXX
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+----------------------------------------
+9999 XX XXXX XXXXXXX XX XXX X999
+XXXXXXXXX, XX 99999
+
+Lot Use(s):
+  999-XXXXX-XXXXXX 999 / XXXX XXXXX
+
+  Voter: XXXX, XXXXX X
+    Age: 99 Gender: X
+    Issue(s):
+      *XXXXXXXXXX XXXXXX 99 XXXX XX
+       XXXXXX
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+----------------------------------------
+9999 XX XXXX XXXXXXX XX XXX X999
+XXXXXXXXX, XX 99999
+
+Lot Use(s):
+  999-XXXXX-XXXXXX 999 / XXXX XXXXX
+
+  Voter: XXXXXXXXX, XXXXXXX X
+    Age: 99 Gender: X
+    Issue(s):
+      *9 XXXXX XXXXX XXXX XXXX /
+       XXXXXXXXXX
+    Registered: 99/99/9999
+    Last Voted: Xxxxx
+    IDs: XX999999999 9999999
+
+----------------------------------------
+9999 XX XXXX XXXXXXX XX XXX X999
+XXXXXXXXX, XX 99999
+
+Lot Use(s):
+  999-XXXXX-XXXXXX 999 / XXXX XXXXX
+
+  Voter: XXX, XXXXXXX X
+    Age: 99 Gender: X
+    Registered: 99/99/9999
+    Last Voted: Xxxxx
+    IDs: XX999999999 9999999
+
+  Voter: XXXXXX, XXX X
+    Age: 99 Gender: X
+    Issue(s):
+      *XXXXXXX XXXXXX XXXXX XXXXXXX
+       XXXXXX XXXXXXXXXX 9 XXXXX XXX
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999
+
+----------------------------------------
+9999 XX XXXX XXXXXXX XX XXX X999
+XXXXXXXXX, XX 99999
+
+Lot Use(s):
+  999-XXXXX-XXXXXX 999 / XXXX XXXXX
+
+  Voter: XXXX, XXXXXX
+    Age: 99 Gender: X
+    Issue(s):
+      *9 XXXXX XXXXX XXXX XXXX /
+       XXXXXXXXXX
+    Registered: 99/99/9999
+    Last Voted: Xxxxx
+    IDs: XX999999999 9999999
+
+----------------------------------------
+9999 XX XXXX XXXXXXX XX XXX X999
+XXXXXXXXX, XX 99999
+
+Lot Use(s):
+  999-XXXXX-XXXXXX 999 / XXXX XXXXX
+
+  Voter: XXXXX, XXXX X
+    Age: 99 Gender: X
+    Issue(s):
+      *99 XXXXX XXXXX XXXX XXXX /
+       XXXXXXXXXX
+    Registered: 99/99/9999
+    Last Voted: 99/99/9999
+    IDs: XX999999999 9999999