From 8a25672da0d34a1fd046e6a588de21b57f9ff62d Mon Sep 17 00:00:00 2001 From: izatwin Date: Tue, 9 Apr 2024 15:06:59 -0400 Subject: [PATCH] moved p3 --- Projects/p3-skeleton/cs448p3/.gitignore | 2 - Projects/p3-skeleton/cs448p3/Makefile | 20 - Projects/p3-skeleton/cs448p3/p3-handout.pdf | Bin 320496 -> 0 bytes Projects/p3-skeleton/cs448p3/pom.xml | 131 --- Projects/p3-skeleton/cs448p3/solution.txt | 24 - .../src/main/java/global/AttrOperator.java | 79 -- .../src/main/java/global/AttrType.java | 98 -- .../cs448p3/src/main/java/global/Convert.java | 122 -- .../src/main/java/global/GlobalConst.java | 57 - .../src/main/java/global/Minibase.java | 89 -- .../cs448p3/src/main/java/global/Page.java | 133 --- .../cs448p3/src/main/java/global/PageId.java | 60 - .../cs448p3/src/main/java/global/RID.java | 98 -- .../src/main/java/global/SearchKey.java | 291 ----- .../cs448p3/src/main/java/global/SortKey.java | 23 - .../cs448p3/src/main/java/relop/FileScan.java | 92 -- .../cs448p3/src/main/java/relop/HashJoin.java | 52 - .../src/main/java/relop/HashTableDup.java | 83 -- .../src/main/java/relop/IndexScan.java | 89 -- .../cs448p3/src/main/java/relop/Iterator.java | 107 -- .../cs448p3/src/main/java/relop/KeyScan.java | 72 -- .../src/main/java/relop/Predicate.java | 188 --- .../src/main/java/relop/Projection.java | 79 -- .../cs448p3/src/main/java/relop/Schema.java | 195 ---- .../src/main/java/relop/Selection.java | 78 -- .../src/main/java/relop/SimpleJoin.java | 126 -- .../cs448p3/src/main/java/relop/Tuple.java | 315 ----- .../cs448p3/src/test/java/tests/Field.java | 51 - .../cs448p3/src/test/java/tests/QEPTest.java | 262 ----- .../cs448p3/src/test/java/tests/ROTest.java | 367 ------ .../src/test/java/tests/TestDriver.java | 179 --- .../cs448p3/src/test/resources/drivers.csv | 9 - .../cs448p3/src/test/resources/drivers.json | 35 - .../cs448p3/src/test/resources/driversBig.csv | 1010 ----------------- .../src/test/resources/driversBig.json | 35 - .../cs448p3/src/test/resources/groups.csv | 7 - .../cs448p3/src/test/resources/groups.json | 17 - .../cs448p3/src/test/resources/groupsBig.csv | 10 - .../cs448p3/src/test/resources/groupsBig.json | 17 - .../cs448p3/src/test/resources/rides.csv | 12 - .../cs448p3/src/test/resources/rides.json | 29 - .../cs448p3/src/test/resources/ridesBig.csv | 1000 ---------------- .../cs448p3/src/test/resources/ridesBig.json | 29 - 43 files changed, 5772 deletions(-) delete mode 100644 Projects/p3-skeleton/cs448p3/.gitignore delete mode 100644 Projects/p3-skeleton/cs448p3/Makefile delete mode 100644 Projects/p3-skeleton/cs448p3/p3-handout.pdf delete mode 100644 Projects/p3-skeleton/cs448p3/pom.xml delete mode 100644 Projects/p3-skeleton/cs448p3/solution.txt delete mode 100644 Projects/p3-skeleton/cs448p3/src/main/java/global/AttrOperator.java delete mode 100644 Projects/p3-skeleton/cs448p3/src/main/java/global/AttrType.java delete mode 100644 Projects/p3-skeleton/cs448p3/src/main/java/global/Convert.java delete mode 100644 Projects/p3-skeleton/cs448p3/src/main/java/global/GlobalConst.java delete mode 100644 Projects/p3-skeleton/cs448p3/src/main/java/global/Minibase.java delete mode 100644 Projects/p3-skeleton/cs448p3/src/main/java/global/Page.java delete mode 100644 Projects/p3-skeleton/cs448p3/src/main/java/global/PageId.java delete mode 100644 Projects/p3-skeleton/cs448p3/src/main/java/global/RID.java delete mode 100644 Projects/p3-skeleton/cs448p3/src/main/java/global/SearchKey.java delete mode 100644 Projects/p3-skeleton/cs448p3/src/main/java/global/SortKey.java delete mode 100644 Projects/p3-skeleton/cs448p3/src/main/java/relop/FileScan.java delete mode 100644 Projects/p3-skeleton/cs448p3/src/main/java/relop/HashJoin.java delete mode 100644 Projects/p3-skeleton/cs448p3/src/main/java/relop/HashTableDup.java delete mode 100644 Projects/p3-skeleton/cs448p3/src/main/java/relop/IndexScan.java delete mode 100644 Projects/p3-skeleton/cs448p3/src/main/java/relop/Iterator.java delete mode 100644 Projects/p3-skeleton/cs448p3/src/main/java/relop/KeyScan.java delete mode 100644 Projects/p3-skeleton/cs448p3/src/main/java/relop/Predicate.java delete mode 100644 Projects/p3-skeleton/cs448p3/src/main/java/relop/Projection.java delete mode 100644 Projects/p3-skeleton/cs448p3/src/main/java/relop/Schema.java delete mode 100644 Projects/p3-skeleton/cs448p3/src/main/java/relop/Selection.java delete mode 100644 Projects/p3-skeleton/cs448p3/src/main/java/relop/SimpleJoin.java delete mode 100644 Projects/p3-skeleton/cs448p3/src/main/java/relop/Tuple.java delete mode 100644 Projects/p3-skeleton/cs448p3/src/test/java/tests/Field.java delete mode 100644 Projects/p3-skeleton/cs448p3/src/test/java/tests/QEPTest.java delete mode 100644 Projects/p3-skeleton/cs448p3/src/test/java/tests/ROTest.java delete mode 100644 Projects/p3-skeleton/cs448p3/src/test/java/tests/TestDriver.java delete mode 100644 Projects/p3-skeleton/cs448p3/src/test/resources/drivers.csv delete mode 100644 Projects/p3-skeleton/cs448p3/src/test/resources/drivers.json delete mode 100644 Projects/p3-skeleton/cs448p3/src/test/resources/driversBig.csv delete mode 100644 Projects/p3-skeleton/cs448p3/src/test/resources/driversBig.json delete mode 100644 Projects/p3-skeleton/cs448p3/src/test/resources/groups.csv delete mode 100644 Projects/p3-skeleton/cs448p3/src/test/resources/groups.json delete mode 100644 Projects/p3-skeleton/cs448p3/src/test/resources/groupsBig.csv delete mode 100644 Projects/p3-skeleton/cs448p3/src/test/resources/groupsBig.json delete mode 100644 Projects/p3-skeleton/cs448p3/src/test/resources/rides.csv delete mode 100644 Projects/p3-skeleton/cs448p3/src/test/resources/rides.json delete mode 100644 Projects/p3-skeleton/cs448p3/src/test/resources/ridesBig.csv delete mode 100644 Projects/p3-skeleton/cs448p3/src/test/resources/ridesBig.json diff --git a/Projects/p3-skeleton/cs448p3/.gitignore b/Projects/p3-skeleton/cs448p3/.gitignore deleted file mode 100644 index 00b41c6..0000000 --- a/Projects/p3-skeleton/cs448p3/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -bin/ -.DS_Store diff --git a/Projects/p3-skeleton/cs448p3/Makefile b/Projects/p3-skeleton/cs448p3/Makefile deleted file mode 100644 index 099fa66..0000000 --- a/Projects/p3-skeleton/cs448p3/Makefile +++ /dev/null @@ -1,20 +0,0 @@ -JDKPATH = /usr -LIBPATH = lib/bufmgr.jar:lib/diskmgr.jar:lib/heap.jar:lib/index.jar:lib/junit.jar:lib/org.hamcrest.core_1.3.0.v201303031735.jar -SRCPATH = src/main/java/*/ -TESTPATH = src/test/java/*/ - -CLASSPATH = .:..:$(LIBPATH) -BINPATH = $(JDKPATH)/bin -JAVAC = $(JDKPATH)/bin/javac -JAVA = $(JDKPATH)/bin/java - -PROGS = xx - -all: $(PROGS) - -compile:${SRCPATH}*.java - $(JAVAC) -cp $(CLASSPATH) -d bin ${SRCPATH}*.java ${TESTPATH}*.java - -xx : compile - $(JAVA) -cp $(CLASSPATH):bin tests.ROTest - diff --git a/Projects/p3-skeleton/cs448p3/p3-handout.pdf b/Projects/p3-skeleton/cs448p3/p3-handout.pdf deleted file mode 100644 index 98ce7deddf4659efd39d6c821a2a9816c9153cca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 320496 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

Rw%?2;48HCad2& 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 diff --git a/Projects/p3-skeleton/cs448p3/pom.xml b/Projects/p3-skeleton/cs448p3/pom.xml deleted file mode 100644 index a55f734..0000000 --- a/Projects/p3-skeleton/cs448p3/pom.xml +++ /dev/null @@ -1,131 +0,0 @@ - - - - 4.0.0 - - edu.cs.purdue - cs448p3 - 1.0-SNAPSHOT - - cs448p3 - https://www.cs.purdue.edu/homes/bb/cs448f19/ - - - 10 - UTF-8 - ${java.version} - ${java.version} - - - - - com.googlecode.json-simple - json-simple - 1.1.1 - - - com.opencsv - opencsv - 4.0 - - - junit - junit - 4.11 - test - - - minibase - bufmgr - 1.0 - system - ${basedir}/lib/bufmgr.jar - - - minibase - diskmgr - 1.0 - system - ${basedir}/lib/diskmgr.jar - jar - - - minibase - heap - 1.0 - system - ${basedir}/lib/heap.jar - - - minibase - index - 1.0 - system - ${basedir}/lib/index.jar - - - - - - - - - - maven-clean-plugin - 3.1.0 - - - - maven-resources-plugin - 3.0.2 - - - maven-compiler-plugin - 3.8.0 - - ${java.version} - - - - maven-surefire-plugin - 2.22.1 - - - maven-jar-plugin - 3.0.2 - - - maven-install-plugin - 2.5.2 - - - maven-deploy-plugin - 2.8.2 - - - - maven-site-plugin - 3.7.1 - - - maven-project-info-reports-plugin - 3.0.0 - - - maven-assembly-plugin - - - - test.TestDriver - - - - jar-with-dependencies - - - - - - - diff --git a/Projects/p3-skeleton/cs448p3/solution.txt b/Projects/p3-skeleton/cs448p3/solution.txt deleted file mode 100644 index 5e89823..0000000 --- a/Projects/p3-skeleton/cs448p3/solution.txt +++ /dev/null @@ -1,24 +0,0 @@ -proj_idx=3:18.|9:19.|2:20.|8:20.|4:22.|6:23.|7:24.|1:25.|5:26. -proj_key=2:20.|8:20. -proj_sel=2:20.|8:20. -proj_proj=1:25.|2:20.|3:18.|4:22.|5:26.|6:23.|7:24.|8:20.|9:19. -proj_sj=1:25.|1:25.|2:20.|2:20.|3:18.|3:18.|3:18.|4:22.|5:26.|6:23.|8:20.|9:19. -proj_hj=1:25.|1:25.|2:20.|2:20.|3:18.|3:18.|3:18.|4:22.|5:26.|6:23.|8:20.|9:19. -keyscan=2:Walid:Aref:20.013|8:Arif:Ghafoor:20.05 -selection=1:Ahmed:Elmagarmid:25.05|4:Sunil:Prabhakar:22.07|5:Elisa:Bertino:26.05|6:Susanne:Hambrusch:23.03|7:David:Eberts:24.08 -idxscan=3:Christopher:Clifton:18.04|9:Jeff:Vitter:19.010|2:Walid:Aref:20.013|8:Arif:Ghafoor:20.05|4:Sunil:Prabhakar:22.07|6:Susanne:Hambrusch:23.03|7:David:Eberts:24.08|1:Ahmed:Elmagarmid:25.05|5:Elisa:Bertino:26.05 -filescan=1:Ahmed:Elmagarmid:25.05|2:Walid:Aref:20.013|3:Christopher:Clifton:18.04|4:Sunil:Prabhakar:22.07|5:Elisa:Bertino:26.05|6:Susanne:Hambrusch:23.03|7:David:Eberts:24.08|8:Arif:Ghafoor:20.05|9:Jeff:Vitter:19.010 -sel_idx=2:Walid:Aref:20.013 -sel_key=2:Walid:Aref:20.013 -sel_sel=2:Walid:Aref:20.013 -sel_proj=2:Walid -sel_sj=2:Walid:Aref:20.013:2:6:2/17/2006:2/20/2006|2:Walid:Aref:20.013:2:7:2/18/2006:2/23/2006 -sel_jh=2:Walid:Aref:20.013:2:6:2/17/2006:2/20/2006|2:Walid:Aref:20.013:2:7:2/18/2006:2/23/2006 -selection_preds=1:Ahmed:Elmagarmid:25.05|3:Christopher:Clifton:18.04|5:Elisa:Bertino:26.05|7:David:Eberts:24.08 -hj_sel_sj=6:Susanne:Hambrusch:23.03:6:6:2/25/2006:2/26/2006:1:Purdue1 -hj_proj_hj=1:25.01:2:2/12/2006:2/14/2006:2:Purdue2|1:25.01:3:2/15/2006:2/16/2006:3:Purdue3|2:20.02:6:2/17/2006:2/20/2006:6:Purdue6|2:20.02:7:2/18/2006:2/23/2006:7:Purdue7|3:18.03:2:2/24/2006:2/26/2006:2:Purdue2|3:18.03:4:2/18/2006:2/19/2006:4:Purdue4|3:18.03:5:2/10/2006:2/13/2006:5:Purdue5|4:22.04:1:2/19/2006:2/19/2006:1:Purdue1|5:26.05:7:2/14/2006:2/18/2006:7:Purdue7|6:23.06:6:2/25/2006:2/26/2006:6:Purdue6|8:20.08:5:2/20/2006:2/22/2006:5:Purdue5|9:19.09:1:2/15/2006:2/15/2006:1:Purdue1 -hj_iscan_kscan=4:Sunil:Prabhakar:22.07:4:1:2/19/2006:2/19/2006|9:Jeff:Vitter:19.010:9:1:2/15/2006:2/15/2006 -hashjoin=1:Ahmed:Elmagarmid:25.05:1:2:2/12/2006:2/14/2006|1:Ahmed:Elmagarmid:25.05:1:3:2/15/2006:2/16/2006|2:Walid:Aref:20.013:2:6:2/17/2006:2/20/2006|2:Walid:Aref:20.013:2:7:2/18/2006:2/23/2006|3:Christopher:Clifton:18.04:3:5:2/10/2006:2/13/2006|3:Christopher:Clifton:18.04:3:4:2/18/2006:2/19/2006|3:Christopher:Clifton:18.04:3:2:2/24/2006:2/26/2006|4:Sunil:Prabhakar:22.07:4:1:2/19/2006:2/19/2006|5:Elisa:Bertino:26.05:5:7:2/14/2006:2/18/2006|6:Susanne:Hambrusch:23.03:6:6:2/25/2006:2/26/2006|8:Arif:Ghafoor:20.05:8:5:2/20/2006:2/22/2006|9:Jeff:Vitter:19.010:9:1:2/15/2006:2/15/2006 -projection=Ahmed:5|Walid:13|Christopher:4|Sunil:7|Elisa:5|Susanne:3|David:8|Arif:5|Jeff:10 -hashEqual=128:"Adnan":"Bob":19.010:128:"Adnan":"Bob":19.010|256:"Adnan":"Bob":19.010:256:"Adnan":"Bob":19.010|384:"Adnan":"Bob":19.010:384:"Adnan":"Bob":19.010|512:"Adnan":"Bob":19.010:512:"Adnan":"Bob":19.010|640:"Adnan":"Bob":19.010:640:"Adnan":"Bob":19.010|768:"Adnan":"Bob":19.010:768:"Adnan":"Bob":19.010|896:"Adnan":"Bob":19.010:896:"Adnan":"Bob":19.010|1:"Ahmed":"Elmagarmid":25.05:1:"Ahmed":"Elmagarmid":25.05|129:"Adnan":"Edgardo":19.010:129:"Adnan":"Edgardo":19.010|257:"Adnan":"Edgardo":19.010:257:"Adnan":"Edgardo":19.010|385:"Adnan":"Edgardo":19.010:385:"Adnan":"Edgardo":19.010|513:"Adnan":"Edgardo":19.010:513:"Adnan":"Edgardo":19.010|641:"Adnan":"Edgardo":19.010:641:"Adnan":"Edgardo":19.010|769:"Adnan":"Edgardo":19.010:769:"Adnan":"Edgardo":19.010|897:"Adnan":"Edgardo":19.010:897:"Adnan":"Edgardo":19.010|2:"Walid":"Aref":20.013:2:"Walid":"Aref":20.013|130:"Adnan":"Bob":19.010:130:"Adnan":"Bob":19.010|258:"Adnan":"Bob":19.010:258:"Adnan":"Bob":19.010|386:"Adnan":"Bob":19.010:386:"Adnan":"Bob":19.010|514:"Adnan":"Bob":19.010:514:"Adnan":"Bob":19.010|642:"Adnan":"Bob":19.010:642:"Adnan":"Bob":19.010|770:"Adnan":"Bob":19.010:770:"Adnan":"Bob":19.010|898:"Adnan":"Bob":19.010:898:"Adnan":"Bob":19.010|3:"Christopher":"Clifton":18.04:3:"Christopher":"Clifton":18.04|131:"Adnan":"Edgardo":19.010:131:"Adnan":"Edgardo":19.010|259:"Adnan":"Edgardo":19.010:259:"Adnan":"Edgardo":19.010|387:"Adnan":"Edgardo":19.010:387:"Adnan":"Edgardo":19.010|515:"Adnan":"Edgardo":19.010:515:"Adnan":"Edgardo":19.010|643:"Adnan":"Edgardo":19.010:643:"Adnan":"Edgardo":19.010|771:"Adnan":"Edgardo":19.010:771:"Adnan":"Edgardo":19.010|899:"Adnan":"Edgardo":19.010:899:"Adnan":"Edgardo":19.010|4:"Sunil":"Prabhakar":22.07:4:"Sunil":"Prabhakar":22.07|132:"Adnan":"Bob":19.010:132:"Adnan":"Bob":19.010|260:"Adnan":"Bob":19.010:260:"Adnan":"Bob":19.010|388:"Adnan":"Bob":19.010:388:"Adnan":"Bob":19.010|516:"Adnan":"Bob":19.010:516:"Adnan":"Bob":19.010|644:"Adnan":"Bob":19.010:644:"Adnan":"Bob":19.010|772:"Adnan":"Bob":19.010:772:"Adnan":"Bob":19.010|900:"Adnan":"Bob":19.010:900:"Adnan":"Bob":19.010|5:"Elisa":"Bertino":26.05:5:"Elisa":"Bertino":26.05|133:"Adnan":"Edgardo":19.010:133:"Adnan":"Edgardo":19.010|261:"Adnan":"Edgardo":19.010:261:"Adnan":"Edgardo":19.010|389:"Adnan":"Edgardo":19.010:389:"Adnan":"Edgardo":19.010|517:"Adnan":"Edgardo":19.010:517:"Adnan":"Edgardo":19.010|645:"Adnan":"Edgardo":19.010:645:"Adnan":"Edgardo":19.010|773:"Adnan":"Edgardo":19.010:773:"Adnan":"Edgardo":19.010|901:"Adnan":"Edgardo":19.010:901:"Adnan":"Edgardo":19.010|6:"Susanne":"Hambrusch":23.03:6:"Susanne":"Hambrusch":23.03|134:"Adnan":"Bob":19.010:134:"Adnan":"Bob":19.010|262:"Adnan":"Bob":19.010:262:"Adnan":"Bob":19.010|390:"Adnan":"Bob":19.010:390:"Adnan":"Bob":19.010|518:"Adnan":"Bob":19.010:518:"Adnan":"Bob":19.010|646:"Adnan":"Bob":19.010:646:"Adnan":"Bob":19.010|774:"Adnan":"Bob":19.010:774:"Adnan":"Bob":19.010|902:"Adnan":"Bob":19.010:902:"Adnan":"Bob":19.010|7:"David":"Eberts":24.08:7:"David":"Eberts":24.08|135:"Adnan":"Edgardo":19.010:135:"Adnan":"Edgardo":19.010|263:"Adnan":"Edgardo":19.010:263:"Adnan":"Edgardo":19.010|391:"Adnan":"Edgardo":19.010:391:"Adnan":"Edgardo":19.010|519:"Adnan":"Edgardo":19.010:519:"Adnan":"Edgardo":19.010|647:"Adnan":"Edgardo":19.010:647:"Adnan":"Edgardo":19.010|775:"Adnan":"Edgardo":19.010:775:"Adnan":"Edgardo":19.010|903:"Adnan":"Edgardo":19.010:903:"Adnan":"Edgardo":19.010|8:"Arif":"Ghafoor":20.05:8:"Arif":"Ghafoor":20.05|136:"Adnan":"Bob":19.010:136:"Adnan":"Bob":19.010|264:"Adnan":"Bob":19.010:264:"Adnan":"Bob":19.010|392:"Adnan":"Bob":19.010:392:"Adnan":"Bob":19.010|520:"Adnan":"Bob":19.010:520:"Adnan":"Bob":19.010|648:"Adnan":"Bob":19.010:648:"Adnan":"Bob":19.010|776:"Adnan":"Bob":19.010:776:"Adnan":"Bob":19.010|904:"Adnan":"Bob":19.010:904:"Adnan":"Bob":19.010|9:"Jeff":"Vitter":19.010:9:"Jeff":"Vitter":19.010|137:"Adnan":"Edgardo":19.010:137:"Adnan":"Edgardo":19.010|265:"Adnan":"Edgardo":19.010:265:"Adnan":"Edgardo":19.010|393:"Adnan":"Edgardo":19.010:393:"Adnan":"Edgardo":19.010|521:"Adnan":"Edgardo":19.010:521:"Adnan":"Edgardo":19.010|649:"Adnan":"Edgardo":19.010:649:"Adnan":"Edgardo":19.010|777:"Adnan":"Edgardo":19.010:777:"Adnan":"Edgardo":19.010|905:"Adnan":"Edgardo":19.010:905:"Adnan":"Edgardo":19.010|10:"Adnan":"Bob":19.010:10:"Adnan":"Bob":19.010|138:"Adnan":"Bob":19.010:138:"Adnan":"Bob":19.010|266:"Adnan":"Bob":19.010:266:"Adnan":"Bob":19.010|394:"Adnan":"Bob":19.010:394:"Adnan":"Bob":19.010|522:"Adnan":"Bob":19.010:522:"Adnan":"Bob":19.010|650:"Adnan":"Bob":19.010:650:"Adnan":"Bob":19.010|778:"Adnan":"Bob":19.010:778:"Adnan":"Bob":19.010|906:"Adnan":"Bob":19.010:906:"Adnan":"Bob":19.010|11:"Adnan":"Edgardo":19.010:11:"Adnan":"Edgardo":19.010|139:"Adnan":"Edgardo":19.010:139:"Adnan":"Edgardo":19.010|267:"Adnan":"Edgardo":19.010:267:"Adnan":"Edgardo":19.010|395:"Adnan":"Edgardo":19.010:395:"Adnan":"Edgardo":19.010|523:"Adnan":"Edgardo":19.010:523:"Adnan":"Edgardo":19.010|651:"Adnan":"Edgardo":19.010:651:"Adnan":"Edgardo":19.010|779:"Adnan":"Edgardo":19.010:779:"Adnan":"Edgardo":19.010|907:"Adnan":"Edgardo":19.010:907:"Adnan":"Edgardo":19.010|12:"Adnan":"Bob":19.010:12:"Adnan":"Bob":19.010|140:"Adnan":"Bob":19.010:140:"Adnan":"Bob":19.010|268:"Adnan":"Bob":19.010:268:"Adnan":"Bob":19.010|396:"Adnan":"Bob":19.010:396:"Adnan":"Bob":19.010|524:"Adnan":"Bob":19.010:524:"Adnan":"Bob":19.010|652:"Adnan":"Bob":19.010:652:"Adnan":"Bob":19.010|780:"Adnan":"Bob":19.010:780:"Adnan":"Bob":19.010|908:"Adnan":"Bob":19.010:908:"Adnan":"Bob":19.010|13:"Adnan":"Edgardo":19.010:13:"Adnan":"Edgardo":19.010|141:"Adnan":"Edgardo":19.010:141:"Adnan":"Edgardo":19.010|269:"Adnan":"Edgardo":19.010:269:"Adnan":"Edgardo":19.010|397:"Adnan":"Edgardo":19.010:397:"Adnan":"Edgardo":19.010|525:"Adnan":"Edgardo":19.010:525:"Adnan":"Edgardo":19.010|653:"Adnan":"Edgardo":19.010:653:"Adnan":"Edgardo":19.010|781:"Adnan":"Edgardo":19.010:781:"Adnan":"Edgardo":19.010|909:"Adnan":"Edgardo":19.010:909:"Adnan":"Edgardo":19.010|14:"Adnan":"Bob":19.010:14:"Adnan":"Bob":19.010|142:"Adnan":"Bob":19.010:142:"Adnan":"Bob":19.010|270:"Adnan":"Bob":19.010:270:"Adnan":"Bob":19.010|398:"Adnan":"Bob":19.010:398:"Adnan":"Bob":19.010|526:"Adnan":"Bob":19.010:526:"Adnan":"Bob":19.010|654:"Adnan":"Bob":19.010:654:"Adnan":"Bob":19.010|782:"Adnan":"Bob":19.010:782:"Adnan":"Bob":19.010|910:"Adnan":"Bob":19.010:910:"Adnan":"Bob":19.010|15:"Adnan":"Edgardo":19.010:15:"Adnan":"Edgardo":19.010|143:"Adnan":"Edgardo":19.010:143:"Adnan":"Edgardo":19.010|271:"Adnan":"Edgardo":19.010:271:"Adnan":"Edgardo":19.010|399:"Adnan":"Edgardo":19.010:399:"Adnan":"Edgardo":19.010|527:"Adnan":"Edgardo":19.010:527:"Adnan":"Edgardo":19.010|655:"Adnan":"Edgardo":19.010:655:"Adnan":"Edgardo":19.010|783:"Adnan":"Edgardo":19.010:783:"Adnan":"Edgardo":19.010|911:"Adnan":"Edgardo":19.010:911:"Adnan":"Edgardo":19.010|16:"Adnan":"Bob":19.010:16:"Adnan":"Bob":19.010|144:"Adnan":"Bob":19.010:144:"Adnan":"Bob":19.010|272:"Adnan":"Bob":19.010:272:"Adnan":"Bob":19.010|400:"Adnan":"Bob":19.010:400:"Adnan":"Bob":19.010|528:"Adnan":"Bob":19.010:528:"Adnan":"Bob":19.010|656:"Adnan":"Bob":19.010:656:"Adnan":"Bob":19.010|784:"Adnan":"Bob":19.010:784:"Adnan":"Bob":19.010|912:"Adnan":"Bob":19.010:912:"Adnan":"Bob":19.010|17:"Adnan":"Edgardo":19.010:17:"Adnan":"Edgardo":19.010|145:"Adnan":"Edgardo":19.010:145:"Adnan":"Edgardo":19.010|273:"Adnan":"Edgardo":19.010:273:"Adnan":"Edgardo":19.010|401:"Adnan":"Edgardo":19.010:401:"Adnan":"Edgardo":19.010|529:"Adnan":"Edgardo":19.010:529:"Adnan":"Edgardo":19.010|657:"Adnan":"Edgardo":19.010:657:"Adnan":"Edgardo":19.010|785:"Adnan":"Edgardo":19.010:785:"Adnan":"Edgardo":19.010|913:"Adnan":"Edgardo":19.010:913:"Adnan":"Edgardo":19.010|18:"Adnan":"Bob":19.010:18:"Adnan":"Bob":19.010|146:"Adnan":"Bob":19.010:146:"Adnan":"Bob":19.010|274:"Adnan":"Bob":19.010:274:"Adnan":"Bob":19.010|402:"Adnan":"Bob":19.010:402:"Adnan":"Bob":19.010|530:"Adnan":"Bob":19.010:530:"Adnan":"Bob":19.010|658:"Adnan":"Bob":19.010:658:"Adnan":"Bob":19.010|786:"Adnan":"Bob":19.010:786:"Adnan":"Bob":19.010|914:"Adnan":"Bob":19.010:914:"Adnan":"Bob":19.010|19:"Adnan":"Edgardo":19.010:19:"Adnan":"Edgardo":19.010|147:"Adnan":"Edgardo":19.010:147:"Adnan":"Edgardo":19.010|275:"Adnan":"Edgardo":19.010:275:"Adnan":"Edgardo":19.010|403:"Adnan":"Edgardo":19.010:403:"Adnan":"Edgardo":19.010|531:"Adnan":"Edgardo":19.010:531:"Adnan":"Edgardo":19.010|659:"Adnan":"Edgardo":19.010:659:"Adnan":"Edgardo":19.010|787:"Adnan":"Edgardo":19.010:787:"Adnan":"Edgardo":19.010|915:"Adnan":"Edgardo":19.010:915:"Adnan":"Edgardo":19.010|20:"Adnan":"Bob":19.010:20:"Adnan":"Bob":19.010|148:"Adnan":"Bob":19.010:148:"Adnan":"Bob":19.010|276:"Adnan":"Bob":19.010:276:"Adnan":"Bob":19.010|404:"Adnan":"Bob":19.010:404:"Adnan":"Bob":19.010|532:"Adnan":"Bob":19.010:532:"Adnan":"Bob":19.010|660:"Adnan":"Bob":19.010:660:"Adnan":"Bob":19.010|788:"Adnan":"Bob":19.010:788:"Adnan":"Bob":19.010|916:"Adnan":"Bob":19.010:916:"Adnan":"Bob":19.010|21:"Adnan":"Edgardo":19.010:21:"Adnan":"Edgardo":19.010|149:"Adnan":"Edgardo":19.010:149:"Adnan":"Edgardo":19.010|277:"Adnan":"Edgardo":19.010:277:"Adnan":"Edgardo":19.010|405:"Adnan":"Edgardo":19.010:405:"Adnan":"Edgardo":19.010|533:"Adnan":"Edgardo":19.010:533:"Adnan":"Edgardo":19.010|661:"Adnan":"Edgardo":19.010:661:"Adnan":"Edgardo":19.010|789:"Adnan":"Edgardo":19.010:789:"Adnan":"Edgardo":19.010|917:"Adnan":"Edgardo":19.010:917:"Adnan":"Edgardo":19.010|22:"Adnan":"Bob":19.010:22:"Adnan":"Bob":19.010|150:"Adnan":"Bob":19.010:150:"Adnan":"Bob":19.010|278:"Adnan":"Bob":19.010:278:"Adnan":"Bob":19.010|406:"Adnan":"Bob":19.010:406:"Adnan":"Bob":19.010|534:"Adnan":"Bob":19.010:534:"Adnan":"Bob":19.010|662:"Adnan":"Bob":19.010:662:"Adnan":"Bob":19.010|790:"Adnan":"Bob":19.010:790:"Adnan":"Bob":19.010|918:"Adnan":"Bob":19.010:918:"Adnan":"Bob":19.010|23:"Adnan":"Edgardo":19.010:23:"Adnan":"Edgardo":19.010|151:"Adnan":"Edgardo":19.010:151:"Adnan":"Edgardo":19.010|279:"Adnan":"Edgardo":19.010:279:"Adnan":"Edgardo":19.010|407:"Adnan":"Edgardo":19.010:407:"Adnan":"Edgardo":19.010|535:"Adnan":"Edgardo":19.010:535:"Adnan":"Edgardo":19.010|663:"Adnan":"Edgardo":19.010:663:"Adnan":"Edgardo":19.010|791:"Adnan":"Edgardo":19.010:791:"Adnan":"Edgardo":19.010|919:"Adnan":"Edgardo":19.010:919:"Adnan":"Edgardo":19.010|24:"Adnan":"Bob":19.010:24:"Adnan":"Bob":19.010|152:"Adnan":"Bob":19.010:152:"Adnan":"Bob":19.010|280:"Adnan":"Bob":19.010:280:"Adnan":"Bob":19.010|408:"Adnan":"Bob":19.010:408:"Adnan":"Bob":19.010|536:"Adnan":"Bob":19.010:536:"Adnan":"Bob":19.010|664:"Adnan":"Bob":19.010:664:"Adnan":"Bob":19.010|792:"Adnan":"Bob":19.010:792:"Adnan":"Bob":19.010|920:"Adnan":"Bob":19.010:920:"Adnan":"Bob":19.010|25:"Adnan":"Edgardo":19.010:25:"Adnan":"Edgardo":19.010|153:"Adnan":"Edgardo":19.010:153:"Adnan":"Edgardo":19.010|281:"Adnan":"Edgardo":19.010:281:"Adnan":"Edgardo":19.010|409:"Adnan":"Edgardo":19.010:409:"Adnan":"Edgardo":19.010|537:"Adnan":"Edgardo":19.010:537:"Adnan":"Edgardo":19.010|665:"Adnan":"Edgardo":19.010:665:"Adnan":"Edgardo":19.010|793:"Adnan":"Edgardo":19.010:793:"Adnan":"Edgardo":19.010|921:"Adnan":"Edgardo":19.010:921:"Adnan":"Edgardo":19.010|26:"Adnan":"Bob":19.010:26:"Adnan":"Bob":19.010|154:"Adnan":"Bob":19.010:154:"Adnan":"Bob":19.010|282:"Adnan":"Bob":19.010:282:"Adnan":"Bob":19.010|410:"Adnan":"Bob":19.010:410:"Adnan":"Bob":19.010|538:"Adnan":"Bob":19.010:538:"Adnan":"Bob":19.010|666:"Adnan":"Bob":19.010:666:"Adnan":"Bob":19.010|794:"Adnan":"Bob":19.010:794:"Adnan":"Bob":19.010|922:"Adnan":"Bob":19.010:922:"Adnan":"Bob":19.010|27:"Adnan":"Edgardo":19.010:27:"Adnan":"Edgardo":19.010|155:"Adnan":"Edgardo":19.010:155:"Adnan":"Edgardo":19.010|283:"Adnan":"Edgardo":19.010:283:"Adnan":"Edgardo":19.010|411:"Adnan":"Edgardo":19.010:411:"Adnan":"Edgardo":19.010|539:"Adnan":"Edgardo":19.010:539:"Adnan":"Edgardo":19.010|667:"Adnan":"Edgardo":19.010:667:"Adnan":"Edgardo":19.010|795:"Adnan":"Edgardo":19.010:795:"Adnan":"Edgardo":19.010|923:"Adnan":"Edgardo":19.010:923:"Adnan":"Edgardo":19.010|28:"Adnan":"Bob":19.010:28:"Adnan":"Bob":19.010|156:"Adnan":"Bob":19.010:156:"Adnan":"Bob":19.010|284:"Adnan":"Bob":19.010:284:"Adnan":"Bob":19.010|412:"Adnan":"Bob":19.010:412:"Adnan":"Bob":19.010|540:"Adnan":"Bob":19.010:540:"Adnan":"Bob":19.010|668:"Adnan":"Bob":19.010:668:"Adnan":"Bob":19.010|796:"Adnan":"Bob":19.010:796:"Adnan":"Bob":19.010|924:"Adnan":"Bob":19.010:924:"Adnan":"Bob":19.010|29:"Adnan":"Edgardo":19.010:29:"Adnan":"Edgardo":19.010|157:"Adnan":"Edgardo":19.010:157:"Adnan":"Edgardo":19.010|285:"Adnan":"Edgardo":19.010:285:"Adnan":"Edgardo":19.010|413:"Adnan":"Edgardo":19.010:413:"Adnan":"Edgardo":19.010|541:"Adnan":"Edgardo":19.010:541:"Adnan":"Edgardo":19.010|669:"Adnan":"Edgardo":19.010:669:"Adnan":"Edgardo":19.010|797:"Adnan":"Edgardo":19.010:797:"Adnan":"Edgardo":19.010|925:"Adnan":"Edgardo":19.010:925:"Adnan":"Edgardo":19.010|30:"Adnan":"Bob":19.010:30:"Adnan":"Bob":19.010|158:"Adnan":"Bob":19.010:158:"Adnan":"Bob":19.010|286:"Adnan":"Bob":19.010:286:"Adnan":"Bob":19.010|414:"Adnan":"Bob":19.010:414:"Adnan":"Bob":19.010|542:"Adnan":"Bob":19.010:542:"Adnan":"Bob":19.010|670:"Adnan":"Bob":19.010:670:"Adnan":"Bob":19.010|798:"Adnan":"Bob":19.010:798:"Adnan":"Bob":19.010|926:"Adnan":"Bob":19.010:926:"Adnan":"Bob":19.010|31:"Adnan":"Edgardo":19.010:31:"Adnan":"Edgardo":19.010|159:"Adnan":"Edgardo":19.010:159:"Adnan":"Edgardo":19.010|287:"Adnan":"Edgardo":19.010:287:"Adnan":"Edgardo":19.010|415:"Adnan":"Edgardo":19.010:415:"Adnan":"Edgardo":19.010|543:"Adnan":"Edgardo":19.010:543:"Adnan":"Edgardo":19.010|671:"Adnan":"Edgardo":19.010:671:"Adnan":"Edgardo":19.010|799:"Adnan":"Edgardo":19.010:799:"Adnan":"Edgardo":19.010|927:"Adnan":"Edgardo":19.010:927:"Adnan":"Edgardo":19.010|32:"Adnan":"Bob":19.010:32:"Adnan":"Bob":19.010|160:"Adnan":"Bob":19.010:160:"Adnan":"Bob":19.010|288:"Adnan":"Bob":19.010:288:"Adnan":"Bob":19.010|416:"Adnan":"Bob":19.010:416:"Adnan":"Bob":19.010|544:"Adnan":"Bob":19.010:544:"Adnan":"Bob":19.010|672:"Adnan":"Bob":19.010:672:"Adnan":"Bob":19.010|800:"Adnan":"Bob":19.010:800:"Adnan":"Bob":19.010|928:"Adnan":"Bob":19.010:928:"Adnan":"Bob":19.010|33:"Adnan":"Edgardo":19.010:33:"Adnan":"Edgardo":19.010|161:"Adnan":"Edgardo":19.010:161:"Adnan":"Edgardo":19.010|289:"Adnan":"Edgardo":19.010:289:"Adnan":"Edgardo":19.010|417:"Adnan":"Edgardo":19.010:417:"Adnan":"Edgardo":19.010|545:"Adnan":"Edgardo":19.010:545:"Adnan":"Edgardo":19.010|673:"Adnan":"Edgardo":19.010:673:"Adnan":"Edgardo":19.010|801:"Adnan":"Edgardo":19.010:801:"Adnan":"Edgardo":19.010|929:"Adnan":"Edgardo":19.010:929:"Adnan":"Edgardo":19.010|34:"Adnan":"Bob":19.010:34:"Adnan":"Bob":19.010|162:"Adnan":"Bob":19.010:162:"Adnan":"Bob":19.010|290:"Adnan":"Bob":19.010:290:"Adnan":"Bob":19.010|418:"Adnan":"Bob":19.010:418:"Adnan":"Bob":19.010|546:"Adnan":"Bob":19.010:546:"Adnan":"Bob":19.010|674:"Adnan":"Bob":19.010:674:"Adnan":"Bob":19.010|802:"Adnan":"Bob":19.010:802:"Adnan":"Bob":19.010|930:"Adnan":"Bob":19.010:930:"Adnan":"Bob":19.010|35:"Adnan":"Edgardo":19.010:35:"Adnan":"Edgardo":19.010|163:"Adnan":"Edgardo":19.010:163:"Adnan":"Edgardo":19.010|291:"Adnan":"Edgardo":19.010:291:"Adnan":"Edgardo":19.010|419:"Adnan":"Edgardo":19.010:419:"Adnan":"Edgardo":19.010|547:"Adnan":"Edgardo":19.010:547:"Adnan":"Edgardo":19.010|675:"Adnan":"Edgardo":19.010:675:"Adnan":"Edgardo":19.010|803:"Adnan":"Edgardo":19.010:803:"Adnan":"Edgardo":19.010|931:"Adnan":"Edgardo":19.010:931:"Adnan":"Edgardo":19.010|36:"Adnan":"Bob":19.010:36:"Adnan":"Bob":19.010|164:"Adnan":"Bob":19.010:164:"Adnan":"Bob":19.010|292:"Adnan":"Bob":19.010:292:"Adnan":"Bob":19.010|420:"Adnan":"Bob":19.010:420:"Adnan":"Bob":19.010|548:"Adnan":"Bob":19.010:548:"Adnan":"Bob":19.010|676:"Adnan":"Bob":19.010:676:"Adnan":"Bob":19.010|804:"Adnan":"Bob":19.010:804:"Adnan":"Bob":19.010|932:"Adnan":"Bob":19.010:932:"Adnan":"Bob":19.010|37:"Adnan":"Edgardo":19.010:37:"Adnan":"Edgardo":19.010|165:"Adnan":"Edgardo":19.010:165:"Adnan":"Edgardo":19.010|293:"Adnan":"Edgardo":19.010:293:"Adnan":"Edgardo":19.010|421:"Adnan":"Edgardo":19.010:421:"Adnan":"Edgardo":19.010|549:"Adnan":"Edgardo":19.010:549:"Adnan":"Edgardo":19.010|677:"Adnan":"Edgardo":19.010:677:"Adnan":"Edgardo":19.010|805:"Adnan":"Edgardo":19.010:805:"Adnan":"Edgardo":19.010|933:"Adnan":"Edgardo":19.010:933:"Adnan":"Edgardo":19.010|38:"Adnan":"Bob":19.010:38:"Adnan":"Bob":19.010|166:"Adnan":"Bob":19.010:166:"Adnan":"Bob":19.010|294:"Adnan":"Bob":19.010:294:"Adnan":"Bob":19.010|422:"Adnan":"Bob":19.010:422:"Adnan":"Bob":19.010|550:"Adnan":"Bob":19.010:550:"Adnan":"Bob":19.010|678:"Adnan":"Bob":19.010:678:"Adnan":"Bob":19.010|806:"Adnan":"Bob":19.010:806:"Adnan":"Bob":19.010|934:"Adnan":"Bob":19.010:934:"Adnan":"Bob":19.010|39:"Adnan":"Edgardo":19.010:39:"Adnan":"Edgardo":19.010|167:"Adnan":"Edgardo":19.010:167:"Adnan":"Edgardo":19.010|295:"Adnan":"Edgardo":19.010:295:"Adnan":"Edgardo":19.010|423:"Adnan":"Edgardo":19.010:423:"Adnan":"Edgardo":19.010|551:"Adnan":"Edgardo":19.010:551:"Adnan":"Edgardo":19.010|679:"Adnan":"Edgardo":19.010:679:"Adnan":"Edgardo":19.010|807:"Adnan":"Edgardo":19.010:807:"Adnan":"Edgardo":19.010|935:"Adnan":"Edgardo":19.010:935:"Adnan":"Edgardo":19.010|40:"Adnan":"Bob":19.010:40:"Adnan":"Bob":19.010|168:"Adnan":"Bob":19.010:168:"Adnan":"Bob":19.010|296:"Adnan":"Bob":19.010:296:"Adnan":"Bob":19.010|424:"Adnan":"Bob":19.010:424:"Adnan":"Bob":19.010|552:"Adnan":"Bob":19.010:552:"Adnan":"Bob":19.010|680:"Adnan":"Bob":19.010:680:"Adnan":"Bob":19.010|808:"Adnan":"Bob":19.010:808:"Adnan":"Bob":19.010|936:"Adnan":"Bob":19.010:936:"Adnan":"Bob":19.010|41:"Adnan":"Edgardo":19.010:41:"Adnan":"Edgardo":19.010|169:"Adnan":"Edgardo":19.010:169:"Adnan":"Edgardo":19.010|297:"Adnan":"Edgardo":19.010:297:"Adnan":"Edgardo":19.010|425:"Adnan":"Edgardo":19.010:425:"Adnan":"Edgardo":19.010|553:"Adnan":"Edgardo":19.010:553:"Adnan":"Edgardo":19.010|681:"Adnan":"Edgardo":19.010:681:"Adnan":"Edgardo":19.010|809:"Adnan":"Edgardo":19.010:809:"Adnan":"Edgardo":19.010|937:"Adnan":"Edgardo":19.010:937:"Adnan":"Edgardo":19.010|42:"Adnan":"Bob":19.010:42:"Adnan":"Bob":19.010|170:"Adnan":"Bob":19.010:170:"Adnan":"Bob":19.010|298:"Adnan":"Bob":19.010:298:"Adnan":"Bob":19.010|426:"Adnan":"Bob":19.010:426:"Adnan":"Bob":19.010|554:"Adnan":"Bob":19.010:554:"Adnan":"Bob":19.010|682:"Adnan":"Bob":19.010:682:"Adnan":"Bob":19.010|810:"Adnan":"Bob":19.010:810:"Adnan":"Bob":19.010|938:"Adnan":"Bob":19.010:938:"Adnan":"Bob":19.010|43:"Adnan":"Edgardo":19.010:43:"Adnan":"Edgardo":19.010|171:"Adnan":"Edgardo":19.010:171:"Adnan":"Edgardo":19.010|299:"Adnan":"Edgardo":19.010:299:"Adnan":"Edgardo":19.010|427:"Adnan":"Edgardo":19.010:427:"Adnan":"Edgardo":19.010|555:"Adnan":"Edgardo":19.010:555:"Adnan":"Edgardo":19.010|683:"Adnan":"Edgardo":19.010:683:"Adnan":"Edgardo":19.010|811:"Adnan":"Edgardo":19.010:811:"Adnan":"Edgardo":19.010|939:"Adnan":"Edgardo":19.010:939:"Adnan":"Edgardo":19.010|44:"Adnan":"Bob":19.010:44:"Adnan":"Bob":19.010|172:"Adnan":"Bob":19.010:172:"Adnan":"Bob":19.010|300:"Adnan":"Bob":19.010:300:"Adnan":"Bob":19.010|428:"Adnan":"Bob":19.010:428:"Adnan":"Bob":19.010|556:"Adnan":"Bob":19.010:556:"Adnan":"Bob":19.010|684:"Adnan":"Bob":19.010:684:"Adnan":"Bob":19.010|812:"Adnan":"Bob":19.010:812:"Adnan":"Bob":19.010|940:"Adnan":"Bob":19.010:940:"Adnan":"Bob":19.010|45:"Adnan":"Edgardo":19.010:45:"Adnan":"Edgardo":19.010|173:"Adnan":"Edgardo":19.010:173:"Adnan":"Edgardo":19.010|301:"Adnan":"Edgardo":19.010:301:"Adnan":"Edgardo":19.010|429:"Adnan":"Edgardo":19.010:429:"Adnan":"Edgardo":19.010|557:"Adnan":"Edgardo":19.010:557:"Adnan":"Edgardo":19.010|685:"Adnan":"Edgardo":19.010:685:"Adnan":"Edgardo":19.010|813:"Adnan":"Edgardo":19.010:813:"Adnan":"Edgardo":19.010|941:"Adnan":"Edgardo":19.010:941:"Adnan":"Edgardo":19.010|46:"Adnan":"Bob":19.010:46:"Adnan":"Bob":19.010|174:"Adnan":"Bob":19.010:174:"Adnan":"Bob":19.010|302:"Adnan":"Bob":19.010:302:"Adnan":"Bob":19.010|430:"Adnan":"Bob":19.010:430:"Adnan":"Bob":19.010|558:"Adnan":"Bob":19.010:558:"Adnan":"Bob":19.010|686:"Adnan":"Bob":19.010:686:"Adnan":"Bob":19.010|814:"Adnan":"Bob":19.010:814:"Adnan":"Bob":19.010|942:"Adnan":"Bob":19.010:942:"Adnan":"Bob":19.010|47:"Adnan":"Edgardo":19.010:47:"Adnan":"Edgardo":19.010|175:"Adnan":"Edgardo":19.010:175:"Adnan":"Edgardo":19.010|303:"Adnan":"Edgardo":19.010:303:"Adnan":"Edgardo":19.010|431:"Adnan":"Edgardo":19.010:431:"Adnan":"Edgardo":19.010|559:"Adnan":"Edgardo":19.010:559:"Adnan":"Edgardo":19.010|687:"Adnan":"Edgardo":19.010:687:"Adnan":"Edgardo":19.010|815:"Adnan":"Edgardo":19.010:815:"Adnan":"Edgardo":19.010|943:"Adnan":"Edgardo":19.010:943:"Adnan":"Edgardo":19.010|48:"Adnan":"Bob":19.010:48:"Adnan":"Bob":19.010|176:"Adnan":"Bob":19.010:176:"Adnan":"Bob":19.010|304:"Adnan":"Bob":19.010:304:"Adnan":"Bob":19.010|432:"Adnan":"Bob":19.010:432:"Adnan":"Bob":19.010|560:"Adnan":"Bob":19.010:560:"Adnan":"Bob":19.010|688:"Adnan":"Bob":19.010:688:"Adnan":"Bob":19.010|816:"Adnan":"Bob":19.010:816:"Adnan":"Bob":19.010|944:"Adnan":"Bob":19.010:944:"Adnan":"Bob":19.010|49:"Adnan":"Edgardo":19.010:49:"Adnan":"Edgardo":19.010|177:"Adnan":"Edgardo":19.010:177:"Adnan":"Edgardo":19.010|305:"Adnan":"Edgardo":19.010:305:"Adnan":"Edgardo":19.010|433:"Adnan":"Edgardo":19.010:433:"Adnan":"Edgardo":19.010|561:"Adnan":"Edgardo":19.010:561:"Adnan":"Edgardo":19.010|689:"Adnan":"Edgardo":19.010:689:"Adnan":"Edgardo":19.010|817:"Adnan":"Edgardo":19.010:817:"Adnan":"Edgardo":19.010|945:"Adnan":"Edgardo":19.010:945:"Adnan":"Edgardo":19.010|50:"Adnan":"Bob":19.010:50:"Adnan":"Bob":19.010|178:"Adnan":"Bob":19.010:178:"Adnan":"Bob":19.010|306:"Adnan":"Bob":19.010:306:"Adnan":"Bob":19.010|434:"Adnan":"Bob":19.010:434:"Adnan":"Bob":19.010|562:"Adnan":"Bob":19.010:562:"Adnan":"Bob":19.010|690:"Adnan":"Bob":19.010:690:"Adnan":"Bob":19.010|818:"Adnan":"Bob":19.010:818:"Adnan":"Bob":19.010|946:"Adnan":"Bob":19.010:946:"Adnan":"Bob":19.010|51:"Adnan":"Edgardo":19.010:51:"Adnan":"Edgardo":19.010|179:"Adnan":"Edgardo":19.010:179:"Adnan":"Edgardo":19.010|307:"Adnan":"Edgardo":19.010:307:"Adnan":"Edgardo":19.010|435:"Adnan":"Edgardo":19.010:435:"Adnan":"Edgardo":19.010|563:"Adnan":"Edgardo":19.010:563:"Adnan":"Edgardo":19.010|691:"Adnan":"Edgardo":19.010:691:"Adnan":"Edgardo":19.010|819:"Adnan":"Edgardo":19.010:819:"Adnan":"Edgardo":19.010|947:"Adnan":"Edgardo":19.010:947:"Adnan":"Edgardo":19.010|52:"Adnan":"Bob":19.010:52:"Adnan":"Bob":19.010|180:"Adnan":"Bob":19.010:180:"Adnan":"Bob":19.010|308:"Adnan":"Bob":19.010:308:"Adnan":"Bob":19.010|436:"Adnan":"Bob":19.010:436:"Adnan":"Bob":19.010|564:"Adnan":"Bob":19.010:564:"Adnan":"Bob":19.010|692:"Adnan":"Bob":19.010:692:"Adnan":"Bob":19.010|820:"Adnan":"Bob":19.010:820:"Adnan":"Bob":19.010|948:"Adnan":"Bob":19.010:948:"Adnan":"Bob":19.010|53:"Adnan":"Edgardo":19.010:53:"Adnan":"Edgardo":19.010|181:"Adnan":"Edgardo":19.010:181:"Adnan":"Edgardo":19.010|309:"Adnan":"Edgardo":19.010:309:"Adnan":"Edgardo":19.010|437:"Adnan":"Edgardo":19.010:437:"Adnan":"Edgardo":19.010|565:"Adnan":"Edgardo":19.010:565:"Adnan":"Edgardo":19.010|693:"Adnan":"Edgardo":19.010:693:"Adnan":"Edgardo":19.010|821:"Adnan":"Edgardo":19.010:821:"Adnan":"Edgardo":19.010|949:"Adnan":"Edgardo":19.010:949:"Adnan":"Edgardo":19.010|54:"Adnan":"Bob":19.010:54:"Adnan":"Bob":19.010|182:"Adnan":"Bob":19.010:182:"Adnan":"Bob":19.010|310:"Adnan":"Bob":19.010:310:"Adnan":"Bob":19.010|438:"Adnan":"Bob":19.010:438:"Adnan":"Bob":19.010|566:"Adnan":"Bob":19.010:566:"Adnan":"Bob":19.010|694:"Adnan":"Bob":19.010:694:"Adnan":"Bob":19.010|822:"Adnan":"Bob":19.010:822:"Adnan":"Bob":19.010|950:"Adnan":"Bob":19.010:950:"Adnan":"Bob":19.010|55:"Adnan":"Edgardo":19.010:55:"Adnan":"Edgardo":19.010|183:"Adnan":"Edgardo":19.010:183:"Adnan":"Edgardo":19.010|311:"Adnan":"Edgardo":19.010:311:"Adnan":"Edgardo":19.010|439:"Adnan":"Edgardo":19.010:439:"Adnan":"Edgardo":19.010|567:"Adnan":"Edgardo":19.010:567:"Adnan":"Edgardo":19.010|695:"Adnan":"Edgardo":19.010:695:"Adnan":"Edgardo":19.010|823:"Adnan":"Edgardo":19.010:823:"Adnan":"Edgardo":19.010|951:"Adnan":"Edgardo":19.010:951:"Adnan":"Edgardo":19.010|56:"Adnan":"Bob":19.010:56:"Adnan":"Bob":19.010|184:"Adnan":"Bob":19.010:184:"Adnan":"Bob":19.010|312:"Adnan":"Bob":19.010:312:"Adnan":"Bob":19.010|440:"Adnan":"Bob":19.010:440:"Adnan":"Bob":19.010|568:"Adnan":"Bob":19.010:568:"Adnan":"Bob":19.010|696:"Adnan":"Bob":19.010:696:"Adnan":"Bob":19.010|824:"Adnan":"Bob":19.010:824:"Adnan":"Bob":19.010|952:"Adnan":"Bob":19.010:952:"Adnan":"Bob":19.010|57:"Adnan":"Edgardo":19.010:57:"Adnan":"Edgardo":19.010|185:"Adnan":"Edgardo":19.010:185:"Adnan":"Edgardo":19.010|313:"Adnan":"Edgardo":19.010:313:"Adnan":"Edgardo":19.010|441:"Adnan":"Edgardo":19.010:441:"Adnan":"Edgardo":19.010|569:"Adnan":"Edgardo":19.010:569:"Adnan":"Edgardo":19.010|697:"Adnan":"Edgardo":19.010:697:"Adnan":"Edgardo":19.010|825:"Adnan":"Edgardo":19.010:825:"Adnan":"Edgardo":19.010|953:"Adnan":"Edgardo":19.010:953:"Adnan":"Edgardo":19.010|58:"Adnan":"Bob":19.010:58:"Adnan":"Bob":19.010|186:"Adnan":"Bob":19.010:186:"Adnan":"Bob":19.010|314:"Adnan":"Bob":19.010:314:"Adnan":"Bob":19.010|442:"Adnan":"Bob":19.010:442:"Adnan":"Bob":19.010|570:"Adnan":"Bob":19.010:570:"Adnan":"Bob":19.010|698:"Adnan":"Bob":19.010:698:"Adnan":"Bob":19.010|826:"Adnan":"Bob":19.010:826:"Adnan":"Bob":19.010|954:"Adnan":"Bob":19.010:954:"Adnan":"Bob":19.010|59:"Adnan":"Edgardo":19.010:59:"Adnan":"Edgardo":19.010|187:"Adnan":"Edgardo":19.010:187:"Adnan":"Edgardo":19.010|315:"Adnan":"Edgardo":19.010:315:"Adnan":"Edgardo":19.010|443:"Adnan":"Edgardo":19.010:443:"Adnan":"Edgardo":19.010|571:"Adnan":"Edgardo":19.010:571:"Adnan":"Edgardo":19.010|699:"Adnan":"Edgardo":19.010:699:"Adnan":"Edgardo":19.010|827:"Adnan":"Edgardo":19.010:827:"Adnan":"Edgardo":19.010|955:"Adnan":"Edgardo":19.010:955:"Adnan":"Edgardo":19.010|60:"Adnan":"Bob":19.010:60:"Adnan":"Bob":19.010|188:"Adnan":"Bob":19.010:188:"Adnan":"Bob":19.010|316:"Adnan":"Bob":19.010:316:"Adnan":"Bob":19.010|444:"Adnan":"Bob":19.010:444:"Adnan":"Bob":19.010|572:"Adnan":"Bob":19.010:572:"Adnan":"Bob":19.010|700:"Adnan":"Bob":19.010:700:"Adnan":"Bob":19.010|828:"Adnan":"Bob":19.010:828:"Adnan":"Bob":19.010|956:"Adnan":"Bob":19.010:956:"Adnan":"Bob":19.010|61:"Adnan":"Edgardo":19.010:61:"Adnan":"Edgardo":19.010|189:"Adnan":"Edgardo":19.010:189:"Adnan":"Edgardo":19.010|317:"Adnan":"Edgardo":19.010:317:"Adnan":"Edgardo":19.010|445:"Adnan":"Edgardo":19.010:445:"Adnan":"Edgardo":19.010|573:"Adnan":"Edgardo":19.010:573:"Adnan":"Edgardo":19.010|701:"Adnan":"Edgardo":19.010:701:"Adnan":"Edgardo":19.010|829:"Adnan":"Edgardo":19.010:829:"Adnan":"Edgardo":19.010|957:"Adnan":"Edgardo":19.010:957:"Adnan":"Edgardo":19.010|62:"Adnan":"Bob":19.010:62:"Adnan":"Bob":19.010|190:"Adnan":"Bob":19.010:190:"Adnan":"Bob":19.010|318:"Adnan":"Bob":19.010:318:"Adnan":"Bob":19.010|446:"Adnan":"Bob":19.010:446:"Adnan":"Bob":19.010|574:"Adnan":"Bob":19.010:574:"Adnan":"Bob":19.010|702:"Adnan":"Bob":19.010:702:"Adnan":"Bob":19.010|830:"Adnan":"Bob":19.010:830:"Adnan":"Bob":19.010|958:"Adnan":"Bob":19.010:958:"Adnan":"Bob":19.010|63:"Adnan":"Edgardo":19.010:63:"Adnan":"Edgardo":19.010|191:"Adnan":"Edgardo":19.010:191:"Adnan":"Edgardo":19.010|319:"Adnan":"Edgardo":19.010:319:"Adnan":"Edgardo":19.010|447:"Adnan":"Edgardo":19.010:447:"Adnan":"Edgardo":19.010|575:"Adnan":"Edgardo":19.010:575:"Adnan":"Edgardo":19.010|703:"Adnan":"Edgardo":19.010:703:"Adnan":"Edgardo":19.010|831:"Adnan":"Edgardo":19.010:831:"Adnan":"Edgardo":19.010|959:"Adnan":"Edgardo":19.010:959:"Adnan":"Edgardo":19.010|64:"Adnan":"Bob":19.010:64:"Adnan":"Bob":19.010|192:"Adnan":"Bob":19.010:192:"Adnan":"Bob":19.010|320:"Adnan":"Bob":19.010:320:"Adnan":"Bob":19.010|448:"Adnan":"Bob":19.010:448:"Adnan":"Bob":19.010|576:"Adnan":"Bob":19.010:576:"Adnan":"Bob":19.010|704:"Adnan":"Bob":19.010:704:"Adnan":"Bob":19.010|832:"Adnan":"Bob":19.010:832:"Adnan":"Bob":19.010|960:"Adnan":"Bob":19.010:960:"Adnan":"Bob":19.010|65:"Adnan":"Edgardo":19.010:65:"Adnan":"Edgardo":19.010|193:"Adnan":"Edgardo":19.010:193:"Adnan":"Edgardo":19.010|321:"Adnan":"Edgardo":19.010:321:"Adnan":"Edgardo":19.010|449:"Adnan":"Edgardo":19.010:449:"Adnan":"Edgardo":19.010|577:"Adnan":"Edgardo":19.010:577:"Adnan":"Edgardo":19.010|705:"Adnan":"Edgardo":19.010:705:"Adnan":"Edgardo":19.010|833:"Adnan":"Edgardo":19.010:833:"Adnan":"Edgardo":19.010|961:"Adnan":"Edgardo":19.010:961:"Adnan":"Edgardo":19.010|66:"Adnan":"Bob":19.010:66:"Adnan":"Bob":19.010|194:"Adnan":"Bob":19.010:194:"Adnan":"Bob":19.010|322:"Adnan":"Bob":19.010:322:"Adnan":"Bob":19.010|450:"Adnan":"Bob":19.010:450:"Adnan":"Bob":19.010|578:"Adnan":"Bob":19.010:578:"Adnan":"Bob":19.010|706:"Adnan":"Bob":19.010:706:"Adnan":"Bob":19.010|834:"Adnan":"Bob":19.010:834:"Adnan":"Bob":19.010|962:"Adnan":"Bob":19.010:962:"Adnan":"Bob":19.010|67:"Adnan":"Edgardo":19.010:67:"Adnan":"Edgardo":19.010|195:"Adnan":"Edgardo":19.010:195:"Adnan":"Edgardo":19.010|323:"Adnan":"Edgardo":19.010:323:"Adnan":"Edgardo":19.010|451:"Adnan":"Edgardo":19.010:451:"Adnan":"Edgardo":19.010|579:"Adnan":"Edgardo":19.010:579:"Adnan":"Edgardo":19.010|707:"Adnan":"Edgardo":19.010:707:"Adnan":"Edgardo":19.010|835:"Adnan":"Edgardo":19.010:835:"Adnan":"Edgardo":19.010|963:"Adnan":"Edgardo":19.010:963:"Adnan":"Edgardo":19.010|68:"Adnan":"Bob":19.010:68:"Adnan":"Bob":19.010|196:"Adnan":"Bob":19.010:196:"Adnan":"Bob":19.010|324:"Adnan":"Bob":19.010:324:"Adnan":"Bob":19.010|452:"Adnan":"Bob":19.010:452:"Adnan":"Bob":19.010|580:"Adnan":"Bob":19.010:580:"Adnan":"Bob":19.010|708:"Adnan":"Bob":19.010:708:"Adnan":"Bob":19.010|836:"Adnan":"Bob":19.010:836:"Adnan":"Bob":19.010|964:"Adnan":"Bob":19.010:964:"Adnan":"Bob":19.010|69:"Adnan":"Edgardo":19.010:69:"Adnan":"Edgardo":19.010|197:"Adnan":"Edgardo":19.010:197:"Adnan":"Edgardo":19.010|325:"Adnan":"Edgardo":19.010:325:"Adnan":"Edgardo":19.010|453:"Adnan":"Edgardo":19.010:453:"Adnan":"Edgardo":19.010|581:"Adnan":"Edgardo":19.010:581:"Adnan":"Edgardo":19.010|709:"Adnan":"Edgardo":19.010:709:"Adnan":"Edgardo":19.010|837:"Adnan":"Edgardo":19.010:837:"Adnan":"Edgardo":19.010|965:"Adnan":"Edgardo":19.010:965:"Adnan":"Edgardo":19.010|70:"Adnan":"Bob":19.010:70:"Adnan":"Bob":19.010|198:"Adnan":"Bob":19.010:198:"Adnan":"Bob":19.010|326:"Adnan":"Bob":19.010:326:"Adnan":"Bob":19.010|454:"Adnan":"Bob":19.010:454:"Adnan":"Bob":19.010|582:"Adnan":"Bob":19.010:582:"Adnan":"Bob":19.010|710:"Adnan":"Bob":19.010:710:"Adnan":"Bob":19.010|838:"Adnan":"Bob":19.010:838:"Adnan":"Bob":19.010|966:"Adnan":"Bob":19.010:966:"Adnan":"Bob":19.010|71:"Adnan":"Edgardo":19.010:71:"Adnan":"Edgardo":19.010|199:"Adnan":"Edgardo":19.010:199:"Adnan":"Edgardo":19.010|327:"Adnan":"Edgardo":19.010:327:"Adnan":"Edgardo":19.010|455:"Adnan":"Edgardo":19.010:455:"Adnan":"Edgardo":19.010|583:"Adnan":"Edgardo":19.010:583:"Adnan":"Edgardo":19.010|711:"Adnan":"Edgardo":19.010:711:"Adnan":"Edgardo":19.010|839:"Adnan":"Edgardo":19.010:839:"Adnan":"Edgardo":19.010|967:"Adnan":"Edgardo":19.010:967:"Adnan":"Edgardo":19.010|72:"Adnan":"Bob":19.010:72:"Adnan":"Bob":19.010|200:"Adnan":"Bob":19.010:200:"Adnan":"Bob":19.010|328:"Adnan":"Bob":19.010:328:"Adnan":"Bob":19.010|456:"Adnan":"Bob":19.010:456:"Adnan":"Bob":19.010|584:"Adnan":"Bob":19.010:584:"Adnan":"Bob":19.010|712:"Adnan":"Bob":19.010:712:"Adnan":"Bob":19.010|840:"Adnan":"Bob":19.010:840:"Adnan":"Bob":19.010|968:"Adnan":"Bob":19.010:968:"Adnan":"Bob":19.010|73:"Adnan":"Edgardo":19.010:73:"Adnan":"Edgardo":19.010|201:"Adnan":"Edgardo":19.010:201:"Adnan":"Edgardo":19.010|329:"Adnan":"Edgardo":19.010:329:"Adnan":"Edgardo":19.010|457:"Adnan":"Edgardo":19.010:457:"Adnan":"Edgardo":19.010|585:"Adnan":"Edgardo":19.010:585:"Adnan":"Edgardo":19.010|713:"Adnan":"Edgardo":19.010:713:"Adnan":"Edgardo":19.010|841:"Adnan":"Edgardo":19.010:841:"Adnan":"Edgardo":19.010|969:"Adnan":"Edgardo":19.010:969:"Adnan":"Edgardo":19.010|74:"Adnan":"Bob":19.010:74:"Adnan":"Bob":19.010|202:"Adnan":"Bob":19.010:202:"Adnan":"Bob":19.010|330:"Adnan":"Bob":19.010:330:"Adnan":"Bob":19.010|458:"Adnan":"Bob":19.010:458:"Adnan":"Bob":19.010|586:"Adnan":"Bob":19.010:586:"Adnan":"Bob":19.010|714:"Adnan":"Bob":19.010:714:"Adnan":"Bob":19.010|842:"Adnan":"Bob":19.010:842:"Adnan":"Bob":19.010|970:"Adnan":"Bob":19.010:970:"Adnan":"Bob":19.010|75:"Adnan":"Edgardo":19.010:75:"Adnan":"Edgardo":19.010|203:"Adnan":"Edgardo":19.010:203:"Adnan":"Edgardo":19.010|331:"Adnan":"Edgardo":19.010:331:"Adnan":"Edgardo":19.010|459:"Adnan":"Edgardo":19.010:459:"Adnan":"Edgardo":19.010|587:"Adnan":"Edgardo":19.010:587:"Adnan":"Edgardo":19.010|715:"Adnan":"Edgardo":19.010:715:"Adnan":"Edgardo":19.010|843:"Adnan":"Edgardo":19.010:843:"Adnan":"Edgardo":19.010|971:"Adnan":"Edgardo":19.010:971:"Adnan":"Edgardo":19.010|76:"Adnan":"Bob":19.010:76:"Adnan":"Bob":19.010|204:"Adnan":"Bob":19.010:204:"Adnan":"Bob":19.010|332:"Adnan":"Bob":19.010:332:"Adnan":"Bob":19.010|460:"Adnan":"Bob":19.010:460:"Adnan":"Bob":19.010|588:"Adnan":"Bob":19.010:588:"Adnan":"Bob":19.010|716:"Adnan":"Bob":19.010:716:"Adnan":"Bob":19.010|844:"Adnan":"Bob":19.010:844:"Adnan":"Bob":19.010|972:"Adnan":"Bob":19.010:972:"Adnan":"Bob":19.010|77:"Adnan":"Edgardo":19.010:77:"Adnan":"Edgardo":19.010|205:"Adnan":"Edgardo":19.010:205:"Adnan":"Edgardo":19.010|333:"Adnan":"Edgardo":19.010:333:"Adnan":"Edgardo":19.010|461:"Adnan":"Edgardo":19.010:461:"Adnan":"Edgardo":19.010|589:"Adnan":"Edgardo":19.010:589:"Adnan":"Edgardo":19.010|717:"Adnan":"Edgardo":19.010:717:"Adnan":"Edgardo":19.010|845:"Adnan":"Edgardo":19.010:845:"Adnan":"Edgardo":19.010|973:"Adnan":"Edgardo":19.010:973:"Adnan":"Edgardo":19.010|78:"Adnan":"Bob":19.010:78:"Adnan":"Bob":19.010|206:"Adnan":"Bob":19.010:206:"Adnan":"Bob":19.010|334:"Adnan":"Bob":19.010:334:"Adnan":"Bob":19.010|462:"Adnan":"Bob":19.010:462:"Adnan":"Bob":19.010|590:"Adnan":"Bob":19.010:590:"Adnan":"Bob":19.010|718:"Adnan":"Bob":19.010:718:"Adnan":"Bob":19.010|846:"Adnan":"Bob":19.010:846:"Adnan":"Bob":19.010|974:"Adnan":"Bob":19.010:974:"Adnan":"Bob":19.010|79:"Adnan":"Edgardo":19.010:79:"Adnan":"Edgardo":19.010|207:"Adnan":"Edgardo":19.010:207:"Adnan":"Edgardo":19.010|335:"Adnan":"Edgardo":19.010:335:"Adnan":"Edgardo":19.010|463:"Adnan":"Edgardo":19.010:463:"Adnan":"Edgardo":19.010|591:"Adnan":"Edgardo":19.010:591:"Adnan":"Edgardo":19.010|719:"Adnan":"Edgardo":19.010:719:"Adnan":"Edgardo":19.010|847:"Adnan":"Edgardo":19.010:847:"Adnan":"Edgardo":19.010|975:"Adnan":"Edgardo":19.010:975:"Adnan":"Edgardo":19.010|80:"Adnan":"Bob":19.010:80:"Adnan":"Bob":19.010|208:"Adnan":"Bob":19.010:208:"Adnan":"Bob":19.010|336:"Adnan":"Bob":19.010:336:"Adnan":"Bob":19.010|464:"Adnan":"Bob":19.010:464:"Adnan":"Bob":19.010|592:"Adnan":"Bob":19.010:592:"Adnan":"Bob":19.010|720:"Adnan":"Bob":19.010:720:"Adnan":"Bob":19.010|848:"Adnan":"Bob":19.010:848:"Adnan":"Bob":19.010|976:"Adnan":"Bob":19.010:976:"Adnan":"Bob":19.010|81:"Adnan":"Edgardo":19.010:81:"Adnan":"Edgardo":19.010|209:"Adnan":"Edgardo":19.010:209:"Adnan":"Edgardo":19.010|337:"Adnan":"Edgardo":19.010:337:"Adnan":"Edgardo":19.010|465:"Adnan":"Edgardo":19.010:465:"Adnan":"Edgardo":19.010|593:"Adnan":"Edgardo":19.010:593:"Adnan":"Edgardo":19.010|721:"Adnan":"Edgardo":19.010:721:"Adnan":"Edgardo":19.010|849:"Adnan":"Edgardo":19.010:849:"Adnan":"Edgardo":19.010|977:"Adnan":"Edgardo":19.010:977:"Adnan":"Edgardo":19.010|82:"Adnan":"Bob":19.010:82:"Adnan":"Bob":19.010|210:"Adnan":"Bob":19.010:210:"Adnan":"Bob":19.010|338:"Adnan":"Bob":19.010:338:"Adnan":"Bob":19.010|466:"Adnan":"Bob":19.010:466:"Adnan":"Bob":19.010|594:"Adnan":"Bob":19.010:594:"Adnan":"Bob":19.010|722:"Adnan":"Bob":19.010:722:"Adnan":"Bob":19.010|850:"Adnan":"Bob":19.010:850:"Adnan":"Bob":19.010|978:"Adnan":"Bob":19.010:978:"Adnan":"Bob":19.010|83:"Adnan":"Edgardo":19.010:83:"Adnan":"Edgardo":19.010|211:"Adnan":"Edgardo":19.010:211:"Adnan":"Edgardo":19.010|339:"Adnan":"Edgardo":19.010:339:"Adnan":"Edgardo":19.010|467:"Adnan":"Edgardo":19.010:467:"Adnan":"Edgardo":19.010|595:"Adnan":"Edgardo":19.010:595:"Adnan":"Edgardo":19.010|723:"Adnan":"Edgardo":19.010:723:"Adnan":"Edgardo":19.010|851:"Adnan":"Edgardo":19.010:851:"Adnan":"Edgardo":19.010|979:"Adnan":"Edgardo":19.010:979:"Adnan":"Edgardo":19.010|84:"Adnan":"Bob":19.010:84:"Adnan":"Bob":19.010|212:"Adnan":"Bob":19.010:212:"Adnan":"Bob":19.010|340:"Adnan":"Bob":19.010:340:"Adnan":"Bob":19.010|468:"Adnan":"Bob":19.010:468:"Adnan":"Bob":19.010|596:"Adnan":"Bob":19.010:596:"Adnan":"Bob":19.010|724:"Adnan":"Bob":19.010:724:"Adnan":"Bob":19.010|852:"Adnan":"Bob":19.010:852:"Adnan":"Bob":19.010|980:"Adnan":"Bob":19.010:980:"Adnan":"Bob":19.010|85:"Adnan":"Edgardo":19.010:85:"Adnan":"Edgardo":19.010|213:"Adnan":"Edgardo":19.010:213:"Adnan":"Edgardo":19.010|341:"Adnan":"Edgardo":19.010:341:"Adnan":"Edgardo":19.010|469:"Adnan":"Edgardo":19.010:469:"Adnan":"Edgardo":19.010|597:"Adnan":"Edgardo":19.010:597:"Adnan":"Edgardo":19.010|725:"Adnan":"Edgardo":19.010:725:"Adnan":"Edgardo":19.010|853:"Adnan":"Edgardo":19.010:853:"Adnan":"Edgardo":19.010|981:"Adnan":"Edgardo":19.010:981:"Adnan":"Edgardo":19.010|86:"Adnan":"Bob":19.010:86:"Adnan":"Bob":19.010|214:"Adnan":"Bob":19.010:214:"Adnan":"Bob":19.010|342:"Adnan":"Bob":19.010:342:"Adnan":"Bob":19.010|470:"Adnan":"Bob":19.010:470:"Adnan":"Bob":19.010|598:"Adnan":"Bob":19.010:598:"Adnan":"Bob":19.010|726:"Adnan":"Bob":19.010:726:"Adnan":"Bob":19.010|854:"Adnan":"Bob":19.010:854:"Adnan":"Bob":19.010|982:"Adnan":"Bob":19.010:982:"Adnan":"Bob":19.010|87:"Adnan":"Edgardo":19.010:87:"Adnan":"Edgardo":19.010|215:"Adnan":"Edgardo":19.010:215:"Adnan":"Edgardo":19.010|343:"Adnan":"Edgardo":19.010:343:"Adnan":"Edgardo":19.010|471:"Adnan":"Edgardo":19.010:471:"Adnan":"Edgardo":19.010|599:"Adnan":"Edgardo":19.010:599:"Adnan":"Edgardo":19.010|727:"Adnan":"Edgardo":19.010:727:"Adnan":"Edgardo":19.010|855:"Adnan":"Edgardo":19.010:855:"Adnan":"Edgardo":19.010|983:"Adnan":"Edgardo":19.010:983:"Adnan":"Edgardo":19.010|88:"Adnan":"Bob":19.010:88:"Adnan":"Bob":19.010|216:"Adnan":"Bob":19.010:216:"Adnan":"Bob":19.010|344:"Adnan":"Bob":19.010:344:"Adnan":"Bob":19.010|472:"Adnan":"Bob":19.010:472:"Adnan":"Bob":19.010|600:"Adnan":"Bob":19.010:600:"Adnan":"Bob":19.010|728:"Adnan":"Bob":19.010:728:"Adnan":"Bob":19.010|856:"Adnan":"Bob":19.010:856:"Adnan":"Bob":19.010|984:"Adnan":"Bob":19.010:984:"Adnan":"Bob":19.010|89:"Adnan":"Edgardo":19.010:89:"Adnan":"Edgardo":19.010|217:"Adnan":"Edgardo":19.010:217:"Adnan":"Edgardo":19.010|345:"Adnan":"Edgardo":19.010:345:"Adnan":"Edgardo":19.010|473:"Adnan":"Edgardo":19.010:473:"Adnan":"Edgardo":19.010|601:"Adnan":"Edgardo":19.010:601:"Adnan":"Edgardo":19.010|729:"Adnan":"Edgardo":19.010:729:"Adnan":"Edgardo":19.010|857:"Adnan":"Edgardo":19.010:857:"Adnan":"Edgardo":19.010|985:"Adnan":"Edgardo":19.010:985:"Adnan":"Edgardo":19.010|90:"Adnan":"Bob":19.010:90:"Adnan":"Bob":19.010|218:"Adnan":"Bob":19.010:218:"Adnan":"Bob":19.010|346:"Adnan":"Bob":19.010:346:"Adnan":"Bob":19.010|474:"Adnan":"Bob":19.010:474:"Adnan":"Bob":19.010|602:"Adnan":"Bob":19.010:602:"Adnan":"Bob":19.010|730:"Adnan":"Bob":19.010:730:"Adnan":"Bob":19.010|858:"Adnan":"Bob":19.010:858:"Adnan":"Bob":19.010|986:"Adnan":"Bob":19.010:986:"Adnan":"Bob":19.010|91:"Adnan":"Edgardo":19.010:91:"Adnan":"Edgardo":19.010|219:"Adnan":"Edgardo":19.010:219:"Adnan":"Edgardo":19.010|347:"Adnan":"Edgardo":19.010:347:"Adnan":"Edgardo":19.010|475:"Adnan":"Edgardo":19.010:475:"Adnan":"Edgardo":19.010|603:"Adnan":"Edgardo":19.010:603:"Adnan":"Edgardo":19.010|731:"Adnan":"Edgardo":19.010:731:"Adnan":"Edgardo":19.010|859:"Adnan":"Edgardo":19.010:859:"Adnan":"Edgardo":19.010|987:"Adnan":"Edgardo":19.010:987:"Adnan":"Edgardo":19.010|92:"Adnan":"Bob":19.010:92:"Adnan":"Bob":19.010|220:"Adnan":"Bob":19.010:220:"Adnan":"Bob":19.010|348:"Adnan":"Bob":19.010:348:"Adnan":"Bob":19.010|476:"Adnan":"Bob":19.010:476:"Adnan":"Bob":19.010|604:"Adnan":"Bob":19.010:604:"Adnan":"Bob":19.010|732:"Adnan":"Bob":19.010:732:"Adnan":"Bob":19.010|860:"Adnan":"Bob":19.010:860:"Adnan":"Bob":19.010|988:"Adnan":"Bob":19.010:988:"Adnan":"Bob":19.010|93:"Adnan":"Edgardo":19.010:93:"Adnan":"Edgardo":19.010|221:"Adnan":"Edgardo":19.010:221:"Adnan":"Edgardo":19.010|349:"Adnan":"Edgardo":19.010:349:"Adnan":"Edgardo":19.010|477:"Adnan":"Edgardo":19.010:477:"Adnan":"Edgardo":19.010|605:"Adnan":"Edgardo":19.010:605:"Adnan":"Edgardo":19.010|733:"Adnan":"Edgardo":19.010:733:"Adnan":"Edgardo":19.010|861:"Adnan":"Edgardo":19.010:861:"Adnan":"Edgardo":19.010|989:"Adnan":"Edgardo":19.010:989:"Adnan":"Edgardo":19.010|94:"Adnan":"Bob":19.010:94:"Adnan":"Bob":19.010|222:"Adnan":"Bob":19.010:222:"Adnan":"Bob":19.010|350:"Adnan":"Bob":19.010:350:"Adnan":"Bob":19.010|478:"Adnan":"Bob":19.010:478:"Adnan":"Bob":19.010|606:"Adnan":"Bob":19.010:606:"Adnan":"Bob":19.010|734:"Adnan":"Bob":19.010:734:"Adnan":"Bob":19.010|862:"Adnan":"Bob":19.010:862:"Adnan":"Bob":19.010|990:"Adnan":"Bob":19.010:990:"Adnan":"Bob":19.010|95:"Adnan":"Edgardo":19.010:95:"Adnan":"Edgardo":19.010|223:"Adnan":"Edgardo":19.010:223:"Adnan":"Edgardo":19.010|351:"Adnan":"Edgardo":19.010:351:"Adnan":"Edgardo":19.010|479:"Adnan":"Edgardo":19.010:479:"Adnan":"Edgardo":19.010|607:"Adnan":"Edgardo":19.010:607:"Adnan":"Edgardo":19.010|735:"Adnan":"Edgardo":19.010:735:"Adnan":"Edgardo":19.010|863:"Adnan":"Edgardo":19.010:863:"Adnan":"Edgardo":19.010|991:"Adnan":"Edgardo":19.010:991:"Adnan":"Edgardo":19.010|96:"Adnan":"Bob":19.010:96:"Adnan":"Bob":19.010|224:"Adnan":"Bob":19.010:224:"Adnan":"Bob":19.010|352:"Adnan":"Bob":19.010:352:"Adnan":"Bob":19.010|480:"Adnan":"Bob":19.010:480:"Adnan":"Bob":19.010|608:"Adnan":"Bob":19.010:608:"Adnan":"Bob":19.010|736:"Adnan":"Bob":19.010:736:"Adnan":"Bob":19.010|864:"Adnan":"Bob":19.010:864:"Adnan":"Bob":19.010|992:"Adnan":"Bob":19.010:992:"Adnan":"Bob":19.010|97:"Adnan":"Edgardo":19.010:97:"Adnan":"Edgardo":19.010|225:"Adnan":"Edgardo":19.010:225:"Adnan":"Edgardo":19.010|353:"Adnan":"Edgardo":19.010:353:"Adnan":"Edgardo":19.010|481:"Adnan":"Edgardo":19.010:481:"Adnan":"Edgardo":19.010|609:"Adnan":"Edgardo":19.010:609:"Adnan":"Edgardo":19.010|737:"Adnan":"Edgardo":19.010:737:"Adnan":"Edgardo":19.010|865:"Adnan":"Edgardo":19.010:865:"Adnan":"Edgardo":19.010|993:"Adnan":"Edgardo":19.010:993:"Adnan":"Edgardo":19.010|98:"Adnan":"Bob":19.010:98:"Adnan":"Bob":19.010|226:"Adnan":"Bob":19.010:226:"Adnan":"Bob":19.010|354:"Adnan":"Bob":19.010:354:"Adnan":"Bob":19.010|482:"Adnan":"Bob":19.010:482:"Adnan":"Bob":19.010|610:"Adnan":"Bob":19.010:610:"Adnan":"Bob":19.010|738:"Adnan":"Bob":19.010:738:"Adnan":"Bob":19.010|866:"Adnan":"Bob":19.010:866:"Adnan":"Bob":19.010|994:"Adnan":"Bob":19.010:994:"Adnan":"Bob":19.010|99:"Adnan":"Edgardo":19.010:99:"Adnan":"Edgardo":19.010|227:"Adnan":"Edgardo":19.010:227:"Adnan":"Edgardo":19.010|355:"Adnan":"Edgardo":19.010:355:"Adnan":"Edgardo":19.010|483:"Adnan":"Edgardo":19.010:483:"Adnan":"Edgardo":19.010|611:"Adnan":"Edgardo":19.010:611:"Adnan":"Edgardo":19.010|739:"Adnan":"Edgardo":19.010:739:"Adnan":"Edgardo":19.010|867:"Adnan":"Edgardo":19.010:867:"Adnan":"Edgardo":19.010|995:"Adnan":"Edgardo":19.010:995:"Adnan":"Edgardo":19.010|100:"Adnan":"Bob":19.010:100:"Adnan":"Bob":19.010|228:"Adnan":"Bob":19.010:228:"Adnan":"Bob":19.010|356:"Adnan":"Bob":19.010:356:"Adnan":"Bob":19.010|484:"Adnan":"Bob":19.010:484:"Adnan":"Bob":19.010|612:"Adnan":"Bob":19.010:612:"Adnan":"Bob":19.010|740:"Adnan":"Bob":19.010:740:"Adnan":"Bob":19.010|868:"Adnan":"Bob":19.010:868:"Adnan":"Bob":19.010|996:"Adnan":"Bob":19.010:996:"Adnan":"Bob":19.010|101:"Adnan":"Edgardo":19.010:101:"Adnan":"Edgardo":19.010|229:"Adnan":"Edgardo":19.010:229:"Adnan":"Edgardo":19.010|357:"Adnan":"Edgardo":19.010:357:"Adnan":"Edgardo":19.010|485:"Adnan":"Edgardo":19.010:485:"Adnan":"Edgardo":19.010|613:"Adnan":"Edgardo":19.010:613:"Adnan":"Edgardo":19.010|741:"Adnan":"Edgardo":19.010:741:"Adnan":"Edgardo":19.010|869:"Adnan":"Edgardo":19.010:869:"Adnan":"Edgardo":19.010|997:"Adnan":"Edgardo":19.010:997:"Adnan":"Edgardo":19.010|102:"Adnan":"Bob":19.010:102:"Adnan":"Bob":19.010|230:"Adnan":"Bob":19.010:230:"Adnan":"Bob":19.010|358:"Adnan":"Bob":19.010:358:"Adnan":"Bob":19.010|486:"Adnan":"Bob":19.010:486:"Adnan":"Bob":19.010|614:"Adnan":"Bob":19.010:614:"Adnan":"Bob":19.010|742:"Adnan":"Bob":19.010:742:"Adnan":"Bob":19.010|870:"Adnan":"Bob":19.010:870:"Adnan":"Bob":19.010|998:"Adnan":"Bob":19.010:998:"Adnan":"Bob":19.010|103:"Adnan":"Edgardo":19.010:103:"Adnan":"Edgardo":19.010|231:"Adnan":"Edgardo":19.010:231:"Adnan":"Edgardo":19.010|359:"Adnan":"Edgardo":19.010:359:"Adnan":"Edgardo":19.010|487:"Adnan":"Edgardo":19.010:487:"Adnan":"Edgardo":19.010|615:"Adnan":"Edgardo":19.010:615:"Adnan":"Edgardo":19.010|743:"Adnan":"Edgardo":19.010:743:"Adnan":"Edgardo":19.010|871:"Adnan":"Edgardo":19.010:871:"Adnan":"Edgardo":19.010|999:"Adnan":"Edgardo":19.010:999:"Adnan":"Edgardo":19.010|104:"Adnan":"Bob":19.010:104:"Adnan":"Bob":19.010|232:"Adnan":"Bob":19.010:232:"Adnan":"Bob":19.010|360:"Adnan":"Bob":19.010:360:"Adnan":"Bob":19.010|488:"Adnan":"Bob":19.010:488:"Adnan":"Bob":19.010|616:"Adnan":"Bob":19.010:616:"Adnan":"Bob":19.010|744:"Adnan":"Bob":19.010:744:"Adnan":"Bob":19.010|872:"Adnan":"Bob":19.010:872:"Adnan":"Bob":19.010|1000:"Adnan":"Bob":19.010:1000:"Adnan":"Bob":19.010|105:"Adnan":"Edgardo":19.010:105:"Adnan":"Edgardo":19.010|233:"Adnan":"Edgardo":19.010:233:"Adnan":"Edgardo":19.010|361:"Adnan":"Edgardo":19.010:361:"Adnan":"Edgardo":19.010|489:"Adnan":"Edgardo":19.010:489:"Adnan":"Edgardo":19.010|617:"Adnan":"Edgardo":19.010:617:"Adnan":"Edgardo":19.010|745:"Adnan":"Edgardo":19.010:745:"Adnan":"Edgardo":19.010|873:"Adnan":"Edgardo":19.010:873:"Adnan":"Edgardo":19.010|1001:"Adnan":"Edgardo":19.010:1001:"Adnan":"Edgardo":19.010|106:"Adnan":"Bob":19.010:106:"Adnan":"Bob":19.010|234:"Adnan":"Bob":19.010:234:"Adnan":"Bob":19.010|362:"Adnan":"Bob":19.010:362:"Adnan":"Bob":19.010|490:"Adnan":"Bob":19.010:490:"Adnan":"Bob":19.010|618:"Adnan":"Bob":19.010:618:"Adnan":"Bob":19.010|746:"Adnan":"Bob":19.010:746:"Adnan":"Bob":19.010|874:"Adnan":"Bob":19.010:874:"Adnan":"Bob":19.010|1002:"Adnan":"Bob":19.010:1002:"Adnan":"Bob":19.010|107:"Adnan":"Edgardo":19.010:107:"Adnan":"Edgardo":19.010|235:"Adnan":"Edgardo":19.010:235:"Adnan":"Edgardo":19.010|363:"Adnan":"Edgardo":19.010:363:"Adnan":"Edgardo":19.010|491:"Adnan":"Edgardo":19.010:491:"Adnan":"Edgardo":19.010|619:"Adnan":"Edgardo":19.010:619:"Adnan":"Edgardo":19.010|747:"Adnan":"Edgardo":19.010:747:"Adnan":"Edgardo":19.010|875:"Adnan":"Edgardo":19.010:875:"Adnan":"Edgardo":19.010|1003:"Adnan":"Edgardo":19.010:1003:"Adnan":"Edgardo":19.010|108:"Adnan":"Bob":19.010:108:"Adnan":"Bob":19.010|236:"Adnan":"Bob":19.010:236:"Adnan":"Bob":19.010|364:"Adnan":"Bob":19.010:364:"Adnan":"Bob":19.010|492:"Adnan":"Bob":19.010:492:"Adnan":"Bob":19.010|620:"Adnan":"Bob":19.010:620:"Adnan":"Bob":19.010|748:"Adnan":"Bob":19.010:748:"Adnan":"Bob":19.010|876:"Adnan":"Bob":19.010:876:"Adnan":"Bob":19.010|1004:"Adnan":"Bob":19.010:1004:"Adnan":"Bob":19.010|109:"Adnan":"Edgardo":19.010:109:"Adnan":"Edgardo":19.010|237:"Adnan":"Edgardo":19.010:237:"Adnan":"Edgardo":19.010|365:"Adnan":"Edgardo":19.010:365:"Adnan":"Edgardo":19.010|493:"Adnan":"Edgardo":19.010:493:"Adnan":"Edgardo":19.010|621:"Adnan":"Edgardo":19.010:621:"Adnan":"Edgardo":19.010|749:"Adnan":"Edgardo":19.010:749:"Adnan":"Edgardo":19.010|877:"Adnan":"Edgardo":19.010:877:"Adnan":"Edgardo":19.010|1005:"Adnan":"Edgardo":19.010:1005:"Adnan":"Edgardo":19.010|110:"Adnan":"Bob":19.010:110:"Adnan":"Bob":19.010|238:"Adnan":"Bob":19.010:238:"Adnan":"Bob":19.010|366:"Adnan":"Bob":19.010:366:"Adnan":"Bob":19.010|494:"Adnan":"Bob":19.010:494:"Adnan":"Bob":19.010|622:"Adnan":"Bob":19.010:622:"Adnan":"Bob":19.010|750:"Adnan":"Bob":19.010:750:"Adnan":"Bob":19.010|878:"Adnan":"Bob":19.010:878:"Adnan":"Bob":19.010|1006:"Adnan":"Bob":19.010:1006:"Adnan":"Bob":19.010|111:"Adnan":"Edgardo":19.010:111:"Adnan":"Edgardo":19.010|239:"Adnan":"Edgardo":19.010:239:"Adnan":"Edgardo":19.010|367:"Adnan":"Edgardo":19.010:367:"Adnan":"Edgardo":19.010|495:"Adnan":"Edgardo":19.010:495:"Adnan":"Edgardo":19.010|623:"Adnan":"Edgardo":19.010:623:"Adnan":"Edgardo":19.010|751:"Adnan":"Edgardo":19.010:751:"Adnan":"Edgardo":19.010|879:"Adnan":"Edgardo":19.010:879:"Adnan":"Edgardo":19.010|1007:"Adnan":"Edgardo":19.010:1007:"Adnan":"Edgardo":19.010|112:"Adnan":"Bob":19.010:112:"Adnan":"Bob":19.010|240:"Adnan":"Bob":19.010:240:"Adnan":"Bob":19.010|368:"Adnan":"Bob":19.010:368:"Adnan":"Bob":19.010|496:"Adnan":"Bob":19.010:496:"Adnan":"Bob":19.010|624:"Adnan":"Bob":19.010:624:"Adnan":"Bob":19.010|752:"Adnan":"Bob":19.010:752:"Adnan":"Bob":19.010|880:"Adnan":"Bob":19.010:880:"Adnan":"Bob":19.010|1008:"Adnan":"Bob":19.010:1008:"Adnan":"Bob":19.010|113:"Adnan":"Edgardo":19.010:113:"Adnan":"Edgardo":19.010|241:"Adnan":"Edgardo":19.010:241:"Adnan":"Edgardo":19.010|369:"Adnan":"Edgardo":19.010:369:"Adnan":"Edgardo":19.010|497:"Adnan":"Edgardo":19.010:497:"Adnan":"Edgardo":19.010|625:"Adnan":"Edgardo":19.010:625:"Adnan":"Edgardo":19.010|753:"Adnan":"Edgardo":19.010:753:"Adnan":"Edgardo":19.010|881:"Adnan":"Edgardo":19.010:881:"Adnan":"Edgardo":19.010|1009:"Adnan":"Edgardo":19.010:1009:"Adnan":"Edgardo":19.010|114:"Adnan":"Bob":19.010:114:"Adnan":"Bob":19.010|242:"Adnan":"Bob":19.010:242:"Adnan":"Bob":19.010|370:"Adnan":"Bob":19.010:370:"Adnan":"Bob":19.010|498:"Adnan":"Bob":19.010:498:"Adnan":"Bob":19.010|626:"Adnan":"Bob":19.010:626:"Adnan":"Bob":19.010|754:"Adnan":"Bob":19.010:754:"Adnan":"Bob":19.010|882:"Adnan":"Bob":19.010:882:"Adnan":"Bob":19.010|1010:"Adnan":"Bob":19.010:1010:"Adnan":"Bob":19.010|115:"Adnan":"Edgardo":19.010:115:"Adnan":"Edgardo":19.010|243:"Adnan":"Edgardo":19.010:243:"Adnan":"Edgardo":19.010|371:"Adnan":"Edgardo":19.010:371:"Adnan":"Edgardo":19.010|499:"Adnan":"Edgardo":19.010:499:"Adnan":"Edgardo":19.010|627:"Adnan":"Edgardo":19.010:627:"Adnan":"Edgardo":19.010|755:"Adnan":"Edgardo":19.010:755:"Adnan":"Edgardo":19.010|883:"Adnan":"Edgardo":19.010:883:"Adnan":"Edgardo":19.010|116:"Adnan":"Bob":19.010:116:"Adnan":"Bob":19.010|244:"Adnan":"Bob":19.010:244:"Adnan":"Bob":19.010|372:"Adnan":"Bob":19.010:372:"Adnan":"Bob":19.010|500:"Adnan":"Bob":19.010:500:"Adnan":"Bob":19.010|628:"Adnan":"Bob":19.010:628:"Adnan":"Bob":19.010|756:"Adnan":"Bob":19.010:756:"Adnan":"Bob":19.010|884:"Adnan":"Bob":19.010:884:"Adnan":"Bob":19.010|117:"Adnan":"Edgardo":19.010:117:"Adnan":"Edgardo":19.010|245:"Adnan":"Edgardo":19.010:245:"Adnan":"Edgardo":19.010|373:"Adnan":"Edgardo":19.010:373:"Adnan":"Edgardo":19.010|501:"Adnan":"Edgardo":19.010:501:"Adnan":"Edgardo":19.010|629:"Adnan":"Edgardo":19.010:629:"Adnan":"Edgardo":19.010|757:"Adnan":"Edgardo":19.010:757:"Adnan":"Edgardo":19.010|885:"Adnan":"Edgardo":19.010:885:"Adnan":"Edgardo":19.010|118:"Adnan":"Bob":19.010:118:"Adnan":"Bob":19.010|246:"Adnan":"Bob":19.010:246:"Adnan":"Bob":19.010|374:"Adnan":"Bob":19.010:374:"Adnan":"Bob":19.010|502:"Adnan":"Bob":19.010:502:"Adnan":"Bob":19.010|630:"Adnan":"Bob":19.010:630:"Adnan":"Bob":19.010|758:"Adnan":"Bob":19.010:758:"Adnan":"Bob":19.010|886:"Adnan":"Bob":19.010:886:"Adnan":"Bob":19.010|119:"Adnan":"Edgardo":19.010:119:"Adnan":"Edgardo":19.010|247:"Adnan":"Edgardo":19.010:247:"Adnan":"Edgardo":19.010|375:"Adnan":"Edgardo":19.010:375:"Adnan":"Edgardo":19.010|503:"Adnan":"Edgardo":19.010:503:"Adnan":"Edgardo":19.010|631:"Adnan":"Edgardo":19.010:631:"Adnan":"Edgardo":19.010|759:"Adnan":"Edgardo":19.010:759:"Adnan":"Edgardo":19.010|887:"Adnan":"Edgardo":19.010:887:"Adnan":"Edgardo":19.010|120:"Adnan":"Bob":19.010:120:"Adnan":"Bob":19.010|248:"Adnan":"Bob":19.010:248:"Adnan":"Bob":19.010|376:"Adnan":"Bob":19.010:376:"Adnan":"Bob":19.010|504:"Adnan":"Bob":19.010:504:"Adnan":"Bob":19.010|632:"Adnan":"Bob":19.010:632:"Adnan":"Bob":19.010|760:"Adnan":"Bob":19.010:760:"Adnan":"Bob":19.010|888:"Adnan":"Bob":19.010:888:"Adnan":"Bob":19.010|121:"Adnan":"Edgardo":19.010:121:"Adnan":"Edgardo":19.010|249:"Adnan":"Edgardo":19.010:249:"Adnan":"Edgardo":19.010|377:"Adnan":"Edgardo":19.010:377:"Adnan":"Edgardo":19.010|505:"Adnan":"Edgardo":19.010:505:"Adnan":"Edgardo":19.010|633:"Adnan":"Edgardo":19.010:633:"Adnan":"Edgardo":19.010|761:"Adnan":"Edgardo":19.010:761:"Adnan":"Edgardo":19.010|889:"Adnan":"Edgardo":19.010:889:"Adnan":"Edgardo":19.010|122:"Adnan":"Bob":19.010:122:"Adnan":"Bob":19.010|250:"Adnan":"Bob":19.010:250:"Adnan":"Bob":19.010|378:"Adnan":"Bob":19.010:378:"Adnan":"Bob":19.010|506:"Adnan":"Bob":19.010:506:"Adnan":"Bob":19.010|634:"Adnan":"Bob":19.010:634:"Adnan":"Bob":19.010|762:"Adnan":"Bob":19.010:762:"Adnan":"Bob":19.010|890:"Adnan":"Bob":19.010:890:"Adnan":"Bob":19.010|123:"Adnan":"Edgardo":19.010:123:"Adnan":"Edgardo":19.010|251:"Adnan":"Edgardo":19.010:251:"Adnan":"Edgardo":19.010|379:"Adnan":"Edgardo":19.010:379:"Adnan":"Edgardo":19.010|507:"Adnan":"Edgardo":19.010:507:"Adnan":"Edgardo":19.010|635:"Adnan":"Edgardo":19.010:635:"Adnan":"Edgardo":19.010|763:"Adnan":"Edgardo":19.010:763:"Adnan":"Edgardo":19.010|891:"Adnan":"Edgardo":19.010:891:"Adnan":"Edgardo":19.010|124:"Adnan":"Bob":19.010:124:"Adnan":"Bob":19.010|252:"Adnan":"Bob":19.010:252:"Adnan":"Bob":19.010|380:"Adnan":"Bob":19.010:380:"Adnan":"Bob":19.010|508:"Adnan":"Bob":19.010:508:"Adnan":"Bob":19.010|636:"Adnan":"Bob":19.010:636:"Adnan":"Bob":19.010|764:"Adnan":"Bob":19.010:764:"Adnan":"Bob":19.010|892:"Adnan":"Bob":19.010:892:"Adnan":"Bob":19.010|125:"Adnan":"Edgardo":19.010:125:"Adnan":"Edgardo":19.010|253:"Adnan":"Edgardo":19.010:253:"Adnan":"Edgardo":19.010|381:"Adnan":"Edgardo":19.010:381:"Adnan":"Edgardo":19.010|509:"Adnan":"Edgardo":19.010:509:"Adnan":"Edgardo":19.010|637:"Adnan":"Edgardo":19.010:637:"Adnan":"Edgardo":19.010|765:"Adnan":"Edgardo":19.010:765:"Adnan":"Edgardo":19.010|893:"Adnan":"Edgardo":19.010:893:"Adnan":"Edgardo":19.010|126:"Adnan":"Bob":19.010:126:"Adnan":"Bob":19.010|254:"Adnan":"Bob":19.010:254:"Adnan":"Bob":19.010|382:"Adnan":"Bob":19.010:382:"Adnan":"Bob":19.010|510:"Adnan":"Bob":19.010:510:"Adnan":"Bob":19.010|638:"Adnan":"Bob":19.010:638:"Adnan":"Bob":19.010|766:"Adnan":"Bob":19.010:766:"Adnan":"Bob":19.010|894:"Adnan":"Bob":19.010:894:"Adnan":"Bob":19.010|127:"Adnan":"Edgardo":19.010:127:"Adnan":"Edgardo":19.010|255:"Adnan":"Edgardo":19.010:255:"Adnan":"Edgardo":19.010|383:"Adnan":"Edgardo":19.010:383:"Adnan":"Edgardo":19.010|511:"Adnan":"Edgardo":19.010:511:"Adnan":"Edgardo":19.010|639:"Adnan":"Edgardo":19.010:639:"Adnan":"Edgardo":19.010|767:"Adnan":"Edgardo":19.010:767:"Adnan":"Edgardo":19.010|895:"Adnan":"Edgardo":19.010:895:"Adnan":"Edgardo":19.010 -hashSame=1:Ahmed:Elmagarmid:25.05:1:Ahmed:Elmagarmid:25.05|2:Walid:Aref:20.013:2:Walid:Aref:20.013|3:Christopher:Clifton:18.04:3:Christopher:Clifton:18.04|4:Sunil:Prabhakar:22.07:4:Sunil:Prabhakar:22.07|5:Elisa:Bertino:26.05:5:Elisa:Bertino:26.05|6:Susanne:Hambrusch:23.03:6:Susanne:Hambrusch:23.03|7:David:Eberts:24.08:7:David:Eberts:24.08|8:Arif:Ghafoor:20.05:8:Arif:Ghafoor:20.05|9:Jeff:Vitter:19.010:9:Jeff:Vitter:19.010 \ No newline at end of file diff --git a/Projects/p3-skeleton/cs448p3/src/main/java/global/AttrOperator.java b/Projects/p3-skeleton/cs448p3/src/main/java/global/AttrOperator.java deleted file mode 100644 index 2b2fc0a..0000000 --- a/Projects/p3-skeleton/cs448p3/src/main/java/global/AttrOperator.java +++ /dev/null @@ -1,79 +0,0 @@ -package global; - -/** - * Enumeration class for predicate operators. - */ -public class AttrOperator { - - public static final int EQ = 11; - public static final int NEQ = 12; - public static final int GT = 13; - public static final int GTE = 14; - public static final int LT = 15; - public static final int LTE = 16; - - // -------------------------------------------------------------------------- - - /** - * Private constructor (static class). - */ - private AttrOperator() {} - - /** - * Returns the constant value for the string representation (i.e. inverse of - * the toString() method). - */ - public static int toValue(String str) { - - // it may have been better to use the parse tree node, but this - // makes it easier to release class projects independently - if (str.equals("=")) { - return EQ; - } else if (str.equals("<>")) { - return NEQ; - } else if (str.equals(">")) { - return GT; - } else if (str.equals(">=")) { - return GTE; - } else if (str.equals("<")) { - return LT; - } else if (str.equals("<=")) { - return LTE; - } else { - throw new IllegalArgumentException("unknown operator"); - } - - } // public static int toValue(String str) - - /** - * Returns a string representation of an AttrOperator. - */ - public static String toString(int value) { - - switch (value) { - - case EQ: - return "="; - - case NEQ: - return "<>"; - - case GT: - return ">"; - - case GTE: - return ">="; - - case LT: - return "<"; - - case LTE: - return "<="; - - } // switch - - return ("Unexpected AttrOperator " + value); - - } // public static String toString(int value) - -} // public class AttrOperator diff --git a/Projects/p3-skeleton/cs448p3/src/main/java/global/AttrType.java b/Projects/p3-skeleton/cs448p3/src/main/java/global/AttrType.java deleted file mode 100644 index 6334db3..0000000 --- a/Projects/p3-skeleton/cs448p3/src/main/java/global/AttrType.java +++ /dev/null @@ -1,98 +0,0 @@ -package global; - -/** - * Enumeration class for attribute data types. - */ -public class AttrType { - - public static final int INTEGER = 11; - public static final int FLOAT = 12; - public static final int STRING = 13; - - public static final int COLNAME = 21; - public static final int FIELDNO = 22; - - // -------------------------------------------------------------------------- - - /** - * Private constructor (static class). - */ - private AttrType() {} - - /** - * Gets the AttrType of the given value; i.e. not applicable for column names - * or field numbers. - * - * @throws IllegalArgumentException if obj is not an AttrType - */ - public static int getType(Object obj) { - - if (obj instanceof Integer) { - return INTEGER; - } - - if (obj instanceof Float) { - return FLOAT; - } - - if (obj instanceof String) { - return STRING; - } - - // otherwise, unknown type - throw new IllegalArgumentException("Unknown AttrType " - + obj.getClass().getName()); - - } // public static int getType(Object obj) - - /** - * Returns a string representation of an AttrType. - */ - public static String toString(int value) { - - switch (value) { - - case INTEGER: - return "INTEGER"; - - case FLOAT: - return "FLOAT"; - - case STRING: - return "STRING"; - - case COLNAME: - return "COLNAME"; - - case FIELDNO: - return "FIELDNO"; - - } // switch - - return ("Unexpected AttrType " + value); - - } // public static String toString(int value) - - - /** - * Returns the AttrType that match the given type (@link String) - * @param type - * @return - */ - public static int fromString(String type) { - - switch (type) { - case "INTEGER": - return INTEGER; - - case "FLOAT": - return FLOAT; - - case "STRING": - default: - return STRING; - } - - } // public static int fromString (String type) - -} // public class AttrType diff --git a/Projects/p3-skeleton/cs448p3/src/main/java/global/Convert.java b/Projects/p3-skeleton/cs448p3/src/main/java/global/Convert.java deleted file mode 100644 index 7661e6c..0000000 --- a/Projects/p3-skeleton/cs448p3/src/main/java/global/Convert.java +++ /dev/null @@ -1,122 +0,0 @@ -package global; - -/** - * Provides conversion routines for getting and setting data in byte arrays. - */ -public class Convert { - - /** - * Reads from the given byte array at the specified position, and converts it - * into a unicode character. - */ - public static char getCharValue(int pos, byte[] data) { - - // ignoring that UTF-8 could be up to six bytes - return (char) data[pos]; - - } // public static char getCharValue(int pos, byte[] data) - - /** - * Writes a unicode character into the given byte array at the specified - * position. - */ - public static void setCharValue(char value, int pos, byte[] data) { - - // ignoring that UTF-8 could be up to six bytes - data[pos] = (byte) value; - - } // public static void setCharValue(char value, int pos, byte[] data) - - /** - * Reads from the given byte array at the specified position, and converts it - * into a short. - */ - public static short getShortValue(int pos, byte[] data) { - - return (short) (((data[pos] & 0xff) << 8) | (data[pos + 1] & 0xff)); - - } // public static short getShortValue(int pos, byte[] data) - - /** - * Writes a short into the given byte array at the specified position. - */ - public static void setShortValue(short value, int pos, byte[] data) { - - data[pos] = (byte) ((value >> 8) & 0xff); - data[pos + 1] = (byte) (value & 0xff); - - } // public static void setShortValue(short value, int pos, byte[] data) - - /** - * Reads from the given byte array at the specified position, and converts it - * into an integer. - */ - public static int getIntValue(int pos, byte[] data) { - - return ((data[pos] & 0xff) << 24) | ((data[pos + 1] & 0xff) << 16) - | ((data[pos + 2] & 0xff) << 8) | (data[pos + 3] & 0xff); - - } // public static int getIntValue(int pos, byte[] data) - - /** - * Writes an integer into the given byte array at the specified position. - */ - public static void setIntValue(int value, int pos, byte[] data) { - - data[pos] = (byte) ((value >> 24) & 0xff); - data[pos + 1] = (byte) ((value >> 16) & 0xff); - data[pos + 2] = (byte) ((value >> 8) & 0xff); - data[pos + 3] = (byte) (value & 0xff); - - } // public static void setIntValue(int value, int pos, byte[] data) - - /** - * Reads from the given byte array at the specified position, and converts it - * to a float. - */ - public static float getFloatValue(int pos, byte[] data) { - - // let java do the IEEE 754 conversion - return Float.intBitsToFloat(getIntValue(pos, data)); - - } // public static float getFloatValue(int pos, byte[] data) - - /** - * Writes a float into the given byte array at the specified position. - */ - public static void setFloatValue(float value, int pos, byte[] data) { - - // let java do the IEEE 754 conversion - setIntValue(Float.floatToIntBits(value), pos, data); - - } // public static void setFloatValue(float value, int pos, byte[] data) - - /** - * Reads from the given byte array at the specified position, and converts it - * to a string of given length. - */ - public static String getStringValue(int pos, byte[] data, int length) { - - // validate the maximum length - int buflen = data.length - pos; - if (buflen < length) { - length = buflen; - } - - // is there any way in Java to avoid these mem copies? - return new String(data, pos, length).trim(); - - } // public static String getStringValue(int pos, byte[] data, int length) - - /** - * Writes a string into the given byte array at the specified position. - */ - public static void setStringValue(String value, int pos, byte[] data) { - - // is there any way in Java to avoid these mem copies? - byte[] ba = value.getBytes(); - System.arraycopy(ba, 0, data, pos, ba.length); - - } // public static void setStringValue(String value, int pos, byte[] data) - -} // public class Convert diff --git a/Projects/p3-skeleton/cs448p3/src/main/java/global/GlobalConst.java b/Projects/p3-skeleton/cs448p3/src/main/java/global/GlobalConst.java deleted file mode 100644 index 0b2a48d..0000000 --- a/Projects/p3-skeleton/cs448p3/src/main/java/global/GlobalConst.java +++ /dev/null @@ -1,57 +0,0 @@ -package global; - -/** - * Global constants; implement this interface to access them conveniently. - */ -public interface GlobalConst { - - // - // Disk Manager Constants - // - - /** Size of a page, in bytes. */ - public static final int PAGE_SIZE = 1024; - - /** Page number of an invalid page (i.e. null pointer). */ - public static final int INVALID_PAGEID = -1; - - /** Page number of the first page in a database file. */ - public static final int FIRST_PAGEID = 0; - - /** Maximum size of a name (i.e. of files or attributes). */ - public static final int NAME_MAXLEN = 50; - - // - // Buffer Manager Constants - // - - /** Replace the buffer frame with an existing memory page. */ - public static final boolean PIN_MEMCPY = true; - - /** Replace an existing memory page with the current disk page. */ - public static final boolean PIN_DISKIO = false; - - /** Forces the page to be written to disk when unpinned. */ - public static final boolean UNPIN_DIRTY = true; - - /** Optimization to avoid writing to disk when unpinned. */ - public static final boolean UNPIN_CLEAN = false; - - // - // Heap File Constants - // - - /** Length of an "empty" slot in a heap file page. */ - public static final int EMPTY_SLOT = -1; - - // - // System Catalog Constants - // - - /** Maximum length of a column (in bytes). */ - public static final int MAX_COLSIZE = 1001; - - /** Maximum length of a tuple (in bytes). */ - public static final int MAX_TUPSIZE = 1004; - -} // public interface GlobalConst diff --git a/Projects/p3-skeleton/cs448p3/src/main/java/global/Minibase.java b/Projects/p3-skeleton/cs448p3/src/main/java/global/Minibase.java deleted file mode 100644 index 92111a1..0000000 --- a/Projects/p3-skeleton/cs448p3/src/main/java/global/Minibase.java +++ /dev/null @@ -1,89 +0,0 @@ -package global; - -import bufmgr.BufMgr; -import diskmgr.DiskMgr; - -/** - * Definitions for the running Minibase system, including references to static - * layers and database-level attributes. - */ -public class Minibase { - - /** Name of the data file. */ - public static String DatabaseName; - - /** The Minibase Disk Space Manager. */ - public static DiskMgr DiskManager; - - /** The Minibase Buffer Manager. */ - public static BufMgr BufferManager; - - - // -------------------------------------------------------------------------- - - /** - * Constructs and starts an instance of Minibase, given the configuration. - * - * @param dbname Name of the data file - * @param num_pgs Number of pages to allocate - * @param bufpoolsize Buffer pool size (in pages) - * @param replacement_policy Buffer pool replacement policy - * @param exists If the database already exists on disk - */ - public Minibase(String dbname, int num_pgs, int bufpoolsize, - String replacement_policy, boolean exists) { - - // simply initialize the database - init(dbname, num_pgs, bufpoolsize, replacement_policy, exists); - - } // constructor - - /** - * Initializes the current instance of Minibase with the given configuration. - * - * @param dbname Name of the data file - * @param num_pgs Number of pages to allocate - * @param bufpoolsize Buffer pool size (in pages) - * @param replacement_policy Buffer pool replacement policy - * @param exists If the database already exists on disk - */ - public void init(String dbname, int num_pgs, int bufpoolsize, - String replacement_policy, boolean exists) { - - // save the file name - DatabaseName = dbname; - - // load the static layers - try { - DiskManager = new DiskMgr(); - BufferManager = new BufMgr(bufpoolsize); - } catch (Exception exc) { - haltSystem(exc); - } - - // create or open the database - try { - if (exists) { - DiskManager.openDB(dbname); - - } else { - DiskManager.createDB(dbname, num_pgs); - - BufferManager.flushAllPages(); - } - } catch (Exception exc) { - haltSystem(exc); - } - - } // init - - /** - * Displays an unrecoverable error and halts the system. - */ - public static void haltSystem(Exception exc) { - System.err.println("\n*** Unrecoverable system error ***"); - exc.printStackTrace(); - Runtime.getRuntime().exit(1); - } - -} // public class Minibase diff --git a/Projects/p3-skeleton/cs448p3/src/main/java/global/Page.java b/Projects/p3-skeleton/cs448p3/src/main/java/global/Page.java deleted file mode 100644 index 3c8b365..0000000 --- a/Projects/p3-skeleton/cs448p3/src/main/java/global/Page.java +++ /dev/null @@ -1,133 +0,0 @@ -package global; - -/** - * Lowest-level view of a disk page. - */ -public class Page implements GlobalConst { - - /** The actual byte array for the page. */ - protected byte[] data; - - // -------------------------------------------------------------------------- - - /** - * Default constructor; creates a blank page. - */ - public Page() { - data = new byte[PAGE_SIZE]; - } - - /** - * Constructor that wraps the given byte array. - */ - public Page(byte[] data) { - setData(data); - } - - /** - * Get accessor for the data byte array. - */ - public byte[] getData() { - return data; - } - - /** - * Set accessor for the data byte array. - * - * @throws IllegalArgumentException if the data array size is invalid - */ - public void setData(byte[] data) { - if (data.length != PAGE_SIZE) { - Minibase.haltSystem(new IllegalArgumentException( - "Invalid page buffer size")); - } - this.data = data; - } - - /** - * Sets this page's data array to share the given page's data array. - */ - public void setPage(Page page) { - this.data = page.data; - } - - /** - * Copies the contents of the given page's buffer into this page's buffer. - */ - public void copyPage(Page page) { - System.arraycopy(page.data, 0, this.data, 0, PAGE_SIZE); - } - - // -------------------------------------------------------------------------- - - /** - * Gets a char at the given page offset. - */ - public char getCharValue(int offset) { - return Convert.getCharValue(offset, data); - } - - /** - * Sets a char at the given page offset. - */ - public void setCharValue(char value, int offset) { - Convert.setCharValue(value, offset, data); - } - - /** - * Gets a short at the given page offset. - */ - public short getShortValue(int offset) { - return Convert.getShortValue(offset, data); - } - - /** - * Sets a short at the given page offset. - */ - public void setShortValue(short value, int offset) { - Convert.setShortValue(value, offset, data); - } - - /** - * Gets an int at the given page offset. - */ - public int getIntValue(int offset) { - return Convert.getIntValue(offset, data); - } - - /** - * Sets an int at the given page offset. - */ - public void setIntValue(int value, int offset) { - Convert.setIntValue(value, offset, data); - } - - /** - * Gets a float at the given page offset. - */ - public float getFloatValue(int offset) { - return Convert.getFloatValue(offset, data); - } - - /** - * Sets a float at the given page offset. - */ - public void setFloatValue(float value, int offset) { - Convert.setFloatValue(value, offset, data); - } - - /** - * Gets a string at the given page offset, given the maximum length. - */ - public String getStringValue(int offset, int length) { - return Convert.getStringValue(offset, data, length); - } - - /** - * Sets a string at the given page offset. - */ - public void setStringValue(String value, int offset) { - Convert.setStringValue(value, offset, data); - } - -} // public class Page implements GlobalConst diff --git a/Projects/p3-skeleton/cs448p3/src/main/java/global/PageId.java b/Projects/p3-skeleton/cs448p3/src/main/java/global/PageId.java deleted file mode 100644 index d653551..0000000 --- a/Projects/p3-skeleton/cs448p3/src/main/java/global/PageId.java +++ /dev/null @@ -1,60 +0,0 @@ -package global; - -/** - * Although a PageId is simply an integer, wrapping it provides convenient - * methods and allows returning it via method parameters. - */ -public class PageId implements GlobalConst { - - /** The actual page id value. */ - public int pid; - - // -------------------------------------------------------------------------- - - /** - * Default constructor. - */ - public PageId() { - pid = INVALID_PAGEID; - } - - /** - * Constructs a PageId from the given value. - */ - public PageId(int pid) { - this.pid = pid; - } - - /** - * Makes a copy of the given PageId. - */ - public void copyPageId(PageId pageNo) { - this.pid = pageNo.pid; - } - - /** - * Returns a hash code value for the PageId. - */ - public int hashCode() { - return pid; - } - - /** - * True if obj is a PageId with the same pid; false otherwise. - */ - public boolean equals(Object obj) { - if (obj instanceof PageId) { - PageId pageno = (PageId) obj; - return (this.pid == pageno.pid); - } - return false; - } - - /** - * Returns a string representation of the PageId. - */ - public String toString() { - return Integer.toString(pid); - } - -} // public class PageId implements GlobalConst diff --git a/Projects/p3-skeleton/cs448p3/src/main/java/global/RID.java b/Projects/p3-skeleton/cs448p3/src/main/java/global/RID.java deleted file mode 100644 index 4dc96fa..0000000 --- a/Projects/p3-skeleton/cs448p3/src/main/java/global/RID.java +++ /dev/null @@ -1,98 +0,0 @@ -package global; - -/** - * A record is uniquely identified by its page number and slot number. - */ -public class RID { - - /** The record's page number. */ - public PageId pageno; - - /** The record's slot number. */ - public int slotno; - - // -------------------------------------------------------------------------- - - /** - * Default constructor. - */ - public RID() { - pageno = new PageId(); - slotno = 0; - } - - /** - * Copy constructor. - */ - public RID(RID rid) { - copyRID(rid); - } - - /** - * Constructs an RID from the given values. - */ - public RID(PageId pageno, int slotno) { - this.pageno = new PageId(); - this.pageno.pid = pageno.pid; - this.slotno = slotno; - } - - /** - * Constructs an RID stored in the given data buffer. - */ - public RID(byte[] data, short offset) { - pageno = new PageId(Convert.getIntValue(offset, data)); - slotno = Convert.getIntValue(offset + 4, data); - } - - /** - * Writes the RID into the given data buffer. - */ - public void writeData(byte[] data, short offset) { - Convert.setIntValue(pageno.pid, offset, data); - Convert.setIntValue(slotno, offset + 4, data); - } - - /** - * Gets the total length of the RID (in bytes). - */ - public short getLength() { - return 8; - } - - /** - * Makes a copy of the given RID. - */ - public void copyRID(RID rid) { - this.pageno = new PageId(); - this.pageno.pid = rid.pageno.pid; - slotno = rid.slotno; - } - - /** - * Returns a hash code value for the RID. - */ - public int hashCode() { - // won't work if DB supports more than 65535 pages - return ((pageno.pid & 0xFFFF) << 16) | (slotno & 0xFFFF); - } - - /** - * True if obj is an RID with the same values; false otherwise. - */ - public boolean equals(Object obj) { - if (obj instanceof RID) { - RID rid = (RID) obj; - return ((pageno.pid == rid.pageno.pid) && (slotno == rid.slotno)); - } - return false; - } - - /** - * Returns a string representation of the PageId. - */ - public String toString() { - return pageno.toString() + ":" + Integer.toString(slotno); - } - -} // public class RID diff --git a/Projects/p3-skeleton/cs448p3/src/main/java/global/SearchKey.java b/Projects/p3-skeleton/cs448p3/src/main/java/global/SearchKey.java deleted file mode 100644 index c81f0df..0000000 --- a/Projects/p3-skeleton/cs448p3/src/main/java/global/SearchKey.java +++ /dev/null @@ -1,291 +0,0 @@ -package global; - -/** - * Provides a general and type-safe way to store and compare index search keys. - */ -public class SearchKey implements Comparable { - - /** Internal type number for Integer keys. */ - protected static final byte INTEGER_KEY = 1; - - /** Internal type number for Float keys. */ - protected static final byte FLOAT_KEY = 2; - - /** Internal type number for String keys. */ - protected static final byte STRING_KEY = 3; - - // -------------------------------------------------------------------------- - - /** The type of the key value. */ - protected byte type; - - /** The size of the key value (in bytes). */ - protected short size; - - /** The actual key value. */ - protected Object value; - - // -------------------------------------------------------------------------- - - /** - * Constructs a new integer search key. - */ - public SearchKey(Integer value) { - this.type = INTEGER_KEY; - this.size = Integer.SIZE / Byte.SIZE; - this.value = value; - } - - /** - * Constructs a new float search key. - */ - public SearchKey(Float value) { - this.type = FLOAT_KEY; - this.size = Float.SIZE / Byte.SIZE; - this.value = value; - } - - /** - * Constructs a new string search key. - */ - public SearchKey(String value) { - this.type = STRING_KEY; - this.size = (short) value.length(); - this.value = value; - } - - /** - * Constructs a search key from a generic value. - * - * @throws IllegalArgumentException if value's type is invalid - */ - public SearchKey(Object value) { - - // Integer key? - if (value instanceof Integer) { - this.type = INTEGER_KEY; - this.size = Integer.SIZE / Byte.SIZE; - this.value = value; - } - - // Float key? - else if (value instanceof Float) { - this.type = FLOAT_KEY; - this.size = Float.SIZE / Byte.SIZE; - this.value = value; - } - - // String key? - else if (value instanceof String) { - this.type = STRING_KEY; - this.size = (short) ((String) value).length(); - this.value = value; - } - - // otherwise, none of the above - else { - throw new IllegalArgumentException("invalid key value type"); - } - - } // public SearchKey(Object value) - - /** - * Copy constructor for a search key. - */ - public SearchKey(SearchKey key) { - - // copy the type and size - this.type = key.type; - this.size = key.size; - - // copy the value - switch (key.type) { - case INTEGER_KEY: - this.value = new Integer((Integer) key.value); - break; - case FLOAT_KEY: - this.value = new Float((Float) key.value); - break; - case STRING_KEY: - this.value = new String((String) key.value); - break; - } - - } // public SearchKey(SearchKey key) - - // -------------------------------------------------------------------------- - - /** - * Constructs a SearchKey stored in the given data buffer. - */ - public SearchKey(byte[] data, short offset) { - - // extract the type and size - type = data[offset]; - size = Convert.getShortValue(offset + 1, data); - - // extract the key value - switch (type) { - case INTEGER_KEY: - value = new Integer(Convert.getIntValue(offset + 3, data)); - break; - case FLOAT_KEY: - value = new Float(Convert.getFloatValue(offset + 3, data)); - break; - case STRING_KEY: - value = Convert.getStringValue(offset + 3, data, size); - break; - } - - } // public SearchKey(byte[] data, short offset) - - /** - * Writes the SearchKey into the given data buffer. - */ - public void writeData(byte[] data, short offset) { - - // write the type and size - data[offset] = type; - Convert.setShortValue(size, offset + 1, data); - - // write the key value - switch (type) { - case INTEGER_KEY: - Convert.setIntValue((Integer) value, offset + 3, data); - break; - case FLOAT_KEY: - Convert.setFloatValue((Float) value, offset + 3, data); - break; - case STRING_KEY: - Convert.setStringValue((String) value, offset + 3, data); - break; - } - - } // public void writeData(byte[] data, short offset) - - /** - * Gets the total length of the search key (in bytes). - */ - public short getLength() { - return (short) (3 + size); - } - - // -------------------------------------------------------------------------- - - /** - * Gets the hash value for the search key, given the depth (i.e. number of - * bits to consider). - */ - public int getHash(int depth) { - - // apply the appropriate calculation - int mask = (1 << depth) - 1; - switch (type) { - - default: - case INTEGER_KEY: - int ikey = ((Integer) value).intValue(); - return ikey & mask; - - case FLOAT_KEY: - int fkey = Float.floatToIntBits((Float) value); - return fkey & mask; - - case STRING_KEY: - - // reverse the first four bytes of the string - byte[] s = ((String) value).getBytes(); - int skey = 0; - int len = s.length > 4 ? 4 : s.length; - for (int i = 0; i < len; i++) { - skey |= (s[i] << (i * Byte.SIZE)); - } - return skey & mask; - - } // switch - - } // public int getHash(int depth) - - /** - * Returns true if the search key matches the given hash value, false - * otherwise. - */ - public boolean isHash(int hash) { - - // calculate the bit depth (i.e. the left-most '1' bit) - int depth = (int) (Math.log(hash) / Math.log(2) + 1); - - // compare the hash codes - return (getHash(depth) == hash); - - } // public boolean isHash(int hash) - - // -------------------------------------------------------------------------- - - /** - * Returns a generic hash code for the key value. - */ - public int hashCode() { - return value.hashCode(); - } - - /** - * True if obj is a SearchKey with the same values; false otherwise. - */ - public boolean equals(Object obj) { - if (obj instanceof SearchKey) { - SearchKey key = (SearchKey) obj; - return (value.equals(key.value)); - } - return false; - } - - /** - * Generically compares two search keys. - * - * @return a negative integer, zero, or a positive integer as this object is - * less than, equal to, or greater than the specified object - * @throws IllegalArgumentException if the search keys are not comparable - */ - public int compareTo(SearchKey key) { - - // Integer comparison - if (value instanceof Integer) { - if (key.value instanceof Integer) { - - Integer ikey1 = (Integer) this.value; - Integer ikey2 = (Integer) key.value; - return ikey1.compareTo(ikey2); - - } else { - throw new IllegalArgumentException("search keys are not comparable"); - } - } - - // Float comparison - if (value instanceof Float) { - if (key.value instanceof Float) { - - Float fkey1 = (Float) this.value; - Float fkey2 = (Float) key.value; - return fkey1.compareTo(fkey2); - - } else { - throw new IllegalArgumentException("search keys are not comparable"); - } - } - - // default: String comparison - if (key.value instanceof String) { - - String skey1 = (String) this.value; - String skey2 = (String) key.value; - return skey1.compareTo(skey2); - - } else { - throw new IllegalArgumentException("search keys are not comparable"); - } - - } // public int compareTo(SearchKey key) - -} // public class SearchKey implements Comparable diff --git a/Projects/p3-skeleton/cs448p3/src/main/java/global/SortKey.java b/Projects/p3-skeleton/cs448p3/src/main/java/global/SortKey.java deleted file mode 100644 index 192f869..0000000 --- a/Projects/p3-skeleton/cs448p3/src/main/java/global/SortKey.java +++ /dev/null @@ -1,23 +0,0 @@ -package global; - -/** - * One term in an ORDER BY clause; i.e. relations can be sorted on multiple - * (distinct) attributes, as well as in ascending or descending order. - */ -public class SortKey { - - /** Column name or field number. */ - public Object field; - - /** True if descending order, false if ascending order. */ - public boolean isDesc; - - /** - * Constructs a SortKey from the given values. - */ - public SortKey(Object field, boolean isDesc) { - this.field = field; - this.isDesc = isDesc; - } - -} // public class SortKey diff --git a/Projects/p3-skeleton/cs448p3/src/main/java/relop/FileScan.java b/Projects/p3-skeleton/cs448p3/src/main/java/relop/FileScan.java deleted file mode 100644 index 73ddbcb..0000000 --- a/Projects/p3-skeleton/cs448p3/src/main/java/relop/FileScan.java +++ /dev/null @@ -1,92 +0,0 @@ -package relop; - -import global.RID; -import heap.HeapFile; -import heap.HeapScan; - -/** - * Wrapper for heap file scan, the most basic access method. This "iterator" - * version takes schema into consideration and generates real tuples. - */ -public class FileScan extends Iterator { - - private HeapFile file = null; // needed for restart(), getFile(); - private HeapScan scan = null; - private RID rid = null; - private boolean isOpen; - - /** - * Constructs a file scan, given the schema and heap file. - */ - public FileScan(Schema aSchema, HeapFile aFile) { - this.schema = aSchema; - this.file = aFile; - this.scan = file.openScan(); - this.rid = new RID(); - isOpen = true; - } - - /** - * Gives a one-line explanation of the iterator, repeats the call on any - * child iterators, and increases the indent depth along the way. - */ - public void explain(int depth) { - for(int i = 0; i < depth; i++){ - System.out.printf(" "); - } - System.out.printf("FileScan\n"); - } - - /** - * Restarts the iterator, i.e. as if it were just constructed. - */ - public void restart() { - scan.close(); - scan = file.openScan(); - //rid = new RID(); - } - - /** - * Returns true if the iterator is open; false otherwise. - */ - public boolean isOpen() { - return isOpen; - } - - /** - * Closes the iterator, releasing any resources (i.e. pinned pages). - */ - public void close() { - scan.close(); - isOpen = false; - } - - /** - * Returns true if there are more tuples, false otherwise. - */ - public boolean hasNext() { - return scan.hasNext(); - } - - /** - * Gets the next tuple in the iteration. - * - * @throws IllegalStateException if no more tuples - */ - public Tuple getNext() { - return new Tuple(schema, scan.getNext(rid)); - } - - /** - * Gets the RID of the last tuple returned. - */ - public RID getLastRID() { - return rid; - } - - // getter; added so HashJoin doesn't have to copy the file; - public HeapFile getFile(){ - return file; - } - -} // public class FileScan extends Iterator diff --git a/Projects/p3-skeleton/cs448p3/src/main/java/relop/HashJoin.java b/Projects/p3-skeleton/cs448p3/src/main/java/relop/HashJoin.java deleted file mode 100644 index 682516f..0000000 --- a/Projects/p3-skeleton/cs448p3/src/main/java/relop/HashJoin.java +++ /dev/null @@ -1,52 +0,0 @@ -package relop; - -import heap.HeapFile; -import index.HashIndex; -import global.SearchKey; -import global.RID; -import global.AttrOperator; -import global.AttrType; - -public class HashJoin extends Iterator { - - public HashJoin(Iterator aIter1, Iterator aIter2, int aJoinCol1, int aJoinCol2){ - throw new UnsupportedOperationException("Not implemented"); - //Your code here - } - - @Override - public void explain(int depth) { - throw new UnsupportedOperationException("Not implemented"); - //Your code here - } - - @Override - public void restart() { - throw new UnsupportedOperationException("Not implemented"); - //Your code here - } - - @Override - public boolean isOpen() { - throw new UnsupportedOperationException("Not implemented"); - //Your code here - } - - @Override - public void close() { - throw new UnsupportedOperationException("Not implemented"); - //Your code here - } - - @Override - public boolean hasNext() { - throw new UnsupportedOperationException("Not implemented"); - //Your code here - } - - @Override - public Tuple getNext() { - throw new UnsupportedOperationException("Not implemented"); - //Your code here - } -} // end class HashJoin; diff --git a/Projects/p3-skeleton/cs448p3/src/main/java/relop/HashTableDup.java b/Projects/p3-skeleton/cs448p3/src/main/java/relop/HashTableDup.java deleted file mode 100644 index 87cd765..0000000 --- a/Projects/p3-skeleton/cs448p3/src/main/java/relop/HashTableDup.java +++ /dev/null @@ -1,83 +0,0 @@ -package relop; - -import global.SearchKey; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Hashtable; - -/** - * A extension to Java's hash table that allows duplicate keys. - * http://mindprod.com/jgloss/hashtable.html - */ -@SuppressWarnings("unchecked") -class HashTableDup extends Hashtable { - - /** - * Maps the specified key to the specified value in this hashtable. - */ - public void add(SearchKey key, Tuple value) { - - // to conserve RAM, duplicate values are either stored as single objects, - // pairs in an array, or multiples in an ArrayList - Object existing = get(key); - if (existing == null) { - - // store the single value - put(key, value); - - } else if (existing instanceof Tuple) { - - // was a single object; make into a pair - put(key, new Tuple[] { (Tuple) existing, value }); - - } else if (existing instanceof Tuple[]) { - - // was a pair; make into an ArrayList of 3 - ArrayList a = new ArrayList(); - a.addAll(Arrays.asList((Tuple[]) existing)); - a.add(value); - put(key, a); - - } else { - - // just add to tail end of existing ArrayList - ((ArrayList) existing).add(value); - - } // else - - } // public void add(SearchKey key, Tuple value) - - /** - * Returns the values to which the specified key is mapped in this hashtable. - */ - public Tuple[] getAll(SearchKey key) { - - // look up the key - Object match = get(key); - if (match == null) { - - // not found - return null; - - } else if (match instanceof Tuple) { - - // return the single match - return new Tuple[] { (Tuple) match }; - - } else if (match instanceof Tuple[]) { - - // return the matches - return (Tuple[]) match; - - } else { - - // convert ArrayList to Tuple[] - ArrayList a = (ArrayList) match; - return a.toArray(new Tuple[a.size()]); - - } // elsee - - } // public Tuple[] getAll(SearchKey key) - -} // class HashTableDup extends Hashtable diff --git a/Projects/p3-skeleton/cs448p3/src/main/java/relop/IndexScan.java b/Projects/p3-skeleton/cs448p3/src/main/java/relop/IndexScan.java deleted file mode 100644 index 9672576..0000000 --- a/Projects/p3-skeleton/cs448p3/src/main/java/relop/IndexScan.java +++ /dev/null @@ -1,89 +0,0 @@ -package relop; - -import global.SearchKey; -import heap.HeapFile; -import index.HashIndex; - -/** - * Wrapper for bucket scan, an index access method. - */ -public class IndexScan extends Iterator { - - - /** - * Constructs an index scan, given the hash index and schema. - */ - public IndexScan(Schema schema, HashIndex index, HeapFile file) { - throw new UnsupportedOperationException("Not implemented"); - //Your code here - } - - /** - * Gives a one-line explaination of the iterator, repeats the call on any - * child iterators, and increases the indent depth along the way. - */ - public void explain(int depth) { - throw new UnsupportedOperationException("Not implemented"); - //Your code here - } - - /** - * Restarts the iterator, i.e. as if it were just constructed. - */ - public void restart() { - throw new UnsupportedOperationException("Not implemented"); - //Your code here - } - - /** - * Returns true if the iterator is open; false otherwise. - */ - public boolean isOpen() { - throw new UnsupportedOperationException("Not implemented"); - //Your code here - } - - /** - * Closes the iterator, releasing any resources (i.e. pinned pages). - */ - public void close() { - throw new UnsupportedOperationException("Not implemented"); - //Your code here - } - - /** - * Returns true if there are more tuples, false otherwise. - */ - public boolean hasNext() { - throw new UnsupportedOperationException("Not implemented"); - //Your code here - } - - /** - * Gets the next tuple in the iteration. - * - * @throws IllegalStateException if no more tuples - */ - public Tuple getNext() { - throw new UnsupportedOperationException("Not implemented"); - //Your code here - } - - /** - * Gets the key of the last tuple returned. - */ - public SearchKey getLastKey() { - throw new UnsupportedOperationException("Not implemented"); - //Your code here - } - - /** - * Returns the hash value for the bucket containing the next tuple, or maximum - * number of buckets if none. - */ - public int getNextHash() { - throw new UnsupportedOperationException("Not implemented"); - //Your code here - } - -} // public class IndexScan extends Iterator diff --git a/Projects/p3-skeleton/cs448p3/src/main/java/relop/Iterator.java b/Projects/p3-skeleton/cs448p3/src/main/java/relop/Iterator.java deleted file mode 100644 index e586fc0..0000000 --- a/Projects/p3-skeleton/cs448p3/src/main/java/relop/Iterator.java +++ /dev/null @@ -1,107 +0,0 @@ -package relop; - -/** - * Minibase Iterators - * Query execution is driven by a tree of relational operators, all of which are - * implemented as iterators. Results are requested by successive "get next - * tuple" calls on the root of the tree, which in turn makes similar calls to - * child iterators throughout the tree. Intermediate nodes (i.e. join iterators) - * drive the leaf-level nodes (i.e. file or index scan iterators). - */ -public abstract class Iterator { - - /** Schema for resulting tuples; must be set in all subclass constructors. */ - protected Schema schema; - - // -------------------------------------------------------------------------- - - /** - * Gives a one-line explanation of the iterator, repeats the call on any - * child iterators, and increases the indent depth along the way. - */ - public abstract void explain(int depth); - - /** - * Outputs the indentation for the given depth. - */ - protected void indent(int depth) { - for (int i = 0; i < depth * 2; i++) { - System.out.print(' '); - } - } - - /** - * Restarts the iterator, i.e. as if it were just constructed. - */ - public abstract void restart(); - - /** - * Returns true if the iterator is open; false otherwise. - */ - public abstract boolean isOpen(); - - /** - * Closes the iterator, releasing any resources (i.e. pinned pages). - */ - public abstract void close(); - - /** - * Returns true if there are more tuples, false otherwise. - */ - public abstract boolean hasNext(); - - /** - * Gets the next tuple in the iteration. - * - * @throws IllegalStateException if no more tuples - */ - public abstract Tuple getNext(); - - /** - * Prints the schema, gets and prints all tuples, and closes the iterator. - * - * @return number of tuples processed - */ - public int execute() { - result = ""; //Modification to store result of queries for test case comparison - int cnt = 0; - getSchema().print(); - Tuple next; - while (hasNext()) { - next = getNext(); - next.print(); - //Modification to store result of queries for test case comparison - result += next.toString() + "|"; - cnt++; - } - if(result.length() > 0) - result = result.substring(0, result.length() - 1); - close(); - return cnt; - } - - /** - * Called by the garbage collector when there are no more references to the - * object; closes the iterator if it's still open. - */ - protected void finalize() throws Throwable { - if (isOpen()) { - close(); - } - } - -public void setSchema(Schema schema) { - this.schema = schema; -} - -public Schema getSchema() { - return schema; -} - -// *** DO NOT CHANGE ANY EXISTING METHODS OR VARIABLES BELOW THIS LINE *** -//Store values for test cases only -//String format: row0|row1|row2|...rowN| -private String result; -public String getResult() { return result; } - -} // public abstract class Iterator diff --git a/Projects/p3-skeleton/cs448p3/src/main/java/relop/KeyScan.java b/Projects/p3-skeleton/cs448p3/src/main/java/relop/KeyScan.java deleted file mode 100644 index 5ae6996..0000000 --- a/Projects/p3-skeleton/cs448p3/src/main/java/relop/KeyScan.java +++ /dev/null @@ -1,72 +0,0 @@ -package relop; - -import global.SearchKey; -import heap.HeapFile; -import index.HashIndex; -import index.HashScan; - -/** - * Wrapper for hash scan, an index access method. - */ -public class KeyScan extends Iterator { - - /** - * Constructs an index scan, given the hash index and schema. - */ - public KeyScan(Schema aSchema, HashIndex aIndex, SearchKey aKey, HeapFile aFile) { - throw new UnsupportedOperationException("Not implemented"); - //Your code here - } - - /** - * Gives a one-line explanation of the iterator, repeats the call on any - * child iterators, and increases the indent depth along the way. - */ - public void explain(int depth) { - throw new UnsupportedOperationException("Not implemented"); - } - - /** - * Restarts the iterator, i.e. as if it were just constructed. - */ - public void restart() { - throw new UnsupportedOperationException("Not implemented"); - - //Your code here - } - - /** - * Returns true if the iterator is open; false otherwise. - */ - public boolean isOpen() { - throw new UnsupportedOperationException("Not implemented"); - //Your code here - } - - /** - * Closes the iterator, releasing any resources (i.e. pinned pages). - */ - public void close() { - throw new UnsupportedOperationException("Not implemented"); - //Your code here - } - - /** - * Returns true if there are more tuples, false otherwise. - */ - public boolean hasNext() { - throw new UnsupportedOperationException("Not implemented"); - //Your code here - } - - /** - * Gets the next tuple in the iteration. - * - * @throws IllegalStateException if no more tuples - */ - public Tuple getNext() { - throw new UnsupportedOperationException("Not implemented"); - //Your code here - } - -} // public class KeyScan extends Iterator diff --git a/Projects/p3-skeleton/cs448p3/src/main/java/relop/Predicate.java b/Projects/p3-skeleton/cs448p3/src/main/java/relop/Predicate.java deleted file mode 100644 index 2f48a52..0000000 --- a/Projects/p3-skeleton/cs448p3/src/main/java/relop/Predicate.java +++ /dev/null @@ -1,188 +0,0 @@ -package relop; - -import global.AttrOperator; -import global.AttrType; - -/** - * Internal representation of simple SQL expressions. Operators are referenced - * by constants in global.AttrOperator, and operands can be constants or field - * numbers (i.e. if referring to an attribute). - */ -public class Predicate { - - /** The operator. */ - protected int oper; - - /** Type of left operand. */ - protected int ltype; - - /** Left operand. */ - protected Object left; - - /** Type of right operand. */ - protected int rtype; - - /** Right operand. */ - protected Object right; - - // -------------------------------------------------------------------------- - - /** - * Constructs a predicate, given the expression. - * - * @param oper AttrOperator constant - * @param ltype AttrType of the field - * @param left operand value, field number, or column name - * @param rtype AttrType of the field - * @param right operand value, field number, or column name - */ - public Predicate(int oper, int ltype, Object left, int rtype, Object right) { - this.oper = oper; - this.ltype = ltype; - this.rtype = rtype; - this.left = left; - this.right = right; - } - - /** - * Validates AttrType.COLNAME operands against the given schema. - * - * @return true if the predicate is valid, false otherwise - */ - public boolean validate(Schema schema) { - - // if column name, make sure it exists - int type1 = ltype; - if (type1 == AttrType.COLNAME) { - int fldno = schema.fieldNumber((String) left); - if (fldno < 0) { - return false; - } - type1 = schema.fieldType(fldno); - } - int type2 = rtype; - if (type2 == AttrType.COLNAME) { - int fldno = schema.fieldNumber((String) right); - if (fldno < 0) { - return false; - } - type2 = schema.fieldType(fldno); - } - - // test left and right type compatibility - return (type1 == type2); - - } // public boolean validate(Schema schema) - - /** - * Evaluates the predicate on the given tuple and returns true if it passes. - * - * @throws IllegalStateException if member data lead to an invalid operation - */ - public boolean evaluate(Tuple tuple) { - - // if necessary, resolve column names to field numbers - if (ltype == AttrType.COLNAME) { - left = tuple.schema.fieldNumber((String) left); - ltype = AttrType.FIELDNO; - } - if (rtype == AttrType.COLNAME) { - right = tuple.schema.fieldNumber((String) right); - rtype = AttrType.FIELDNO; - } - - // get the values to compare - int type = ltype; - Object lval = left; - if (ltype == AttrType.FIELDNO) { - type = tuple.schema.fieldType((Integer) lval); - lval = tuple.getField((Integer) lval); - } - Object rval = right; - if (rtype == AttrType.FIELDNO) { - rval = tuple.getField((Integer) rval); - } - - // compare the values - int comp = 0; - switch (type) { - - case AttrType.INTEGER: - comp = ((Integer) lval).compareTo((Integer) rval); - break; - - case AttrType.FLOAT: - comp = ((Float) lval).compareTo((Float) rval); - break; - - case AttrType.STRING: - comp = ((String) lval).compareTo((String) rval); - break; - - default: - throw new IllegalStateException("unknown types to compare"); - - } // switch (type) - - // evaluate the operator - switch (oper) { - - case AttrOperator.EQ: - return (comp == 0); - - case AttrOperator.NEQ: - return (comp != 0); - - case AttrOperator.GT: - return (comp > 0); - - case AttrOperator.GTE: - return (comp >= 0); - - case AttrOperator.LT: - return (comp < 0); - - case AttrOperator.LTE: - return (comp <= 0); - - default: - throw new IllegalStateException("unknown operator to evaluate"); - - } // switch (oper) - - } // public boolean evaluate(Tuple tuple) - - /** - * Returns a string representation of the Predicate. - */ - public String toString() { - - return opString(ltype, left) + ' ' + AttrOperator.toString(oper) + ' ' - + opString(rtype, right); - - } // public String toString() - - /** - * Returns a string representation of an operand. - */ - protected String opString(int type, Object operand) { - - // get the string version - String str = operand.toString(); - - // wrap strings in single quotes - if (type == AttrType.STRING) { - return "'" + str + "'"; - } - - // wrap column numbers in braces - if (type == AttrType.FIELDNO) { - return "{" + str + "}"; - } - - // otherwise, just return the string - return str; - - } // protected String opString(int type, Object obj) - -} // public class Predicate diff --git a/Projects/p3-skeleton/cs448p3/src/main/java/relop/Projection.java b/Projects/p3-skeleton/cs448p3/src/main/java/relop/Projection.java deleted file mode 100644 index 48c32b7..0000000 --- a/Projects/p3-skeleton/cs448p3/src/main/java/relop/Projection.java +++ /dev/null @@ -1,79 +0,0 @@ -package relop; - - -/** - * The projection operator extracts columns from a relation; unlike in - * relational algebra, this operator does NOT eliminate duplicate tuples. - */ -public class Projection extends Iterator { - - private Iterator iter = null; - private Integer[] fields = null; - private boolean isOpen; - /** - * Constructs a projection, given the underlying iterator and field numbers. - */ - public Projection(Iterator aIter, Integer... aFields) { - this.iter = aIter; - this.fields = aFields; - this.isOpen = true; - - this.schema = new Schema(fields.length); - Schema iterSchema = iter.getSchema(); - for(int i = 0; i < fields.length; i++){ - this.schema.initField(i, iterSchema, fields[i]); - } - } - - /** - * Gives a one-line explanation of the iterator, repeats the call on any - * child iterators, and increases the indent depth along the way. - */ - public void explain(int depth) { - throw new UnsupportedOperationException("Not implemented"); - //Your code here - } - - /** - * Restarts the iterator, i.e. as if it were just constructed. - */ - public void restart() { - throw new UnsupportedOperationException("Not implemented"); - //Your code here - } - - /** - * Returns true if the iterator is open; false otherwise. - */ - public boolean isOpen() { - throw new UnsupportedOperationException("Not implemented"); - //Your code here - } - - /** - * Closes the iterator, releasing any resources (i.e. pinned pages). - */ - public void close() { - throw new UnsupportedOperationException("Not implemented"); - //Your code here - } - - /** - * Returns true if there are more tuples, false otherwise. - */ - public boolean hasNext() { - throw new UnsupportedOperationException("Not implemented"); - //Your code here - } - - /** - * Gets the next tuple in the iteration. - * - * @throws IllegalStateException if no more tuples - */ - public Tuple getNext() { - throw new UnsupportedOperationException("Not implemented"); - //Your code here - } - -} // public class Projection extends Iterator diff --git a/Projects/p3-skeleton/cs448p3/src/main/java/relop/Schema.java b/Projects/p3-skeleton/cs448p3/src/main/java/relop/Schema.java deleted file mode 100644 index dc9240e..0000000 --- a/Projects/p3-skeleton/cs448p3/src/main/java/relop/Schema.java +++ /dev/null @@ -1,195 +0,0 @@ -package relop; - -import global.AttrType; - -/** - * Each tuple has a schema that defines the logical view of the raw bytes; it - * describes the types, lengths, offsets, and names of a tuple's fields. - */ -public class Schema { - - /** Minimum column width for output. */ - public static final int MIN_WIDTH = 10; - - // -------------------------------------------------------------------------- - - /** Attribute types of the fields. */ - protected int[] types; - - /** Variable lengths of the fields. */ - protected int[] lengths; - - /** Relative offsets of the fields. */ - protected int[] offsets; - - /** Column names of the fields. */ - protected String[] names; - - // -------------------------------------------------------------------------- - - /** - * Constructs a schema for the given number of fields. - */ - public Schema(int fldcnt) { - types = new int[fldcnt]; - lengths = new int[fldcnt]; - offsets = new int[fldcnt]; - names = new String[fldcnt]; - } - - /** - * Sets the type, length, and name for the given field; this automatically - * calculates its offset, provided that fields are set in ascending order. - */ - public void initField(int fldno, int type, int length, String name) { - - // save the type, length, and name - types[fldno] = type; - lengths[fldno] = length; - names[fldno] = name; - - // calculate the relative offset - if (fldno > 0) { - offsets[fldno] = offsets[fldno - 1] + lengths[fldno - 1]; - } else { - offsets[fldno] = 0; - } - - } // public void initField(int fldno, int type, int length, String name) - - /** - * Copies a field from another schema. - * - * @param fldno number of this field to set - * @param schema contains the info to copy - * @param srcno number of the field to copy - */ - public void initField(int fldno, Schema schema, int srcno) { - initField(fldno, schema.types[srcno], schema.lengths[srcno], - schema.names[srcno]); - } - - /** - * Builds and returns a new schema resulting from joining two schemas. - * - * @param s1 the left schema - * @param s2 the right schema - */ - public static Schema join(Schema s1, Schema s2) { - - // construct the new schema - int s1cnt = s1.getCount(); - int s2cnt = s2.getCount(); - Schema schema = new Schema(s1cnt + s2cnt); - - // copy all fields from s1 and s2 - int fldno = 0; - for (int i = 0; i < s1cnt; i++) { - schema.initField(fldno++, s1, i); - } - for (int i = 0; i < s2cnt; i++) { - schema.initField(fldno++, s2, i); - } - - // return the resulting schema - return schema; - - } // public static Schema join(Schema s1, Schema s2) - - // -------------------------------------------------------------------------- - - /** - * Gets the number of fields in the schema. - */ - public int getCount() { - // all arrays are same length - return types.length; - } - - /** - * Gets the size of a tuple (in bytes). - */ - public int getLength() { - int len = 0; - for (int i = 0; i < lengths.length; i++) { - len += lengths[i]; - } - return len; - } - - /** - * Gets the type of the given field. - */ - public int fieldType(int fldno) { - return types[fldno]; - } - - /** - * Gets the length of the given field. - */ - public int fieldLength(int fldno) { - return lengths[fldno]; - } - - /** - * Gets the offset of the given field. - */ - public int fieldOffset(int fldno) { - return offsets[fldno]; - } - - /** - * Gets the name of the given field. - */ - public String fieldName(int fldno) { - return names[fldno]; - } - - /** - * Gets the number of the field with the given name, or -1 if not found. - */ - public int fieldNumber(String name) { - for (int i = 0; i < names.length; i++) { - if (names[i].equalsIgnoreCase(name)) { - return i; - } - } - return -1; - } - - /** - * Prints the schema (i.e. the first lines of typical query output). - */ - public void print() { - - // print and space the column names - int len = 0; - for (int i = 0; i < types.length; i++) { - - // print the column name - System.out.print(names[i]); - - // figure out the padding - int collen = Math.max(names[i].length(), MIN_WIDTH); - if (types[i] == AttrType.STRING) { - collen = Math.max(lengths[i], collen); - } - len += collen; - - // pad the output to the field length - for (int j = 0; j < collen - names[i].length(); j++) { - System.out.print(' '); - } - - } // for - - // print the line separator - System.out.println(); - for (int i = 0; i < len; i++) { - System.out.print('-'); - } - System.out.println(); - - } // public void print() - -} // public class Schema diff --git a/Projects/p3-skeleton/cs448p3/src/main/java/relop/Selection.java b/Projects/p3-skeleton/cs448p3/src/main/java/relop/Selection.java deleted file mode 100644 index 900b8a6..0000000 --- a/Projects/p3-skeleton/cs448p3/src/main/java/relop/Selection.java +++ /dev/null @@ -1,78 +0,0 @@ -package relop; - -/** - * The selection operator specifies which tuples to retain under a condition; in - * Minibase, this condition is simply a set of independent predicates logically - * connected by OR operators. - */ -public class Selection extends Iterator { - - private Iterator iter = null; - private Predicate[] preds = null; - //boolean hasNext; - Tuple next = null; - private boolean consumed; - private boolean isOpen; - /** - * Constructs a selection, given the underlying iterator and predicates. - */ - public Selection(Iterator aIter, Predicate... aPreds) { - this.schema = aIter.getSchema(); - this.iter = aIter; - this.preds = aPreds; - this.consumed = true; - this.isOpen = true; - } - - /** - * Gives a one-line explanation of the iterator, repeats the call on any - * child iterators, and increases the indent depth along the way. - */ - public void explain(int depth) { - throw new UnsupportedOperationException("Not implemented"); - //Your code here - } - - /** - * Restarts the iterator, i.e. as if it were just constructed. - */ - public void restart() { - throw new UnsupportedOperationException("Not implemented"); - //Your code here - } - - /** - * Returns true if the iterator is open; false otherwise. - */ - public boolean isOpen() { - throw new UnsupportedOperationException("Not implemented"); - //Your code here - } - - /** - * Closes the iterator, releasing any resources (i.e. pinned pages). - */ - public void close() { - throw new UnsupportedOperationException("Not implemented"); - //Your code here - } - - /** - * Returns true if there are more tuples, false otherwise. - */ - public boolean hasNext() { - throw new UnsupportedOperationException("Not implemented"); - //Your code here - } - - /** - * Gets the next tuple in the iteration. - * - * @throws IllegalStateException if no more tuples - */ - public Tuple getNext() { - throw new UnsupportedOperationException("Not implemented"); - //Your code here - } - -} // public class Selection extends Iterator diff --git a/Projects/p3-skeleton/cs448p3/src/main/java/relop/SimpleJoin.java b/Projects/p3-skeleton/cs448p3/src/main/java/relop/SimpleJoin.java deleted file mode 100644 index 3490176..0000000 --- a/Projects/p3-skeleton/cs448p3/src/main/java/relop/SimpleJoin.java +++ /dev/null @@ -1,126 +0,0 @@ -package relop; - -/** - * The simplest of all join algorithms: nested loops (see textbook, 3rd edition, - * section 14.4.1, page 454). - */ -public class SimpleJoin extends Iterator { - - private Iterator outer; - private Iterator inner; - private Predicate[] preds; - - private boolean startJoin = true; - Tuple leftTuple; - - // boolean variable to indicate whether the pre-fetched tuple is consumed or not - private boolean nextTupleIsConsumed; - - // pre-fetched tuple - private Tuple nextTuple; - - /** - * Constructs a join, given the left and right iterators and join predicates - * (relative to the combined schema). - */ - public SimpleJoin(Iterator left, Iterator right, Predicate... preds) { - - this.outer = left; - this.inner = right; - this.preds = preds; - this.schema = Schema.join(left.schema, right.schema); - - nextTupleIsConsumed = true; - } - - /** - * Gives a one-line explanation of the iterator, repeats the call on any - * child iterators, and increases the indent depth along the way. - */ - public void explain(int depth) { - - throw new UnsupportedOperationException("Not implemented"); - } - - /** - * Restarts the iterator, i.e. as if it were just constructed. - */ - public void restart() { - - outer.restart(); - inner.restart(); - nextTupleIsConsumed = true; - } - - /** - * Returns true if the iterator is open; false otherwise. - */ - public boolean isOpen() { - - return outer.isOpen() && inner.isOpen(); - } - - /** - * Closes the iterator, releasing any resources (i.e. pinned pages). - */ - public void close() { - - outer.close(); - inner.close(); - } - - /** - * Returns true if there are more tuples, false otherwise. - * - */ - public boolean hasNext() { - - if (!nextTupleIsConsumed) - return true; - - if (!outer.hasNext()) - //if(!inner.hasNext() && !outer.hasNext()) // Piazza post 116 - return false; - - Tuple rightTuple; - - if (startJoin) { - leftTuple = outer.getNext(); - startJoin = false; - } - - while (true) { - - while (inner.hasNext()) { - - rightTuple = inner.getNext(); - - // try to match - nextTuple = Tuple.join(leftTuple, rightTuple, this.schema); - for (int i = 0; i < preds.length; i++) - if (preds[i].evaluate(nextTuple)) { - nextTupleIsConsumed = false; - return true; - } - } - - if (outer.hasNext()) { - leftTuple = outer.getNext(); - inner.restart(); - } - else - return false; - } - } - - /** - * Gets the next tuple in the iteration. - * - * @throws IllegalStateException if no more tuples - */ - public Tuple getNext() { - - nextTupleIsConsumed = true; - return nextTuple; - } -} diff --git a/Projects/p3-skeleton/cs448p3/src/main/java/relop/Tuple.java b/Projects/p3-skeleton/cs448p3/src/main/java/relop/Tuple.java deleted file mode 100644 index 73992b4..0000000 --- a/Projects/p3-skeleton/cs448p3/src/main/java/relop/Tuple.java +++ /dev/null @@ -1,315 +0,0 @@ -package relop; - -import global.AttrType; -import global.Convert; -import global.RID; -import heap.HeapFile; - -/** - * Each tuple in a relation is a collection of bytes that must fit within a - * single page. The Tuple class provides a logical view of fields, allowing get - * and set operations while automatically handling offsets and type conversions. - */ -public class Tuple { - - /** Page buffer containing this tuple. */ - protected byte[] data; - - /** Schema information for the fields. */ - protected Schema schema; - - // -------------------------------------------------------------------------- - - /** - * Creates a new empty tuple, given its schema. - * - * @param schema logical information for the fields - */ - public Tuple(Schema schema) { - this.schema = schema; - data = new byte[schema.getLength()]; - } - - /** - * Creates a new tuple, given its schema and values. - * - * @param schema logical information for the fields - * @param values individual data values of the fields - */ - public Tuple(Schema schema, Object... values) { - this.schema = schema; - data = new byte[schema.getLength()]; - setAllFields(values); - } - - /** - * Creates a new tuple, given existing values to wrap. - * - * @param schema logical information for the fields - * @param data record buffer containing the tuple - */ - public Tuple(Schema schema, byte[] data) { - this.schema = schema; - this.data = data; - } - - /** - * Builds and returns a new tuple resulting from joining two tuples. - * - * @param t1 the left tuple - * @param t2 the right tuple - * @param schema of the result - */ - public static Tuple join(Tuple t1, Tuple t2, Schema schema) { - - // construct the new tuple - int t1cnt = t1.schema.getCount(); - int t2cnt = t2.schema.getCount(); - Tuple tuple = new Tuple(schema); - - // copy all fields from t1 and t2 - int fldno = 0; - for (int i = 0; i < t1cnt; i++) { - tuple.setField(fldno++, t1.getField(i)); - } - for (int i = 0; i < t2cnt; i++) { - tuple.setField(fldno++, t2.getField(i)); - } - - // return the resulting tuple - return tuple; - - } // public static Tuple join(Tuple t1, Tuple t2, Schema schema) - - /** - * Gets the underlying data buffer. - */ - public byte[] getData() { - return data; - } - - /** - * Inserts the tuple into the given heap file. - */ - public RID insertIntoFile(HeapFile file) { - return file.insertRecord(data); - } - - /** - * Gets a field's value generically. - */ - public Object getField(int fldno) { - - // refer to the schema for the appropriate conversion - switch (schema.fieldType(fldno)) { - - case AttrType.INTEGER: - return getIntFld(fldno); - - case AttrType.FLOAT: - return getFloatFld(fldno); - - case AttrType.STRING: - return getStringFld(fldno); - - default: - throw new IllegalStateException("invalid attribute type"); - } - - } // public Object getField(int fldno) - - /** - * Gets a field's value generically, by column name. - */ - public Object getField(String fldName) { - return getField(schema.fieldNumber(fldName)); - } - - /** - * Sets a field's value generically. - */ - public void setField(int fldno, Object val) { - - // refer to the schema for the appropriate conversion - switch (schema.fieldType(fldno)) { - - case AttrType.INTEGER: - setIntFld(fldno, (Integer) val); - break; - - case AttrType.FLOAT: - setFloatFld(fldno, (Float) val); - break; - - case AttrType.STRING: - setStringFld(fldno, (String) val); - break; - - default: - throw new IllegalStateException("invalid attribute type"); - } - - } // public void setField(int fldno, Object val) - - /** - * Sets a field's value generically, by column name. - */ - public void setField(String fldName, Object val) { - setField(schema.fieldNumber(fldName), val); - } - - /** - * Returns generic values for all fields. - */ - public Object[] getAllFields() { - - Object[] values = new Object[schema.getCount()]; - for (int i = 0; i < values.length; i++) { - values[i] = getField(i); - } - return values; - - } // public Object[] getAllFields() - - /** - * Sets all fields, given generic values. - */ - public void setAllFields(Object... values) { - - for (int i = 0; i < values.length; i++) { - setField(i, values[i]); - } - - } // public void setAllFields(Object... values) - - /** - * Gets an integer field. - */ - public int getIntFld(int fldno) { - return Convert.getIntValue(schema.fieldOffset(fldno), data); - } - - /** - * Sets an integer field. - */ - public void setIntFld(int fldno, int val) { - Convert.setIntValue(val, schema.fieldOffset(fldno), data); - } - - /** - * Gets a float field. - */ - public float getFloatFld(int fldno) { - return Convert.getFloatValue(schema.fieldOffset(fldno), data); - } - - /** - * Sets a float field. - */ - public void setFloatFld(int fldno, float val) { - Convert.setFloatValue(val, schema.fieldOffset(fldno), data); - } - - /** - * Gets a string field. - */ - public String getStringFld(int fldno) { - return Convert.getStringValue(schema.fieldOffset(fldno), data, schema - .fieldLength(fldno)); - } - - /** - * Sets a string field (automatically truncates, if necessary). - */ - public void setStringFld(int fldno, String val) { - - // truncate the string if too long - int len = schema.fieldLength(fldno); - if (val.length() > len) { - val = val.substring(0, len - 1); - } - - // set the string and zero out the rest - int off = schema.fieldOffset(fldno); - Convert.setStringValue(val, off, data); - for (int i = val.length(); i < len; i++) { - data[off + i] = 0; - } - - } // public void setStringFld(int fldno, String val) - - /** - * Prints the tuple in a human-readable format. - */ - public void print() { - - // print everything as a string, with padding - String str = null; - int cnt = schema.getCount(); - for (int i = 0; i < cnt; i++) { - switch (schema.fieldType(i)) { - - case AttrType.INTEGER: - str = Integer.toString(getIntFld(i)); - System.out.print(str); - padOutput(0, str.length()); - break; - - case AttrType.FLOAT: - str = Float.toString(getFloatFld(i)); - System.out.print(str); - padOutput(0, str.length()); - break; - - case AttrType.STRING: - str = getStringFld(i); - System.out.print(str); - padOutput(schema.fieldLength(i), str.length()); - break; - - } - } - System.out.println(); - - } // public void print() - - /** - * Pads the current output to make columns line up. - * - * @param fieldLen minimum length of the current field - * @param outputLen length of the current output so far - */ - protected void padOutput(int fieldLen, int outputLen) { - - fieldLen = Math.max(Schema.MIN_WIDTH, fieldLen); - for (int j = 0; j < fieldLen - outputLen; j++) { - System.out.print(' '); - } - - } // protected void padOutput(int fieldLen, int outputLen) - - - // *** DO NOT CHANGE ANY EXISTING METHODS OR VARIABLES BELOW THIS LINE *** - //String format: field0|field1|field2|...fieldN| - public String toString() - { - String res = ""; - for(int i = 0; i < schema.getCount(); i++) - { - switch(schema.fieldType(i)) - { - case AttrType.FLOAT: - res += Float.toString(getFloatFld(i)) + ""; - break; - case AttrType.INTEGER: - res += Integer.toString(getIntFld(i)) + ":"; - break; - case AttrType.STRING: - res += getStringFld(i) + ":"; - break; - } - } - if(res.length() > 0) res = res.substring(0, res.length()-1); - return res; - } -} // public class Tuple diff --git a/Projects/p3-skeleton/cs448p3/src/test/java/tests/Field.java b/Projects/p3-skeleton/cs448p3/src/test/java/tests/Field.java deleted file mode 100644 index 1727e1e..0000000 --- a/Projects/p3-skeleton/cs448p3/src/test/java/tests/Field.java +++ /dev/null @@ -1,51 +0,0 @@ -package tests; - -import global.AttrType; -import org.json.simple.JSONObject; - -public class Field { - - private int no; - private int type; - private int length; - private String name; - - Field(JSONObject obj) { - no = ((Long) obj.get("no")).intValue(); - type = AttrType.fromString((String) obj.get("type")); - length = ((Long) obj.get("length")).intValue(); - name = (String) obj.get("name"); - } - - public Object getValue(String val) { - switch (type) { - case AttrType.INTEGER: { - return Integer.parseInt(val.trim()); - } - - case AttrType.FLOAT: { - return Float.parseFloat(val); - } - - default: { - return val; - } - } - } - - public int getNo() { - return no; - } - - public int getType() { - return type; - } - - public int getLength() { - return length; - } - - public String getName() { - return name; - } -} diff --git a/Projects/p3-skeleton/cs448p3/src/test/java/tests/QEPTest.java b/Projects/p3-skeleton/cs448p3/src/test/java/tests/QEPTest.java deleted file mode 100644 index 635b960..0000000 --- a/Projects/p3-skeleton/cs448p3/src/test/java/tests/QEPTest.java +++ /dev/null @@ -1,262 +0,0 @@ -package tests; - -import java.io.BufferedReader; -import java.io.FileReader; -import java.io.IOException; - - -import global.AttrOperator; -import global.AttrType; -import heap.HeapFile; -import relop.FileScan; -import relop.HashJoin; -import relop.Predicate; -import relop.Projection; -import relop.Schema; -import relop.Selection; -import relop.SimpleJoin; -import relop.Tuple; - -// YOUR CODE FOR PART3 SHOULD GO HERE. - -public class QEPTest extends TestDriver -{ - /** The display name of the test suite. */ - private static final String TEST_NAME = "QEP Tests"; - - - /** Employee table schema. */ - private static Schema s_emp; - - /** Department table schema. */ - private static Schema s_dept; - - private static String empFilePath; - private static String deptFilePath; - - private static HeapFile empHeapFile; - private static HeapFile deptHeapFile; - - // -------------------------------------------------------------------------- - - /** - * Test application entry point; runs all tests. - * @throws IOException - */ - public static void main(String argv[]) throws IOException - { - empFilePath = argv[0] + "/Employee.txt"; - deptFilePath = argv[0] + "/Department.txt"; - // create a clean Minibase instance - QEPTest qepTest = new QEPTest(); - qepTest.create_minibase(); - - initSchema(); - loadData(); - - - qepTest.q1(); - qepTest.q2(); - qepTest.q3(); - qepTest.q4(); - qepTest.q5(); - qepTest.q6(); - qepTest.q7(); - qepTest.q8(); - - /* - qepTest.q5(); - qepTest.q5_hash(); - */ - } - - public void q1() - { - System.out.println("\n 1) Display for each employee his Name and Salary:\n"); - FileScan scan = new FileScan(s_emp, empHeapFile); - Projection pro = new Projection(scan, s_emp.fieldNumber(Constants.EmpNameColName) , s_emp.fieldNumber(Constants.EmpSalaryColName)); - pro.execute(); - } - - public void q2() - { - System.out.println("\n 2) Display the Name for the departments with MinSalary = 1000:\n"); - FileScan scan = new FileScan(s_dept, deptHeapFile); - Predicate pred = new Predicate(AttrOperator.EQ, AttrType.COLNAME, Constants.DeptMinSalaryColName, AttrType.FLOAT, 1000F); - Selection sel = new Selection(scan, pred); - Projection pro = new Projection(sel, s_dept.fieldNumber(Constants.DeptNameColName)); - pro.execute(); - } - - public void q3() - { - System.out.println("\n 3) Display the Name for the departments with MinSalary = MaxSalary:\n"); - FileScan scan = new FileScan(s_dept, deptHeapFile); - Predicate pred = new Predicate(AttrOperator.EQ, AttrType.COLNAME, Constants.DeptMinSalaryColName, AttrType.COLNAME, Constants.DeptMaxSalaryColName); - Selection sel = new Selection(scan, pred); - Projection pro = new Projection(sel, s_dept.fieldNumber(Constants.DeptNameColName)); - pro.execute(); - } - - public void q4() - { - System.out.println("\n 4) Display the Name for employees whose Age > 30 and Salary < 1000:\n"); - FileScan scan = new FileScan(s_emp, empHeapFile); - Predicate predAge = new Predicate(AttrOperator.GT, AttrType.COLNAME, Constants.EmpAgeColName, AttrType.FLOAT, 30F); - Predicate predSalary = new Predicate(AttrOperator.LT, AttrType.COLNAME, Constants.EmpSalaryColName, AttrType.FLOAT, 1000F); - Selection selAge = new Selection(scan, predAge); - Selection selSalary = new Selection(selAge, predSalary); - Projection projName = new Projection(selSalary, s_emp.fieldNumber(Constants.EmpNameColName)); - projName.execute(); - } - - public void q5() - { - System.out.println("\n 5) For each employee, display his Salary and the Name of his department:\n"); - FileScan empScan = new FileScan(s_emp, empHeapFile); - FileScan deptScan = new FileScan(s_dept, deptHeapFile); - Predicate joinPred = new Predicate(AttrOperator.EQ, AttrType.FIELDNO, 0, AttrType.FIELDNO, 8); - SimpleJoin join = new SimpleJoin(deptScan, empScan, joinPred); - Projection proj = new Projection(join, 7, 1); - proj.execute(); - } - - public void q6() - { - System.out.println("\n 6) Display the Name and Salary for employees who work in the department that has DeptId = 3:\n"); - FileScan scan = new FileScan(s_emp, empHeapFile); - Predicate predDept = new Predicate(AttrOperator.EQ, AttrType.COLNAME, Constants.EmpDeptIDColName, AttrType.INTEGER, 3); - Selection sel = new Selection(scan, predDept); - Projection proj = new Projection(sel, s_emp.fieldNumber(Constants.EmpNameColName), s_emp.fieldNumber(Constants.EmpSalaryColName)); - proj.execute(); - } - - public void q7() - { - System.out.println("\n 7) Display the Salary for each employee who works in a department that has MaxSalary > 100000:\n"); - FileScan empScan = new FileScan(s_emp, empHeapFile); - FileScan deptScan = new FileScan(s_dept, deptHeapFile); - Predicate predMaxSalary = new Predicate(AttrOperator.GT, AttrType.COLNAME, Constants.DeptMaxSalaryColName, AttrType.FLOAT, 100000F); - Selection selDept = new Selection(deptScan, predMaxSalary); - Predicate joinPred = new Predicate(AttrOperator.EQ, AttrType.FIELDNO, 0, AttrType.FIELDNO, 8); - SimpleJoin join = new SimpleJoin(selDept, empScan, joinPred); - Projection proj = new Projection(join, 7); - proj.execute(); - } - - public void q8() - { - System.out.println("\n 8) Display the Name for each employee whose Salary is less than the MinSalary of his department:\n"); - FileScan empScan = new FileScan(s_emp, empHeapFile); - FileScan deptScan = new FileScan(s_dept, deptHeapFile); - Predicate joinPred = new Predicate(AttrOperator.EQ, AttrType.FIELDNO, 0, AttrType.FIELDNO, 8); - SimpleJoin join = new SimpleJoin(deptScan, empScan, joinPred); - Predicate pred = new Predicate(AttrOperator.LT, AttrType.FIELDNO, 7, AttrType.FIELDNO, 2); - Selection sel = new Selection(join, pred); - Projection proj = new Projection(sel, 5); - proj.execute(); - } - - - - public void q5_hash() - { - System.out.println("\n 5) For each employee, display his Salary and the Name of his department:\n"); - FileScan empScan = new FileScan(s_emp, empHeapFile); - FileScan deptScan = new FileScan(s_dept, deptHeapFile); - Predicate joinPred = new Predicate(AttrOperator.EQ, AttrType.FIELDNO, 0, AttrType.FIELDNO, 8); - //SimpleJoin join = new SimpleJoin(deptScan, empScan, joinPred); - HashJoin join = new HashJoin(deptScan, empScan, 0, 4); - Projection proj = new Projection(join, 7, 1); - proj.execute(); - } - - protected static void initSchema() - { - //initialize schema for the "Employee" table - s_emp = new Schema(5); - s_emp.initField(0, AttrType.INTEGER, 4, Constants.EmpIdColName); - s_emp.initField(1, AttrType.STRING, 40, Constants.EmpNameColName); - s_emp.initField(2, AttrType.FLOAT, 4, Constants.EmpAgeColName); - s_emp.initField(3, AttrType.FLOAT, 4, Constants.EmpSalaryColName); - s_emp.initField(4, AttrType.INTEGER, 4, Constants.EmpDeptIDColName); - - //initialize schema for the "Department" table - s_dept = new Schema(4); - s_dept.initField(0, AttrType.INTEGER, 4, Constants.DeptIdColName); - s_dept.initField(1, AttrType.STRING, 40, Constants.DeptNameColName); - s_dept.initField(2, AttrType.FLOAT, 4, Constants.DeptMinSalaryColName); - s_dept.initField(3, AttrType.FLOAT, 4, Constants.DeptMaxSalaryColName); - - } - - protected static void loadData() throws IOException - { - empHeapFile = new HeapFile(null); - loadEmpTable(empHeapFile); - - deptHeapFile = new HeapFile(null); - loadDeptTable(deptHeapFile); - } - - - protected static void loadEmpTable(HeapFile file) throws IOException - { - Tuple tuple = new Tuple(s_emp); - BufferedReader reader = new BufferedReader(new FileReader(empFilePath)); - reader.readLine(); //ignore the header - String line = ""; - String[] temp = null; - int empId; String empName; float age; float salary; int deptId; - while((line = reader.readLine()) != null) - { - temp = line.split(","); - empId = Integer.parseInt(temp[0].trim()); - empName = temp[1].trim(); - age = Float.parseFloat(temp[2].trim()); - salary = Float.parseFloat(temp[3].trim()); - deptId = Integer.parseInt(temp[4].trim()); - tuple.setAllFields(empId, empName, age, salary, deptId); - tuple.insertIntoFile(file); - } - reader.close(); - } - - protected static void loadDeptTable(HeapFile file) throws IOException - { - Tuple tuple = new Tuple(s_dept); - BufferedReader reader = new BufferedReader(new FileReader(deptFilePath)); - reader.readLine(); //ignore the header - String line = ""; - String[] temp = null; - int deptId; String deptName; float minSalary; float maxSalary; - while((line = reader.readLine()) != null) - { - temp = line.split(","); - deptId = Integer.parseInt(temp[0].trim()); - deptName = temp[1].trim(); - minSalary = Float.parseFloat(temp[2].trim()); - maxSalary = Float.parseFloat(temp[3].trim()); - tuple.setAllFields(deptId, deptName, minSalary, maxSalary); - tuple.insertIntoFile(file); - } - reader.close(); - } - - static class Constants - { - - public final static String EmpIdColName = "EmpId"; - public final static String EmpNameColName = "Name"; - public final static String EmpAgeColName = "Age"; - public final static String EmpSalaryColName = "Salary"; - public final static String EmpDeptIDColName = "DeptID"; - - public final static String DeptIdColName = "DeptId"; - public final static String DeptNameColName = "Name"; - public final static String DeptMinSalaryColName = "MinSalary"; - public final static String DeptMaxSalaryColName = "MaxSalary"; - - - } -} diff --git a/Projects/p3-skeleton/cs448p3/src/test/java/tests/ROTest.java b/Projects/p3-skeleton/cs448p3/src/test/java/tests/ROTest.java deleted file mode 100644 index a66a746..0000000 --- a/Projects/p3-skeleton/cs448p3/src/test/java/tests/ROTest.java +++ /dev/null @@ -1,367 +0,0 @@ -package tests; - -import org.json.simple.JSONArray; -import org.json.simple.JSONObject; -import org.json.simple.parser.ParseException; -import org.junit.After; -import org.junit.Before; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.FixMethodOrder; -import org.junit.Test; - -import org.junit.runner.JUnitCore; -import org.junit.runner.Result; -import org.junit.runner.notification.Failure; - -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; - -import global.AttrOperator; -import global.AttrType; -import global.RID; -import global.SearchKey; -import heap.HeapFile; -import index.HashIndex; -import relop.FileScan; -import relop.HashJoin; -import relop.IndexScan; -import relop.KeyScan; -import relop.Predicate; -import relop.Projection; -import relop.Schema; -import relop.Selection; -import relop.SimpleJoin; -import relop.Tuple; -import relop.Iterator; - -import java.io.*; -import java.util.*; - -import com.opencsv.CSVReader; -import org.json.simple.parser.JSONParser; - -/** - * Test suite for the relop layer. - */ -public class ROTest extends TestDriver { - - private static ROTest rot; - - /** The display name of the test suite. */ - private static final String TEST_NAME = "relational operator tests"; - - /** Size of tables in test3. */ - private static final int SUPER_SIZE = 2000; - - private Scanner in; - - /** Drivers schema/table/index */ - private static Schema s_drivers; - private static HeapFile f_drivers; - private static HashIndex idx_drivers; - - private static Schema s_driversBig; - private static HeapFile f_driversBig; - private static HashIndex idx_driversBig; - /** Rides schema/table/index */ - - private static Schema s_rides; - private static HeapFile f_rides; - private static HashIndex idx_rides; - - private static Schema s_ridesBig; - private static HeapFile f_ridesBig; - private static HashIndex idx_ridesBig; - - /** Groups schema/table/index */ - private static Schema s_groups; - private static HeapFile f_groups; - private static HashIndex idx_groups; - - private static Schema s_groupsBig; - private static HeapFile f_groupsBig; - private static HashIndex idx_groupsBig; - - /** Expected result strings for test cases */ - private static HashMap results; - - /** */ - private static void loadTable(Schema schema, HeapFile f_table, HashIndex idx_table, String table) - throws FileNotFoundException, IOException, ParseException { - - // initialize schema for table - InputStream in = ClassLoader.getSystemResourceAsStream(table.concat(".json")); - JSONObject jsonObj = (JSONObject) new JSONParser().parse(new InputStreamReader(in)); - JSONArray jsonFields = (JSONArray) jsonObj.get("schema"); - Field[] fields = new Field[jsonFields.size()]; - - int key = ((Long) jsonObj.get("key")).intValue(); - int xx = 0; - for (Object obj : jsonFields) { - Field field = new Field((JSONObject) obj); - fields[xx] = field; xx++; - schema.initField(field.getNo(), field.getType(), field.getLength(), field.getName()); - } - - // populate relation - in = ClassLoader.getSystemResourceAsStream(table.concat(".csv")); - try (CSVReader csvReader = new CSVReader(new InputStreamReader(in))) { - String[] values = null; - Tuple tuple = new Tuple(schema); - while((values = csvReader.readNext()) != null) { - - for (int i=0; i(); - - try - { - Scanner in = new Scanner(new File("solution.txt")); - String line; - String[] res; - while(in.hasNextLine()) - { - line = in.nextLine(); - res = line.split("="); - results.put(res[0],res[1]); - - } - } catch (IOException e) - { - e.printStackTrace(); - System.exit(1); - } - - // "Drivers" table - s_drivers = new Schema(5); - f_drivers = new HeapFile("drivers"); - idx_drivers = new HashIndex("drivers_idx"); - loadTable(s_drivers, f_drivers, idx_drivers, "drivers"); - - - s_driversBig = new Schema(5); - f_driversBig = new HeapFile("driversBig"); - idx_driversBig = new HashIndex("drivers_idxBig"); - loadTable(s_driversBig, f_driversBig, idx_driversBig, "driversBig"); - // "Rides" table - s_rides = new Schema(4); - f_rides = new HeapFile("rides"); - idx_rides = new HashIndex("rides_idx"); - loadTable(s_rides, f_rides, idx_rides, "rides"); - - s_ridesBig = new Schema(4); - f_ridesBig = new HeapFile("ridesBig"); - idx_ridesBig = new HashIndex("rides_idxBig"); - loadTable(s_ridesBig, f_ridesBig, idx_ridesBig, "ridesBig"); - - // "Groups" table - s_groupsBig = new Schema(2); - f_groupsBig = new HeapFile("groupsBig"); - idx_groupsBig = new HashIndex("groups_idxBig"); - loadTable(s_groupsBig, f_groupsBig, idx_groupsBig, "groupsBig"); - - s_groups = new Schema(2); - f_groups = new HeapFile("groups"); - idx_groups = new HashIndex("groups_idx"); - loadTable(s_groups, f_groups, idx_groups, "groups"); - - System.out.println(); - - } - - @AfterClass - public static void tearDownDB() - { - idx_drivers.deleteFile(); - idx_rides.deleteFile(); - idx_groups.deleteFile(); - f_rides.deleteFile(); - f_drivers.deleteFile(); - f_groups.deleteFile(); - rot.delete_minibase(); - } - - @Test - public void testFileScan() { - //Scan drivers table - Iterator fscan = new FileScan(s_drivers, f_drivers); - execute_and_compare("Filescan", "filescan", fscan); - } - - @Test - public void testIndexScan() { - //Scan drivers index - Iterator idxscan = new IndexScan(s_drivers, idx_drivers, f_drivers); - execute_and_compare("IndexScan", "idxscan", idxscan); - } - - @Test - public void testKeyScan() { - //Scan drivers index for key 20f - Iterator keyscan = new KeyScan(s_drivers, idx_drivers, new SearchKey(20f), f_drivers); - execute_and_compare("KeyScan", "keyscan", keyscan); - } - - @Test - public void testSelection() { - //Selection drivers with age > 20 - Iterator selection = new Selection(new FileScan(s_drivers, f_drivers), - new Predicate(AttrOperator.GT, AttrType.COLNAME, "age", AttrType.FLOAT, 20F)); - execute_and_compare("Selection", "selection", selection); - } - - @Test - public void testSelectionMultiplePredicates() { - Iterator selection_preds = new Selection(new FileScan(s_drivers, f_drivers), - new Predicate(AttrOperator.GT, AttrType.COLNAME, "age", AttrType.FLOAT, 23F), - new Predicate(AttrOperator.LT, AttrType.COLNAME, "age", AttrType.FLOAT, 19F)); - execute_and_compare("Selection Multipled Predicates", "selection_preds", selection_preds); - } - - @Test - public void testProjection() { - //Projection on Drivers: {FirstName, NumSeats} - Iterator projection = new Projection(new FileScan(s_drivers, f_drivers), s_drivers.fieldNumber("FirstName"), s_drivers.fieldNumber("NumSeats")); - execute_and_compare("Projection", "projection", projection); - } - - @Test - public void testHashJoin() { - //HashJoin on Drivers X Rides on DriverID - Iterator hashjoin = new HashJoin(new FileScan(s_drivers, f_drivers), - new FileScan(s_rides, f_rides), 0, 0); - execute_and_compare("Hash Join", "hashjoin", hashjoin); - } - - @Test - public void testSelectionPipelining() { - //Test all possible Iterator inputs to Selection - Iterator sel_idx = new Selection(new IndexScan(s_drivers, idx_drivers, f_drivers), - new Predicate(AttrOperator.EQ, AttrType.COLNAME, "FirstName", AttrType.STRING, "Walid")); - execute_and_compare("Selection - Pipelining IndexScan", "sel_idx", sel_idx); - Iterator sel_key = new Selection(new KeyScan(s_drivers, idx_drivers, new SearchKey(20F), f_drivers), - new Predicate(AttrOperator.EQ, AttrType.COLNAME, "FirstName", AttrType.STRING, "Walid")); - execute_and_compare("Selection - Pipelining Keyscan", "sel_key", sel_key); - Iterator sel_sel = new Selection(new Selection(new FileScan(s_drivers, f_drivers), - new Predicate(AttrOperator.EQ, AttrType.COLNAME, "Age", AttrType.FLOAT, 20F)), - new Predicate(AttrOperator.EQ, AttrType.COLNAME, "FirstName", AttrType.STRING, "Walid")); - execute_and_compare("Selection - Pipelining Selection", "sel_sel", sel_sel); - Iterator sel_proj = new Selection(new Projection( - new FileScan(s_drivers, f_drivers), s_drivers.fieldNumber("DriverId"), s_drivers.fieldNumber("FirstName")), - new Predicate(AttrOperator.EQ, AttrType.COLNAME, "FirstName", AttrType.STRING, "Walid")); - execute_and_compare("Selection - Pipelining Projection", "sel_proj", sel_proj); - /* Iterator sel_sj = new Selection(new SimpleJoin(new FileScan(s_drivers, f_drivers), new FileScan(s_rides, f_rides), - new Predicate(AttrOperator.EQ, AttrType.FIELDNO, 0, AttrType.FIELDNO, 5)), - new Predicate(AttrOperator.EQ, AttrType.COLNAME, "FirstName", AttrType.STRING, "Walid")); - execute_and_compare("Selection - Pipelining Simple Join", "sel_sj", sel_sj); - */ - Iterator sel_hj = new Selection(new HashJoin(new FileScan(s_drivers, f_drivers), new FileScan(s_rides, f_rides),0,0), - new Predicate(AttrOperator.EQ, AttrType.COLNAME, "FirstName", AttrType.STRING, "Walid")); - execute_and_compare("Selection - Pipelining Hash Join", "sel_jh", sel_hj); - } - - @Test - public void testProjectionPipelining() { - //Test all possible Iterator inputs to HashJoin - Iterator proj_idx = new Projection(new IndexScan(s_drivers, idx_drivers, f_drivers), - s_drivers.fieldNumber("DriverId"), s_drivers.fieldNumber("Age")); - execute_and_compare("Projection - Pipelining IndexScan", "proj_idx", proj_idx); - Iterator proj_key = new Projection(new KeyScan(s_drivers, idx_drivers, new SearchKey(20F), f_drivers), - s_drivers.fieldNumber("DriverId"), s_drivers.fieldNumber("Age")); - execute_and_compare("Projection - Pipelining KeyScan", "proj_key", proj_key); - Iterator proj_sel = new Projection(new Selection(new FileScan(s_drivers, f_drivers), - new Predicate(AttrOperator.EQ, AttrType.COLNAME, "Age", AttrType.FLOAT, 20F)), - s_drivers.fieldNumber("DriverId"), s_drivers.fieldNumber("Age")); - execute_and_compare("Projection - Pipelining Selection", "proj_sel", proj_sel); - Iterator proj_proj = new Projection(new Projection(new FileScan(s_drivers, f_drivers), - s_drivers.fieldNumber("DriverId"), s_drivers.fieldNumber("FirstName"), s_drivers.fieldNumber("Age")), - 0, 2); - execute_and_compare("Projection - Pipelining Projection", "proj_proj", proj_proj); - /* - Iterator proj_sj = new Projection(new SimpleJoin(new FileScan(s_drivers, f_drivers), new FileScan(s_rides, f_rides), - new Predicate(AttrOperator.EQ, AttrType.FIELDNO, 0, AttrType.FIELDNO, 5)), - 0, 3); - execute_and_compare("Projection - Pipelining Simple Join", "proj_sj", proj_sj); - */ - Iterator proj_hj = new Projection(new HashJoin(new FileScan(s_drivers, f_drivers), new FileScan(s_rides, f_rides),0,0), - 0, 3); - execute_and_compare("Projection - Pipelining Hash Join", "proj_hj", proj_hj); - } - - @Test - public void testHashjoinPipelining() { - //Test all possible Iterator inputs to HashJoin - /* - Iterator hj_sel_sj = new HashJoin(new Selection(new FileScan(s_drivers, f_drivers), - new Predicate(AttrOperator.GTE, AttrType.COLNAME, "DriverId", AttrType.INTEGER, 1)), - new SimpleJoin(new FileScan(s_rides, f_rides), new FileScan(s_groups, f_groups), - new Predicate(AttrOperator.EQ, AttrType.COLNAME, "GroupId", AttrType.COLNAME, "DriverId")),0,0); - execute_and_compare("Hash Join - Pipelining Selection/Simple Join", "hj_sel_sj", hj_sel_sj); - */ - Iterator hj_proj_hj = new HashJoin(new Projection(new FileScan(s_drivers, f_drivers), s_drivers.fieldNumber("DriverId"), s_drivers.fieldNumber("Age")), - new HashJoin(new FileScan(s_rides, f_rides), new FileScan(s_groups, f_groups), 1, 0), 0, 0); - execute_and_compare("Hash Join - Pipelining Projection/Hash Join", "hj_proj_hj", hj_proj_hj); - Iterator hj_iscan_kscan = new HashJoin(new IndexScan(s_drivers, idx_drivers, f_drivers), - new KeyScan(s_rides, idx_rides, new SearchKey(1), f_rides), 0, 0); - execute_and_compare("Hash Join - Pipelining IndexScan/KeyScan", "hj_iscan_kscan", hj_iscan_kscan); - } - - //This is an EXTRA test to do Drivers X Drivers using HashJoin and we will calibrate this by changing the value of HashTableDup in the HashTableDup class - @Test - public void testHashJoinOnBigTables() { - //HashJoin on Drivers X Rides on DriverID - //Anytime the HashTableDup count goes over the threshold, a runtimeexception is thrown - Iterator hashSame = new HashJoin(new FileScan(s_drivers, f_drivers), - new FileScan(s_drivers, f_drivers), 0, 0); - execute_and_compare("Hash Join", "hashSame", hashSame); - } - - //This is second EXTRA test to do DriversBig X DriversBig using HashJoin and we will calibrate this by changing the value of HashTableDup in the HashTableDup class - //Anytime the HashTableDup count goes over the threshold, a runtimeexception is thrown - //In addition, any call to Simplejoin throws a RunTimeException - @Test - public void testHashJoinOnEqualTables() { - //HashJoin on Drivers X Rides on DriverID - Iterator hashEqual = new HashJoin(new FileScan(s_driversBig, f_driversBig), - new FileScan(s_driversBig, f_driversBig), 0, 0); - execute_and_compare("Hash Join", "hashEqual", hashEqual); - } - -} // class ROTest extends TestDriver diff --git a/Projects/p3-skeleton/cs448p3/src/test/java/tests/TestDriver.java b/Projects/p3-skeleton/cs448p3/src/test/java/tests/TestDriver.java deleted file mode 100644 index 215f7d8..0000000 --- a/Projects/p3-skeleton/cs448p3/src/test/java/tests/TestDriver.java +++ /dev/null @@ -1,179 +0,0 @@ -package tests; - -import global.GlobalConst; -import global.Minibase; - -import java.io.File; -import java.util.ArrayList; -import java.util.Random; - -/** - *

Minibase Test Driver

- * This base class contains common code to each layer's test suite. - */ -class TestDriver implements GlobalConst { - - /** Success value, for readability. */ - protected static final boolean PASS = true; - - /** Failure value, for readability. */ - protected static final boolean FAIL = false; - - // -------------------------------------------------------------------------- - - /** Default database file name. */ - protected String DB_PATH = System.getProperty("user.name") + ".minibase"; - - /** Default database size (in pages). */ - protected int DB_SIZE = 10000; - - /** Default buffer pool size (in pages) */ - protected int BUF_SIZE = 100; - - /** Default buffer pool replacement policy */ - protected String BUF_POLICY = "Clock"; - - // -------------------------------------------------------------------------- - - /** Random generator; use the same seed to make tests deterministic. */ - protected Random random; - - /** - * Counter values saved with a particular description. - */ - protected class CountData { - - public String desc; - - public int reads; - - public int writes; - - public int allocs; - - public int pinned; - - } // protected class CountData - - /** - * Incremental history of the performance counters; odd elements are snapshots - * before the tests, and even elements are after. - */ - protected ArrayList counts; - - // -------------------------------------------------------------------------- - - /** - * Deletes the database files from the disk. - */ - protected void delete_minibase() { - new File(DB_PATH).delete(); - } - - /** - * Creates a new database on the disk. - */ - protected void create_minibase() { - System.out.println("Creating database...\nReplacer: " + BUF_POLICY); - new Minibase(DB_PATH, DB_SIZE, BUF_SIZE, BUF_POLICY, false); - } - - /** - * Loads an existing database from the disk. - */ - protected void load_minibase() { - System.out.println("Loading database...\nReplacer: " + BUF_POLICY); - new Minibase(DB_PATH, DB_SIZE, BUF_SIZE, BUF_POLICY, true); - } - - // -------------------------------------------------------------------------- - - /** - * Resets the random generator to the default seed. - */ - protected void initRandom() { - random = new Random(74); - } - - /** - * Resets the performance counter history. - */ - protected void initCounts() { - counts = new ArrayList(); - } - - /** - * Saves the current performance counters, given the description. - */ - protected void saveCounts(String desc) { - - // create the new count data - CountData data = new CountData(); - counts.add(data); - data.desc = desc; - - // save the counts (in correct order) - Minibase.BufferManager.flushAllPages(); - data.reads = Minibase.DiskManager.getReadCount(); - data.writes = Minibase.DiskManager.getWriteCount(); - data.allocs = Minibase.DiskManager.getAllocCount(); - data.pinned = BUF_SIZE - Minibase.BufferManager.getNumUnpinned(); - - } // protected void saveCounts(String desc) - - /** - * Prints the performance counters (i.e. for the current test). - */ - protected void printCounters() { - - CountData data = counts.get(counts.size() - 1); - System.out.println(); - Minibase.BufferManager.flushAllPages(); - System.out.println(" *** Number of reads: " - + (Minibase.DiskManager.getReadCount() - data.reads)); - System.out.println(" *** Number of writes: " - + (Minibase.DiskManager.getWriteCount() - data.writes)); - System.out.println(" *** Net total pages: " - + (Minibase.DiskManager.getAllocCount() - data.allocs)); - int numbufs = Minibase.BufferManager.getNumBuffers(); - System.out - .println(" *** Remaining Pinned: " - + (numbufs - Minibase.BufferManager.getNumUnpinned()) + " / " - + numbufs); - - } // protected void printCounters() - - /** - * Prints the complete history of the performance counters. - * - * @param sepcnt how many lines to print before each separator - */ - protected void printSummary(int sepcnt) { - - System.out.println(); - String seperator = "--------------------------------------"; - System.out.println(seperator); - System.out.println("\tReads\tWrites\tAllocs\tPinned"); - int size = counts.size(); - for (int i = 1; i < size; i += 2) { - - if (i % (sepcnt * 2) == 1) { - System.out.println(seperator); - } - - CountData before = counts.get(i - 1); - CountData after = counts.get(i); - System.out.print(after.desc); - - System.out.print("\t" + (after.reads - before.reads)); - System.out.print("\t" + (after.writes - before.writes)); - System.out.print("\t" + (after.allocs - before.allocs)); - System.out.print("\t" + (after.pinned - before.pinned)); - System.out.println(); - - } // for - System.out.println(seperator); - - } // protected void printSummary(int sepcnt) - -} // class TestDriver implements GlobalConst diff --git a/Projects/p3-skeleton/cs448p3/src/test/resources/drivers.csv b/Projects/p3-skeleton/cs448p3/src/test/resources/drivers.csv deleted file mode 100644 index bef7605..0000000 --- a/Projects/p3-skeleton/cs448p3/src/test/resources/drivers.csv +++ /dev/null @@ -1,9 +0,0 @@ -1, "Ahmed", "Elmagarmid", 25, 5 -2, "Walid", "Aref", 20, 13 -3, "Christopher", "Clifton", 18, 4 -4, "Sunil", "Prabhakar", 22, 7 -5, "Elisa", "Bertino", 26, 5 -6, "Susanne", "Hambrusch", 23, 3 -7, "David", "Eberts", 24, 8 -8, "Arif", "Ghafoor", 20, 5 -9, "Jeff", "Vitter", 19, 10 \ No newline at end of file diff --git a/Projects/p3-skeleton/cs448p3/src/test/resources/drivers.json b/Projects/p3-skeleton/cs448p3/src/test/resources/drivers.json deleted file mode 100644 index 7c7c7c5..0000000 --- a/Projects/p3-skeleton/cs448p3/src/test/resources/drivers.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "schema": [ - { - "no": 0, - "type": "INTEGER", - "length": 4, - "name": "DriverId" - }, - { - "no": 1, - "type": "STRING", - "length": 20, - "name": "FirstName" - }, - { - "no": 2, - "type": "STRING", - "length": 20, - "name": "LastName" - }, - { - "no": 3, - "type": "FLOAT", - "length": 4, - "name": "Age" - }, - { - "no": 4, - "type": "INTEGER", - "length": 4, - "name": "NumSeats" - } - ], - "key": 3 -} diff --git a/Projects/p3-skeleton/cs448p3/src/test/resources/driversBig.csv b/Projects/p3-skeleton/cs448p3/src/test/resources/driversBig.csv deleted file mode 100644 index fae9cec..0000000 --- a/Projects/p3-skeleton/cs448p3/src/test/resources/driversBig.csv +++ /dev/null @@ -1,1010 +0,0 @@ -1," ""Ahmed"""," ""Elmagarmid""",25,5 -2," ""Walid"""," ""Aref""",20,13 -3," ""Christopher"""," ""Clifton""",18,4 -4," ""Sunil"""," ""Prabhakar""",22,7 -5," ""Elisa"""," ""Bertino""",26,5 -6," ""Susanne"""," ""Hambrusch""",23,3 -7," ""David"""," ""Eberts""",24,8 -8," ""Arif"""," ""Ghafoor""",20,5 -9," ""Jeff"""," ""Vitter""",19,10 -10,"""Adnan""","""Bob""",19,10 -11,"""Adnan""","""Edgardo""",19,10 -12,"""Adnan""","""Bob""",19,10 -13,"""Adnan""","""Edgardo""",19,10 -14,"""Adnan""","""Bob""",19,10 -15,"""Adnan""","""Edgardo""",19,10 -16,"""Adnan""","""Bob""",19,10 -17,"""Adnan""","""Edgardo""",19,10 -18,"""Adnan""","""Bob""",19,10 -19,"""Adnan""","""Edgardo""",19,10 -20,"""Adnan""","""Bob""",19,10 -21,"""Adnan""","""Edgardo""",19,10 -22,"""Adnan""","""Bob""",19,10 -23,"""Adnan""","""Edgardo""",19,10 -24,"""Adnan""","""Bob""",19,10 -25,"""Adnan""","""Edgardo""",19,10 -26,"""Adnan""","""Bob""",19,10 -27,"""Adnan""","""Edgardo""",19,10 -28,"""Adnan""","""Bob""",19,10 -29,"""Adnan""","""Edgardo""",19,10 -30,"""Adnan""","""Bob""",19,10 -31,"""Adnan""","""Edgardo""",19,10 -32,"""Adnan""","""Bob""",19,10 -33,"""Adnan""","""Edgardo""",19,10 -34,"""Adnan""","""Bob""",19,10 -35,"""Adnan""","""Edgardo""",19,10 -36,"""Adnan""","""Bob""",19,10 -37,"""Adnan""","""Edgardo""",19,10 -38,"""Adnan""","""Bob""",19,10 -39,"""Adnan""","""Edgardo""",19,10 -40,"""Adnan""","""Bob""",19,10 -41,"""Adnan""","""Edgardo""",19,10 -42,"""Adnan""","""Bob""",19,10 -43,"""Adnan""","""Edgardo""",19,10 -44,"""Adnan""","""Bob""",19,10 -45,"""Adnan""","""Edgardo""",19,10 -46,"""Adnan""","""Bob""",19,10 -47,"""Adnan""","""Edgardo""",19,10 -48,"""Adnan""","""Bob""",19,10 -49,"""Adnan""","""Edgardo""",19,10 -50,"""Adnan""","""Bob""",19,10 -51,"""Adnan""","""Edgardo""",19,10 -52,"""Adnan""","""Bob""",19,10 -53,"""Adnan""","""Edgardo""",19,10 -54,"""Adnan""","""Bob""",19,10 -55,"""Adnan""","""Edgardo""",19,10 -56,"""Adnan""","""Bob""",19,10 -57,"""Adnan""","""Edgardo""",19,10 -58,"""Adnan""","""Bob""",19,10 -59,"""Adnan""","""Edgardo""",19,10 -60,"""Adnan""","""Bob""",19,10 -61,"""Adnan""","""Edgardo""",19,10 -62,"""Adnan""","""Bob""",19,10 -63,"""Adnan""","""Edgardo""",19,10 -64,"""Adnan""","""Bob""",19,10 -65,"""Adnan""","""Edgardo""",19,10 -66,"""Adnan""","""Bob""",19,10 -67,"""Adnan""","""Edgardo""",19,10 -68,"""Adnan""","""Bob""",19,10 -69,"""Adnan""","""Edgardo""",19,10 -70,"""Adnan""","""Bob""",19,10 -71,"""Adnan""","""Edgardo""",19,10 -72,"""Adnan""","""Bob""",19,10 -73,"""Adnan""","""Edgardo""",19,10 -74,"""Adnan""","""Bob""",19,10 -75,"""Adnan""","""Edgardo""",19,10 -76,"""Adnan""","""Bob""",19,10 -77,"""Adnan""","""Edgardo""",19,10 -78,"""Adnan""","""Bob""",19,10 -79,"""Adnan""","""Edgardo""",19,10 -80,"""Adnan""","""Bob""",19,10 -81,"""Adnan""","""Edgardo""",19,10 -82,"""Adnan""","""Bob""",19,10 -83,"""Adnan""","""Edgardo""",19,10 -84,"""Adnan""","""Bob""",19,10 -85,"""Adnan""","""Edgardo""",19,10 -86,"""Adnan""","""Bob""",19,10 -87,"""Adnan""","""Edgardo""",19,10 -88,"""Adnan""","""Bob""",19,10 -89,"""Adnan""","""Edgardo""",19,10 -90,"""Adnan""","""Bob""",19,10 -91,"""Adnan""","""Edgardo""",19,10 -92,"""Adnan""","""Bob""",19,10 -93,"""Adnan""","""Edgardo""",19,10 -94,"""Adnan""","""Bob""",19,10 -95,"""Adnan""","""Edgardo""",19,10 -96,"""Adnan""","""Bob""",19,10 -97,"""Adnan""","""Edgardo""",19,10 -98,"""Adnan""","""Bob""",19,10 -99,"""Adnan""","""Edgardo""",19,10 -100,"""Adnan""","""Bob""",19,10 -101,"""Adnan""","""Edgardo""",19,10 -102,"""Adnan""","""Bob""",19,10 -103,"""Adnan""","""Edgardo""",19,10 -104,"""Adnan""","""Bob""",19,10 -105,"""Adnan""","""Edgardo""",19,10 -106,"""Adnan""","""Bob""",19,10 -107,"""Adnan""","""Edgardo""",19,10 -108,"""Adnan""","""Bob""",19,10 -109,"""Adnan""","""Edgardo""",19,10 -110,"""Adnan""","""Bob""",19,10 -111,"""Adnan""","""Edgardo""",19,10 -112,"""Adnan""","""Bob""",19,10 -113,"""Adnan""","""Edgardo""",19,10 -114,"""Adnan""","""Bob""",19,10 -115,"""Adnan""","""Edgardo""",19,10 -116,"""Adnan""","""Bob""",19,10 -117,"""Adnan""","""Edgardo""",19,10 -118,"""Adnan""","""Bob""",19,10 -119,"""Adnan""","""Edgardo""",19,10 -120,"""Adnan""","""Bob""",19,10 -121,"""Adnan""","""Edgardo""",19,10 -122,"""Adnan""","""Bob""",19,10 -123,"""Adnan""","""Edgardo""",19,10 -124,"""Adnan""","""Bob""",19,10 -125,"""Adnan""","""Edgardo""",19,10 -126,"""Adnan""","""Bob""",19,10 -127,"""Adnan""","""Edgardo""",19,10 -128,"""Adnan""","""Bob""",19,10 -129,"""Adnan""","""Edgardo""",19,10 -130,"""Adnan""","""Bob""",19,10 -131,"""Adnan""","""Edgardo""",19,10 -132,"""Adnan""","""Bob""",19,10 -133,"""Adnan""","""Edgardo""",19,10 -134,"""Adnan""","""Bob""",19,10 -135,"""Adnan""","""Edgardo""",19,10 -136,"""Adnan""","""Bob""",19,10 -137,"""Adnan""","""Edgardo""",19,10 -138,"""Adnan""","""Bob""",19,10 -139,"""Adnan""","""Edgardo""",19,10 -140,"""Adnan""","""Bob""",19,10 -141,"""Adnan""","""Edgardo""",19,10 -142,"""Adnan""","""Bob""",19,10 -143,"""Adnan""","""Edgardo""",19,10 -144,"""Adnan""","""Bob""",19,10 -145,"""Adnan""","""Edgardo""",19,10 -146,"""Adnan""","""Bob""",19,10 -147,"""Adnan""","""Edgardo""",19,10 -148,"""Adnan""","""Bob""",19,10 -149,"""Adnan""","""Edgardo""",19,10 -150,"""Adnan""","""Bob""",19,10 -151,"""Adnan""","""Edgardo""",19,10 -152,"""Adnan""","""Bob""",19,10 -153,"""Adnan""","""Edgardo""",19,10 -154,"""Adnan""","""Bob""",19,10 -155,"""Adnan""","""Edgardo""",19,10 -156,"""Adnan""","""Bob""",19,10 -157,"""Adnan""","""Edgardo""",19,10 -158,"""Adnan""","""Bob""",19,10 -159,"""Adnan""","""Edgardo""",19,10 -160,"""Adnan""","""Bob""",19,10 -161,"""Adnan""","""Edgardo""",19,10 -162,"""Adnan""","""Bob""",19,10 -163,"""Adnan""","""Edgardo""",19,10 -164,"""Adnan""","""Bob""",19,10 -165,"""Adnan""","""Edgardo""",19,10 -166,"""Adnan""","""Bob""",19,10 -167,"""Adnan""","""Edgardo""",19,10 -168,"""Adnan""","""Bob""",19,10 -169,"""Adnan""","""Edgardo""",19,10 -170,"""Adnan""","""Bob""",19,10 -171,"""Adnan""","""Edgardo""",19,10 -172,"""Adnan""","""Bob""",19,10 -173,"""Adnan""","""Edgardo""",19,10 -174,"""Adnan""","""Bob""",19,10 -175,"""Adnan""","""Edgardo""",19,10 -176,"""Adnan""","""Bob""",19,10 -177,"""Adnan""","""Edgardo""",19,10 -178,"""Adnan""","""Bob""",19,10 -179,"""Adnan""","""Edgardo""",19,10 -180,"""Adnan""","""Bob""",19,10 -181,"""Adnan""","""Edgardo""",19,10 -182,"""Adnan""","""Bob""",19,10 -183,"""Adnan""","""Edgardo""",19,10 -184,"""Adnan""","""Bob""",19,10 -185,"""Adnan""","""Edgardo""",19,10 -186,"""Adnan""","""Bob""",19,10 -187,"""Adnan""","""Edgardo""",19,10 -188,"""Adnan""","""Bob""",19,10 -189,"""Adnan""","""Edgardo""",19,10 -190,"""Adnan""","""Bob""",19,10 -191,"""Adnan""","""Edgardo""",19,10 -192,"""Adnan""","""Bob""",19,10 -193,"""Adnan""","""Edgardo""",19,10 -194,"""Adnan""","""Bob""",19,10 -195,"""Adnan""","""Edgardo""",19,10 -196,"""Adnan""","""Bob""",19,10 -197,"""Adnan""","""Edgardo""",19,10 -198,"""Adnan""","""Bob""",19,10 -199,"""Adnan""","""Edgardo""",19,10 -200,"""Adnan""","""Bob""",19,10 -201,"""Adnan""","""Edgardo""",19,10 -202,"""Adnan""","""Bob""",19,10 -203,"""Adnan""","""Edgardo""",19,10 -204,"""Adnan""","""Bob""",19,10 -205,"""Adnan""","""Edgardo""",19,10 -206,"""Adnan""","""Bob""",19,10 -207,"""Adnan""","""Edgardo""",19,10 -208,"""Adnan""","""Bob""",19,10 -209,"""Adnan""","""Edgardo""",19,10 -210,"""Adnan""","""Bob""",19,10 -211,"""Adnan""","""Edgardo""",19,10 -212,"""Adnan""","""Bob""",19,10 -213,"""Adnan""","""Edgardo""",19,10 -214,"""Adnan""","""Bob""",19,10 -215,"""Adnan""","""Edgardo""",19,10 -216,"""Adnan""","""Bob""",19,10 -217,"""Adnan""","""Edgardo""",19,10 -218,"""Adnan""","""Bob""",19,10 -219,"""Adnan""","""Edgardo""",19,10 -220,"""Adnan""","""Bob""",19,10 -221,"""Adnan""","""Edgardo""",19,10 -222,"""Adnan""","""Bob""",19,10 -223,"""Adnan""","""Edgardo""",19,10 -224,"""Adnan""","""Bob""",19,10 -225,"""Adnan""","""Edgardo""",19,10 -226,"""Adnan""","""Bob""",19,10 -227,"""Adnan""","""Edgardo""",19,10 -228,"""Adnan""","""Bob""",19,10 -229,"""Adnan""","""Edgardo""",19,10 -230,"""Adnan""","""Bob""",19,10 -231,"""Adnan""","""Edgardo""",19,10 -232,"""Adnan""","""Bob""",19,10 -233,"""Adnan""","""Edgardo""",19,10 -234,"""Adnan""","""Bob""",19,10 -235,"""Adnan""","""Edgardo""",19,10 -236,"""Adnan""","""Bob""",19,10 -237,"""Adnan""","""Edgardo""",19,10 -238,"""Adnan""","""Bob""",19,10 -239,"""Adnan""","""Edgardo""",19,10 -240,"""Adnan""","""Bob""",19,10 -241,"""Adnan""","""Edgardo""",19,10 -242,"""Adnan""","""Bob""",19,10 -243,"""Adnan""","""Edgardo""",19,10 -244,"""Adnan""","""Bob""",19,10 -245,"""Adnan""","""Edgardo""",19,10 -246,"""Adnan""","""Bob""",19,10 -247,"""Adnan""","""Edgardo""",19,10 -248,"""Adnan""","""Bob""",19,10 -249,"""Adnan""","""Edgardo""",19,10 -250,"""Adnan""","""Bob""",19,10 -251,"""Adnan""","""Edgardo""",19,10 -252,"""Adnan""","""Bob""",19,10 -253,"""Adnan""","""Edgardo""",19,10 -254,"""Adnan""","""Bob""",19,10 -255,"""Adnan""","""Edgardo""",19,10 -256,"""Adnan""","""Bob""",19,10 -257,"""Adnan""","""Edgardo""",19,10 -258,"""Adnan""","""Bob""",19,10 -259,"""Adnan""","""Edgardo""",19,10 -260,"""Adnan""","""Bob""",19,10 -261,"""Adnan""","""Edgardo""",19,10 -262,"""Adnan""","""Bob""",19,10 -263,"""Adnan""","""Edgardo""",19,10 -264,"""Adnan""","""Bob""",19,10 -265,"""Adnan""","""Edgardo""",19,10 -266,"""Adnan""","""Bob""",19,10 -267,"""Adnan""","""Edgardo""",19,10 -268,"""Adnan""","""Bob""",19,10 -269,"""Adnan""","""Edgardo""",19,10 -270,"""Adnan""","""Bob""",19,10 -271,"""Adnan""","""Edgardo""",19,10 -272,"""Adnan""","""Bob""",19,10 -273,"""Adnan""","""Edgardo""",19,10 -274,"""Adnan""","""Bob""",19,10 -275,"""Adnan""","""Edgardo""",19,10 -276,"""Adnan""","""Bob""",19,10 -277,"""Adnan""","""Edgardo""",19,10 -278,"""Adnan""","""Bob""",19,10 -279,"""Adnan""","""Edgardo""",19,10 -280,"""Adnan""","""Bob""",19,10 -281,"""Adnan""","""Edgardo""",19,10 -282,"""Adnan""","""Bob""",19,10 -283,"""Adnan""","""Edgardo""",19,10 -284,"""Adnan""","""Bob""",19,10 -285,"""Adnan""","""Edgardo""",19,10 -286,"""Adnan""","""Bob""",19,10 -287,"""Adnan""","""Edgardo""",19,10 -288,"""Adnan""","""Bob""",19,10 -289,"""Adnan""","""Edgardo""",19,10 -290,"""Adnan""","""Bob""",19,10 -291,"""Adnan""","""Edgardo""",19,10 -292,"""Adnan""","""Bob""",19,10 -293,"""Adnan""","""Edgardo""",19,10 -294,"""Adnan""","""Bob""",19,10 -295,"""Adnan""","""Edgardo""",19,10 -296,"""Adnan""","""Bob""",19,10 -297,"""Adnan""","""Edgardo""",19,10 -298,"""Adnan""","""Bob""",19,10 -299,"""Adnan""","""Edgardo""",19,10 -300,"""Adnan""","""Bob""",19,10 -301,"""Adnan""","""Edgardo""",19,10 -302,"""Adnan""","""Bob""",19,10 -303,"""Adnan""","""Edgardo""",19,10 -304,"""Adnan""","""Bob""",19,10 -305,"""Adnan""","""Edgardo""",19,10 -306,"""Adnan""","""Bob""",19,10 -307,"""Adnan""","""Edgardo""",19,10 -308,"""Adnan""","""Bob""",19,10 -309,"""Adnan""","""Edgardo""",19,10 -310,"""Adnan""","""Bob""",19,10 -311,"""Adnan""","""Edgardo""",19,10 -312,"""Adnan""","""Bob""",19,10 -313,"""Adnan""","""Edgardo""",19,10 -314,"""Adnan""","""Bob""",19,10 -315,"""Adnan""","""Edgardo""",19,10 -316,"""Adnan""","""Bob""",19,10 -317,"""Adnan""","""Edgardo""",19,10 -318,"""Adnan""","""Bob""",19,10 -319,"""Adnan""","""Edgardo""",19,10 -320,"""Adnan""","""Bob""",19,10 -321,"""Adnan""","""Edgardo""",19,10 -322,"""Adnan""","""Bob""",19,10 -323,"""Adnan""","""Edgardo""",19,10 -324,"""Adnan""","""Bob""",19,10 -325,"""Adnan""","""Edgardo""",19,10 -326,"""Adnan""","""Bob""",19,10 -327,"""Adnan""","""Edgardo""",19,10 -328,"""Adnan""","""Bob""",19,10 -329,"""Adnan""","""Edgardo""",19,10 -330,"""Adnan""","""Bob""",19,10 -331,"""Adnan""","""Edgardo""",19,10 -332,"""Adnan""","""Bob""",19,10 -333,"""Adnan""","""Edgardo""",19,10 -334,"""Adnan""","""Bob""",19,10 -335,"""Adnan""","""Edgardo""",19,10 -336,"""Adnan""","""Bob""",19,10 -337,"""Adnan""","""Edgardo""",19,10 -338,"""Adnan""","""Bob""",19,10 -339,"""Adnan""","""Edgardo""",19,10 -340,"""Adnan""","""Bob""",19,10 -341,"""Adnan""","""Edgardo""",19,10 -342,"""Adnan""","""Bob""",19,10 -343,"""Adnan""","""Edgardo""",19,10 -344,"""Adnan""","""Bob""",19,10 -345,"""Adnan""","""Edgardo""",19,10 -346,"""Adnan""","""Bob""",19,10 -347,"""Adnan""","""Edgardo""",19,10 -348,"""Adnan""","""Bob""",19,10 -349,"""Adnan""","""Edgardo""",19,10 -350,"""Adnan""","""Bob""",19,10 -351,"""Adnan""","""Edgardo""",19,10 -352,"""Adnan""","""Bob""",19,10 -353,"""Adnan""","""Edgardo""",19,10 -354,"""Adnan""","""Bob""",19,10 -355,"""Adnan""","""Edgardo""",19,10 -356,"""Adnan""","""Bob""",19,10 -357,"""Adnan""","""Edgardo""",19,10 -358,"""Adnan""","""Bob""",19,10 -359,"""Adnan""","""Edgardo""",19,10 -360,"""Adnan""","""Bob""",19,10 -361,"""Adnan""","""Edgardo""",19,10 -362,"""Adnan""","""Bob""",19,10 -363,"""Adnan""","""Edgardo""",19,10 -364,"""Adnan""","""Bob""",19,10 -365,"""Adnan""","""Edgardo""",19,10 -366,"""Adnan""","""Bob""",19,10 -367,"""Adnan""","""Edgardo""",19,10 -368,"""Adnan""","""Bob""",19,10 -369,"""Adnan""","""Edgardo""",19,10 -370,"""Adnan""","""Bob""",19,10 -371,"""Adnan""","""Edgardo""",19,10 -372,"""Adnan""","""Bob""",19,10 -373,"""Adnan""","""Edgardo""",19,10 -374,"""Adnan""","""Bob""",19,10 -375,"""Adnan""","""Edgardo""",19,10 -376,"""Adnan""","""Bob""",19,10 -377,"""Adnan""","""Edgardo""",19,10 -378,"""Adnan""","""Bob""",19,10 -379,"""Adnan""","""Edgardo""",19,10 -380,"""Adnan""","""Bob""",19,10 -381,"""Adnan""","""Edgardo""",19,10 -382,"""Adnan""","""Bob""",19,10 -383,"""Adnan""","""Edgardo""",19,10 -384,"""Adnan""","""Bob""",19,10 -385,"""Adnan""","""Edgardo""",19,10 -386,"""Adnan""","""Bob""",19,10 -387,"""Adnan""","""Edgardo""",19,10 -388,"""Adnan""","""Bob""",19,10 -389,"""Adnan""","""Edgardo""",19,10 -390,"""Adnan""","""Bob""",19,10 -391,"""Adnan""","""Edgardo""",19,10 -392,"""Adnan""","""Bob""",19,10 -393,"""Adnan""","""Edgardo""",19,10 -394,"""Adnan""","""Bob""",19,10 -395,"""Adnan""","""Edgardo""",19,10 -396,"""Adnan""","""Bob""",19,10 -397,"""Adnan""","""Edgardo""",19,10 -398,"""Adnan""","""Bob""",19,10 -399,"""Adnan""","""Edgardo""",19,10 -400,"""Adnan""","""Bob""",19,10 -401,"""Adnan""","""Edgardo""",19,10 -402,"""Adnan""","""Bob""",19,10 -403,"""Adnan""","""Edgardo""",19,10 -404,"""Adnan""","""Bob""",19,10 -405,"""Adnan""","""Edgardo""",19,10 -406,"""Adnan""","""Bob""",19,10 -407,"""Adnan""","""Edgardo""",19,10 -408,"""Adnan""","""Bob""",19,10 -409,"""Adnan""","""Edgardo""",19,10 -410,"""Adnan""","""Bob""",19,10 -411,"""Adnan""","""Edgardo""",19,10 -412,"""Adnan""","""Bob""",19,10 -413,"""Adnan""","""Edgardo""",19,10 -414,"""Adnan""","""Bob""",19,10 -415,"""Adnan""","""Edgardo""",19,10 -416,"""Adnan""","""Bob""",19,10 -417,"""Adnan""","""Edgardo""",19,10 -418,"""Adnan""","""Bob""",19,10 -419,"""Adnan""","""Edgardo""",19,10 -420,"""Adnan""","""Bob""",19,10 -421,"""Adnan""","""Edgardo""",19,10 -422,"""Adnan""","""Bob""",19,10 -423,"""Adnan""","""Edgardo""",19,10 -424,"""Adnan""","""Bob""",19,10 -425,"""Adnan""","""Edgardo""",19,10 -426,"""Adnan""","""Bob""",19,10 -427,"""Adnan""","""Edgardo""",19,10 -428,"""Adnan""","""Bob""",19,10 -429,"""Adnan""","""Edgardo""",19,10 -430,"""Adnan""","""Bob""",19,10 -431,"""Adnan""","""Edgardo""",19,10 -432,"""Adnan""","""Bob""",19,10 -433,"""Adnan""","""Edgardo""",19,10 -434,"""Adnan""","""Bob""",19,10 -435,"""Adnan""","""Edgardo""",19,10 -436,"""Adnan""","""Bob""",19,10 -437,"""Adnan""","""Edgardo""",19,10 -438,"""Adnan""","""Bob""",19,10 -439,"""Adnan""","""Edgardo""",19,10 -440,"""Adnan""","""Bob""",19,10 -441,"""Adnan""","""Edgardo""",19,10 -442,"""Adnan""","""Bob""",19,10 -443,"""Adnan""","""Edgardo""",19,10 -444,"""Adnan""","""Bob""",19,10 -445,"""Adnan""","""Edgardo""",19,10 -446,"""Adnan""","""Bob""",19,10 -447,"""Adnan""","""Edgardo""",19,10 -448,"""Adnan""","""Bob""",19,10 -449,"""Adnan""","""Edgardo""",19,10 -450,"""Adnan""","""Bob""",19,10 -451,"""Adnan""","""Edgardo""",19,10 -452,"""Adnan""","""Bob""",19,10 -453,"""Adnan""","""Edgardo""",19,10 -454,"""Adnan""","""Bob""",19,10 -455,"""Adnan""","""Edgardo""",19,10 -456,"""Adnan""","""Bob""",19,10 -457,"""Adnan""","""Edgardo""",19,10 -458,"""Adnan""","""Bob""",19,10 -459,"""Adnan""","""Edgardo""",19,10 -460,"""Adnan""","""Bob""",19,10 -461,"""Adnan""","""Edgardo""",19,10 -462,"""Adnan""","""Bob""",19,10 -463,"""Adnan""","""Edgardo""",19,10 -464,"""Adnan""","""Bob""",19,10 -465,"""Adnan""","""Edgardo""",19,10 -466,"""Adnan""","""Bob""",19,10 -467,"""Adnan""","""Edgardo""",19,10 -468,"""Adnan""","""Bob""",19,10 -469,"""Adnan""","""Edgardo""",19,10 -470,"""Adnan""","""Bob""",19,10 -471,"""Adnan""","""Edgardo""",19,10 -472,"""Adnan""","""Bob""",19,10 -473,"""Adnan""","""Edgardo""",19,10 -474,"""Adnan""","""Bob""",19,10 -475,"""Adnan""","""Edgardo""",19,10 -476,"""Adnan""","""Bob""",19,10 -477,"""Adnan""","""Edgardo""",19,10 -478,"""Adnan""","""Bob""",19,10 -479,"""Adnan""","""Edgardo""",19,10 -480,"""Adnan""","""Bob""",19,10 -481,"""Adnan""","""Edgardo""",19,10 -482,"""Adnan""","""Bob""",19,10 -483,"""Adnan""","""Edgardo""",19,10 -484,"""Adnan""","""Bob""",19,10 -485,"""Adnan""","""Edgardo""",19,10 -486,"""Adnan""","""Bob""",19,10 -487,"""Adnan""","""Edgardo""",19,10 -488,"""Adnan""","""Bob""",19,10 -489,"""Adnan""","""Edgardo""",19,10 -490,"""Adnan""","""Bob""",19,10 -491,"""Adnan""","""Edgardo""",19,10 -492,"""Adnan""","""Bob""",19,10 -493,"""Adnan""","""Edgardo""",19,10 -494,"""Adnan""","""Bob""",19,10 -495,"""Adnan""","""Edgardo""",19,10 -496,"""Adnan""","""Bob""",19,10 -497,"""Adnan""","""Edgardo""",19,10 -498,"""Adnan""","""Bob""",19,10 -499,"""Adnan""","""Edgardo""",19,10 -500,"""Adnan""","""Bob""",19,10 -501,"""Adnan""","""Edgardo""",19,10 -502,"""Adnan""","""Bob""",19,10 -503,"""Adnan""","""Edgardo""",19,10 -504,"""Adnan""","""Bob""",19,10 -505,"""Adnan""","""Edgardo""",19,10 -506,"""Adnan""","""Bob""",19,10 -507,"""Adnan""","""Edgardo""",19,10 -508,"""Adnan""","""Bob""",19,10 -509,"""Adnan""","""Edgardo""",19,10 -510,"""Adnan""","""Bob""",19,10 -511,"""Adnan""","""Edgardo""",19,10 -512,"""Adnan""","""Bob""",19,10 -513,"""Adnan""","""Edgardo""",19,10 -514,"""Adnan""","""Bob""",19,10 -515,"""Adnan""","""Edgardo""",19,10 -516,"""Adnan""","""Bob""",19,10 -517,"""Adnan""","""Edgardo""",19,10 -518,"""Adnan""","""Bob""",19,10 -519,"""Adnan""","""Edgardo""",19,10 -520,"""Adnan""","""Bob""",19,10 -521,"""Adnan""","""Edgardo""",19,10 -522,"""Adnan""","""Bob""",19,10 -523,"""Adnan""","""Edgardo""",19,10 -524,"""Adnan""","""Bob""",19,10 -525,"""Adnan""","""Edgardo""",19,10 -526,"""Adnan""","""Bob""",19,10 -527,"""Adnan""","""Edgardo""",19,10 -528,"""Adnan""","""Bob""",19,10 -529,"""Adnan""","""Edgardo""",19,10 -530,"""Adnan""","""Bob""",19,10 -531,"""Adnan""","""Edgardo""",19,10 -532,"""Adnan""","""Bob""",19,10 -533,"""Adnan""","""Edgardo""",19,10 -534,"""Adnan""","""Bob""",19,10 -535,"""Adnan""","""Edgardo""",19,10 -536,"""Adnan""","""Bob""",19,10 -537,"""Adnan""","""Edgardo""",19,10 -538,"""Adnan""","""Bob""",19,10 -539,"""Adnan""","""Edgardo""",19,10 -540,"""Adnan""","""Bob""",19,10 -541,"""Adnan""","""Edgardo""",19,10 -542,"""Adnan""","""Bob""",19,10 -543,"""Adnan""","""Edgardo""",19,10 -544,"""Adnan""","""Bob""",19,10 -545,"""Adnan""","""Edgardo""",19,10 -546,"""Adnan""","""Bob""",19,10 -547,"""Adnan""","""Edgardo""",19,10 -548,"""Adnan""","""Bob""",19,10 -549,"""Adnan""","""Edgardo""",19,10 -550,"""Adnan""","""Bob""",19,10 -551,"""Adnan""","""Edgardo""",19,10 -552,"""Adnan""","""Bob""",19,10 -553,"""Adnan""","""Edgardo""",19,10 -554,"""Adnan""","""Bob""",19,10 -555,"""Adnan""","""Edgardo""",19,10 -556,"""Adnan""","""Bob""",19,10 -557,"""Adnan""","""Edgardo""",19,10 -558,"""Adnan""","""Bob""",19,10 -559,"""Adnan""","""Edgardo""",19,10 -560,"""Adnan""","""Bob""",19,10 -561,"""Adnan""","""Edgardo""",19,10 -562,"""Adnan""","""Bob""",19,10 -563,"""Adnan""","""Edgardo""",19,10 -564,"""Adnan""","""Bob""",19,10 -565,"""Adnan""","""Edgardo""",19,10 -566,"""Adnan""","""Bob""",19,10 -567,"""Adnan""","""Edgardo""",19,10 -568,"""Adnan""","""Bob""",19,10 -569,"""Adnan""","""Edgardo""",19,10 -570,"""Adnan""","""Bob""",19,10 -571,"""Adnan""","""Edgardo""",19,10 -572,"""Adnan""","""Bob""",19,10 -573,"""Adnan""","""Edgardo""",19,10 -574,"""Adnan""","""Bob""",19,10 -575,"""Adnan""","""Edgardo""",19,10 -576,"""Adnan""","""Bob""",19,10 -577,"""Adnan""","""Edgardo""",19,10 -578,"""Adnan""","""Bob""",19,10 -579,"""Adnan""","""Edgardo""",19,10 -580,"""Adnan""","""Bob""",19,10 -581,"""Adnan""","""Edgardo""",19,10 -582,"""Adnan""","""Bob""",19,10 -583,"""Adnan""","""Edgardo""",19,10 -584,"""Adnan""","""Bob""",19,10 -585,"""Adnan""","""Edgardo""",19,10 -586,"""Adnan""","""Bob""",19,10 -587,"""Adnan""","""Edgardo""",19,10 -588,"""Adnan""","""Bob""",19,10 -589,"""Adnan""","""Edgardo""",19,10 -590,"""Adnan""","""Bob""",19,10 -591,"""Adnan""","""Edgardo""",19,10 -592,"""Adnan""","""Bob""",19,10 -593,"""Adnan""","""Edgardo""",19,10 -594,"""Adnan""","""Bob""",19,10 -595,"""Adnan""","""Edgardo""",19,10 -596,"""Adnan""","""Bob""",19,10 -597,"""Adnan""","""Edgardo""",19,10 -598,"""Adnan""","""Bob""",19,10 -599,"""Adnan""","""Edgardo""",19,10 -600,"""Adnan""","""Bob""",19,10 -601,"""Adnan""","""Edgardo""",19,10 -602,"""Adnan""","""Bob""",19,10 -603,"""Adnan""","""Edgardo""",19,10 -604,"""Adnan""","""Bob""",19,10 -605,"""Adnan""","""Edgardo""",19,10 -606,"""Adnan""","""Bob""",19,10 -607,"""Adnan""","""Edgardo""",19,10 -608,"""Adnan""","""Bob""",19,10 -609,"""Adnan""","""Edgardo""",19,10 -610,"""Adnan""","""Bob""",19,10 -611,"""Adnan""","""Edgardo""",19,10 -612,"""Adnan""","""Bob""",19,10 -613,"""Adnan""","""Edgardo""",19,10 -614,"""Adnan""","""Bob""",19,10 -615,"""Adnan""","""Edgardo""",19,10 -616,"""Adnan""","""Bob""",19,10 -617,"""Adnan""","""Edgardo""",19,10 -618,"""Adnan""","""Bob""",19,10 -619,"""Adnan""","""Edgardo""",19,10 -620,"""Adnan""","""Bob""",19,10 -621,"""Adnan""","""Edgardo""",19,10 -622,"""Adnan""","""Bob""",19,10 -623,"""Adnan""","""Edgardo""",19,10 -624,"""Adnan""","""Bob""",19,10 -625,"""Adnan""","""Edgardo""",19,10 -626,"""Adnan""","""Bob""",19,10 -627,"""Adnan""","""Edgardo""",19,10 -628,"""Adnan""","""Bob""",19,10 -629,"""Adnan""","""Edgardo""",19,10 -630,"""Adnan""","""Bob""",19,10 -631,"""Adnan""","""Edgardo""",19,10 -632,"""Adnan""","""Bob""",19,10 -633,"""Adnan""","""Edgardo""",19,10 -634,"""Adnan""","""Bob""",19,10 -635,"""Adnan""","""Edgardo""",19,10 -636,"""Adnan""","""Bob""",19,10 -637,"""Adnan""","""Edgardo""",19,10 -638,"""Adnan""","""Bob""",19,10 -639,"""Adnan""","""Edgardo""",19,10 -640,"""Adnan""","""Bob""",19,10 -641,"""Adnan""","""Edgardo""",19,10 -642,"""Adnan""","""Bob""",19,10 -643,"""Adnan""","""Edgardo""",19,10 -644,"""Adnan""","""Bob""",19,10 -645,"""Adnan""","""Edgardo""",19,10 -646,"""Adnan""","""Bob""",19,10 -647,"""Adnan""","""Edgardo""",19,10 -648,"""Adnan""","""Bob""",19,10 -649,"""Adnan""","""Edgardo""",19,10 -650,"""Adnan""","""Bob""",19,10 -651,"""Adnan""","""Edgardo""",19,10 -652,"""Adnan""","""Bob""",19,10 -653,"""Adnan""","""Edgardo""",19,10 -654,"""Adnan""","""Bob""",19,10 -655,"""Adnan""","""Edgardo""",19,10 -656,"""Adnan""","""Bob""",19,10 -657,"""Adnan""","""Edgardo""",19,10 -658,"""Adnan""","""Bob""",19,10 -659,"""Adnan""","""Edgardo""",19,10 -660,"""Adnan""","""Bob""",19,10 -661,"""Adnan""","""Edgardo""",19,10 -662,"""Adnan""","""Bob""",19,10 -663,"""Adnan""","""Edgardo""",19,10 -664,"""Adnan""","""Bob""",19,10 -665,"""Adnan""","""Edgardo""",19,10 -666,"""Adnan""","""Bob""",19,10 -667,"""Adnan""","""Edgardo""",19,10 -668,"""Adnan""","""Bob""",19,10 -669,"""Adnan""","""Edgardo""",19,10 -670,"""Adnan""","""Bob""",19,10 -671,"""Adnan""","""Edgardo""",19,10 -672,"""Adnan""","""Bob""",19,10 -673,"""Adnan""","""Edgardo""",19,10 -674,"""Adnan""","""Bob""",19,10 -675,"""Adnan""","""Edgardo""",19,10 -676,"""Adnan""","""Bob""",19,10 -677,"""Adnan""","""Edgardo""",19,10 -678,"""Adnan""","""Bob""",19,10 -679,"""Adnan""","""Edgardo""",19,10 -680,"""Adnan""","""Bob""",19,10 -681,"""Adnan""","""Edgardo""",19,10 -682,"""Adnan""","""Bob""",19,10 -683,"""Adnan""","""Edgardo""",19,10 -684,"""Adnan""","""Bob""",19,10 -685,"""Adnan""","""Edgardo""",19,10 -686,"""Adnan""","""Bob""",19,10 -687,"""Adnan""","""Edgardo""",19,10 -688,"""Adnan""","""Bob""",19,10 -689,"""Adnan""","""Edgardo""",19,10 -690,"""Adnan""","""Bob""",19,10 -691,"""Adnan""","""Edgardo""",19,10 -692,"""Adnan""","""Bob""",19,10 -693,"""Adnan""","""Edgardo""",19,10 -694,"""Adnan""","""Bob""",19,10 -695,"""Adnan""","""Edgardo""",19,10 -696,"""Adnan""","""Bob""",19,10 -697,"""Adnan""","""Edgardo""",19,10 -698,"""Adnan""","""Bob""",19,10 -699,"""Adnan""","""Edgardo""",19,10 -700,"""Adnan""","""Bob""",19,10 -701,"""Adnan""","""Edgardo""",19,10 -702,"""Adnan""","""Bob""",19,10 -703,"""Adnan""","""Edgardo""",19,10 -704,"""Adnan""","""Bob""",19,10 -705,"""Adnan""","""Edgardo""",19,10 -706,"""Adnan""","""Bob""",19,10 -707,"""Adnan""","""Edgardo""",19,10 -708,"""Adnan""","""Bob""",19,10 -709,"""Adnan""","""Edgardo""",19,10 -710,"""Adnan""","""Bob""",19,10 -711,"""Adnan""","""Edgardo""",19,10 -712,"""Adnan""","""Bob""",19,10 -713,"""Adnan""","""Edgardo""",19,10 -714,"""Adnan""","""Bob""",19,10 -715,"""Adnan""","""Edgardo""",19,10 -716,"""Adnan""","""Bob""",19,10 -717,"""Adnan""","""Edgardo""",19,10 -718,"""Adnan""","""Bob""",19,10 -719,"""Adnan""","""Edgardo""",19,10 -720,"""Adnan""","""Bob""",19,10 -721,"""Adnan""","""Edgardo""",19,10 -722,"""Adnan""","""Bob""",19,10 -723,"""Adnan""","""Edgardo""",19,10 -724,"""Adnan""","""Bob""",19,10 -725,"""Adnan""","""Edgardo""",19,10 -726,"""Adnan""","""Bob""",19,10 -727,"""Adnan""","""Edgardo""",19,10 -728,"""Adnan""","""Bob""",19,10 -729,"""Adnan""","""Edgardo""",19,10 -730,"""Adnan""","""Bob""",19,10 -731,"""Adnan""","""Edgardo""",19,10 -732,"""Adnan""","""Bob""",19,10 -733,"""Adnan""","""Edgardo""",19,10 -734,"""Adnan""","""Bob""",19,10 -735,"""Adnan""","""Edgardo""",19,10 -736,"""Adnan""","""Bob""",19,10 -737,"""Adnan""","""Edgardo""",19,10 -738,"""Adnan""","""Bob""",19,10 -739,"""Adnan""","""Edgardo""",19,10 -740,"""Adnan""","""Bob""",19,10 -741,"""Adnan""","""Edgardo""",19,10 -742,"""Adnan""","""Bob""",19,10 -743,"""Adnan""","""Edgardo""",19,10 -744,"""Adnan""","""Bob""",19,10 -745,"""Adnan""","""Edgardo""",19,10 -746,"""Adnan""","""Bob""",19,10 -747,"""Adnan""","""Edgardo""",19,10 -748,"""Adnan""","""Bob""",19,10 -749,"""Adnan""","""Edgardo""",19,10 -750,"""Adnan""","""Bob""",19,10 -751,"""Adnan""","""Edgardo""",19,10 -752,"""Adnan""","""Bob""",19,10 -753,"""Adnan""","""Edgardo""",19,10 -754,"""Adnan""","""Bob""",19,10 -755,"""Adnan""","""Edgardo""",19,10 -756,"""Adnan""","""Bob""",19,10 -757,"""Adnan""","""Edgardo""",19,10 -758,"""Adnan""","""Bob""",19,10 -759,"""Adnan""","""Edgardo""",19,10 -760,"""Adnan""","""Bob""",19,10 -761,"""Adnan""","""Edgardo""",19,10 -762,"""Adnan""","""Bob""",19,10 -763,"""Adnan""","""Edgardo""",19,10 -764,"""Adnan""","""Bob""",19,10 -765,"""Adnan""","""Edgardo""",19,10 -766,"""Adnan""","""Bob""",19,10 -767,"""Adnan""","""Edgardo""",19,10 -768,"""Adnan""","""Bob""",19,10 -769,"""Adnan""","""Edgardo""",19,10 -770,"""Adnan""","""Bob""",19,10 -771,"""Adnan""","""Edgardo""",19,10 -772,"""Adnan""","""Bob""",19,10 -773,"""Adnan""","""Edgardo""",19,10 -774,"""Adnan""","""Bob""",19,10 -775,"""Adnan""","""Edgardo""",19,10 -776,"""Adnan""","""Bob""",19,10 -777,"""Adnan""","""Edgardo""",19,10 -778,"""Adnan""","""Bob""",19,10 -779,"""Adnan""","""Edgardo""",19,10 -780,"""Adnan""","""Bob""",19,10 -781,"""Adnan""","""Edgardo""",19,10 -782,"""Adnan""","""Bob""",19,10 -783,"""Adnan""","""Edgardo""",19,10 -784,"""Adnan""","""Bob""",19,10 -785,"""Adnan""","""Edgardo""",19,10 -786,"""Adnan""","""Bob""",19,10 -787,"""Adnan""","""Edgardo""",19,10 -788,"""Adnan""","""Bob""",19,10 -789,"""Adnan""","""Edgardo""",19,10 -790,"""Adnan""","""Bob""",19,10 -791,"""Adnan""","""Edgardo""",19,10 -792,"""Adnan""","""Bob""",19,10 -793,"""Adnan""","""Edgardo""",19,10 -794,"""Adnan""","""Bob""",19,10 -795,"""Adnan""","""Edgardo""",19,10 -796,"""Adnan""","""Bob""",19,10 -797,"""Adnan""","""Edgardo""",19,10 -798,"""Adnan""","""Bob""",19,10 -799,"""Adnan""","""Edgardo""",19,10 -800,"""Adnan""","""Bob""",19,10 -801,"""Adnan""","""Edgardo""",19,10 -802,"""Adnan""","""Bob""",19,10 -803,"""Adnan""","""Edgardo""",19,10 -804,"""Adnan""","""Bob""",19,10 -805,"""Adnan""","""Edgardo""",19,10 -806,"""Adnan""","""Bob""",19,10 -807,"""Adnan""","""Edgardo""",19,10 -808,"""Adnan""","""Bob""",19,10 -809,"""Adnan""","""Edgardo""",19,10 -810,"""Adnan""","""Bob""",19,10 -811,"""Adnan""","""Edgardo""",19,10 -812,"""Adnan""","""Bob""",19,10 -813,"""Adnan""","""Edgardo""",19,10 -814,"""Adnan""","""Bob""",19,10 -815,"""Adnan""","""Edgardo""",19,10 -816,"""Adnan""","""Bob""",19,10 -817,"""Adnan""","""Edgardo""",19,10 -818,"""Adnan""","""Bob""",19,10 -819,"""Adnan""","""Edgardo""",19,10 -820,"""Adnan""","""Bob""",19,10 -821,"""Adnan""","""Edgardo""",19,10 -822,"""Adnan""","""Bob""",19,10 -823,"""Adnan""","""Edgardo""",19,10 -824,"""Adnan""","""Bob""",19,10 -825,"""Adnan""","""Edgardo""",19,10 -826,"""Adnan""","""Bob""",19,10 -827,"""Adnan""","""Edgardo""",19,10 -828,"""Adnan""","""Bob""",19,10 -829,"""Adnan""","""Edgardo""",19,10 -830,"""Adnan""","""Bob""",19,10 -831,"""Adnan""","""Edgardo""",19,10 -832,"""Adnan""","""Bob""",19,10 -833,"""Adnan""","""Edgardo""",19,10 -834,"""Adnan""","""Bob""",19,10 -835,"""Adnan""","""Edgardo""",19,10 -836,"""Adnan""","""Bob""",19,10 -837,"""Adnan""","""Edgardo""",19,10 -838,"""Adnan""","""Bob""",19,10 -839,"""Adnan""","""Edgardo""",19,10 -840,"""Adnan""","""Bob""",19,10 -841,"""Adnan""","""Edgardo""",19,10 -842,"""Adnan""","""Bob""",19,10 -843,"""Adnan""","""Edgardo""",19,10 -844,"""Adnan""","""Bob""",19,10 -845,"""Adnan""","""Edgardo""",19,10 -846,"""Adnan""","""Bob""",19,10 -847,"""Adnan""","""Edgardo""",19,10 -848,"""Adnan""","""Bob""",19,10 -849,"""Adnan""","""Edgardo""",19,10 -850,"""Adnan""","""Bob""",19,10 -851,"""Adnan""","""Edgardo""",19,10 -852,"""Adnan""","""Bob""",19,10 -853,"""Adnan""","""Edgardo""",19,10 -854,"""Adnan""","""Bob""",19,10 -855,"""Adnan""","""Edgardo""",19,10 -856,"""Adnan""","""Bob""",19,10 -857,"""Adnan""","""Edgardo""",19,10 -858,"""Adnan""","""Bob""",19,10 -859,"""Adnan""","""Edgardo""",19,10 -860,"""Adnan""","""Bob""",19,10 -861,"""Adnan""","""Edgardo""",19,10 -862,"""Adnan""","""Bob""",19,10 -863,"""Adnan""","""Edgardo""",19,10 -864,"""Adnan""","""Bob""",19,10 -865,"""Adnan""","""Edgardo""",19,10 -866,"""Adnan""","""Bob""",19,10 -867,"""Adnan""","""Edgardo""",19,10 -868,"""Adnan""","""Bob""",19,10 -869,"""Adnan""","""Edgardo""",19,10 -870,"""Adnan""","""Bob""",19,10 -871,"""Adnan""","""Edgardo""",19,10 -872,"""Adnan""","""Bob""",19,10 -873,"""Adnan""","""Edgardo""",19,10 -874,"""Adnan""","""Bob""",19,10 -875,"""Adnan""","""Edgardo""",19,10 -876,"""Adnan""","""Bob""",19,10 -877,"""Adnan""","""Edgardo""",19,10 -878,"""Adnan""","""Bob""",19,10 -879,"""Adnan""","""Edgardo""",19,10 -880,"""Adnan""","""Bob""",19,10 -881,"""Adnan""","""Edgardo""",19,10 -882,"""Adnan""","""Bob""",19,10 -883,"""Adnan""","""Edgardo""",19,10 -884,"""Adnan""","""Bob""",19,10 -885,"""Adnan""","""Edgardo""",19,10 -886,"""Adnan""","""Bob""",19,10 -887,"""Adnan""","""Edgardo""",19,10 -888,"""Adnan""","""Bob""",19,10 -889,"""Adnan""","""Edgardo""",19,10 -890,"""Adnan""","""Bob""",19,10 -891,"""Adnan""","""Edgardo""",19,10 -892,"""Adnan""","""Bob""",19,10 -893,"""Adnan""","""Edgardo""",19,10 -894,"""Adnan""","""Bob""",19,10 -895,"""Adnan""","""Edgardo""",19,10 -896,"""Adnan""","""Bob""",19,10 -897,"""Adnan""","""Edgardo""",19,10 -898,"""Adnan""","""Bob""",19,10 -899,"""Adnan""","""Edgardo""",19,10 -900,"""Adnan""","""Bob""",19,10 -901,"""Adnan""","""Edgardo""",19,10 -902,"""Adnan""","""Bob""",19,10 -903,"""Adnan""","""Edgardo""",19,10 -904,"""Adnan""","""Bob""",19,10 -905,"""Adnan""","""Edgardo""",19,10 -906,"""Adnan""","""Bob""",19,10 -907,"""Adnan""","""Edgardo""",19,10 -908,"""Adnan""","""Bob""",19,10 -909,"""Adnan""","""Edgardo""",19,10 -910,"""Adnan""","""Bob""",19,10 -911,"""Adnan""","""Edgardo""",19,10 -912,"""Adnan""","""Bob""",19,10 -913,"""Adnan""","""Edgardo""",19,10 -914,"""Adnan""","""Bob""",19,10 -915,"""Adnan""","""Edgardo""",19,10 -916,"""Adnan""","""Bob""",19,10 -917,"""Adnan""","""Edgardo""",19,10 -918,"""Adnan""","""Bob""",19,10 -919,"""Adnan""","""Edgardo""",19,10 -920,"""Adnan""","""Bob""",19,10 -921,"""Adnan""","""Edgardo""",19,10 -922,"""Adnan""","""Bob""",19,10 -923,"""Adnan""","""Edgardo""",19,10 -924,"""Adnan""","""Bob""",19,10 -925,"""Adnan""","""Edgardo""",19,10 -926,"""Adnan""","""Bob""",19,10 -927,"""Adnan""","""Edgardo""",19,10 -928,"""Adnan""","""Bob""",19,10 -929,"""Adnan""","""Edgardo""",19,10 -930,"""Adnan""","""Bob""",19,10 -931,"""Adnan""","""Edgardo""",19,10 -932,"""Adnan""","""Bob""",19,10 -933,"""Adnan""","""Edgardo""",19,10 -934,"""Adnan""","""Bob""",19,10 -935,"""Adnan""","""Edgardo""",19,10 -936,"""Adnan""","""Bob""",19,10 -937,"""Adnan""","""Edgardo""",19,10 -938,"""Adnan""","""Bob""",19,10 -939,"""Adnan""","""Edgardo""",19,10 -940,"""Adnan""","""Bob""",19,10 -941,"""Adnan""","""Edgardo""",19,10 -942,"""Adnan""","""Bob""",19,10 -943,"""Adnan""","""Edgardo""",19,10 -944,"""Adnan""","""Bob""",19,10 -945,"""Adnan""","""Edgardo""",19,10 -946,"""Adnan""","""Bob""",19,10 -947,"""Adnan""","""Edgardo""",19,10 -948,"""Adnan""","""Bob""",19,10 -949,"""Adnan""","""Edgardo""",19,10 -950,"""Adnan""","""Bob""",19,10 -951,"""Adnan""","""Edgardo""",19,10 -952,"""Adnan""","""Bob""",19,10 -953,"""Adnan""","""Edgardo""",19,10 -954,"""Adnan""","""Bob""",19,10 -955,"""Adnan""","""Edgardo""",19,10 -956,"""Adnan""","""Bob""",19,10 -957,"""Adnan""","""Edgardo""",19,10 -958,"""Adnan""","""Bob""",19,10 -959,"""Adnan""","""Edgardo""",19,10 -960,"""Adnan""","""Bob""",19,10 -961,"""Adnan""","""Edgardo""",19,10 -962,"""Adnan""","""Bob""",19,10 -963,"""Adnan""","""Edgardo""",19,10 -964,"""Adnan""","""Bob""",19,10 -965,"""Adnan""","""Edgardo""",19,10 -966,"""Adnan""","""Bob""",19,10 -967,"""Adnan""","""Edgardo""",19,10 -968,"""Adnan""","""Bob""",19,10 -969,"""Adnan""","""Edgardo""",19,10 -970,"""Adnan""","""Bob""",19,10 -971,"""Adnan""","""Edgardo""",19,10 -972,"""Adnan""","""Bob""",19,10 -973,"""Adnan""","""Edgardo""",19,10 -974,"""Adnan""","""Bob""",19,10 -975,"""Adnan""","""Edgardo""",19,10 -976,"""Adnan""","""Bob""",19,10 -977,"""Adnan""","""Edgardo""",19,10 -978,"""Adnan""","""Bob""",19,10 -979,"""Adnan""","""Edgardo""",19,10 -980,"""Adnan""","""Bob""",19,10 -981,"""Adnan""","""Edgardo""",19,10 -982,"""Adnan""","""Bob""",19,10 -983,"""Adnan""","""Edgardo""",19,10 -984,"""Adnan""","""Bob""",19,10 -985,"""Adnan""","""Edgardo""",19,10 -986,"""Adnan""","""Bob""",19,10 -987,"""Adnan""","""Edgardo""",19,10 -988,"""Adnan""","""Bob""",19,10 -989,"""Adnan""","""Edgardo""",19,10 -990,"""Adnan""","""Bob""",19,10 -991,"""Adnan""","""Edgardo""",19,10 -992,"""Adnan""","""Bob""",19,10 -993,"""Adnan""","""Edgardo""",19,10 -994,"""Adnan""","""Bob""",19,10 -995,"""Adnan""","""Edgardo""",19,10 -996,"""Adnan""","""Bob""",19,10 -997,"""Adnan""","""Edgardo""",19,10 -998,"""Adnan""","""Bob""",19,10 -999,"""Adnan""","""Edgardo""",19,10 -1000,"""Adnan""","""Bob""",19,10 -1001,"""Adnan""","""Edgardo""",19,10 -1002,"""Adnan""","""Bob""",19,10 -1003,"""Adnan""","""Edgardo""",19,10 -1004,"""Adnan""","""Bob""",19,10 -1005,"""Adnan""","""Edgardo""",19,10 -1006,"""Adnan""","""Bob""",19,10 -1007,"""Adnan""","""Edgardo""",19,10 -1008,"""Adnan""","""Bob""",19,10 -1009,"""Adnan""","""Edgardo""",19,10 -1010,"""Adnan""","""Bob""",19,10 \ No newline at end of file diff --git a/Projects/p3-skeleton/cs448p3/src/test/resources/driversBig.json b/Projects/p3-skeleton/cs448p3/src/test/resources/driversBig.json deleted file mode 100644 index 7c7c7c5..0000000 --- a/Projects/p3-skeleton/cs448p3/src/test/resources/driversBig.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "schema": [ - { - "no": 0, - "type": "INTEGER", - "length": 4, - "name": "DriverId" - }, - { - "no": 1, - "type": "STRING", - "length": 20, - "name": "FirstName" - }, - { - "no": 2, - "type": "STRING", - "length": 20, - "name": "LastName" - }, - { - "no": 3, - "type": "FLOAT", - "length": 4, - "name": "Age" - }, - { - "no": 4, - "type": "INTEGER", - "length": 4, - "name": "NumSeats" - } - ], - "key": 3 -} diff --git a/Projects/p3-skeleton/cs448p3/src/test/resources/groups.csv b/Projects/p3-skeleton/cs448p3/src/test/resources/groups.csv deleted file mode 100644 index ce95fe1..0000000 --- a/Projects/p3-skeleton/cs448p3/src/test/resources/groups.csv +++ /dev/null @@ -1,7 +0,0 @@ -1, "Purdue1" -2, "Purdue2" -3, "Purdue3" -4, "Purdue4" -5, "Purdue5" -6, "Purdue6" -7, "Purdue7" diff --git a/Projects/p3-skeleton/cs448p3/src/test/resources/groups.json b/Projects/p3-skeleton/cs448p3/src/test/resources/groups.json deleted file mode 100644 index f0858c0..0000000 --- a/Projects/p3-skeleton/cs448p3/src/test/resources/groups.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "schema": [ - { - "no": 0, - "type": "INTEGER", - "length": 4, - "name": "GroupId" - }, - { - "no": 1, - "type": "STRING", - "length": 10, - "name": "GroupName" - } - ], - "key": 0 -} diff --git a/Projects/p3-skeleton/cs448p3/src/test/resources/groupsBig.csv b/Projects/p3-skeleton/cs448p3/src/test/resources/groupsBig.csv deleted file mode 100644 index bc08997..0000000 --- a/Projects/p3-skeleton/cs448p3/src/test/resources/groupsBig.csv +++ /dev/null @@ -1,10 +0,0 @@ -1," ""Purdue1""" -2," ""Purdue2""" -3," ""Purdue3""" -4," ""Purdue4""" -5," ""Purdue5""" -6," ""Purdue6""" -7," ""Purdue7""" -8," ""Purdue8""" -9," ""Purdue9""" -10," ""Purdue10""" \ No newline at end of file diff --git a/Projects/p3-skeleton/cs448p3/src/test/resources/groupsBig.json b/Projects/p3-skeleton/cs448p3/src/test/resources/groupsBig.json deleted file mode 100644 index f0858c0..0000000 --- a/Projects/p3-skeleton/cs448p3/src/test/resources/groupsBig.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "schema": [ - { - "no": 0, - "type": "INTEGER", - "length": 4, - "name": "GroupId" - }, - { - "no": 1, - "type": "STRING", - "length": 10, - "name": "GroupName" - } - ], - "key": 0 -} diff --git a/Projects/p3-skeleton/cs448p3/src/test/resources/rides.csv b/Projects/p3-skeleton/cs448p3/src/test/resources/rides.csv deleted file mode 100644 index b6acb3c..0000000 --- a/Projects/p3-skeleton/cs448p3/src/test/resources/rides.csv +++ /dev/null @@ -1,12 +0,0 @@ -3, 5, "2/10/2006", "2/13/2006" -1, 2, "2/12/2006", "2/14/2006" -9, 1, "2/15/2006", "2/15/2006" -5, 7, "2/14/2006", "2/18/2006" -1, 3, "2/15/2006", "2/16/2006" -2, 6, "2/17/2006", "2/20/2006" -3, 4, "2/18/2006", "2/19/2006" -4, 1, "2/19/2006", "2/19/2006" -2, 7, "2/18/2006", "2/23/2006" -8, 5, "2/20/2006", "2/22/2006" -3, 2, "2/24/2006", "2/26/2006" -6, 6, "2/25/2006", "2/26/2006" \ No newline at end of file diff --git a/Projects/p3-skeleton/cs448p3/src/test/resources/rides.json b/Projects/p3-skeleton/cs448p3/src/test/resources/rides.json deleted file mode 100644 index 041754b..0000000 --- a/Projects/p3-skeleton/cs448p3/src/test/resources/rides.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "schema": [ - { - "no": 0, - "type": "INTEGER", - "length": 4, - "name": "DriverId" - }, - { - "no": 1, - "type": "INTEGER", - "length": 4, - "name": "GroupId" - }, - { - "no": 2, - "type": "STRING", - "length": 10, - "name": "FromDate" - }, - { - "no": 3, - "type": "STRING", - "length": 10, - "name": "ToDate" - } - ], - "key": 1 -} diff --git a/Projects/p3-skeleton/cs448p3/src/test/resources/ridesBig.csv b/Projects/p3-skeleton/cs448p3/src/test/resources/ridesBig.csv deleted file mode 100644 index 338c7fd..0000000 --- a/Projects/p3-skeleton/cs448p3/src/test/resources/ridesBig.csv +++ /dev/null @@ -1,1000 +0,0 @@ -1,1," ""2/10/2006"""," ""2/13/2006""" -2,2," ""2/12/2006"""," ""2/14/2006""" -3,3," ""2/15/2006"""," ""2/15/2006""" -4,4," ""2/14/2006"""," ""2/18/2006""" -5,5," ""2/15/2006"""," ""2/16/2006""" -6,6," ""2/17/2006"""," ""2/20/2006""" -7,7," ""2/18/2006"""," ""2/19/2006""" -8,8," ""2/19/2006"""," ""2/19/2006""" -9,9," ""2/18/2006"""," ""2/23/2006""" -10,10," ""2/20/2006"""," ""2/22/2006""" -11,1," ""2/24/2006"""," ""2/26/2006""" -12,2," ""2/25/2006"""," ""2/26/2006""" -13,3," ""2/10/2006"""," ""2/13/2006""" -14,4," ""2/12/2006"""," ""2/14/2006""" -15,5," ""2/15/2006"""," ""2/15/2006""" -16,6," ""2/14/2006"""," ""2/18/2006""" -17,7," ""2/15/2006"""," ""2/16/2006""" -18,8," ""2/17/2006"""," ""2/20/2006""" -19,9," ""2/18/2006"""," ""2/19/2006""" -20,10," ""2/19/2006"""," ""2/19/2006""" -21,1," ""2/18/2006"""," ""2/23/2006""" -22,2," ""2/20/2006"""," ""2/22/2006""" -23,3," ""2/24/2006"""," ""2/26/2006""" -24,4," ""2/25/2006"""," ""2/26/2006""" -25,5," ""2/10/2006"""," ""2/13/2006""" -26,6," ""2/12/2006"""," ""2/14/2006""" -27,7," ""2/15/2006"""," ""2/15/2006""" -28,8," ""2/14/2006"""," ""2/18/2006""" -29,9," ""2/15/2006"""," ""2/16/2006""" -30,10," ""2/17/2006"""," ""2/20/2006""" -31,1," ""2/18/2006"""," ""2/19/2006""" -32,2," ""2/19/2006"""," ""2/19/2006""" -33,3," ""2/18/2006"""," ""2/23/2006""" -34,4," ""2/20/2006"""," ""2/22/2006""" -35,5," ""2/24/2006"""," ""2/26/2006""" -36,6," ""2/25/2006"""," ""2/26/2006""" -37,7," ""2/10/2006"""," ""2/13/2006""" -38,8," ""2/12/2006"""," ""2/14/2006""" -39,9," ""2/15/2006"""," ""2/15/2006""" -40,10," ""2/14/2006"""," ""2/18/2006""" -41,1," ""2/15/2006"""," ""2/16/2006""" -42,2," ""2/17/2006"""," ""2/20/2006""" -43,3," ""2/18/2006"""," ""2/19/2006""" -44,4," ""2/19/2006"""," ""2/19/2006""" -45,5," ""2/18/2006"""," ""2/23/2006""" -46,6," ""2/20/2006"""," ""2/22/2006""" -47,7," ""2/24/2006"""," ""2/26/2006""" -48,8," ""2/25/2006"""," ""2/26/2006""" -49,9," ""2/10/2006"""," ""2/13/2006""" -50,10," ""2/12/2006"""," ""2/14/2006""" -51,1," ""2/15/2006"""," ""2/15/2006""" -52,2," ""2/14/2006"""," ""2/18/2006""" -53,3," ""2/15/2006"""," ""2/16/2006""" -54,4," ""2/17/2006"""," ""2/20/2006""" -55,5," ""2/18/2006"""," ""2/19/2006""" -56,6," ""2/19/2006"""," ""2/19/2006""" -57,7," ""2/18/2006"""," ""2/23/2006""" -58,8," ""2/20/2006"""," ""2/22/2006""" -59,9," ""2/24/2006"""," ""2/26/2006""" -60,10," ""2/25/2006"""," ""2/26/2006""" -61,1," ""2/10/2006"""," ""2/13/2006""" -62,2," ""2/12/2006"""," ""2/14/2006""" -63,3," ""2/15/2006"""," ""2/15/2006""" -64,4," ""2/14/2006"""," ""2/18/2006""" -65,5," ""2/15/2006"""," ""2/16/2006""" -66,6," ""2/17/2006"""," ""2/20/2006""" -67,7," ""2/18/2006"""," ""2/19/2006""" -68,8," ""2/19/2006"""," ""2/19/2006""" -69,9," ""2/18/2006"""," ""2/23/2006""" -70,10," ""2/20/2006"""," ""2/22/2006""" -71,1," ""2/24/2006"""," ""2/26/2006""" -72,2," ""2/25/2006"""," ""2/26/2006""" -73,3," ""2/10/2006"""," ""2/13/2006""" -74,4," ""2/12/2006"""," ""2/14/2006""" -75,5," ""2/15/2006"""," ""2/15/2006""" -76,6," ""2/14/2006"""," ""2/18/2006""" -77,7," ""2/15/2006"""," ""2/16/2006""" -78,8," ""2/17/2006"""," ""2/20/2006""" -79,9," ""2/18/2006"""," ""2/19/2006""" -80,10," ""2/19/2006"""," ""2/19/2006""" -81,1," ""2/18/2006"""," ""2/23/2006""" -82,2," ""2/20/2006"""," ""2/22/2006""" -83,3," ""2/24/2006"""," ""2/26/2006""" -84,4," ""2/25/2006"""," ""2/26/2006""" -85,5," ""2/10/2006"""," ""2/13/2006""" -86,6," ""2/12/2006"""," ""2/14/2006""" -87,7," ""2/15/2006"""," ""2/15/2006""" -88,8," ""2/14/2006"""," ""2/18/2006""" -89,9," ""2/15/2006"""," ""2/16/2006""" -90,10," ""2/17/2006"""," ""2/20/2006""" -91,1," ""2/18/2006"""," ""2/19/2006""" -92,2," ""2/19/2006"""," ""2/19/2006""" -93,3," ""2/18/2006"""," ""2/23/2006""" -94,4," ""2/20/2006"""," ""2/22/2006""" -95,5," ""2/24/2006"""," ""2/26/2006""" -96,6," ""2/25/2006"""," ""2/26/2006""" -97,7," ""2/10/2006"""," ""2/13/2006""" -98,8," ""2/12/2006"""," ""2/14/2006""" -99,9," ""2/15/2006"""," ""2/15/2006""" -100,10," ""2/14/2006"""," ""2/18/2006""" -101,1," ""2/15/2006"""," ""2/16/2006""" -102,2," ""2/17/2006"""," ""2/20/2006""" -103,3," ""2/18/2006"""," ""2/19/2006""" -104,4," ""2/19/2006"""," ""2/19/2006""" -105,5," ""2/18/2006"""," ""2/23/2006""" -106,6," ""2/20/2006"""," ""2/22/2006""" -107,7," ""2/24/2006"""," ""2/26/2006""" -108,8," ""2/25/2006"""," ""2/26/2006""" -109,9," ""2/10/2006"""," ""2/13/2006""" -110,10," ""2/12/2006"""," ""2/14/2006""" -111,1," ""2/15/2006"""," ""2/15/2006""" -112,2," ""2/14/2006"""," ""2/18/2006""" -113,3," ""2/15/2006"""," ""2/16/2006""" -114,4," ""2/17/2006"""," ""2/20/2006""" -115,5," ""2/18/2006"""," ""2/19/2006""" -116,6," ""2/19/2006"""," ""2/19/2006""" -117,7," ""2/18/2006"""," ""2/23/2006""" -118,8," ""2/20/2006"""," ""2/22/2006""" -119,9," ""2/24/2006"""," ""2/26/2006""" -120,10," ""2/25/2006"""," ""2/26/2006""" -121,1," ""2/10/2006"""," ""2/13/2006""" -122,2," ""2/12/2006"""," ""2/14/2006""" -123,3," ""2/15/2006"""," ""2/15/2006""" -124,4," ""2/14/2006"""," ""2/18/2006""" -125,5," ""2/15/2006"""," ""2/16/2006""" -126,6," ""2/17/2006"""," ""2/20/2006""" -127,7," ""2/18/2006"""," ""2/19/2006""" -128,8," ""2/19/2006"""," ""2/19/2006""" -129,9," ""2/18/2006"""," ""2/23/2006""" -130,10," ""2/20/2006"""," ""2/22/2006""" -131,1," ""2/24/2006"""," ""2/26/2006""" -132,2," ""2/25/2006"""," ""2/26/2006""" -133,3," ""2/10/2006"""," ""2/13/2006""" -134,4," ""2/12/2006"""," ""2/14/2006""" -135,5," ""2/15/2006"""," ""2/15/2006""" -136,6," ""2/14/2006"""," ""2/18/2006""" -137,7," ""2/15/2006"""," ""2/16/2006""" -138,8," ""2/17/2006"""," ""2/20/2006""" -139,9," ""2/18/2006"""," ""2/19/2006""" -140,10," ""2/19/2006"""," ""2/19/2006""" -141,1," ""2/18/2006"""," ""2/23/2006""" -142,2," ""2/20/2006"""," ""2/22/2006""" -143,3," ""2/24/2006"""," ""2/26/2006""" -144,4," ""2/25/2006"""," ""2/26/2006""" -145,5," ""2/10/2006"""," ""2/13/2006""" -146,6," ""2/12/2006"""," ""2/14/2006""" -147,7," ""2/15/2006"""," ""2/15/2006""" -148,8," ""2/14/2006"""," ""2/18/2006""" -149,9," ""2/15/2006"""," ""2/16/2006""" -150,10," ""2/17/2006"""," ""2/20/2006""" -151,1," ""2/18/2006"""," ""2/19/2006""" -152,2," ""2/19/2006"""," ""2/19/2006""" -153,3," ""2/18/2006"""," ""2/23/2006""" -154,4," ""2/20/2006"""," ""2/22/2006""" -155,5," ""2/24/2006"""," ""2/26/2006""" -156,6," ""2/25/2006"""," ""2/26/2006""" -157,7," ""2/10/2006"""," ""2/13/2006""" -158,8," ""2/12/2006"""," ""2/14/2006""" -159,9," ""2/15/2006"""," ""2/15/2006""" -160,10," ""2/14/2006"""," ""2/18/2006""" -161,1," ""2/15/2006"""," ""2/16/2006""" -162,2," ""2/17/2006"""," ""2/20/2006""" -163,3," ""2/18/2006"""," ""2/19/2006""" -164,4," ""2/19/2006"""," ""2/19/2006""" -165,5," ""2/18/2006"""," ""2/23/2006""" -166,6," ""2/20/2006"""," ""2/22/2006""" -167,7," ""2/24/2006"""," ""2/26/2006""" -168,8," ""2/25/2006"""," ""2/26/2006""" -169,9," ""2/10/2006"""," ""2/13/2006""" -170,10," ""2/12/2006"""," ""2/14/2006""" -171,1," ""2/15/2006"""," ""2/15/2006""" -172,2," ""2/14/2006"""," ""2/18/2006""" -173,3," ""2/15/2006"""," ""2/16/2006""" -174,4," ""2/17/2006"""," ""2/20/2006""" -175,5," ""2/18/2006"""," ""2/19/2006""" -176,6," ""2/19/2006"""," ""2/19/2006""" -177,7," ""2/18/2006"""," ""2/23/2006""" -178,8," ""2/20/2006"""," ""2/22/2006""" -179,9," ""2/24/2006"""," ""2/26/2006""" -180,10," ""2/25/2006"""," ""2/26/2006""" -181,1," ""2/10/2006"""," ""2/13/2006""" -182,2," ""2/12/2006"""," ""2/14/2006""" -183,3," ""2/15/2006"""," ""2/15/2006""" -184,4," ""2/14/2006"""," ""2/18/2006""" -185,5," ""2/15/2006"""," ""2/16/2006""" -186,6," ""2/17/2006"""," ""2/20/2006""" -187,7," ""2/18/2006"""," ""2/19/2006""" -188,8," ""2/19/2006"""," ""2/19/2006""" -189,9," ""2/18/2006"""," ""2/23/2006""" -190,10," ""2/20/2006"""," ""2/22/2006""" -191,1," ""2/24/2006"""," ""2/26/2006""" -192,2," ""2/25/2006"""," ""2/26/2006""" -193,3," ""2/10/2006"""," ""2/13/2006""" -194,4," ""2/12/2006"""," ""2/14/2006""" -195,5," ""2/15/2006"""," ""2/15/2006""" -196,6," ""2/14/2006"""," ""2/18/2006""" -197,7," ""2/15/2006"""," ""2/16/2006""" -198,8," ""2/17/2006"""," ""2/20/2006""" -199,9," ""2/18/2006"""," ""2/19/2006""" -200,10," ""2/19/2006"""," ""2/19/2006""" -201,1," ""2/18/2006"""," ""2/23/2006""" -202,2," ""2/20/2006"""," ""2/22/2006""" -203,3," ""2/24/2006"""," ""2/26/2006""" -204,4," ""2/25/2006"""," ""2/26/2006""" -205,5," ""2/10/2006"""," ""2/13/2006""" -206,6," ""2/12/2006"""," ""2/14/2006""" -207,7," ""2/15/2006"""," ""2/15/2006""" -208,8," ""2/14/2006"""," ""2/18/2006""" -209,9," ""2/15/2006"""," ""2/16/2006""" -210,10," ""2/17/2006"""," ""2/20/2006""" -211,1," ""2/18/2006"""," ""2/19/2006""" -212,2," ""2/19/2006"""," ""2/19/2006""" -213,3," ""2/18/2006"""," ""2/23/2006""" -214,4," ""2/20/2006"""," ""2/22/2006""" -215,5," ""2/24/2006"""," ""2/26/2006""" -216,6," ""2/25/2006"""," ""2/26/2006""" -217,7," ""2/10/2006"""," ""2/13/2006""" -218,8," ""2/12/2006"""," ""2/14/2006""" -219,9," ""2/15/2006"""," ""2/15/2006""" -220,10," ""2/14/2006"""," ""2/18/2006""" -221,1," ""2/15/2006"""," ""2/16/2006""" -222,2," ""2/17/2006"""," ""2/20/2006""" -223,3," ""2/18/2006"""," ""2/19/2006""" -224,4," ""2/19/2006"""," ""2/19/2006""" -225,5," ""2/18/2006"""," ""2/23/2006""" -226,6," ""2/20/2006"""," ""2/22/2006""" -227,7," ""2/24/2006"""," ""2/26/2006""" -228,8," ""2/25/2006"""," ""2/26/2006""" -229,9," ""2/10/2006"""," ""2/13/2006""" -230,10," ""2/12/2006"""," ""2/14/2006""" -231,1," ""2/15/2006"""," ""2/15/2006""" -232,2," ""2/14/2006"""," ""2/18/2006""" -233,3," ""2/15/2006"""," ""2/16/2006""" -234,4," ""2/17/2006"""," ""2/20/2006""" -235,5," ""2/18/2006"""," ""2/19/2006""" -236,6," ""2/19/2006"""," ""2/19/2006""" -237,7," ""2/18/2006"""," ""2/23/2006""" -238,8," ""2/20/2006"""," ""2/22/2006""" -239,9," ""2/24/2006"""," ""2/26/2006""" -240,10," ""2/25/2006"""," ""2/26/2006""" -241,1," ""2/10/2006"""," ""2/13/2006""" -242,2," ""2/12/2006"""," ""2/14/2006""" -243,3," ""2/15/2006"""," ""2/15/2006""" -244,4," ""2/14/2006"""," ""2/18/2006""" -245,5," ""2/15/2006"""," ""2/16/2006""" -246,6," ""2/17/2006"""," ""2/20/2006""" -247,7," ""2/18/2006"""," ""2/19/2006""" -248,8," ""2/19/2006"""," ""2/19/2006""" -249,9," ""2/18/2006"""," ""2/23/2006""" -250,10," ""2/20/2006"""," ""2/22/2006""" -251,1," ""2/24/2006"""," ""2/26/2006""" -252,2," ""2/25/2006"""," ""2/26/2006""" -253,3," ""2/10/2006"""," ""2/13/2006""" -254,4," ""2/12/2006"""," ""2/14/2006""" -255,5," ""2/15/2006"""," ""2/15/2006""" -256,6," ""2/14/2006"""," ""2/18/2006""" -257,7," ""2/15/2006"""," ""2/16/2006""" -258,8," ""2/17/2006"""," ""2/20/2006""" -259,9," ""2/18/2006"""," ""2/19/2006""" -260,10," ""2/19/2006"""," ""2/19/2006""" -261,1," ""2/18/2006"""," ""2/23/2006""" -262,2," ""2/20/2006"""," ""2/22/2006""" -263,3," ""2/24/2006"""," ""2/26/2006""" -264,4," ""2/25/2006"""," ""2/26/2006""" -265,5," ""2/10/2006"""," ""2/13/2006""" -266,6," ""2/12/2006"""," ""2/14/2006""" -267,7," ""2/15/2006"""," ""2/15/2006""" -268,8," ""2/14/2006"""," ""2/18/2006""" -269,9," ""2/15/2006"""," ""2/16/2006""" -270,10," ""2/17/2006"""," ""2/20/2006""" -271,1," ""2/18/2006"""," ""2/19/2006""" -272,2," ""2/19/2006"""," ""2/19/2006""" -273,3," ""2/18/2006"""," ""2/23/2006""" -274,4," ""2/20/2006"""," ""2/22/2006""" -275,5," ""2/24/2006"""," ""2/26/2006""" -276,6," ""2/25/2006"""," ""2/26/2006""" -277,7," ""2/10/2006"""," ""2/13/2006""" -278,8," ""2/12/2006"""," ""2/14/2006""" -279,9," ""2/15/2006"""," ""2/15/2006""" -280,10," ""2/14/2006"""," ""2/18/2006""" -281,1," ""2/15/2006"""," ""2/16/2006""" -282,2," ""2/17/2006"""," ""2/20/2006""" -283,3," ""2/18/2006"""," ""2/19/2006""" -284,4," ""2/19/2006"""," ""2/19/2006""" -285,5," ""2/18/2006"""," ""2/23/2006""" -286,6," ""2/20/2006"""," ""2/22/2006""" -287,7," ""2/24/2006"""," ""2/26/2006""" -288,8," ""2/25/2006"""," ""2/26/2006""" -289,9," ""2/10/2006"""," ""2/13/2006""" -290,10," ""2/12/2006"""," ""2/14/2006""" -291,1," ""2/15/2006"""," ""2/15/2006""" -292,2," ""2/14/2006"""," ""2/18/2006""" -293,3," ""2/15/2006"""," ""2/16/2006""" -294,4," ""2/17/2006"""," ""2/20/2006""" -295,5," ""2/18/2006"""," ""2/19/2006""" -296,6," ""2/19/2006"""," ""2/19/2006""" -297,7," ""2/18/2006"""," ""2/23/2006""" -298,8," ""2/20/2006"""," ""2/22/2006""" -299,9," ""2/24/2006"""," ""2/26/2006""" -300,10," ""2/25/2006"""," ""2/26/2006""" -301,1," ""2/10/2006"""," ""2/13/2006""" -302,2," ""2/12/2006"""," ""2/14/2006""" -303,3," ""2/15/2006"""," ""2/15/2006""" -304,4," ""2/14/2006"""," ""2/18/2006""" -305,5," ""2/15/2006"""," ""2/16/2006""" -306,6," ""2/17/2006"""," ""2/20/2006""" -307,7," ""2/18/2006"""," ""2/19/2006""" -308,8," ""2/19/2006"""," ""2/19/2006""" -309,9," ""2/18/2006"""," ""2/23/2006""" -310,10," ""2/20/2006"""," ""2/22/2006""" -311,1," ""2/24/2006"""," ""2/26/2006""" -312,2," ""2/25/2006"""," ""2/26/2006""" -313,3," ""2/10/2006"""," ""2/13/2006""" -314,4," ""2/12/2006"""," ""2/14/2006""" -315,5," ""2/15/2006"""," ""2/15/2006""" -316,6," ""2/14/2006"""," ""2/18/2006""" -317,7," ""2/15/2006"""," ""2/16/2006""" -318,8," ""2/17/2006"""," ""2/20/2006""" -319,9," ""2/18/2006"""," ""2/19/2006""" -320,10," ""2/19/2006"""," ""2/19/2006""" -321,1," ""2/18/2006"""," ""2/23/2006""" -322,2," ""2/20/2006"""," ""2/22/2006""" -323,3," ""2/24/2006"""," ""2/26/2006""" -324,4," ""2/25/2006"""," ""2/26/2006""" -325,5," ""2/10/2006"""," ""2/13/2006""" -326,6," ""2/12/2006"""," ""2/14/2006""" -327,7," ""2/15/2006"""," ""2/15/2006""" -328,8," ""2/14/2006"""," ""2/18/2006""" -329,9," ""2/15/2006"""," ""2/16/2006""" -330,10," ""2/17/2006"""," ""2/20/2006""" -331,1," ""2/18/2006"""," ""2/19/2006""" -332,2," ""2/19/2006"""," ""2/19/2006""" -333,3," ""2/18/2006"""," ""2/23/2006""" -334,4," ""2/20/2006"""," ""2/22/2006""" -335,5," ""2/24/2006"""," ""2/26/2006""" -336,6," ""2/25/2006"""," ""2/26/2006""" -337,7," ""2/10/2006"""," ""2/13/2006""" -338,8," ""2/12/2006"""," ""2/14/2006""" -339,9," ""2/15/2006"""," ""2/15/2006""" -340,10," ""2/14/2006"""," ""2/18/2006""" -341,1," ""2/15/2006"""," ""2/16/2006""" -342,2," ""2/17/2006"""," ""2/20/2006""" -343,3," ""2/18/2006"""," ""2/19/2006""" -344,4," ""2/19/2006"""," ""2/19/2006""" -345,5," ""2/18/2006"""," ""2/23/2006""" -346,6," ""2/20/2006"""," ""2/22/2006""" -347,7," ""2/24/2006"""," ""2/26/2006""" -348,8," ""2/25/2006"""," ""2/26/2006""" -349,9," ""2/10/2006"""," ""2/13/2006""" -350,10," ""2/12/2006"""," ""2/14/2006""" -351,1," ""2/15/2006"""," ""2/15/2006""" -352,2," ""2/14/2006"""," ""2/18/2006""" -353,3," ""2/15/2006"""," ""2/16/2006""" -354,4," ""2/17/2006"""," ""2/20/2006""" -355,5," ""2/18/2006"""," ""2/19/2006""" -356,6," ""2/19/2006"""," ""2/19/2006""" -357,7," ""2/18/2006"""," ""2/23/2006""" -358,8," ""2/20/2006"""," ""2/22/2006""" -359,9," ""2/24/2006"""," ""2/26/2006""" -360,10," ""2/25/2006"""," ""2/26/2006""" -361,1," ""2/10/2006"""," ""2/13/2006""" -362,2," ""2/12/2006"""," ""2/14/2006""" -363,3," ""2/15/2006"""," ""2/15/2006""" -364,4," ""2/14/2006"""," ""2/18/2006""" -365,5," ""2/15/2006"""," ""2/16/2006""" -366,6," ""2/17/2006"""," ""2/20/2006""" -367,7," ""2/18/2006"""," ""2/19/2006""" -368,8," ""2/19/2006"""," ""2/19/2006""" -369,9," ""2/18/2006"""," ""2/23/2006""" -370,10," ""2/20/2006"""," ""2/22/2006""" -371,1," ""2/24/2006"""," ""2/26/2006""" -372,2," ""2/25/2006"""," ""2/26/2006""" -373,3," ""2/10/2006"""," ""2/13/2006""" -374,4," ""2/12/2006"""," ""2/14/2006""" -375,5," ""2/15/2006"""," ""2/15/2006""" -376,6," ""2/14/2006"""," ""2/18/2006""" -377,7," ""2/15/2006"""," ""2/16/2006""" -378,8," ""2/17/2006"""," ""2/20/2006""" -379,9," ""2/18/2006"""," ""2/19/2006""" -380,10," ""2/19/2006"""," ""2/19/2006""" -381,1," ""2/18/2006"""," ""2/23/2006""" -382,2," ""2/20/2006"""," ""2/22/2006""" -383,3," ""2/24/2006"""," ""2/26/2006""" -384,4," ""2/25/2006"""," ""2/26/2006""" -385,5," ""2/10/2006"""," ""2/13/2006""" -386,6," ""2/12/2006"""," ""2/14/2006""" -387,7," ""2/15/2006"""," ""2/15/2006""" -388,8," ""2/14/2006"""," ""2/18/2006""" -389,9," ""2/15/2006"""," ""2/16/2006""" -390,10," ""2/17/2006"""," ""2/20/2006""" -391,1," ""2/18/2006"""," ""2/19/2006""" -392,2," ""2/19/2006"""," ""2/19/2006""" -393,3," ""2/18/2006"""," ""2/23/2006""" -394,4," ""2/20/2006"""," ""2/22/2006""" -395,5," ""2/24/2006"""," ""2/26/2006""" -396,6," ""2/25/2006"""," ""2/26/2006""" -397,7," ""2/10/2006"""," ""2/13/2006""" -398,8," ""2/12/2006"""," ""2/14/2006""" -399,9," ""2/15/2006"""," ""2/15/2006""" -400,10," ""2/14/2006"""," ""2/18/2006""" -401,1," ""2/15/2006"""," ""2/16/2006""" -402,2," ""2/17/2006"""," ""2/20/2006""" -403,3," ""2/18/2006"""," ""2/19/2006""" -404,4," ""2/19/2006"""," ""2/19/2006""" -405,5," ""2/18/2006"""," ""2/23/2006""" -406,6," ""2/20/2006"""," ""2/22/2006""" -407,7," ""2/24/2006"""," ""2/26/2006""" -408,8," ""2/25/2006"""," ""2/26/2006""" -409,9," ""2/10/2006"""," ""2/13/2006""" -410,10," ""2/12/2006"""," ""2/14/2006""" -411,1," ""2/15/2006"""," ""2/15/2006""" -412,2," ""2/14/2006"""," ""2/18/2006""" -413,3," ""2/15/2006"""," ""2/16/2006""" -414,4," ""2/17/2006"""," ""2/20/2006""" -415,5," ""2/18/2006"""," ""2/19/2006""" -416,6," ""2/19/2006"""," ""2/19/2006""" -417,7," ""2/18/2006"""," ""2/23/2006""" -418,8," ""2/20/2006"""," ""2/22/2006""" -419,9," ""2/24/2006"""," ""2/26/2006""" -420,10," ""2/25/2006"""," ""2/26/2006""" -421,1," ""2/10/2006"""," ""2/13/2006""" -422,2," ""2/12/2006"""," ""2/14/2006""" -423,3," ""2/15/2006"""," ""2/15/2006""" -424,4," ""2/14/2006"""," ""2/18/2006""" -425,5," ""2/15/2006"""," ""2/16/2006""" -426,6," ""2/17/2006"""," ""2/20/2006""" -427,7," ""2/18/2006"""," ""2/19/2006""" -428,8," ""2/19/2006"""," ""2/19/2006""" -429,9," ""2/18/2006"""," ""2/23/2006""" -430,10," ""2/20/2006"""," ""2/22/2006""" -431,1," ""2/24/2006"""," ""2/26/2006""" -432,2," ""2/25/2006"""," ""2/26/2006""" -433,3," ""2/10/2006"""," ""2/13/2006""" -434,4," ""2/12/2006"""," ""2/14/2006""" -435,5," ""2/15/2006"""," ""2/15/2006""" -436,6," ""2/14/2006"""," ""2/18/2006""" -437,7," ""2/15/2006"""," ""2/16/2006""" -438,8," ""2/17/2006"""," ""2/20/2006""" -439,9," ""2/18/2006"""," ""2/19/2006""" -440,10," ""2/19/2006"""," ""2/19/2006""" -441,1," ""2/18/2006"""," ""2/23/2006""" -442,2," ""2/20/2006"""," ""2/22/2006""" -443,3," ""2/24/2006"""," ""2/26/2006""" -444,4," ""2/25/2006"""," ""2/26/2006""" -445,5," ""2/10/2006"""," ""2/13/2006""" -446,6," ""2/12/2006"""," ""2/14/2006""" -447,7," ""2/15/2006"""," ""2/15/2006""" -448,8," ""2/14/2006"""," ""2/18/2006""" -449,9," ""2/15/2006"""," ""2/16/2006""" -450,10," ""2/17/2006"""," ""2/20/2006""" -451,1," ""2/18/2006"""," ""2/19/2006""" -452,2," ""2/19/2006"""," ""2/19/2006""" -453,3," ""2/18/2006"""," ""2/23/2006""" -454,4," ""2/20/2006"""," ""2/22/2006""" -455,5," ""2/24/2006"""," ""2/26/2006""" -456,6," ""2/25/2006"""," ""2/26/2006""" -457,7," ""2/10/2006"""," ""2/13/2006""" -458,8," ""2/12/2006"""," ""2/14/2006""" -459,9," ""2/15/2006"""," ""2/15/2006""" -460,10," ""2/14/2006"""," ""2/18/2006""" -461,1," ""2/15/2006"""," ""2/16/2006""" -462,2," ""2/17/2006"""," ""2/20/2006""" -463,3," ""2/18/2006"""," ""2/19/2006""" -464,4," ""2/19/2006"""," ""2/19/2006""" -465,5," ""2/18/2006"""," ""2/23/2006""" -466,6," ""2/20/2006"""," ""2/22/2006""" -467,7," ""2/24/2006"""," ""2/26/2006""" -468,8," ""2/25/2006"""," ""2/26/2006""" -469,9," ""2/10/2006"""," ""2/13/2006""" -470,10," ""2/12/2006"""," ""2/14/2006""" -471,1," ""2/15/2006"""," ""2/15/2006""" -472,2," ""2/14/2006"""," ""2/18/2006""" -473,3," ""2/15/2006"""," ""2/16/2006""" -474,4," ""2/17/2006"""," ""2/20/2006""" -475,5," ""2/18/2006"""," ""2/19/2006""" -476,6," ""2/19/2006"""," ""2/19/2006""" -477,7," ""2/18/2006"""," ""2/23/2006""" -478,8," ""2/20/2006"""," ""2/22/2006""" -479,9," ""2/24/2006"""," ""2/26/2006""" -480,10," ""2/25/2006"""," ""2/26/2006""" -481,1," ""2/10/2006"""," ""2/13/2006""" -482,2," ""2/12/2006"""," ""2/14/2006""" -483,3," ""2/15/2006"""," ""2/15/2006""" -484,4," ""2/14/2006"""," ""2/18/2006""" -485,5," ""2/15/2006"""," ""2/16/2006""" -486,6," ""2/17/2006"""," ""2/20/2006""" -487,7," ""2/18/2006"""," ""2/19/2006""" -488,8," ""2/19/2006"""," ""2/19/2006""" -489,9," ""2/18/2006"""," ""2/23/2006""" -490,10," ""2/20/2006"""," ""2/22/2006""" -491,1," ""2/24/2006"""," ""2/26/2006""" -492,2," ""2/25/2006"""," ""2/26/2006""" -493,3," ""2/10/2006"""," ""2/13/2006""" -494,4," ""2/12/2006"""," ""2/14/2006""" -495,5," ""2/15/2006"""," ""2/15/2006""" -496,6," ""2/14/2006"""," ""2/18/2006""" -497,7," ""2/15/2006"""," ""2/16/2006""" -498,8," ""2/17/2006"""," ""2/20/2006""" -499,9," ""2/18/2006"""," ""2/19/2006""" -500,10," ""2/19/2006"""," ""2/19/2006""" -501,1," ""2/18/2006"""," ""2/23/2006""" -502,2," ""2/20/2006"""," ""2/22/2006""" -503,3," ""2/24/2006"""," ""2/26/2006""" -504,4," ""2/25/2006"""," ""2/26/2006""" -505,5," ""2/10/2006"""," ""2/13/2006""" -506,6," ""2/12/2006"""," ""2/14/2006""" -507,7," ""2/15/2006"""," ""2/15/2006""" -508,8," ""2/14/2006"""," ""2/18/2006""" -509,9," ""2/15/2006"""," ""2/16/2006""" -510,10," ""2/17/2006"""," ""2/20/2006""" -511,1," ""2/18/2006"""," ""2/19/2006""" -512,2," ""2/19/2006"""," ""2/19/2006""" -513,3," ""2/18/2006"""," ""2/23/2006""" -514,4," ""2/20/2006"""," ""2/22/2006""" -515,5," ""2/24/2006"""," ""2/26/2006""" -516,6," ""2/25/2006"""," ""2/26/2006""" -517,7," ""2/10/2006"""," ""2/13/2006""" -518,8," ""2/12/2006"""," ""2/14/2006""" -519,9," ""2/15/2006"""," ""2/15/2006""" -520,10," ""2/14/2006"""," ""2/18/2006""" -521,1," ""2/15/2006"""," ""2/16/2006""" -522,2," ""2/17/2006"""," ""2/20/2006""" -523,3," ""2/18/2006"""," ""2/19/2006""" -524,4," ""2/19/2006"""," ""2/19/2006""" -525,5," ""2/18/2006"""," ""2/23/2006""" -526,6," ""2/20/2006"""," ""2/22/2006""" -527,7," ""2/24/2006"""," ""2/26/2006""" -528,8," ""2/25/2006"""," ""2/26/2006""" -529,9," ""2/10/2006"""," ""2/13/2006""" -530,10," ""2/12/2006"""," ""2/14/2006""" -531,1," ""2/15/2006"""," ""2/15/2006""" -532,2," ""2/14/2006"""," ""2/18/2006""" -533,3," ""2/15/2006"""," ""2/16/2006""" -534,4," ""2/17/2006"""," ""2/20/2006""" -535,5," ""2/18/2006"""," ""2/19/2006""" -536,6," ""2/19/2006"""," ""2/19/2006""" -537,7," ""2/18/2006"""," ""2/23/2006""" -538,8," ""2/20/2006"""," ""2/22/2006""" -539,9," ""2/24/2006"""," ""2/26/2006""" -540,10," ""2/25/2006"""," ""2/26/2006""" -541,1," ""2/10/2006"""," ""2/13/2006""" -542,2," ""2/12/2006"""," ""2/14/2006""" -543,3," ""2/15/2006"""," ""2/15/2006""" -544,4," ""2/14/2006"""," ""2/18/2006""" -545,5," ""2/15/2006"""," ""2/16/2006""" -546,6," ""2/17/2006"""," ""2/20/2006""" -547,7," ""2/18/2006"""," ""2/19/2006""" -548,8," ""2/19/2006"""," ""2/19/2006""" -549,9," ""2/18/2006"""," ""2/23/2006""" -550,10," ""2/20/2006"""," ""2/22/2006""" -551,1," ""2/24/2006"""," ""2/26/2006""" -552,2," ""2/25/2006"""," ""2/26/2006""" -553,3," ""2/10/2006"""," ""2/13/2006""" -554,4," ""2/12/2006"""," ""2/14/2006""" -555,5," ""2/15/2006"""," ""2/15/2006""" -556,6," ""2/14/2006"""," ""2/18/2006""" -557,7," ""2/15/2006"""," ""2/16/2006""" -558,8," ""2/17/2006"""," ""2/20/2006""" -559,9," ""2/18/2006"""," ""2/19/2006""" -560,10," ""2/19/2006"""," ""2/19/2006""" -561,1," ""2/18/2006"""," ""2/23/2006""" -562,2," ""2/20/2006"""," ""2/22/2006""" -563,3," ""2/24/2006"""," ""2/26/2006""" -564,4," ""2/25/2006"""," ""2/26/2006""" -565,5," ""2/10/2006"""," ""2/13/2006""" -566,6," ""2/12/2006"""," ""2/14/2006""" -567,7," ""2/15/2006"""," ""2/15/2006""" -568,8," ""2/14/2006"""," ""2/18/2006""" -569,9," ""2/15/2006"""," ""2/16/2006""" -570,10," ""2/17/2006"""," ""2/20/2006""" -571,1," ""2/18/2006"""," ""2/19/2006""" -572,2," ""2/19/2006"""," ""2/19/2006""" -573,3," ""2/18/2006"""," ""2/23/2006""" -574,4," ""2/20/2006"""," ""2/22/2006""" -575,5," ""2/24/2006"""," ""2/26/2006""" -576,6," ""2/25/2006"""," ""2/26/2006""" -577,7," ""2/10/2006"""," ""2/13/2006""" -578,8," ""2/12/2006"""," ""2/14/2006""" -579,9," ""2/15/2006"""," ""2/15/2006""" -580,10," ""2/14/2006"""," ""2/18/2006""" -581,1," ""2/15/2006"""," ""2/16/2006""" -582,2," ""2/17/2006"""," ""2/20/2006""" -583,3," ""2/18/2006"""," ""2/19/2006""" -584,4," ""2/19/2006"""," ""2/19/2006""" -585,5," ""2/18/2006"""," ""2/23/2006""" -586,6," ""2/20/2006"""," ""2/22/2006""" -587,7," ""2/24/2006"""," ""2/26/2006""" -588,8," ""2/25/2006"""," ""2/26/2006""" -589,9," ""2/10/2006"""," ""2/13/2006""" -590,10," ""2/12/2006"""," ""2/14/2006""" -591,1," ""2/15/2006"""," ""2/15/2006""" -592,2," ""2/14/2006"""," ""2/18/2006""" -593,3," ""2/15/2006"""," ""2/16/2006""" -594,4," ""2/17/2006"""," ""2/20/2006""" -595,5," ""2/18/2006"""," ""2/19/2006""" -596,6," ""2/19/2006"""," ""2/19/2006""" -597,7," ""2/18/2006"""," ""2/23/2006""" -598,8," ""2/20/2006"""," ""2/22/2006""" -599,9," ""2/24/2006"""," ""2/26/2006""" -600,10," ""2/25/2006"""," ""2/26/2006""" -601,1," ""2/10/2006"""," ""2/13/2006""" -602,2," ""2/12/2006"""," ""2/14/2006""" -603,3," ""2/15/2006"""," ""2/15/2006""" -604,4," ""2/14/2006"""," ""2/18/2006""" -605,5," ""2/15/2006"""," ""2/16/2006""" -606,6," ""2/17/2006"""," ""2/20/2006""" -607,7," ""2/18/2006"""," ""2/19/2006""" -608,8," ""2/19/2006"""," ""2/19/2006""" -609,9," ""2/18/2006"""," ""2/23/2006""" -610,10," ""2/20/2006"""," ""2/22/2006""" -611,1," ""2/24/2006"""," ""2/26/2006""" -612,2," ""2/25/2006"""," ""2/26/2006""" -613,3," ""2/10/2006"""," ""2/13/2006""" -614,4," ""2/12/2006"""," ""2/14/2006""" -615,5," ""2/15/2006"""," ""2/15/2006""" -616,6," ""2/14/2006"""," ""2/18/2006""" -617,7," ""2/15/2006"""," ""2/16/2006""" -618,8," ""2/17/2006"""," ""2/20/2006""" -619,9," ""2/18/2006"""," ""2/19/2006""" -620,10," ""2/19/2006"""," ""2/19/2006""" -621,1," ""2/18/2006"""," ""2/23/2006""" -622,2," ""2/20/2006"""," ""2/22/2006""" -623,3," ""2/24/2006"""," ""2/26/2006""" -624,4," ""2/25/2006"""," ""2/26/2006""" -625,5," ""2/10/2006"""," ""2/13/2006""" -626,6," ""2/12/2006"""," ""2/14/2006""" -627,7," ""2/15/2006"""," ""2/15/2006""" -628,8," ""2/14/2006"""," ""2/18/2006""" -629,9," ""2/15/2006"""," ""2/16/2006""" -630,10," ""2/17/2006"""," ""2/20/2006""" -631,1," ""2/18/2006"""," ""2/19/2006""" -632,2," ""2/19/2006"""," ""2/19/2006""" -633,3," ""2/18/2006"""," ""2/23/2006""" -634,4," ""2/20/2006"""," ""2/22/2006""" -635,5," ""2/24/2006"""," ""2/26/2006""" -636,6," ""2/25/2006"""," ""2/26/2006""" -637,7," ""2/10/2006"""," ""2/13/2006""" -638,8," ""2/12/2006"""," ""2/14/2006""" -639,9," ""2/15/2006"""," ""2/15/2006""" -640,10," ""2/14/2006"""," ""2/18/2006""" -641,1," ""2/15/2006"""," ""2/16/2006""" -642,2," ""2/17/2006"""," ""2/20/2006""" -643,3," ""2/18/2006"""," ""2/19/2006""" -644,4," ""2/19/2006"""," ""2/19/2006""" -645,5," ""2/18/2006"""," ""2/23/2006""" -646,6," ""2/20/2006"""," ""2/22/2006""" -647,7," ""2/24/2006"""," ""2/26/2006""" -648,8," ""2/25/2006"""," ""2/26/2006""" -649,9," ""2/10/2006"""," ""2/13/2006""" -650,10," ""2/12/2006"""," ""2/14/2006""" -651,1," ""2/15/2006"""," ""2/15/2006""" -652,2," ""2/14/2006"""," ""2/18/2006""" -653,3," ""2/15/2006"""," ""2/16/2006""" -654,4," ""2/17/2006"""," ""2/20/2006""" -655,5," ""2/18/2006"""," ""2/19/2006""" -656,6," ""2/19/2006"""," ""2/19/2006""" -657,7," ""2/18/2006"""," ""2/23/2006""" -658,8," ""2/20/2006"""," ""2/22/2006""" -659,9," ""2/24/2006"""," ""2/26/2006""" -660,10," ""2/25/2006"""," ""2/26/2006""" -661,1," ""2/10/2006"""," ""2/13/2006""" -662,2," ""2/12/2006"""," ""2/14/2006""" -663,3," ""2/15/2006"""," ""2/15/2006""" -664,4," ""2/14/2006"""," ""2/18/2006""" -665,5," ""2/15/2006"""," ""2/16/2006""" -666,6," ""2/17/2006"""," ""2/20/2006""" -667,7," ""2/18/2006"""," ""2/19/2006""" -668,8," ""2/19/2006"""," ""2/19/2006""" -669,9," ""2/18/2006"""," ""2/23/2006""" -670,10," ""2/20/2006"""," ""2/22/2006""" -671,1," ""2/24/2006"""," ""2/26/2006""" -672,2," ""2/25/2006"""," ""2/26/2006""" -673,3," ""2/10/2006"""," ""2/13/2006""" -674,4," ""2/12/2006"""," ""2/14/2006""" -675,5," ""2/15/2006"""," ""2/15/2006""" -676,6," ""2/14/2006"""," ""2/18/2006""" -677,7," ""2/15/2006"""," ""2/16/2006""" -678,8," ""2/17/2006"""," ""2/20/2006""" -679,9," ""2/18/2006"""," ""2/19/2006""" -680,10," ""2/19/2006"""," ""2/19/2006""" -681,1," ""2/18/2006"""," ""2/23/2006""" -682,2," ""2/20/2006"""," ""2/22/2006""" -683,3," ""2/24/2006"""," ""2/26/2006""" -684,4," ""2/25/2006"""," ""2/26/2006""" -685,5," ""2/10/2006"""," ""2/13/2006""" -686,6," ""2/12/2006"""," ""2/14/2006""" -687,7," ""2/15/2006"""," ""2/15/2006""" -688,8," ""2/14/2006"""," ""2/18/2006""" -689,9," ""2/15/2006"""," ""2/16/2006""" -690,10," ""2/17/2006"""," ""2/20/2006""" -691,1," ""2/18/2006"""," ""2/19/2006""" -692,2," ""2/19/2006"""," ""2/19/2006""" -693,3," ""2/18/2006"""," ""2/23/2006""" -694,4," ""2/20/2006"""," ""2/22/2006""" -695,5," ""2/24/2006"""," ""2/26/2006""" -696,6," ""2/25/2006"""," ""2/26/2006""" -697,7," ""2/10/2006"""," ""2/13/2006""" -698,8," ""2/12/2006"""," ""2/14/2006""" -699,9," ""2/15/2006"""," ""2/15/2006""" -700,10," ""2/14/2006"""," ""2/18/2006""" -701,1," ""2/15/2006"""," ""2/16/2006""" -702,2," ""2/17/2006"""," ""2/20/2006""" -703,3," ""2/18/2006"""," ""2/19/2006""" -704,4," ""2/19/2006"""," ""2/19/2006""" -705,5," ""2/18/2006"""," ""2/23/2006""" -706,6," ""2/20/2006"""," ""2/22/2006""" -707,7," ""2/24/2006"""," ""2/26/2006""" -708,8," ""2/25/2006"""," ""2/26/2006""" -709,9," ""2/10/2006"""," ""2/13/2006""" -710,10," ""2/12/2006"""," ""2/14/2006""" -711,1," ""2/15/2006"""," ""2/15/2006""" -712,2," ""2/14/2006"""," ""2/18/2006""" -713,3," ""2/15/2006"""," ""2/16/2006""" -714,4," ""2/17/2006"""," ""2/20/2006""" -715,5," ""2/18/2006"""," ""2/19/2006""" -716,6," ""2/19/2006"""," ""2/19/2006""" -717,7," ""2/18/2006"""," ""2/23/2006""" -718,8," ""2/20/2006"""," ""2/22/2006""" -719,9," ""2/24/2006"""," ""2/26/2006""" -720,10," ""2/25/2006"""," ""2/26/2006""" -721,1," ""2/10/2006"""," ""2/13/2006""" -722,2," ""2/12/2006"""," ""2/14/2006""" -723,3," ""2/15/2006"""," ""2/15/2006""" -724,4," ""2/14/2006"""," ""2/18/2006""" -725,5," ""2/15/2006"""," ""2/16/2006""" -726,6," ""2/17/2006"""," ""2/20/2006""" -727,7," ""2/18/2006"""," ""2/19/2006""" -728,8," ""2/19/2006"""," ""2/19/2006""" -729,9," ""2/18/2006"""," ""2/23/2006""" -730,10," ""2/20/2006"""," ""2/22/2006""" -731,1," ""2/24/2006"""," ""2/26/2006""" -732,2," ""2/25/2006"""," ""2/26/2006""" -733,3," ""2/10/2006"""," ""2/13/2006""" -734,4," ""2/12/2006"""," ""2/14/2006""" -735,5," ""2/15/2006"""," ""2/15/2006""" -736,6," ""2/14/2006"""," ""2/18/2006""" -737,7," ""2/15/2006"""," ""2/16/2006""" -738,8," ""2/17/2006"""," ""2/20/2006""" -739,9," ""2/18/2006"""," ""2/19/2006""" -740,10," ""2/19/2006"""," ""2/19/2006""" -741,1," ""2/18/2006"""," ""2/23/2006""" -742,2," ""2/20/2006"""," ""2/22/2006""" -743,3," ""2/24/2006"""," ""2/26/2006""" -744,4," ""2/25/2006"""," ""2/26/2006""" -745,5," ""2/10/2006"""," ""2/13/2006""" -746,6," ""2/12/2006"""," ""2/14/2006""" -747,7," ""2/15/2006"""," ""2/15/2006""" -748,8," ""2/14/2006"""," ""2/18/2006""" -749,9," ""2/15/2006"""," ""2/16/2006""" -750,10," ""2/17/2006"""," ""2/20/2006""" -751,1," ""2/18/2006"""," ""2/19/2006""" -752,2," ""2/19/2006"""," ""2/19/2006""" -753,3," ""2/18/2006"""," ""2/23/2006""" -754,4," ""2/20/2006"""," ""2/22/2006""" -755,5," ""2/24/2006"""," ""2/26/2006""" -756,6," ""2/25/2006"""," ""2/26/2006""" -757,7," ""2/10/2006"""," ""2/13/2006""" -758,8," ""2/12/2006"""," ""2/14/2006""" -759,9," ""2/15/2006"""," ""2/15/2006""" -760,10," ""2/14/2006"""," ""2/18/2006""" -761,1," ""2/15/2006"""," ""2/16/2006""" -762,2," ""2/17/2006"""," ""2/20/2006""" -763,3," ""2/18/2006"""," ""2/19/2006""" -764,4," ""2/19/2006"""," ""2/19/2006""" -765,5," ""2/18/2006"""," ""2/23/2006""" -766,6," ""2/20/2006"""," ""2/22/2006""" -767,7," ""2/24/2006"""," ""2/26/2006""" -768,8," ""2/25/2006"""," ""2/26/2006""" -769,9," ""2/10/2006"""," ""2/13/2006""" -770,10," ""2/12/2006"""," ""2/14/2006""" -771,1," ""2/15/2006"""," ""2/15/2006""" -772,2," ""2/14/2006"""," ""2/18/2006""" -773,3," ""2/15/2006"""," ""2/16/2006""" -774,4," ""2/17/2006"""," ""2/20/2006""" -775,5," ""2/18/2006"""," ""2/19/2006""" -776,6," ""2/19/2006"""," ""2/19/2006""" -777,7," ""2/18/2006"""," ""2/23/2006""" -778,8," ""2/20/2006"""," ""2/22/2006""" -779,9," ""2/24/2006"""," ""2/26/2006""" -780,10," ""2/25/2006"""," ""2/26/2006""" -781,1," ""2/10/2006"""," ""2/13/2006""" -782,2," ""2/12/2006"""," ""2/14/2006""" -783,3," ""2/15/2006"""," ""2/15/2006""" -784,4," ""2/14/2006"""," ""2/18/2006""" -785,5," ""2/15/2006"""," ""2/16/2006""" -786,6," ""2/17/2006"""," ""2/20/2006""" -787,7," ""2/18/2006"""," ""2/19/2006""" -788,8," ""2/19/2006"""," ""2/19/2006""" -789,9," ""2/18/2006"""," ""2/23/2006""" -790,10," ""2/20/2006"""," ""2/22/2006""" -791,1," ""2/24/2006"""," ""2/26/2006""" -792,2," ""2/25/2006"""," ""2/26/2006""" -793,3," ""2/10/2006"""," ""2/13/2006""" -794,4," ""2/12/2006"""," ""2/14/2006""" -795,5," ""2/15/2006"""," ""2/15/2006""" -796,6," ""2/14/2006"""," ""2/18/2006""" -797,7," ""2/15/2006"""," ""2/16/2006""" -798,8," ""2/17/2006"""," ""2/20/2006""" -799,9," ""2/18/2006"""," ""2/19/2006""" -800,10," ""2/19/2006"""," ""2/19/2006""" -801,1," ""2/18/2006"""," ""2/23/2006""" -802,2," ""2/20/2006"""," ""2/22/2006""" -803,3," ""2/24/2006"""," ""2/26/2006""" -804,4," ""2/25/2006"""," ""2/26/2006""" -805,5," ""2/10/2006"""," ""2/13/2006""" -806,6," ""2/12/2006"""," ""2/14/2006""" -807,7," ""2/15/2006"""," ""2/15/2006""" -808,8," ""2/14/2006"""," ""2/18/2006""" -809,9," ""2/15/2006"""," ""2/16/2006""" -810,10," ""2/17/2006"""," ""2/20/2006""" -811,1," ""2/18/2006"""," ""2/19/2006""" -812,2," ""2/19/2006"""," ""2/19/2006""" -813,3," ""2/18/2006"""," ""2/23/2006""" -814,4," ""2/20/2006"""," ""2/22/2006""" -815,5," ""2/24/2006"""," ""2/26/2006""" -816,6," ""2/25/2006"""," ""2/26/2006""" -817,7," ""2/10/2006"""," ""2/13/2006""" -818,8," ""2/12/2006"""," ""2/14/2006""" -819,9," ""2/15/2006"""," ""2/15/2006""" -820,10," ""2/14/2006"""," ""2/18/2006""" -821,1," ""2/15/2006"""," ""2/16/2006""" -822,2," ""2/17/2006"""," ""2/20/2006""" -823,3," ""2/18/2006"""," ""2/19/2006""" -824,4," ""2/19/2006"""," ""2/19/2006""" -825,5," ""2/18/2006"""," ""2/23/2006""" -826,6," ""2/20/2006"""," ""2/22/2006""" -827,7," ""2/24/2006"""," ""2/26/2006""" -828,8," ""2/25/2006"""," ""2/26/2006""" -829,9," ""2/10/2006"""," ""2/13/2006""" -830,10," ""2/12/2006"""," ""2/14/2006""" -831,1," ""2/15/2006"""," ""2/15/2006""" -832,2," ""2/14/2006"""," ""2/18/2006""" -833,3," ""2/15/2006"""," ""2/16/2006""" -834,4," ""2/17/2006"""," ""2/20/2006""" -835,5," ""2/18/2006"""," ""2/19/2006""" -836,6," ""2/19/2006"""," ""2/19/2006""" -837,7," ""2/18/2006"""," ""2/23/2006""" -838,8," ""2/20/2006"""," ""2/22/2006""" -839,9," ""2/24/2006"""," ""2/26/2006""" -840,10," ""2/25/2006"""," ""2/26/2006""" -841,1," ""2/10/2006"""," ""2/13/2006""" -842,2," ""2/12/2006"""," ""2/14/2006""" -843,3," ""2/15/2006"""," ""2/15/2006""" -844,4," ""2/14/2006"""," ""2/18/2006""" -845,5," ""2/15/2006"""," ""2/16/2006""" -846,6," ""2/17/2006"""," ""2/20/2006""" -847,7," ""2/18/2006"""," ""2/19/2006""" -848,8," ""2/19/2006"""," ""2/19/2006""" -849,9," ""2/18/2006"""," ""2/23/2006""" -850,10," ""2/20/2006"""," ""2/22/2006""" -851,1," ""2/24/2006"""," ""2/26/2006""" -852,2," ""2/25/2006"""," ""2/26/2006""" -853,3," ""2/10/2006"""," ""2/13/2006""" -854,4," ""2/12/2006"""," ""2/14/2006""" -855,5," ""2/15/2006"""," ""2/15/2006""" -856,6," ""2/14/2006"""," ""2/18/2006""" -857,7," ""2/15/2006"""," ""2/16/2006""" -858,8," ""2/17/2006"""," ""2/20/2006""" -859,9," ""2/18/2006"""," ""2/19/2006""" -860,10," ""2/19/2006"""," ""2/19/2006""" -861,1," ""2/18/2006"""," ""2/23/2006""" -862,2," ""2/20/2006"""," ""2/22/2006""" -863,3," ""2/24/2006"""," ""2/26/2006""" -864,4," ""2/25/2006"""," ""2/26/2006""" -865,5," ""2/10/2006"""," ""2/13/2006""" -866,6," ""2/12/2006"""," ""2/14/2006""" -867,7," ""2/15/2006"""," ""2/15/2006""" -868,8," ""2/14/2006"""," ""2/18/2006""" -869,9," ""2/15/2006"""," ""2/16/2006""" -870,10," ""2/17/2006"""," ""2/20/2006""" -871,1," ""2/18/2006"""," ""2/19/2006""" -872,2," ""2/19/2006"""," ""2/19/2006""" -873,3," ""2/18/2006"""," ""2/23/2006""" -874,4," ""2/20/2006"""," ""2/22/2006""" -875,5," ""2/24/2006"""," ""2/26/2006""" -876,6," ""2/25/2006"""," ""2/26/2006""" -877,7," ""2/10/2006"""," ""2/13/2006""" -878,8," ""2/12/2006"""," ""2/14/2006""" -879,9," ""2/15/2006"""," ""2/15/2006""" -880,10," ""2/14/2006"""," ""2/18/2006""" -881,1," ""2/15/2006"""," ""2/16/2006""" -882,2," ""2/17/2006"""," ""2/20/2006""" -883,3," ""2/18/2006"""," ""2/19/2006""" -884,4," ""2/19/2006"""," ""2/19/2006""" -885,5," ""2/18/2006"""," ""2/23/2006""" -886,6," ""2/20/2006"""," ""2/22/2006""" -887,7," ""2/24/2006"""," ""2/26/2006""" -888,8," ""2/25/2006"""," ""2/26/2006""" -889,9," ""2/10/2006"""," ""2/13/2006""" -890,10," ""2/12/2006"""," ""2/14/2006""" -891,1," ""2/15/2006"""," ""2/15/2006""" -892,2," ""2/14/2006"""," ""2/18/2006""" -893,3," ""2/15/2006"""," ""2/16/2006""" -894,4," ""2/17/2006"""," ""2/20/2006""" -895,5," ""2/18/2006"""," ""2/19/2006""" -896,6," ""2/19/2006"""," ""2/19/2006""" -897,7," ""2/18/2006"""," ""2/23/2006""" -898,8," ""2/20/2006"""," ""2/22/2006""" -899,9," ""2/24/2006"""," ""2/26/2006""" -900,10," ""2/25/2006"""," ""2/26/2006""" -901,1," ""2/10/2006"""," ""2/13/2006""" -902,2," ""2/12/2006"""," ""2/14/2006""" -903,3," ""2/15/2006"""," ""2/15/2006""" -904,4," ""2/14/2006"""," ""2/18/2006""" -905,5," ""2/15/2006"""," ""2/16/2006""" -906,6," ""2/17/2006"""," ""2/20/2006""" -907,7," ""2/18/2006"""," ""2/19/2006""" -908,8," ""2/19/2006"""," ""2/19/2006""" -909,9," ""2/18/2006"""," ""2/23/2006""" -910,10," ""2/20/2006"""," ""2/22/2006""" -911,1," ""2/24/2006"""," ""2/26/2006""" -912,2," ""2/25/2006"""," ""2/26/2006""" -913,3," ""2/10/2006"""," ""2/13/2006""" -914,4," ""2/12/2006"""," ""2/14/2006""" -915,5," ""2/15/2006"""," ""2/15/2006""" -916,6," ""2/14/2006"""," ""2/18/2006""" -917,7," ""2/15/2006"""," ""2/16/2006""" -918,8," ""2/17/2006"""," ""2/20/2006""" -919,9," ""2/18/2006"""," ""2/19/2006""" -920,10," ""2/19/2006"""," ""2/19/2006""" -921,1," ""2/18/2006"""," ""2/23/2006""" -922,2," ""2/20/2006"""," ""2/22/2006""" -923,3," ""2/24/2006"""," ""2/26/2006""" -924,4," ""2/25/2006"""," ""2/26/2006""" -925,5," ""2/10/2006"""," ""2/13/2006""" -926,6," ""2/12/2006"""," ""2/14/2006""" -927,7," ""2/15/2006"""," ""2/15/2006""" -928,8," ""2/14/2006"""," ""2/18/2006""" -929,9," ""2/15/2006"""," ""2/16/2006""" -930,10," ""2/17/2006"""," ""2/20/2006""" -931,1," ""2/18/2006"""," ""2/19/2006""" -932,2," ""2/19/2006"""," ""2/19/2006""" -933,3," ""2/18/2006"""," ""2/23/2006""" -934,4," ""2/20/2006"""," ""2/22/2006""" -935,5," ""2/24/2006"""," ""2/26/2006""" -936,6," ""2/25/2006"""," ""2/26/2006""" -937,7," ""2/10/2006"""," ""2/13/2006""" -938,8," ""2/12/2006"""," ""2/14/2006""" -939,9," ""2/15/2006"""," ""2/15/2006""" -940,10," ""2/14/2006"""," ""2/18/2006""" -941,1," ""2/15/2006"""," ""2/16/2006""" -942,2," ""2/17/2006"""," ""2/20/2006""" -943,3," ""2/18/2006"""," ""2/19/2006""" -944,4," ""2/19/2006"""," ""2/19/2006""" -945,5," ""2/18/2006"""," ""2/23/2006""" -946,6," ""2/20/2006"""," ""2/22/2006""" -947,7," ""2/24/2006"""," ""2/26/2006""" -948,8," ""2/25/2006"""," ""2/26/2006""" -949,9," ""2/10/2006"""," ""2/13/2006""" -950,10," ""2/12/2006"""," ""2/14/2006""" -951,1," ""2/15/2006"""," ""2/15/2006""" -952,2," ""2/14/2006"""," ""2/18/2006""" -953,3," ""2/15/2006"""," ""2/16/2006""" -954,4," ""2/17/2006"""," ""2/20/2006""" -955,5," ""2/18/2006"""," ""2/19/2006""" -956,6," ""2/19/2006"""," ""2/19/2006""" -957,7," ""2/18/2006"""," ""2/23/2006""" -958,8," ""2/20/2006"""," ""2/22/2006""" -959,9," ""2/24/2006"""," ""2/26/2006""" -960,10," ""2/25/2006"""," ""2/26/2006""" -961,1," ""2/10/2006"""," ""2/13/2006""" -962,2," ""2/12/2006"""," ""2/14/2006""" -963,3," ""2/15/2006"""," ""2/15/2006""" -964,4," ""2/14/2006"""," ""2/18/2006""" -965,5," ""2/15/2006"""," ""2/16/2006""" -966,6," ""2/17/2006"""," ""2/20/2006""" -967,7," ""2/18/2006"""," ""2/19/2006""" -968,8," ""2/19/2006"""," ""2/19/2006""" -969,9," ""2/18/2006"""," ""2/23/2006""" -970,10," ""2/20/2006"""," ""2/22/2006""" -971,1," ""2/24/2006"""," ""2/26/2006""" -972,2," ""2/25/2006"""," ""2/26/2006""" -973,3," ""2/10/2006"""," ""2/13/2006""" -974,4," ""2/12/2006"""," ""2/14/2006""" -975,5," ""2/15/2006"""," ""2/15/2006""" -976,6," ""2/14/2006"""," ""2/18/2006""" -977,7," ""2/15/2006"""," ""2/16/2006""" -978,8," ""2/17/2006"""," ""2/20/2006""" -979,9," ""2/18/2006"""," ""2/19/2006""" -980,10," ""2/19/2006"""," ""2/19/2006""" -981,1," ""2/18/2006"""," ""2/23/2006""" -982,2," ""2/20/2006"""," ""2/22/2006""" -983,3," ""2/24/2006"""," ""2/26/2006""" -984,4," ""2/25/2006"""," ""2/26/2006""" -985,5," ""2/10/2006"""," ""2/13/2006""" -986,6," ""2/12/2006"""," ""2/14/2006""" -987,7," ""2/15/2006"""," ""2/15/2006""" -988,8," ""2/14/2006"""," ""2/18/2006""" -989,9," ""2/15/2006"""," ""2/16/2006""" -990,10," ""2/17/2006"""," ""2/20/2006""" -991,1," ""2/18/2006"""," ""2/19/2006""" -992,2," ""2/19/2006"""," ""2/19/2006""" -993,3," ""2/18/2006"""," ""2/23/2006""" -994,4," ""2/20/2006"""," ""2/22/2006""" -995,5," ""2/24/2006"""," ""2/26/2006""" -996,6," ""2/25/2006"""," ""2/26/2006""" -997,7," ""2/10/2006"""," ""2/13/2006""" -998,8," ""2/12/2006"""," ""2/14/2006""" -999,9," ""2/15/2006"""," ""2/15/2006""" -1000,10," ""2/14/2006"""," ""2/18/2006""" \ No newline at end of file diff --git a/Projects/p3-skeleton/cs448p3/src/test/resources/ridesBig.json b/Projects/p3-skeleton/cs448p3/src/test/resources/ridesBig.json deleted file mode 100644 index 041754b..0000000 --- a/Projects/p3-skeleton/cs448p3/src/test/resources/ridesBig.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "schema": [ - { - "no": 0, - "type": "INTEGER", - "length": 4, - "name": "DriverId" - }, - { - "no": 1, - "type": "INTEGER", - "length": 4, - "name": "GroupId" - }, - { - "no": 2, - "type": "STRING", - "length": 10, - "name": "FromDate" - }, - { - "no": 3, - "type": "STRING", - "length": 10, - "name": "ToDate" - } - ], - "key": 1 -}

3;RI40}f_?#?>p_cNX7CMOH7mPnW8> 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%0DahYxm}@f^~A1 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≪#e>>DOWvW&AgL%fV-0xP*^@&w9; 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