diff --git a/asterix-app/src/test/resources/runtimets/results/cross-dataverse/cross-dv20.adm b/asterix-app/src/test/resources/runtimets/results/cross-dataverse/cross-dv20.adm
deleted file mode 100644
index 83de609..0000000
--- a/asterix-app/src/test/resources/runtimets/results/cross-dataverse/cross-dv20.adm
+++ /dev/null
@@ -1 +0,0 @@
-{ "ug-student": { "id": 457, "name": "John Doe", "age": 22, "sex": "M", "dept": "Dance" }, "prof": { "id": 152, "name": "John Meyer", "age": 42, "sex": "M", "dept": "History" }, "grd-student": { "id": 418, "name": "John Smith", "age": 26, "sex": "M", "dept": "Economics" }, "postdoc": { "id": 259, "name": "Sophia Reece", "age": 36, "sex": "F", "dept": "Anthropology" } }
diff --git a/asterix-app/src/test/resources/runtimets/results/dml/delete-syntax-change.adm b/asterix-app/src/test/resources/runtimets/results/dml/delete-syntax-change.adm
deleted file mode 100644
index 7039cfe..0000000
--- a/asterix-app/src/test/resources/runtimets/results/dml/delete-syntax-change.adm
+++ /dev/null
@@ -1,25 +0,0 @@
-{ "l_orderkey": 1, "l_partkey": 156, "l_suppkey": 4, "l_linenumber": 1, "l_quantity": 17, "l_extendedprice": 17954.55d, "l_discount": 0.04d, "l_tax": 0.02d, "l_returnflag": "N", "l_linestatus": "O", "l_shipdate": "1996-03-13", "l_commitdate": "1996-02-12", "l_receiptdate": "1996-03-22", "l_shipinstruct": "DELIVER IN PERSON", "l_shipmode": "TRUCK", "l_comment": "egular courts above the" }
-{ "l_orderkey": 1, "l_partkey": 68, "l_suppkey": 9, "l_linenumber": 2, "l_quantity": 36, "l_extendedprice": 34850.16d, "l_discount": 0.09d, "l_tax": 0.06d, "l_returnflag": "N", "l_linestatus": "O", "l_shipdate": "1996-04-12", "l_commitdate": "1996-02-28", "l_receiptdate": "1996-04-20", "l_shipinstruct": "TAKE BACK RETURN", "l_shipmode": "MAIL", "l_comment": "ly final dependencies: slyly bold " }
-{ "l_orderkey": 1, "l_partkey": 64, "l_suppkey": 5, "l_linenumber": 3, "l_quantity": 8, "l_extendedprice": 7712.48d, "l_discount": 0.1d, "l_tax": 0.02d, "l_returnflag": "N", "l_linestatus": "O", "l_shipdate": "1996-01-29", "l_commitdate": "1996-03-05", "l_receiptdate": "1996-01-31", "l_shipinstruct": "TAKE BACK RETURN", "l_shipmode": "REG AIR", "l_comment": "riously. regular, express dep" }
-{ "l_orderkey": 1, "l_partkey": 3, "l_suppkey": 6, "l_linenumber": 4, "l_quantity": 28, "l_extendedprice": 25284.0d, "l_discount": 0.09d, "l_tax": 0.06d, "l_returnflag": "N", "l_linestatus": "O", "l_shipdate": "1996-04-21", "l_commitdate": "1996-03-30", "l_receiptdate": "1996-05-16", "l_shipinstruct": "NONE", "l_shipmode": "AIR", "l_comment": "lites. fluffily even de" }
-{ "l_orderkey": 1, "l_partkey": 25, "l_suppkey": 8, "l_linenumber": 5, "l_quantity": 24, "l_extendedprice": 22200.48d, "l_discount": 0.1d, "l_tax": 0.04d, "l_returnflag": "N", "l_linestatus": "O", "l_shipdate": "1996-03-30", "l_commitdate": "1996-03-14", "l_receiptdate": "1996-04-01", "l_shipinstruct": "NONE", "l_shipmode": "FOB", "l_comment": " pending foxes. slyly re" }
-{ "l_orderkey": 1, "l_partkey": 16, "l_suppkey": 3, "l_linenumber": 6, "l_quantity": 32, "l_extendedprice": 29312.32d, "l_discount": 0.07d, "l_tax": 0.02d, "l_returnflag": "N", "l_linestatus": "O", "l_shipdate": "1996-01-30", "l_commitdate": "1996-02-07", "l_receiptdate": "1996-02-03", "l_shipinstruct": "DELIVER IN PERSON", "l_shipmode": "MAIL", "l_comment": "arefully slyly ex" }
-{ "l_orderkey": 2, "l_partkey": 107, "l_suppkey": 2, "l_linenumber": 1, "l_quantity": 38, "l_extendedprice": 38269.8d, "l_discount": 0.0d, "l_tax": 0.05d, "l_returnflag": "N", "l_linestatus": "O", "l_shipdate": "1997-01-28", "l_commitdate": "1997-01-14", "l_receiptdate": "1997-02-02", "l_shipinstruct": "TAKE BACK RETURN", "l_shipmode": "RAIL", "l_comment": "ven requests. deposits breach a" }
-{ "l_orderkey": 3, "l_partkey": 5, "l_suppkey": 2, "l_linenumber": 1, "l_quantity": 45, "l_extendedprice": 40725.0d, "l_discount": 0.06d, "l_tax": 0.0d, "l_returnflag": "R", "l_linestatus": "F", "l_shipdate": "1994-02-02", "l_commitdate": "1994-01-04", "l_receiptdate": "1994-02-23", "l_shipinstruct": "NONE", "l_shipmode": "AIR", "l_comment": "ongside of the furiously brave acco" }
-{ "l_orderkey": 3, "l_partkey": 20, "l_suppkey": 10, "l_linenumber": 2, "l_quantity": 49, "l_extendedprice": 45080.98d, "l_discount": 0.1d, "l_tax": 0.0d, "l_returnflag": "R", "l_linestatus": "F", "l_shipdate": "1993-11-09", "l_commitdate": "1993-12-20", "l_receiptdate": "1993-11-24", "l_shipinstruct": "TAKE BACK RETURN", "l_shipmode": "RAIL", "l_comment": " unusual accounts. eve" }
-{ "l_orderkey": 3, "l_partkey": 129, "l_suppkey": 8, "l_linenumber": 3, "l_quantity": 27, "l_extendedprice": 27786.24d, "l_discount": 0.06d, "l_tax": 0.07d, "l_returnflag": "A", "l_linestatus": "F", "l_shipdate": "1994-01-16", "l_commitdate": "1993-11-22", "l_receiptdate": "1994-01-23", "l_shipinstruct": "DELIVER IN PERSON", "l_shipmode": "SHIP", "l_comment": "nal foxes wake. " }
-{ "l_orderkey": 3, "l_partkey": 30, "l_suppkey": 5, "l_linenumber": 4, "l_quantity": 2, "l_extendedprice": 1860.06d, "l_discount": 0.01d, "l_tax": 0.06d, "l_returnflag": "A", "l_linestatus": "F", "l_shipdate": "1993-12-04", "l_commitdate": "1994-01-07", "l_receiptdate": "1994-01-01", "l_shipinstruct": "NONE", "l_shipmode": "TRUCK", "l_comment": "y. fluffily pending d" }
-{ "l_orderkey": 3, "l_partkey": 184, "l_suppkey": 5, "l_linenumber": 5, "l_quantity": 28, "l_extendedprice": 30357.04d, "l_discount": 0.04d, "l_tax": 0.0d, "l_returnflag": "R", "l_linestatus": "F", "l_shipdate": "1993-12-14", "l_commitdate": "1994-01-10", "l_receiptdate": "1994-01-01", "l_shipinstruct": "TAKE BACK RETURN", "l_shipmode": "FOB", "l_comment": "ages nag slyly pending" }
-{ "l_orderkey": 3, "l_partkey": 63, "l_suppkey": 8, "l_linenumber": 6, "l_quantity": 26, "l_extendedprice": 25039.56d, "l_discount": 0.1d, "l_tax": 0.02d, "l_returnflag": "A", "l_linestatus": "F", "l_shipdate": "1993-10-29", "l_commitdate": "1993-12-18", "l_receiptdate": "1993-11-04", "l_shipinstruct": "TAKE BACK RETURN", "l_shipmode": "RAIL", "l_comment": "ges sleep after the caref" }
-{ "l_orderkey": 4, "l_partkey": 89, "l_suppkey": 10, "l_linenumber": 1, "l_quantity": 30, "l_extendedprice": 29672.4d, "l_discount": 0.03d, "l_tax": 0.08d, "l_returnflag": "N", "l_linestatus": "O", "l_shipdate": "1996-01-10", "l_commitdate": "1995-12-14", "l_receiptdate": "1996-01-18", "l_shipinstruct": "DELIVER IN PERSON", "l_shipmode": "REG AIR", "l_comment": "- quickly regular packages sleep. idly" }
-{ "l_orderkey": 5, "l_partkey": 109, "l_suppkey": 10, "l_linenumber": 1, "l_quantity": 15, "l_extendedprice": 15136.5d, "l_discount": 0.02d, "l_tax": 0.04d, "l_returnflag": "R", "l_linestatus": "F", "l_shipdate": "1994-10-31", "l_commitdate": "1994-08-31", "l_receiptdate": "1994-11-20", "l_shipinstruct": "NONE", "l_shipmode": "AIR", "l_comment": "ts wake furiously " }
-{ "l_orderkey": 5, "l_partkey": 124, "l_suppkey": 5, "l_linenumber": 2, "l_quantity": 26, "l_extendedprice": 26627.12d, "l_discount": 0.07d, "l_tax": 0.08d, "l_returnflag": "R", "l_linestatus": "F", "l_shipdate": "1994-10-16", "l_commitdate": "1994-09-25", "l_receiptdate": "1994-10-19", "l_shipinstruct": "NONE", "l_shipmode": "FOB", "l_comment": "sts use slyly quickly special instruc" }
-{ "l_orderkey": 5, "l_partkey": 38, "l_suppkey": 4, "l_linenumber": 3, "l_quantity": 50, "l_extendedprice": 46901.5d, "l_discount": 0.08d, "l_tax": 0.03d, "l_returnflag": "A", "l_linestatus": "F", "l_shipdate": "1994-08-08", "l_commitdate": "1994-10-13", "l_receiptdate": "1994-08-26", "l_shipinstruct": "DELIVER IN PERSON", "l_shipmode": "AIR", "l_comment": "eodolites. fluffily unusual" }
-{ "l_orderkey": 6, "l_partkey": 140, "l_suppkey": 6, "l_linenumber": 1, "l_quantity": 37, "l_extendedprice": 38485.18d, "l_discount": 0.08d, "l_tax": 0.03d, "l_returnflag": "A", "l_linestatus": "F", "l_shipdate": "1992-04-27", "l_commitdate": "1992-05-15", "l_receiptdate": "1992-05-02", "l_shipinstruct": "TAKE BACK RETURN", "l_shipmode": "TRUCK", "l_comment": "p furiously special foxes" }
-{ "l_orderkey": 7, "l_partkey": 183, "l_suppkey": 4, "l_linenumber": 1, "l_quantity": 12, "l_extendedprice": 12998.16d, "l_discount": 0.07d, "l_tax": 0.03d, "l_returnflag": "N", "l_linestatus": "O", "l_shipdate": "1996-05-07", "l_commitdate": "1996-03-13", "l_receiptdate": "1996-06-03", "l_shipinstruct": "TAKE BACK RETURN", "l_shipmode": "FOB", "l_comment": "ss pinto beans wake against th" }
-{ "l_orderkey": 7, "l_partkey": 146, "l_suppkey": 3, "l_linenumber": 2, "l_quantity": 9, "l_extendedprice": 9415.26d, "l_discount": 0.08d, "l_tax": 0.08d, "l_returnflag": "N", "l_linestatus": "O", "l_shipdate": "1996-02-01", "l_commitdate": "1996-03-02", "l_receiptdate": "1996-02-19", "l_shipinstruct": "TAKE BACK RETURN", "l_shipmode": "SHIP", "l_comment": "es. instructions" }
-{ "l_orderkey": 7, "l_partkey": 95, "l_suppkey": 8, "l_linenumber": 3, "l_quantity": 46, "l_extendedprice": 45774.14d, "l_discount": 0.1d, "l_tax": 0.07d, "l_returnflag": "N", "l_linestatus": "O", "l_shipdate": "1996-01-15", "l_commitdate": "1996-03-27", "l_receiptdate": "1996-02-03", "l_shipinstruct": "COLLECT COD", "l_shipmode": "MAIL", "l_comment": " unusual reques" }
-{ "l_orderkey": 7, "l_partkey": 164, "l_suppkey": 5, "l_linenumber": 4, "l_quantity": 28, "l_extendedprice": 29796.48d, "l_discount": 0.03d, "l_tax": 0.04d, "l_returnflag": "N", "l_linestatus": "O", "l_shipdate": "1996-03-21", "l_commitdate": "1996-04-08", "l_receiptdate": "1996-04-20", "l_shipinstruct": "NONE", "l_shipmode": "FOB", "l_comment": ". slyly special requests haggl" }
-{ "l_orderkey": 7, "l_partkey": 152, "l_suppkey": 4, "l_linenumber": 5, "l_quantity": 38, "l_extendedprice": 39981.7d, "l_discount": 0.08d, "l_tax": 0.01d, "l_returnflag": "N", "l_linestatus": "O", "l_shipdate": "1996-02-11", "l_commitdate": "1996-02-24", "l_receiptdate": "1996-02-18", "l_shipinstruct": "DELIVER IN PERSON", "l_shipmode": "TRUCK", "l_comment": "ns haggle carefully ironic deposits. bl" }
-{ "l_orderkey": 7, "l_partkey": 80, "l_suppkey": 10, "l_linenumber": 6, "l_quantity": 35, "l_extendedprice": 34302.8d, "l_discount": 0.06d, "l_tax": 0.03d, "l_returnflag": "N", "l_linestatus": "O", "l_shipdate": "1996-01-16", "l_commitdate": "1996-02-23", "l_receiptdate": "1996-01-22", "l_shipinstruct": "TAKE BACK RETURN", "l_shipmode": "FOB", "l_comment": "jole. excuses wake carefully alongside of " }
-{ "l_orderkey": 7, "l_partkey": 158, "l_suppkey": 3, "l_linenumber": 7, "l_quantity": 5, "l_extendedprice": 5290.75d, "l_discount": 0.04d, "l_tax": 0.02d, "l_returnflag": "N", "l_linestatus": "O", "l_shipdate": "1996-02-10", "l_commitdate": "1996-03-26", "l_receiptdate": "1996-02-13", "l_shipinstruct": "NONE", "l_shipmode": "FOB", "l_comment": "ithely regula" }
diff --git a/asterix-app/src/test/resources/runtimets/results/dml/insert-syntax.adm b/asterix-app/src/test/resources/runtimets/results/dml/insert-syntax.adm
deleted file mode 100644
index 9407868..0000000
--- a/asterix-app/src/test/resources/runtimets/results/dml/insert-syntax.adm
+++ /dev/null
@@ -1,4 +0,0 @@
-{ "id": 1, "name": "Person One", "hobbies": {{ "Rock", "Metal" }} }
-{ "id": 2, "name": "Person Two", "hobbies": {{ "Rock", "Jazz" }} }
-{ "id": 3, "name": "Person Three", "hobbies": {{ "Blues" }} }
-{ "id": 4, "name": "Person Four", "hobbies": {{ "Metal", "Jazz" }} }
diff --git a/asterix-app/src/test/resources/runtimets/results/dml/scan-insert-rtree-secondary-index.adm b/asterix-app/src/test/resources/runtimets/results/dml/scan-insert-rtree-secondary-index.adm
deleted file mode 100644
index 5f5be7c..0000000
--- a/asterix-app/src/test/resources/runtimets/results/dml/scan-insert-rtree-secondary-index.adm
+++ /dev/null
@@ -1,3 +0,0 @@
-{ "id": 10 }
-{ "id": 12 }
-{ "id": 20 }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/failure/delete-rtree.adm b/asterix-app/src/test/resources/runtimets/results/failure/delete-rtree.adm
deleted file mode 100644
index a3021ef..0000000
--- a/asterix-app/src/test/resources/runtimets/results/failure/delete-rtree.adm
+++ /dev/null
@@ -1,3848 +0,0 @@
-{ "id": 22 }
-{ "id": 23 }
-{ "id": 25 }
-{ "id": 26 }
-{ "id": 27 }
-{ "id": 28 }
-{ "id": 29 }
-{ "id": 30 }
-{ "id": 31 }
-{ "id": 32 }
-{ "id": 33 }
-{ "id": 34 }
-{ "id": 35 }
-{ "id": 36 }
-{ "id": 37 }
-{ "id": 38 }
-{ "id": 39 }
-{ "id": 40 }
-{ "id": 41 }
-{ "id": 42 }
-{ "id": 43 }
-{ "id": 44 }
-{ "id": 45 }
-{ "id": 46 }
-{ "id": 47 }
-{ "id": 48 }
-{ "id": 49 }
-{ "id": 50 }
-{ "id": 51 }
-{ "id": 52 }
-{ "id": 53 }
-{ "id": 54 }
-{ "id": 55 }
-{ "id": 56 }
-{ "id": 57 }
-{ "id": 58 }
-{ "id": 59 }
-{ "id": 60 }
-{ "id": 61 }
-{ "id": 62 }
-{ "id": 63 }
-{ "id": 64 }
-{ "id": 65 }
-{ "id": 66 }
-{ "id": 67 }
-{ "id": 68 }
-{ "id": 69 }
-{ "id": 70 }
-{ "id": 71 }
-{ "id": 72 }
-{ "id": 73 }
-{ "id": 74 }
-{ "id": 75 }
-{ "id": 76 }
-{ "id": 77 }
-{ "id": 78 }
-{ "id": 79 }
-{ "id": 80 }
-{ "id": 81 }
-{ "id": 82 }
-{ "id": 83 }
-{ "id": 84 }
-{ "id": 85 }
-{ "id": 86 }
-{ "id": 87 }
-{ "id": 88 }
-{ "id": 89 }
-{ "id": 90 }
-{ "id": 91 }
-{ "id": 92 }
-{ "id": 93 }
-{ "id": 94 }
-{ "id": 95 }
-{ "id": 96 }
-{ "id": 97 }
-{ "id": 98 }
-{ "id": 99 }
-{ "id": 100 }
-{ "id": 101 }
-{ "id": 102 }
-{ "id": 103 }
-{ "id": 104 }
-{ "id": 105 }
-{ "id": 106 }
-{ "id": 107 }
-{ "id": 108 }
-{ "id": 109 }
-{ "id": 110 }
-{ "id": 111 }
-{ "id": 112 }
-{ "id": 113 }
-{ "id": 114 }
-{ "id": 115 }
-{ "id": 116 }
-{ "id": 117 }
-{ "id": 118 }
-{ "id": 119 }
-{ "id": 120 }
-{ "id": 121 }
-{ "id": 122 }
-{ "id": 123 }
-{ "id": 124 }
-{ "id": 125 }
-{ "id": 126 }
-{ "id": 127 }
-{ "id": 128 }
-{ "id": 129 }
-{ "id": 130 }
-{ "id": 131 }
-{ "id": 132 }
-{ "id": 133 }
-{ "id": 134 }
-{ "id": 135 }
-{ "id": 136 }
-{ "id": 137 }
-{ "id": 138 }
-{ "id": 139 }
-{ "id": 140 }
-{ "id": 141 }
-{ "id": 142 }
-{ "id": 143 }
-{ "id": 144 }
-{ "id": 145 }
-{ "id": 146 }
-{ "id": 147 }
-{ "id": 148 }
-{ "id": 149 }
-{ "id": 150 }
-{ "id": 151 }
-{ "id": 152 }
-{ "id": 153 }
-{ "id": 154 }
-{ "id": 155 }
-{ "id": 156 }
-{ "id": 157 }
-{ "id": 158 }
-{ "id": 159 }
-{ "id": 160 }
-{ "id": 161 }
-{ "id": 162 }
-{ "id": 163 }
-{ "id": 164 }
-{ "id": 165 }
-{ "id": 166 }
-{ "id": 167 }
-{ "id": 168 }
-{ "id": 169 }
-{ "id": 170 }
-{ "id": 171 }
-{ "id": 172 }
-{ "id": 173 }
-{ "id": 174 }
-{ "id": 175 }
-{ "id": 176 }
-{ "id": 177 }
-{ "id": 178 }
-{ "id": 179 }
-{ "id": 180 }
-{ "id": 181 }
-{ "id": 182 }
-{ "id": 183 }
-{ "id": 184 }
-{ "id": 185 }
-{ "id": 186 }
-{ "id": 187 }
-{ "id": 188 }
-{ "id": 189 }
-{ "id": 190 }
-{ "id": 191 }
-{ "id": 192 }
-{ "id": 193 }
-{ "id": 194 }
-{ "id": 195 }
-{ "id": 196 }
-{ "id": 197 }
-{ "id": 198 }
-{ "id": 199 }
-{ "id": 200 }
-{ "id": 201 }
-{ "id": 202 }
-{ "id": 203 }
-{ "id": 204 }
-{ "id": 205 }
-{ "id": 206 }
-{ "id": 207 }
-{ "id": 208 }
-{ "id": 209 }
-{ "id": 210 }
-{ "id": 211 }
-{ "id": 212 }
-{ "id": 213 }
-{ "id": 214 }
-{ "id": 215 }
-{ "id": 216 }
-{ "id": 217 }
-{ "id": 218 }
-{ "id": 219 }
-{ "id": 220 }
-{ "id": 221 }
-{ "id": 222 }
-{ "id": 223 }
-{ "id": 224 }
-{ "id": 225 }
-{ "id": 226 }
-{ "id": 227 }
-{ "id": 228 }
-{ "id": 229 }
-{ "id": 230 }
-{ "id": 231 }
-{ "id": 232 }
-{ "id": 233 }
-{ "id": 234 }
-{ "id": 235 }
-{ "id": 236 }
-{ "id": 237 }
-{ "id": 238 }
-{ "id": 239 }
-{ "id": 240 }
-{ "id": 241 }
-{ "id": 242 }
-{ "id": 243 }
-{ "id": 244 }
-{ "id": 245 }
-{ "id": 246 }
-{ "id": 247 }
-{ "id": 248 }
-{ "id": 249 }
-{ "id": 250 }
-{ "id": 251 }
-{ "id": 252 }
-{ "id": 253 }
-{ "id": 254 }
-{ "id": 255 }
-{ "id": 256 }
-{ "id": 257 }
-{ "id": 258 }
-{ "id": 259 }
-{ "id": 260 }
-{ "id": 261 }
-{ "id": 262 }
-{ "id": 263 }
-{ "id": 264 }
-{ "id": 265 }
-{ "id": 266 }
-{ "id": 267 }
-{ "id": 268 }
-{ "id": 269 }
-{ "id": 270 }
-{ "id": 271 }
-{ "id": 272 }
-{ "id": 273 }
-{ "id": 274 }
-{ "id": 275 }
-{ "id": 276 }
-{ "id": 277 }
-{ "id": 296 }
-{ "id": 297 }
-{ "id": 298 }
-{ "id": 299 }
-{ "id": 300 }
-{ "id": 301 }
-{ "id": 302 }
-{ "id": 303 }
-{ "id": 304 }
-{ "id": 305 }
-{ "id": 306 }
-{ "id": 307 }
-{ "id": 308 }
-{ "id": 309 }
-{ "id": 310 }
-{ "id": 311 }
-{ "id": 312 }
-{ "id": 313 }
-{ "id": 314 }
-{ "id": 315 }
-{ "id": 316 }
-{ "id": 317 }
-{ "id": 318 }
-{ "id": 319 }
-{ "id": 320 }
-{ "id": 321 }
-{ "id": 322 }
-{ "id": 323 }
-{ "id": 324 }
-{ "id": 325 }
-{ "id": 326 }
-{ "id": 327 }
-{ "id": 328 }
-{ "id": 329 }
-{ "id": 330 }
-{ "id": 331 }
-{ "id": 332 }
-{ "id": 333 }
-{ "id": 334 }
-{ "id": 335 }
-{ "id": 336 }
-{ "id": 384 }
-{ "id": 385 }
-{ "id": 386 }
-{ "id": 387 }
-{ "id": 388 }
-{ "id": 389 }
-{ "id": 390 }
-{ "id": 391 }
-{ "id": 392 }
-{ "id": 393 }
-{ "id": 394 }
-{ "id": 395 }
-{ "id": 396 }
-{ "id": 397 }
-{ "id": 398 }
-{ "id": 399 }
-{ "id": 400 }
-{ "id": 401 }
-{ "id": 402 }
-{ "id": 403 }
-{ "id": 404 }
-{ "id": 405 }
-{ "id": 406 }
-{ "id": 407 }
-{ "id": 408 }
-{ "id": 409 }
-{ "id": 410 }
-{ "id": 411 }
-{ "id": 412 }
-{ "id": 413 }
-{ "id": 414 }
-{ "id": 415 }
-{ "id": 416 }
-{ "id": 417 }
-{ "id": 418 }
-{ "id": 419 }
-{ "id": 420 }
-{ "id": 421 }
-{ "id": 422 }
-{ "id": 423 }
-{ "id": 424 }
-{ "id": 425 }
-{ "id": 426 }
-{ "id": 427 }
-{ "id": 428 }
-{ "id": 429 }
-{ "id": 430 }
-{ "id": 431 }
-{ "id": 432 }
-{ "id": 433 }
-{ "id": 434 }
-{ "id": 435 }
-{ "id": 436 }
-{ "id": 437 }
-{ "id": 438 }
-{ "id": 439 }
-{ "id": 440 }
-{ "id": 441 }
-{ "id": 442 }
-{ "id": 443 }
-{ "id": 444 }
-{ "id": 445 }
-{ "id": 446 }
-{ "id": 447 }
-{ "id": 448 }
-{ "id": 449 }
-{ "id": 450 }
-{ "id": 451 }
-{ "id": 452 }
-{ "id": 453 }
-{ "id": 454 }
-{ "id": 455 }
-{ "id": 456 }
-{ "id": 457 }
-{ "id": 458 }
-{ "id": 459 }
-{ "id": 460 }
-{ "id": 461 }
-{ "id": 462 }
-{ "id": 463 }
-{ "id": 464 }
-{ "id": 465 }
-{ "id": 466 }
-{ "id": 467 }
-{ "id": 468 }
-{ "id": 469 }
-{ "id": 470 }
-{ "id": 471 }
-{ "id": 625 }
-{ "id": 626 }
-{ "id": 627 }
-{ "id": 628 }
-{ "id": 629 }
-{ "id": 630 }
-{ "id": 631 }
-{ "id": 632 }
-{ "id": 633 }
-{ "id": 634 }
-{ "id": 635 }
-{ "id": 636 }
-{ "id": 637 }
-{ "id": 638 }
-{ "id": 639 }
-{ "id": 640 }
-{ "id": 641 }
-{ "id": 642 }
-{ "id": 643 }
-{ "id": 644 }
-{ "id": 645 }
-{ "id": 646 }
-{ "id": 647 }
-{ "id": 648 }
-{ "id": 649 }
-{ "id": 650 }
-{ "id": 651 }
-{ "id": 652 }
-{ "id": 653 }
-{ "id": 654 }
-{ "id": 655 }
-{ "id": 656 }
-{ "id": 657 }
-{ "id": 658 }
-{ "id": 659 }
-{ "id": 660 }
-{ "id": 661 }
-{ "id": 662 }
-{ "id": 663 }
-{ "id": 664 }
-{ "id": 665 }
-{ "id": 666 }
-{ "id": 667 }
-{ "id": 668 }
-{ "id": 669 }
-{ "id": 670 }
-{ "id": 671 }
-{ "id": 672 }
-{ "id": 673 }
-{ "id": 674 }
-{ "id": 675 }
-{ "id": 676 }
-{ "id": 677 }
-{ "id": 678 }
-{ "id": 679 }
-{ "id": 680 }
-{ "id": 681 }
-{ "id": 682 }
-{ "id": 683 }
-{ "id": 684 }
-{ "id": 685 }
-{ "id": 686 }
-{ "id": 687 }
-{ "id": 734 }
-{ "id": 735 }
-{ "id": 736 }
-{ "id": 737 }
-{ "id": 738 }
-{ "id": 739 }
-{ "id": 740 }
-{ "id": 741 }
-{ "id": 742 }
-{ "id": 743 }
-{ "id": 744 }
-{ "id": 745 }
-{ "id": 746 }
-{ "id": 747 }
-{ "id": 748 }
-{ "id": 749 }
-{ "id": 750 }
-{ "id": 751 }
-{ "id": 752 }
-{ "id": 753 }
-{ "id": 754 }
-{ "id": 755 }
-{ "id": 756 }
-{ "id": 757 }
-{ "id": 758 }
-{ "id": 759 }
-{ "id": 760 }
-{ "id": 761 }
-{ "id": 762 }
-{ "id": 763 }
-{ "id": 764 }
-{ "id": 765 }
-{ "id": 766 }
-{ "id": 767 }
-{ "id": 768 }
-{ "id": 769 }
-{ "id": 770 }
-{ "id": 771 }
-{ "id": 772 }
-{ "id": 773 }
-{ "id": 774 }
-{ "id": 775 }
-{ "id": 776 }
-{ "id": 777 }
-{ "id": 778 }
-{ "id": 779 }
-{ "id": 780 }
-{ "id": 781 }
-{ "id": 782 }
-{ "id": 851 }
-{ "id": 852 }
-{ "id": 853 }
-{ "id": 854 }
-{ "id": 855 }
-{ "id": 856 }
-{ "id": 857 }
-{ "id": 858 }
-{ "id": 859 }
-{ "id": 860 }
-{ "id": 861 }
-{ "id": 862 }
-{ "id": 863 }
-{ "id": 864 }
-{ "id": 865 }
-{ "id": 866 }
-{ "id": 867 }
-{ "id": 868 }
-{ "id": 869 }
-{ "id": 870 }
-{ "id": 871 }
-{ "id": 872 }
-{ "id": 873 }
-{ "id": 874 }
-{ "id": 875 }
-{ "id": 876 }
-{ "id": 877 }
-{ "id": 878 }
-{ "id": 879 }
-{ "id": 880 }
-{ "id": 881 }
-{ "id": 882 }
-{ "id": 883 }
-{ "id": 884 }
-{ "id": 885 }
-{ "id": 886 }
-{ "id": 887 }
-{ "id": 888 }
-{ "id": 889 }
-{ "id": 890 }
-{ "id": 891 }
-{ "id": 892 }
-{ "id": 893 }
-{ "id": 894 }
-{ "id": 895 }
-{ "id": 896 }
-{ "id": 897 }
-{ "id": 898 }
-{ "id": 899 }
-{ "id": 900 }
-{ "id": 901 }
-{ "id": 902 }
-{ "id": 903 }
-{ "id": 904 }
-{ "id": 905 }
-{ "id": 906 }
-{ "id": 907 }
-{ "id": 908 }
-{ "id": 909 }
-{ "id": 910 }
-{ "id": 911 }
-{ "id": 912 }
-{ "id": 913 }
-{ "id": 914 }
-{ "id": 915 }
-{ "id": 916 }
-{ "id": 917 }
-{ "id": 918 }
-{ "id": 919 }
-{ "id": 920 }
-{ "id": 921 }
-{ "id": 922 }
-{ "id": 923 }
-{ "id": 924 }
-{ "id": 925 }
-{ "id": 926 }
-{ "id": 927 }
-{ "id": 928 }
-{ "id": 929 }
-{ "id": 930 }
-{ "id": 931 }
-{ "id": 932 }
-{ "id": 933 }
-{ "id": 934 }
-{ "id": 935 }
-{ "id": 936 }
-{ "id": 937 }
-{ "id": 938 }
-{ "id": 939 }
-{ "id": 940 }
-{ "id": 941 }
-{ "id": 942 }
-{ "id": 943 }
-{ "id": 944 }
-{ "id": 945 }
-{ "id": 946 }
-{ "id": 947 }
-{ "id": 948 }
-{ "id": 949 }
-{ "id": 950 }
-{ "id": 951 }
-{ "id": 952 }
-{ "id": 953 }
-{ "id": 954 }
-{ "id": 1022 }
-{ "id": 1023 }
-{ "id": 1024 }
-{ "id": 1025 }
-{ "id": 1026 }
-{ "id": 1027 }
-{ "id": 1028 }
-{ "id": 1029 }
-{ "id": 1030 }
-{ "id": 1031 }
-{ "id": 1032 }
-{ "id": 1033 }
-{ "id": 1034 }
-{ "id": 1035 }
-{ "id": 1036 }
-{ "id": 1037 }
-{ "id": 1038 }
-{ "id": 1039 }
-{ "id": 1040 }
-{ "id": 1041 }
-{ "id": 1042 }
-{ "id": 1043 }
-{ "id": 1044 }
-{ "id": 1045 }
-{ "id": 1046 }
-{ "id": 1047 }
-{ "id": 1048 }
-{ "id": 1049 }
-{ "id": 1050 }
-{ "id": 1051 }
-{ "id": 1052 }
-{ "id": 1053 }
-{ "id": 1054 }
-{ "id": 1055 }
-{ "id": 1056 }
-{ "id": 1057 }
-{ "id": 1058 }
-{ "id": 1059 }
-{ "id": 1060 }
-{ "id": 1061 }
-{ "id": 1062 }
-{ "id": 1063 }
-{ "id": 1064 }
-{ "id": 1065 }
-{ "id": 1066 }
-{ "id": 1067 }
-{ "id": 1068 }
-{ "id": 1069 }
-{ "id": 1070 }
-{ "id": 1071 }
-{ "id": 1072 }
-{ "id": 1073 }
-{ "id": 1074 }
-{ "id": 1075 }
-{ "id": 1076 }
-{ "id": 1077 }
-{ "id": 1078 }
-{ "id": 1079 }
-{ "id": 1080 }
-{ "id": 1081 }
-{ "id": 1082 }
-{ "id": 1083 }
-{ "id": 1084 }
-{ "id": 1085 }
-{ "id": 1086 }
-{ "id": 1087 }
-{ "id": 1088 }
-{ "id": 1089 }
-{ "id": 1090 }
-{ "id": 1091 }
-{ "id": 1092 }
-{ "id": 1093 }
-{ "id": 1094 }
-{ "id": 1095 }
-{ "id": 1096 }
-{ "id": 1097 }
-{ "id": 1098 }
-{ "id": 1099 }
-{ "id": 1100 }
-{ "id": 1101 }
-{ "id": 1102 }
-{ "id": 1103 }
-{ "id": 1104 }
-{ "id": 1105 }
-{ "id": 1106 }
-{ "id": 1107 }
-{ "id": 1108 }
-{ "id": 1175 }
-{ "id": 1176 }
-{ "id": 1177 }
-{ "id": 1178 }
-{ "id": 1179 }
-{ "id": 1180 }
-{ "id": 1181 }
-{ "id": 1182 }
-{ "id": 1183 }
-{ "id": 1184 }
-{ "id": 1185 }
-{ "id": 1186 }
-{ "id": 1187 }
-{ "id": 1188 }
-{ "id": 1189 }
-{ "id": 1190 }
-{ "id": 1191 }
-{ "id": 1192 }
-{ "id": 1193 }
-{ "id": 1194 }
-{ "id": 1195 }
-{ "id": 1196 }
-{ "id": 1197 }
-{ "id": 1198 }
-{ "id": 1199 }
-{ "id": 1200 }
-{ "id": 1201 }
-{ "id": 1202 }
-{ "id": 1203 }
-{ "id": 1204 }
-{ "id": 1205 }
-{ "id": 1206 }
-{ "id": 1207 }
-{ "id": 1208 }
-{ "id": 1209 }
-{ "id": 1210 }
-{ "id": 1211 }
-{ "id": 1212 }
-{ "id": 1213 }
-{ "id": 1214 }
-{ "id": 1215 }
-{ "id": 1216 }
-{ "id": 1217 }
-{ "id": 1218 }
-{ "id": 1219 }
-{ "id": 1220 }
-{ "id": 1221 }
-{ "id": 1222 }
-{ "id": 1223 }
-{ "id": 1224 }
-{ "id": 1225 }
-{ "id": 1226 }
-{ "id": 1227 }
-{ "id": 1228 }
-{ "id": 1229 }
-{ "id": 1230 }
-{ "id": 1231 }
-{ "id": 1232 }
-{ "id": 1233 }
-{ "id": 1234 }
-{ "id": 1235 }
-{ "id": 1236 }
-{ "id": 1237 }
-{ "id": 1238 }
-{ "id": 1239 }
-{ "id": 1240 }
-{ "id": 1241 }
-{ "id": 1255 }
-{ "id": 1256 }
-{ "id": 1257 }
-{ "id": 1258 }
-{ "id": 1259 }
-{ "id": 1260 }
-{ "id": 1261 }
-{ "id": 1262 }
-{ "id": 1263 }
-{ "id": 1264 }
-{ "id": 1265 }
-{ "id": 1266 }
-{ "id": 1267 }
-{ "id": 1268 }
-{ "id": 1269 }
-{ "id": 1270 }
-{ "id": 1271 }
-{ "id": 1272 }
-{ "id": 1273 }
-{ "id": 1274 }
-{ "id": 1275 }
-{ "id": 1276 }
-{ "id": 1277 }
-{ "id": 1278 }
-{ "id": 1279 }
-{ "id": 1280 }
-{ "id": 1281 }
-{ "id": 1282 }
-{ "id": 1283 }
-{ "id": 1284 }
-{ "id": 1285 }
-{ "id": 1286 }
-{ "id": 1287 }
-{ "id": 1288 }
-{ "id": 1289 }
-{ "id": 1290 }
-{ "id": 1291 }
-{ "id": 1292 }
-{ "id": 1293 }
-{ "id": 1294 }
-{ "id": 1295 }
-{ "id": 1296 }
-{ "id": 1297 }
-{ "id": 1298 }
-{ "id": 1299 }
-{ "id": 1300 }
-{ "id": 1301 }
-{ "id": 1302 }
-{ "id": 1303 }
-{ "id": 1304 }
-{ "id": 1305 }
-{ "id": 1306 }
-{ "id": 1307 }
-{ "id": 1308 }
-{ "id": 1309 }
-{ "id": 1310 }
-{ "id": 1311 }
-{ "id": 1312 }
-{ "id": 1313 }
-{ "id": 1314 }
-{ "id": 1315 }
-{ "id": 1316 }
-{ "id": 1317 }
-{ "id": 1318 }
-{ "id": 1319 }
-{ "id": 1320 }
-{ "id": 1321 }
-{ "id": 1322 }
-{ "id": 1323 }
-{ "id": 1324 }
-{ "id": 1325 }
-{ "id": 1326 }
-{ "id": 1327 }
-{ "id": 1328 }
-{ "id": 1329 }
-{ "id": 1330 }
-{ "id": 1331 }
-{ "id": 1332 }
-{ "id": 1333 }
-{ "id": 1334 }
-{ "id": 1335 }
-{ "id": 1336 }
-{ "id": 1337 }
-{ "id": 1338 }
-{ "id": 1339 }
-{ "id": 1340 }
-{ "id": 1341 }
-{ "id": 1342 }
-{ "id": 1343 }
-{ "id": 1344 }
-{ "id": 1345 }
-{ "id": 1346 }
-{ "id": 1347 }
-{ "id": 1348 }
-{ "id": 1349 }
-{ "id": 1350 }
-{ "id": 1351 }
-{ "id": 1352 }
-{ "id": 1353 }
-{ "id": 1354 }
-{ "id": 1355 }
-{ "id": 1356 }
-{ "id": 1357 }
-{ "id": 1358 }
-{ "id": 1359 }
-{ "id": 1360 }
-{ "id": 1361 }
-{ "id": 1362 }
-{ "id": 1363 }
-{ "id": 1364 }
-{ "id": 1365 }
-{ "id": 1366 }
-{ "id": 1367 }
-{ "id": 1368 }
-{ "id": 1369 }
-{ "id": 1370 }
-{ "id": 1441 }
-{ "id": 1442 }
-{ "id": 1443 }
-{ "id": 1444 }
-{ "id": 1445 }
-{ "id": 1446 }
-{ "id": 1447 }
-{ "id": 1448 }
-{ "id": 1449 }
-{ "id": 1450 }
-{ "id": 1451 }
-{ "id": 1452 }
-{ "id": 1453 }
-{ "id": 1454 }
-{ "id": 1455 }
-{ "id": 1456 }
-{ "id": 1457 }
-{ "id": 1458 }
-{ "id": 1459 }
-{ "id": 1460 }
-{ "id": 1461 }
-{ "id": 1462 }
-{ "id": 1463 }
-{ "id": 1464 }
-{ "id": 1465 }
-{ "id": 1466 }
-{ "id": 1467 }
-{ "id": 1468 }
-{ "id": 1469 }
-{ "id": 1470 }
-{ "id": 1471 }
-{ "id": 1472 }
-{ "id": 1473 }
-{ "id": 1474 }
-{ "id": 1475 }
-{ "id": 1476 }
-{ "id": 1477 }
-{ "id": 1478 }
-{ "id": 1479 }
-{ "id": 1480 }
-{ "id": 1481 }
-{ "id": 1482 }
-{ "id": 1483 }
-{ "id": 1484 }
-{ "id": 1485 }
-{ "id": 1486 }
-{ "id": 1487 }
-{ "id": 1488 }
-{ "id": 1489 }
-{ "id": 1490 }
-{ "id": 1491 }
-{ "id": 1492 }
-{ "id": 1493 }
-{ "id": 1494 }
-{ "id": 1495 }
-{ "id": 1496 }
-{ "id": 1497 }
-{ "id": 1498 }
-{ "id": 1499 }
-{ "id": 1500 }
-{ "id": 1501 }
-{ "id": 1502 }
-{ "id": 1503 }
-{ "id": 1504 }
-{ "id": 1505 }
-{ "id": 1506 }
-{ "id": 1507 }
-{ "id": 1508 }
-{ "id": 1509 }
-{ "id": 1510 }
-{ "id": 1511 }
-{ "id": 1512 }
-{ "id": 1513 }
-{ "id": 1514 }
-{ "id": 1515 }
-{ "id": 1516 }
-{ "id": 1517 }
-{ "id": 1518 }
-{ "id": 1519 }
-{ "id": 1520 }
-{ "id": 1521 }
-{ "id": 1522 }
-{ "id": 1523 }
-{ "id": 1524 }
-{ "id": 1525 }
-{ "id": 1526 }
-{ "id": 1527 }
-{ "id": 1528 }
-{ "id": 1529 }
-{ "id": 1530 }
-{ "id": 1531 }
-{ "id": 1532 }
-{ "id": 1533 }
-{ "id": 1534 }
-{ "id": 1535 }
-{ "id": 1536 }
-{ "id": 1537 }
-{ "id": 1538 }
-{ "id": 1539 }
-{ "id": 1540 }
-{ "id": 1541 }
-{ "id": 1542 }
-{ "id": 1543 }
-{ "id": 1544 }
-{ "id": 1545 }
-{ "id": 1546 }
-{ "id": 1547 }
-{ "id": 1548 }
-{ "id": 1549 }
-{ "id": 1550 }
-{ "id": 1551 }
-{ "id": 1552 }
-{ "id": 1553 }
-{ "id": 1554 }
-{ "id": 1555 }
-{ "id": 1556 }
-{ "id": 1557 }
-{ "id": 1558 }
-{ "id": 1559 }
-{ "id": 1560 }
-{ "id": 1561 }
-{ "id": 1562 }
-{ "id": 1563 }
-{ "id": 1564 }
-{ "id": 1565 }
-{ "id": 1566 }
-{ "id": 1567 }
-{ "id": 1568 }
-{ "id": 1569 }
-{ "id": 1570 }
-{ "id": 1571 }
-{ "id": 1572 }
-{ "id": 1626 }
-{ "id": 1627 }
-{ "id": 1628 }
-{ "id": 1629 }
-{ "id": 1630 }
-{ "id": 1631 }
-{ "id": 1632 }
-{ "id": 1633 }
-{ "id": 1634 }
-{ "id": 1635 }
-{ "id": 1636 }
-{ "id": 1637 }
-{ "id": 1638 }
-{ "id": 1639 }
-{ "id": 1640 }
-{ "id": 1641 }
-{ "id": 1642 }
-{ "id": 1643 }
-{ "id": 1644 }
-{ "id": 1645 }
-{ "id": 1646 }
-{ "id": 1647 }
-{ "id": 1648 }
-{ "id": 1649 }
-{ "id": 1650 }
-{ "id": 1651 }
-{ "id": 1652 }
-{ "id": 1653 }
-{ "id": 1654 }
-{ "id": 1655 }
-{ "id": 1656 }
-{ "id": 1657 }
-{ "id": 1658 }
-{ "id": 1659 }
-{ "id": 1660 }
-{ "id": 1661 }
-{ "id": 1662 }
-{ "id": 1663 }
-{ "id": 1664 }
-{ "id": 1665 }
-{ "id": 1666 }
-{ "id": 1667 }
-{ "id": 1668 }
-{ "id": 1669 }
-{ "id": 1670 }
-{ "id": 1671 }
-{ "id": 1672 }
-{ "id": 1673 }
-{ "id": 1674 }
-{ "id": 1675 }
-{ "id": 1676 }
-{ "id": 1677 }
-{ "id": 1678 }
-{ "id": 1679 }
-{ "id": 1680 }
-{ "id": 1681 }
-{ "id": 1682 }
-{ "id": 1683 }
-{ "id": 1684 }
-{ "id": 1685 }
-{ "id": 1686 }
-{ "id": 1687 }
-{ "id": 1688 }
-{ "id": 1689 }
-{ "id": 1690 }
-{ "id": 1691 }
-{ "id": 1692 }
-{ "id": 1693 }
-{ "id": 1694 }
-{ "id": 1695 }
-{ "id": 1696 }
-{ "id": 1697 }
-{ "id": 1698 }
-{ "id": 1699 }
-{ "id": 1700 }
-{ "id": 1701 }
-{ "id": 1702 }
-{ "id": 1703 }
-{ "id": 1704 }
-{ "id": 1705 }
-{ "id": 1706 }
-{ "id": 1707 }
-{ "id": 1708 }
-{ "id": 1709 }
-{ "id": 1710 }
-{ "id": 1711 }
-{ "id": 1712 }
-{ "id": 1713 }
-{ "id": 1714 }
-{ "id": 1715 }
-{ "id": 1716 }
-{ "id": 1717 }
-{ "id": 1718 }
-{ "id": 1719 }
-{ "id": 1720 }
-{ "id": 1721 }
-{ "id": 1722 }
-{ "id": 1723 }
-{ "id": 1724 }
-{ "id": 1725 }
-{ "id": 1726 }
-{ "id": 1727 }
-{ "id": 1728 }
-{ "id": 1729 }
-{ "id": 1730 }
-{ "id": 1731 }
-{ "id": 1732 }
-{ "id": 1733 }
-{ "id": 1734 }
-{ "id": 1735 }
-{ "id": 1736 }
-{ "id": 1737 }
-{ "id": 1738 }
-{ "id": 1739 }
-{ "id": 1740 }
-{ "id": 1741 }
-{ "id": 1742 }
-{ "id": 1743 }
-{ "id": 1744 }
-{ "id": 1745 }
-{ "id": 1746 }
-{ "id": 1747 }
-{ "id": 1748 }
-{ "id": 1749 }
-{ "id": 1750 }
-{ "id": 1751 }
-{ "id": 1752 }
-{ "id": 1753 }
-{ "id": 1754 }
-{ "id": 1755 }
-{ "id": 1756 }
-{ "id": 1757 }
-{ "id": 1758 }
-{ "id": 1759 }
-{ "id": 1760 }
-{ "id": 1761 }
-{ "id": 1762 }
-{ "id": 1763 }
-{ "id": 1764 }
-{ "id": 1765 }
-{ "id": 1766 }
-{ "id": 1767 }
-{ "id": 1768 }
-{ "id": 1769 }
-{ "id": 1770 }
-{ "id": 1771 }
-{ "id": 1772 }
-{ "id": 1773 }
-{ "id": 1774 }
-{ "id": 1785 }
-{ "id": 1786 }
-{ "id": 1787 }
-{ "id": 1788 }
-{ "id": 1789 }
-{ "id": 1790 }
-{ "id": 1791 }
-{ "id": 1792 }
-{ "id": 1793 }
-{ "id": 1794 }
-{ "id": 1795 }
-{ "id": 1796 }
-{ "id": 1797 }
-{ "id": 1798 }
-{ "id": 1799 }
-{ "id": 1800 }
-{ "id": 1801 }
-{ "id": 1802 }
-{ "id": 1803 }
-{ "id": 1804 }
-{ "id": 1805 }
-{ "id": 1806 }
-{ "id": 1807 }
-{ "id": 1808 }
-{ "id": 1809 }
-{ "id": 1810 }
-{ "id": 1811 }
-{ "id": 1812 }
-{ "id": 1813 }
-{ "id": 1814 }
-{ "id": 1815 }
-{ "id": 1816 }
-{ "id": 1817 }
-{ "id": 1818 }
-{ "id": 1819 }
-{ "id": 1820 }
-{ "id": 1821 }
-{ "id": 1822 }
-{ "id": 1823 }
-{ "id": 1824 }
-{ "id": 1825 }
-{ "id": 1826 }
-{ "id": 1827 }
-{ "id": 1828 }
-{ "id": 1829 }
-{ "id": 1830 }
-{ "id": 1831 }
-{ "id": 1832 }
-{ "id": 1833 }
-{ "id": 1834 }
-{ "id": 1835 }
-{ "id": 1836 }
-{ "id": 1837 }
-{ "id": 1838 }
-{ "id": 1839 }
-{ "id": 1840 }
-{ "id": 1841 }
-{ "id": 1842 }
-{ "id": 1843 }
-{ "id": 1844 }
-{ "id": 1845 }
-{ "id": 1846 }
-{ "id": 1847 }
-{ "id": 1848 }
-{ "id": 1849 }
-{ "id": 1850 }
-{ "id": 1851 }
-{ "id": 1852 }
-{ "id": 1853 }
-{ "id": 1854 }
-{ "id": 1855 }
-{ "id": 1856 }
-{ "id": 1857 }
-{ "id": 1858 }
-{ "id": 1859 }
-{ "id": 1860 }
-{ "id": 1861 }
-{ "id": 1862 }
-{ "id": 1863 }
-{ "id": 1864 }
-{ "id": 1865 }
-{ "id": 1866 }
-{ "id": 1867 }
-{ "id": 1868 }
-{ "id": 1869 }
-{ "id": 1870 }
-{ "id": 1871 }
-{ "id": 1872 }
-{ "id": 1873 }
-{ "id": 1874 }
-{ "id": 1875 }
-{ "id": 1876 }
-{ "id": 1877 }
-{ "id": 1878 }
-{ "id": 1879 }
-{ "id": 1880 }
-{ "id": 1881 }
-{ "id": 1882 }
-{ "id": 1883 }
-{ "id": 1884 }
-{ "id": 1885 }
-{ "id": 1886 }
-{ "id": 1887 }
-{ "id": 1888 }
-{ "id": 1889 }
-{ "id": 1890 }
-{ "id": 1891 }
-{ "id": 1892 }
-{ "id": 1893 }
-{ "id": 1894 }
-{ "id": 1895 }
-{ "id": 1896 }
-{ "id": 1897 }
-{ "id": 1898 }
-{ "id": 1899 }
-{ "id": 1900 }
-{ "id": 1901 }
-{ "id": 1902 }
-{ "id": 1903 }
-{ "id": 1904 }
-{ "id": 1905 }
-{ "id": 1906 }
-{ "id": 1907 }
-{ "id": 1908 }
-{ "id": 1909 }
-{ "id": 1910 }
-{ "id": 1911 }
-{ "id": 1912 }
-{ "id": 1913 }
-{ "id": 1914 }
-{ "id": 1915 }
-{ "id": 1916 }
-{ "id": 1917 }
-{ "id": 1918 }
-{ "id": 1919 }
-{ "id": 1920 }
-{ "id": 1921 }
-{ "id": 1922 }
-{ "id": 1923 }
-{ "id": 1924 }
-{ "id": 1925 }
-{ "id": 1926 }
-{ "id": 1927 }
-{ "id": 1928 }
-{ "id": 1929 }
-{ "id": 1930 }
-{ "id": 1931 }
-{ "id": 1932 }
-{ "id": 1933 }
-{ "id": 1934 }
-{ "id": 1935 }
-{ "id": 1936 }
-{ "id": 1937 }
-{ "id": 1938 }
-{ "id": 1939 }
-{ "id": 1940 }
-{ "id": 1941 }
-{ "id": 1942 }
-{ "id": 1943 }
-{ "id": 1944 }
-{ "id": 1945 }
-{ "id": 1946 }
-{ "id": 1947 }
-{ "id": 1948 }
-{ "id": 1949 }
-{ "id": 1950 }
-{ "id": 1951 }
-{ "id": 1952 }
-{ "id": 1953 }
-{ "id": 1954 }
-{ "id": 1955 }
-{ "id": 1956 }
-{ "id": 1957 }
-{ "id": 1958 }
-{ "id": 1959 }
-{ "id": 1960 }
-{ "id": 1961 }
-{ "id": 1962 }
-{ "id": 1963 }
-{ "id": 1964 }
-{ "id": 1965 }
-{ "id": 1966 }
-{ "id": 1967 }
-{ "id": 1968 }
-{ "id": 1969 }
-{ "id": 1970 }
-{ "id": 1971 }
-{ "id": 1972 }
-{ "id": 1973 }
-{ "id": 1974 }
-{ "id": 1975 }
-{ "id": 1976 }
-{ "id": 1977 }
-{ "id": 1978 }
-{ "id": 1979 }
-{ "id": 1980 }
-{ "id": 1981 }
-{ "id": 1982 }
-{ "id": 1983 }
-{ "id": 1984 }
-{ "id": 1985 }
-{ "id": 1986 }
-{ "id": 1987 }
-{ "id": 1988 }
-{ "id": 1989 }
-{ "id": 1990 }
-{ "id": 1991 }
-{ "id": 1992 }
-{ "id": 1993 }
-{ "id": 1994 }
-{ "id": 1995 }
-{ "id": 1996 }
-{ "id": 1997 }
-{ "id": 1998 }
-{ "id": 1999 }
-{ "id": 2000 }
-{ "id": 2001 }
-{ "id": 2002 }
-{ "id": 2003 }
-{ "id": 2004 }
-{ "id": 2005 }
-{ "id": 2006 }
-{ "id": 2007 }
-{ "id": 2008 }
-{ "id": 2009 }
-{ "id": 2010 }
-{ "id": 2011 }
-{ "id": 2012 }
-{ "id": 2013 }
-{ "id": 2014 }
-{ "id": 2015 }
-{ "id": 2016 }
-{ "id": 2017 }
-{ "id": 2018 }
-{ "id": 2019 }
-{ "id": 2020 }
-{ "id": 2021 }
-{ "id": 2022 }
-{ "id": 2023 }
-{ "id": 2024 }
-{ "id": 2025 }
-{ "id": 2026 }
-{ "id": 2027 }
-{ "id": 2028 }
-{ "id": 2029 }
-{ "id": 2035 }
-{ "id": 2036 }
-{ "id": 2037 }
-{ "id": 2038 }
-{ "id": 2039 }
-{ "id": 2040 }
-{ "id": 2041 }
-{ "id": 2042 }
-{ "id": 2043 }
-{ "id": 2044 }
-{ "id": 2045 }
-{ "id": 2046 }
-{ "id": 2047 }
-{ "id": 2048 }
-{ "id": 2049 }
-{ "id": 2050 }
-{ "id": 2051 }
-{ "id": 2052 }
-{ "id": 2053 }
-{ "id": 2054 }
-{ "id": 2055 }
-{ "id": 2056 }
-{ "id": 2057 }
-{ "id": 2058 }
-{ "id": 2059 }
-{ "id": 2060 }
-{ "id": 2061 }
-{ "id": 2062 }
-{ "id": 2063 }
-{ "id": 2064 }
-{ "id": 2065 }
-{ "id": 2066 }
-{ "id": 2067 }
-{ "id": 2068 }
-{ "id": 2069 }
-{ "id": 2070 }
-{ "id": 2071 }
-{ "id": 2072 }
-{ "id": 2073 }
-{ "id": 2074 }
-{ "id": 2075 }
-{ "id": 2076 }
-{ "id": 2077 }
-{ "id": 2078 }
-{ "id": 2079 }
-{ "id": 2080 }
-{ "id": 2081 }
-{ "id": 2082 }
-{ "id": 2083 }
-{ "id": 2084 }
-{ "id": 2085 }
-{ "id": 2086 }
-{ "id": 2087 }
-{ "id": 2088 }
-{ "id": 2089 }
-{ "id": 2090 }
-{ "id": 2091 }
-{ "id": 2092 }
-{ "id": 2093 }
-{ "id": 2094 }
-{ "id": 2095 }
-{ "id": 2096 }
-{ "id": 2097 }
-{ "id": 2098 }
-{ "id": 2099 }
-{ "id": 2100 }
-{ "id": 2101 }
-{ "id": 2102 }
-{ "id": 2103 }
-{ "id": 2104 }
-{ "id": 2105 }
-{ "id": 2106 }
-{ "id": 2107 }
-{ "id": 2108 }
-{ "id": 2109 }
-{ "id": 2110 }
-{ "id": 2111 }
-{ "id": 2112 }
-{ "id": 2113 }
-{ "id": 2114 }
-{ "id": 2115 }
-{ "id": 2116 }
-{ "id": 2117 }
-{ "id": 2118 }
-{ "id": 2119 }
-{ "id": 2120 }
-{ "id": 2121 }
-{ "id": 2122 }
-{ "id": 2123 }
-{ "id": 2124 }
-{ "id": 2125 }
-{ "id": 2126 }
-{ "id": 2127 }
-{ "id": 2128 }
-{ "id": 2129 }
-{ "id": 2130 }
-{ "id": 2131 }
-{ "id": 2132 }
-{ "id": 2133 }
-{ "id": 2134 }
-{ "id": 2135 }
-{ "id": 2136 }
-{ "id": 2137 }
-{ "id": 2138 }
-{ "id": 2139 }
-{ "id": 2140 }
-{ "id": 2141 }
-{ "id": 2142 }
-{ "id": 2143 }
-{ "id": 2144 }
-{ "id": 2145 }
-{ "id": 2146 }
-{ "id": 2147 }
-{ "id": 2148 }
-{ "id": 2149 }
-{ "id": 2150 }
-{ "id": 2156 }
-{ "id": 2157 }
-{ "id": 2158 }
-{ "id": 2159 }
-{ "id": 2160 }
-{ "id": 2161 }
-{ "id": 2162 }
-{ "id": 2163 }
-{ "id": 2164 }
-{ "id": 2165 }
-{ "id": 2166 }
-{ "id": 2167 }
-{ "id": 2168 }
-{ "id": 2169 }
-{ "id": 2170 }
-{ "id": 2171 }
-{ "id": 2172 }
-{ "id": 2173 }
-{ "id": 2174 }
-{ "id": 2175 }
-{ "id": 2176 }
-{ "id": 2177 }
-{ "id": 2178 }
-{ "id": 2179 }
-{ "id": 2180 }
-{ "id": 2181 }
-{ "id": 2182 }
-{ "id": 2183 }
-{ "id": 2184 }
-{ "id": 2185 }
-{ "id": 2186 }
-{ "id": 2187 }
-{ "id": 2188 }
-{ "id": 2189 }
-{ "id": 2190 }
-{ "id": 2191 }
-{ "id": 2192 }
-{ "id": 2193 }
-{ "id": 2194 }
-{ "id": 2195 }
-{ "id": 2196 }
-{ "id": 2197 }
-{ "id": 2198 }
-{ "id": 2199 }
-{ "id": 2200 }
-{ "id": 2201 }
-{ "id": 2202 }
-{ "id": 2203 }
-{ "id": 2204 }
-{ "id": 2205 }
-{ "id": 2206 }
-{ "id": 2207 }
-{ "id": 2208 }
-{ "id": 2209 }
-{ "id": 2210 }
-{ "id": 2211 }
-{ "id": 2212 }
-{ "id": 2213 }
-{ "id": 2214 }
-{ "id": 2228 }
-{ "id": 2229 }
-{ "id": 2230 }
-{ "id": 2231 }
-{ "id": 2232 }
-{ "id": 2233 }
-{ "id": 2234 }
-{ "id": 2235 }
-{ "id": 2236 }
-{ "id": 2237 }
-{ "id": 2238 }
-{ "id": 2239 }
-{ "id": 2240 }
-{ "id": 2241 }
-{ "id": 2242 }
-{ "id": 2243 }
-{ "id": 2244 }
-{ "id": 2245 }
-{ "id": 2246 }
-{ "id": 2247 }
-{ "id": 2248 }
-{ "id": 2249 }
-{ "id": 2250 }
-{ "id": 2251 }
-{ "id": 2252 }
-{ "id": 2253 }
-{ "id": 2254 }
-{ "id": 2255 }
-{ "id": 2256 }
-{ "id": 2257 }
-{ "id": 2258 }
-{ "id": 2259 }
-{ "id": 2260 }
-{ "id": 2261 }
-{ "id": 2262 }
-{ "id": 2263 }
-{ "id": 2264 }
-{ "id": 2265 }
-{ "id": 2266 }
-{ "id": 2267 }
-{ "id": 2268 }
-{ "id": 2269 }
-{ "id": 2270 }
-{ "id": 2271 }
-{ "id": 2272 }
-{ "id": 2273 }
-{ "id": 2274 }
-{ "id": 2275 }
-{ "id": 2276 }
-{ "id": 2277 }
-{ "id": 2278 }
-{ "id": 2279 }
-{ "id": 2280 }
-{ "id": 2281 }
-{ "id": 2326 }
-{ "id": 2327 }
-{ "id": 2328 }
-{ "id": 2329 }
-{ "id": 2330 }
-{ "id": 2331 }
-{ "id": 2332 }
-{ "id": 2333 }
-{ "id": 2334 }
-{ "id": 2335 }
-{ "id": 2336 }
-{ "id": 2337 }
-{ "id": 2338 }
-{ "id": 2339 }
-{ "id": 2340 }
-{ "id": 2341 }
-{ "id": 2342 }
-{ "id": 2343 }
-{ "id": 2344 }
-{ "id": 2345 }
-{ "id": 2346 }
-{ "id": 2347 }
-{ "id": 2348 }
-{ "id": 2349 }
-{ "id": 2350 }
-{ "id": 2351 }
-{ "id": 2352 }
-{ "id": 2353 }
-{ "id": 2354 }
-{ "id": 2355 }
-{ "id": 2356 }
-{ "id": 2357 }
-{ "id": 2358 }
-{ "id": 2359 }
-{ "id": 2360 }
-{ "id": 2361 }
-{ "id": 2362 }
-{ "id": 2408 }
-{ "id": 2409 }
-{ "id": 2410 }
-{ "id": 2411 }
-{ "id": 2412 }
-{ "id": 2413 }
-{ "id": 2414 }
-{ "id": 2415 }
-{ "id": 2416 }
-{ "id": 2417 }
-{ "id": 2418 }
-{ "id": 2419 }
-{ "id": 2420 }
-{ "id": 2421 }
-{ "id": 2422 }
-{ "id": 2423 }
-{ "id": 2424 }
-{ "id": 2425 }
-{ "id": 2456 }
-{ "id": 2457 }
-{ "id": 2458 }
-{ "id": 2459 }
-{ "id": 2460 }
-{ "id": 2480 }
-{ "id": 2481 }
-{ "id": 2531 }
-{ "id": 2532 }
-{ "id": 2533 }
-{ "id": 2534 }
-{ "id": 2535 }
-{ "id": 2536 }
-{ "id": 2537 }
-{ "id": 2538 }
-{ "id": 2539 }
-{ "id": 2540 }
-{ "id": 2541 }
-{ "id": 2542 }
-{ "id": 2546 }
-{ "id": 2547 }
-{ "id": 2548 }
-{ "id": 2549 }
-{ "id": 2550 }
-{ "id": 2551 }
-{ "id": 2552 }
-{ "id": 2553 }
-{ "id": 2554 }
-{ "id": 2555 }
-{ "id": 2556 }
-{ "id": 2557 }
-{ "id": 2558 }
-{ "id": 2559 }
-{ "id": 2560 }
-{ "id": 2561 }
-{ "id": 2562 }
-{ "id": 2563 }
-{ "id": 2564 }
-{ "id": 2565 }
-{ "id": 2566 }
-{ "id": 2567 }
-{ "id": 2568 }
-{ "id": 2569 }
-{ "id": 2570 }
-{ "id": 2571 }
-{ "id": 2572 }
-{ "id": 2573 }
-{ "id": 2574 }
-{ "id": 2575 }
-{ "id": 2576 }
-{ "id": 2577 }
-{ "id": 2578 }
-{ "id": 2579 }
-{ "id": 2580 }
-{ "id": 2581 }
-{ "id": 2582 }
-{ "id": 2583 }
-{ "id": 2584 }
-{ "id": 2585 }
-{ "id": 2586 }
-{ "id": 2587 }
-{ "id": 2588 }
-{ "id": 2589 }
-{ "id": 2590 }
-{ "id": 2591 }
-{ "id": 2592 }
-{ "id": 2593 }
-{ "id": 2594 }
-{ "id": 2595 }
-{ "id": 2596 }
-{ "id": 2597 }
-{ "id": 2598 }
-{ "id": 2599 }
-{ "id": 2600 }
-{ "id": 2601 }
-{ "id": 2602 }
-{ "id": 2603 }
-{ "id": 2604 }
-{ "id": 2605 }
-{ "id": 2606 }
-{ "id": 2607 }
-{ "id": 2608 }
-{ "id": 2609 }
-{ "id": 2610 }
-{ "id": 2611 }
-{ "id": 2612 }
-{ "id": 2613 }
-{ "id": 2614 }
-{ "id": 2615 }
-{ "id": 2616 }
-{ "id": 2617 }
-{ "id": 2618 }
-{ "id": 2619 }
-{ "id": 2620 }
-{ "id": 2621 }
-{ "id": 2622 }
-{ "id": 2623 }
-{ "id": 2624 }
-{ "id": 2625 }
-{ "id": 2626 }
-{ "id": 2627 }
-{ "id": 2628 }
-{ "id": 2629 }
-{ "id": 2630 }
-{ "id": 2631 }
-{ "id": 2632 }
-{ "id": 2633 }
-{ "id": 2634 }
-{ "id": 2635 }
-{ "id": 2637 }
-{ "id": 2638 }
-{ "id": 2639 }
-{ "id": 2640 }
-{ "id": 2641 }
-{ "id": 2642 }
-{ "id": 2643 }
-{ "id": 2644 }
-{ "id": 2645 }
-{ "id": 2646 }
-{ "id": 2647 }
-{ "id": 2648 }
-{ "id": 2649 }
-{ "id": 2650 }
-{ "id": 2651 }
-{ "id": 2652 }
-{ "id": 2653 }
-{ "id": 2654 }
-{ "id": 2655 }
-{ "id": 2656 }
-{ "id": 2657 }
-{ "id": 2658 }
-{ "id": 2659 }
-{ "id": 2660 }
-{ "id": 2661 }
-{ "id": 2662 }
-{ "id": 2663 }
-{ "id": 2664 }
-{ "id": 2665 }
-{ "id": 2666 }
-{ "id": 2667 }
-{ "id": 2668 }
-{ "id": 2669 }
-{ "id": 2670 }
-{ "id": 2671 }
-{ "id": 2672 }
-{ "id": 2673 }
-{ "id": 2674 }
-{ "id": 2675 }
-{ "id": 2676 }
-{ "id": 2677 }
-{ "id": 2678 }
-{ "id": 2679 }
-{ "id": 2680 }
-{ "id": 2681 }
-{ "id": 2682 }
-{ "id": 2683 }
-{ "id": 2684 }
-{ "id": 2685 }
-{ "id": 2686 }
-{ "id": 2687 }
-{ "id": 2688 }
-{ "id": 2689 }
-{ "id": 2690 }
-{ "id": 2691 }
-{ "id": 2692 }
-{ "id": 2693 }
-{ "id": 2694 }
-{ "id": 2695 }
-{ "id": 2696 }
-{ "id": 2697 }
-{ "id": 2698 }
-{ "id": 2699 }
-{ "id": 2700 }
-{ "id": 2701 }
-{ "id": 2702 }
-{ "id": 2703 }
-{ "id": 2704 }
-{ "id": 2705 }
-{ "id": 2706 }
-{ "id": 2707 }
-{ "id": 2708 }
-{ "id": 2709 }
-{ "id": 2710 }
-{ "id": 2711 }
-{ "id": 2712 }
-{ "id": 2713 }
-{ "id": 2714 }
-{ "id": 2715 }
-{ "id": 2716 }
-{ "id": 2717 }
-{ "id": 2718 }
-{ "id": 2719 }
-{ "id": 2720 }
-{ "id": 2721 }
-{ "id": 2722 }
-{ "id": 2723 }
-{ "id": 2724 }
-{ "id": 2725 }
-{ "id": 2726 }
-{ "id": 2727 }
-{ "id": 2728 }
-{ "id": 2729 }
-{ "id": 2730 }
-{ "id": 2731 }
-{ "id": 2732 }
-{ "id": 2733 }
-{ "id": 2734 }
-{ "id": 2735 }
-{ "id": 2736 }
-{ "id": 2737 }
-{ "id": 2738 }
-{ "id": 2739 }
-{ "id": 2740 }
-{ "id": 2741 }
-{ "id": 2742 }
-{ "id": 2743 }
-{ "id": 2744 }
-{ "id": 2745 }
-{ "id": 2746 }
-{ "id": 2747 }
-{ "id": 2748 }
-{ "id": 2749 }
-{ "id": 2750 }
-{ "id": 2751 }
-{ "id": 2752 }
-{ "id": 2753 }
-{ "id": 2754 }
-{ "id": 2755 }
-{ "id": 2756 }
-{ "id": 2757 }
-{ "id": 2758 }
-{ "id": 2759 }
-{ "id": 2760 }
-{ "id": 2761 }
-{ "id": 2762 }
-{ "id": 2763 }
-{ "id": 2764 }
-{ "id": 2765 }
-{ "id": 2766 }
-{ "id": 2767 }
-{ "id": 2768 }
-{ "id": 2769 }
-{ "id": 2770 }
-{ "id": 2771 }
-{ "id": 2772 }
-{ "id": 2773 }
-{ "id": 2774 }
-{ "id": 2775 }
-{ "id": 2776 }
-{ "id": 2777 }
-{ "id": 2778 }
-{ "id": 2779 }
-{ "id": 2780 }
-{ "id": 2781 }
-{ "id": 2782 }
-{ "id": 2783 }
-{ "id": 2784 }
-{ "id": 2785 }
-{ "id": 2786 }
-{ "id": 2787 }
-{ "id": 2788 }
-{ "id": 2789 }
-{ "id": 2790 }
-{ "id": 2791 }
-{ "id": 2792 }
-{ "id": 2793 }
-{ "id": 2794 }
-{ "id": 2795 }
-{ "id": 2796 }
-{ "id": 2797 }
-{ "id": 2798 }
-{ "id": 2799 }
-{ "id": 2800 }
-{ "id": 2801 }
-{ "id": 2802 }
-{ "id": 2803 }
-{ "id": 2804 }
-{ "id": 2805 }
-{ "id": 2806 }
-{ "id": 2807 }
-{ "id": 2808 }
-{ "id": 2809 }
-{ "id": 2810 }
-{ "id": 2811 }
-{ "id": 2812 }
-{ "id": 2813 }
-{ "id": 2814 }
-{ "id": 2815 }
-{ "id": 2816 }
-{ "id": 2817 }
-{ "id": 2818 }
-{ "id": 2819 }
-{ "id": 2820 }
-{ "id": 2821 }
-{ "id": 2822 }
-{ "id": 2823 }
-{ "id": 2824 }
-{ "id": 2825 }
-{ "id": 2826 }
-{ "id": 2827 }
-{ "id": 2828 }
-{ "id": 2829 }
-{ "id": 2830 }
-{ "id": 2831 }
-{ "id": 2832 }
-{ "id": 2833 }
-{ "id": 2834 }
-{ "id": 2835 }
-{ "id": 2836 }
-{ "id": 2837 }
-{ "id": 2838 }
-{ "id": 2839 }
-{ "id": 2840 }
-{ "id": 2841 }
-{ "id": 2842 }
-{ "id": 2843 }
-{ "id": 2844 }
-{ "id": 2845 }
-{ "id": 2846 }
-{ "id": 2847 }
-{ "id": 2848 }
-{ "id": 2849 }
-{ "id": 2850 }
-{ "id": 2851 }
-{ "id": 2852 }
-{ "id": 2853 }
-{ "id": 2854 }
-{ "id": 2855 }
-{ "id": 2856 }
-{ "id": 2857 }
-{ "id": 2858 }
-{ "id": 2859 }
-{ "id": 2860 }
-{ "id": 2861 }
-{ "id": 2862 }
-{ "id": 2863 }
-{ "id": 2864 }
-{ "id": 2865 }
-{ "id": 2866 }
-{ "id": 2867 }
-{ "id": 2868 }
-{ "id": 2869 }
-{ "id": 2870 }
-{ "id": 2871 }
-{ "id": 2872 }
-{ "id": 2873 }
-{ "id": 2874 }
-{ "id": 2875 }
-{ "id": 2876 }
-{ "id": 2877 }
-{ "id": 2878 }
-{ "id": 2879 }
-{ "id": 2880 }
-{ "id": 2881 }
-{ "id": 2882 }
-{ "id": 2883 }
-{ "id": 2884 }
-{ "id": 2885 }
-{ "id": 2886 }
-{ "id": 2887 }
-{ "id": 2888 }
-{ "id": 2889 }
-{ "id": 2890 }
-{ "id": 2891 }
-{ "id": 2892 }
-{ "id": 2893 }
-{ "id": 2894 }
-{ "id": 2895 }
-{ "id": 2896 }
-{ "id": 2897 }
-{ "id": 2898 }
-{ "id": 2899 }
-{ "id": 2900 }
-{ "id": 2901 }
-{ "id": 2902 }
-{ "id": 2903 }
-{ "id": 2904 }
-{ "id": 2905 }
-{ "id": 2906 }
-{ "id": 2907 }
-{ "id": 2908 }
-{ "id": 2909 }
-{ "id": 2910 }
-{ "id": 2911 }
-{ "id": 2912 }
-{ "id": 2913 }
-{ "id": 2914 }
-{ "id": 2915 }
-{ "id": 2916 }
-{ "id": 2917 }
-{ "id": 2918 }
-{ "id": 2919 }
-{ "id": 2920 }
-{ "id": 2921 }
-{ "id": 2922 }
-{ "id": 2923 }
-{ "id": 2924 }
-{ "id": 2925 }
-{ "id": 2926 }
-{ "id": 2927 }
-{ "id": 2928 }
-{ "id": 2929 }
-{ "id": 2930 }
-{ "id": 2931 }
-{ "id": 2932 }
-{ "id": 2933 }
-{ "id": 2934 }
-{ "id": 2935 }
-{ "id": 2936 }
-{ "id": 2937 }
-{ "id": 2938 }
-{ "id": 2939 }
-{ "id": 2940 }
-{ "id": 2941 }
-{ "id": 2942 }
-{ "id": 2943 }
-{ "id": 2944 }
-{ "id": 2945 }
-{ "id": 2946 }
-{ "id": 2947 }
-{ "id": 2948 }
-{ "id": 2949 }
-{ "id": 2950 }
-{ "id": 2951 }
-{ "id": 2952 }
-{ "id": 2953 }
-{ "id": 2954 }
-{ "id": 2955 }
-{ "id": 2956 }
-{ "id": 2957 }
-{ "id": 2958 }
-{ "id": 2959 }
-{ "id": 2960 }
-{ "id": 2961 }
-{ "id": 2962 }
-{ "id": 2963 }
-{ "id": 2964 }
-{ "id": 2965 }
-{ "id": 2966 }
-{ "id": 2967 }
-{ "id": 2968 }
-{ "id": 2969 }
-{ "id": 2970 }
-{ "id": 2971 }
-{ "id": 2972 }
-{ "id": 2973 }
-{ "id": 2974 }
-{ "id": 2975 }
-{ "id": 2976 }
-{ "id": 2977 }
-{ "id": 2978 }
-{ "id": 2979 }
-{ "id": 2980 }
-{ "id": 2981 }
-{ "id": 2982 }
-{ "id": 2983 }
-{ "id": 2984 }
-{ "id": 2985 }
-{ "id": 2986 }
-{ "id": 2987 }
-{ "id": 2988 }
-{ "id": 3045 }
-{ "id": 3046 }
-{ "id": 3047 }
-{ "id": 3048 }
-{ "id": 3049 }
-{ "id": 3050 }
-{ "id": 3051 }
-{ "id": 3052 }
-{ "id": 3053 }
-{ "id": 3054 }
-{ "id": 3055 }
-{ "id": 3056 }
-{ "id": 3057 }
-{ "id": 3058 }
-{ "id": 3059 }
-{ "id": 3060 }
-{ "id": 3061 }
-{ "id": 3062 }
-{ "id": 3063 }
-{ "id": 3064 }
-{ "id": 3065 }
-{ "id": 3066 }
-{ "id": 3067 }
-{ "id": 3068 }
-{ "id": 3069 }
-{ "id": 3070 }
-{ "id": 3071 }
-{ "id": 3072 }
-{ "id": 3073 }
-{ "id": 3074 }
-{ "id": 3075 }
-{ "id": 3076 }
-{ "id": 3077 }
-{ "id": 3078 }
-{ "id": 3158 }
-{ "id": 3159 }
-{ "id": 3160 }
-{ "id": 3161 }
-{ "id": 3162 }
-{ "id": 3163 }
-{ "id": 3164 }
-{ "id": 3165 }
-{ "id": 3166 }
-{ "id": 3167 }
-{ "id": 3168 }
-{ "id": 3169 }
-{ "id": 3170 }
-{ "id": 3171 }
-{ "id": 3172 }
-{ "id": 3173 }
-{ "id": 3174 }
-{ "id": 3175 }
-{ "id": 3176 }
-{ "id": 3177 }
-{ "id": 3178 }
-{ "id": 3179 }
-{ "id": 3180 }
-{ "id": 3181 }
-{ "id": 3182 }
-{ "id": 3183 }
-{ "id": 3184 }
-{ "id": 3185 }
-{ "id": 3186 }
-{ "id": 3187 }
-{ "id": 3188 }
-{ "id": 3189 }
-{ "id": 3190 }
-{ "id": 3191 }
-{ "id": 3192 }
-{ "id": 3193 }
-{ "id": 3194 }
-{ "id": 3195 }
-{ "id": 3196 }
-{ "id": 3197 }
-{ "id": 3198 }
-{ "id": 3199 }
-{ "id": 3200 }
-{ "id": 3201 }
-{ "id": 3202 }
-{ "id": 3203 }
-{ "id": 3204 }
-{ "id": 3205 }
-{ "id": 3206 }
-{ "id": 3207 }
-{ "id": 3208 }
-{ "id": 3209 }
-{ "id": 3210 }
-{ "id": 3211 }
-{ "id": 3212 }
-{ "id": 3213 }
-{ "id": 3214 }
-{ "id": 3215 }
-{ "id": 3216 }
-{ "id": 3217 }
-{ "id": 3218 }
-{ "id": 3219 }
-{ "id": 3220 }
-{ "id": 3221 }
-{ "id": 3222 }
-{ "id": 3223 }
-{ "id": 3224 }
-{ "id": 3225 }
-{ "id": 3226 }
-{ "id": 3227 }
-{ "id": 3228 }
-{ "id": 3229 }
-{ "id": 3230 }
-{ "id": 3231 }
-{ "id": 3232 }
-{ "id": 3233 }
-{ "id": 3234 }
-{ "id": 3235 }
-{ "id": 3236 }
-{ "id": 3237 }
-{ "id": 3238 }
-{ "id": 3239 }
-{ "id": 3240 }
-{ "id": 3241 }
-{ "id": 3242 }
-{ "id": 3243 }
-{ "id": 3244 }
-{ "id": 3245 }
-{ "id": 3246 }
-{ "id": 3247 }
-{ "id": 3248 }
-{ "id": 3249 }
-{ "id": 3250 }
-{ "id": 3251 }
-{ "id": 3252 }
-{ "id": 3253 }
-{ "id": 3254 }
-{ "id": 3255 }
-{ "id": 3256 }
-{ "id": 3257 }
-{ "id": 3258 }
-{ "id": 3259 }
-{ "id": 3260 }
-{ "id": 3261 }
-{ "id": 3262 }
-{ "id": 3263 }
-{ "id": 3264 }
-{ "id": 3265 }
-{ "id": 3266 }
-{ "id": 3267 }
-{ "id": 3268 }
-{ "id": 3269 }
-{ "id": 3270 }
-{ "id": 3271 }
-{ "id": 3272 }
-{ "id": 3273 }
-{ "id": 3274 }
-{ "id": 3275 }
-{ "id": 3276 }
-{ "id": 3277 }
-{ "id": 3278 }
-{ "id": 3279 }
-{ "id": 3280 }
-{ "id": 3281 }
-{ "id": 3282 }
-{ "id": 3283 }
-{ "id": 3284 }
-{ "id": 3285 }
-{ "id": 3286 }
-{ "id": 3287 }
-{ "id": 3288 }
-{ "id": 3289 }
-{ "id": 3290 }
-{ "id": 3291 }
-{ "id": 3292 }
-{ "id": 3293 }
-{ "id": 3294 }
-{ "id": 3295 }
-{ "id": 3296 }
-{ "id": 3297 }
-{ "id": 3298 }
-{ "id": 3299 }
-{ "id": 3300 }
-{ "id": 3301 }
-{ "id": 3302 }
-{ "id": 3303 }
-{ "id": 3304 }
-{ "id": 3305 }
-{ "id": 3306 }
-{ "id": 3307 }
-{ "id": 3308 }
-{ "id": 3309 }
-{ "id": 3310 }
-{ "id": 3311 }
-{ "id": 3312 }
-{ "id": 3313 }
-{ "id": 3314 }
-{ "id": 3315 }
-{ "id": 3316 }
-{ "id": 3317 }
-{ "id": 3318 }
-{ "id": 3319 }
-{ "id": 3320 }
-{ "id": 3321 }
-{ "id": 3322 }
-{ "id": 3323 }
-{ "id": 3324 }
-{ "id": 3325 }
-{ "id": 3326 }
-{ "id": 3327 }
-{ "id": 3541 }
-{ "id": 3542 }
-{ "id": 3543 }
-{ "id": 3544 }
-{ "id": 3545 }
-{ "id": 3546 }
-{ "id": 3547 }
-{ "id": 3548 }
-{ "id": 3549 }
-{ "id": 3550 }
-{ "id": 3551 }
-{ "id": 3552 }
-{ "id": 3553 }
-{ "id": 3554 }
-{ "id": 3555 }
-{ "id": 3556 }
-{ "id": 3557 }
-{ "id": 3558 }
-{ "id": 3559 }
-{ "id": 3560 }
-{ "id": 3561 }
-{ "id": 3562 }
-{ "id": 3563 }
-{ "id": 3564 }
-{ "id": 3565 }
-{ "id": 3566 }
-{ "id": 3567 }
-{ "id": 3568 }
-{ "id": 3569 }
-{ "id": 3570 }
-{ "id": 3571 }
-{ "id": 3572 }
-{ "id": 3573 }
-{ "id": 3574 }
-{ "id": 3575 }
-{ "id": 3576 }
-{ "id": 3577 }
-{ "id": 3578 }
-{ "id": 3579 }
-{ "id": 3580 }
-{ "id": 3581 }
-{ "id": 3582 }
-{ "id": 3583 }
-{ "id": 3584 }
-{ "id": 3585 }
-{ "id": 3586 }
-{ "id": 3587 }
-{ "id": 3588 }
-{ "id": 3589 }
-{ "id": 3590 }
-{ "id": 3591 }
-{ "id": 3592 }
-{ "id": 3593 }
-{ "id": 3594 }
-{ "id": 3595 }
-{ "id": 3596 }
-{ "id": 3597 }
-{ "id": 3598 }
-{ "id": 3599 }
-{ "id": 3600 }
-{ "id": 3601 }
-{ "id": 3602 }
-{ "id": 3603 }
-{ "id": 3604 }
-{ "id": 3605 }
-{ "id": 3606 }
-{ "id": 3607 }
-{ "id": 3608 }
-{ "id": 3609 }
-{ "id": 3610 }
-{ "id": 3611 }
-{ "id": 3612 }
-{ "id": 3613 }
-{ "id": 3614 }
-{ "id": 3615 }
-{ "id": 3616 }
-{ "id": 3617 }
-{ "id": 3618 }
-{ "id": 3619 }
-{ "id": 3620 }
-{ "id": 3621 }
-{ "id": 3622 }
-{ "id": 3623 }
-{ "id": 3624 }
-{ "id": 3625 }
-{ "id": 3626 }
-{ "id": 3627 }
-{ "id": 3628 }
-{ "id": 3629 }
-{ "id": 3630 }
-{ "id": 3631 }
-{ "id": 3632 }
-{ "id": 3633 }
-{ "id": 3634 }
-{ "id": 3635 }
-{ "id": 3636 }
-{ "id": 3637 }
-{ "id": 3638 }
-{ "id": 3639 }
-{ "id": 3640 }
-{ "id": 3641 }
-{ "id": 3642 }
-{ "id": 3643 }
-{ "id": 3644 }
-{ "id": 3645 }
-{ "id": 3646 }
-{ "id": 3647 }
-{ "id": 3648 }
-{ "id": 3649 }
-{ "id": 3650 }
-{ "id": 3651 }
-{ "id": 3652 }
-{ "id": 3653 }
-{ "id": 3654 }
-{ "id": 3655 }
-{ "id": 3656 }
-{ "id": 3657 }
-{ "id": 3658 }
-{ "id": 3659 }
-{ "id": 3660 }
-{ "id": 3661 }
-{ "id": 3662 }
-{ "id": 3663 }
-{ "id": 3664 }
-{ "id": 3665 }
-{ "id": 3666 }
-{ "id": 3667 }
-{ "id": 3668 }
-{ "id": 3669 }
-{ "id": 3670 }
-{ "id": 3671 }
-{ "id": 3672 }
-{ "id": 3772 }
-{ "id": 3773 }
-{ "id": 3774 }
-{ "id": 3775 }
-{ "id": 3776 }
-{ "id": 3777 }
-{ "id": 3778 }
-{ "id": 3779 }
-{ "id": 3780 }
-{ "id": 3781 }
-{ "id": 3782 }
-{ "id": 3783 }
-{ "id": 3784 }
-{ "id": 3785 }
-{ "id": 3786 }
-{ "id": 3787 }
-{ "id": 3788 }
-{ "id": 3789 }
-{ "id": 3790 }
-{ "id": 3791 }
-{ "id": 3792 }
-{ "id": 3793 }
-{ "id": 3794 }
-{ "id": 3795 }
-{ "id": 3796 }
-{ "id": 3797 }
-{ "id": 3798 }
-{ "id": 3799 }
-{ "id": 3800 }
-{ "id": 3801 }
-{ "id": 3802 }
-{ "id": 3803 }
-{ "id": 3804 }
-{ "id": 3805 }
-{ "id": 3806 }
-{ "id": 3807 }
-{ "id": 3808 }
-{ "id": 3809 }
-{ "id": 3810 }
-{ "id": 3811 }
-{ "id": 3812 }
-{ "id": 3813 }
-{ "id": 3814 }
-{ "id": 3815 }
-{ "id": 3816 }
-{ "id": 3817 }
-{ "id": 3818 }
-{ "id": 3819 }
-{ "id": 3820 }
-{ "id": 3821 }
-{ "id": 3822 }
-{ "id": 3823 }
-{ "id": 3824 }
-{ "id": 3825 }
-{ "id": 3826 }
-{ "id": 3827 }
-{ "id": 3828 }
-{ "id": 3829 }
-{ "id": 3830 }
-{ "id": 3831 }
-{ "id": 3832 }
-{ "id": 3833 }
-{ "id": 3834 }
-{ "id": 3876 }
-{ "id": 3877 }
-{ "id": 3878 }
-{ "id": 3879 }
-{ "id": 3880 }
-{ "id": 3881 }
-{ "id": 3882 }
-{ "id": 3883 }
-{ "id": 3884 }
-{ "id": 3885 }
-{ "id": 3886 }
-{ "id": 3887 }
-{ "id": 3888 }
-{ "id": 3889 }
-{ "id": 3890 }
-{ "id": 3891 }
-{ "id": 3892 }
-{ "id": 3893 }
-{ "id": 3894 }
-{ "id": 3895 }
-{ "id": 3896 }
-{ "id": 3897 }
-{ "id": 3898 }
-{ "id": 3899 }
-{ "id": 3900 }
-{ "id": 3901 }
-{ "id": 3902 }
-{ "id": 3903 }
-{ "id": 3904 }
-{ "id": 3905 }
-{ "id": 3906 }
-{ "id": 3907 }
-{ "id": 3908 }
-{ "id": 3909 }
-{ "id": 3910 }
-{ "id": 3911 }
-{ "id": 3912 }
-{ "id": 3913 }
-{ "id": 3914 }
-{ "id": 3915 }
-{ "id": 3916 }
-{ "id": 3917 }
-{ "id": 3918 }
-{ "id": 3919 }
-{ "id": 3920 }
-{ "id": 3921 }
-{ "id": 3922 }
-{ "id": 3923 }
-{ "id": 3924 }
-{ "id": 3925 }
-{ "id": 3926 }
-{ "id": 3927 }
-{ "id": 3928 }
-{ "id": 3929 }
-{ "id": 3930 }
-{ "id": 3931 }
-{ "id": 3932 }
-{ "id": 3933 }
-{ "id": 3934 }
-{ "id": 3935 }
-{ "id": 3936 }
-{ "id": 3937 }
-{ "id": 3938 }
-{ "id": 3939 }
-{ "id": 3940 }
-{ "id": 3941 }
-{ "id": 3942 }
-{ "id": 3943 }
-{ "id": 3944 }
-{ "id": 3945 }
-{ "id": 3946 }
-{ "id": 3947 }
-{ "id": 3948 }
-{ "id": 3949 }
-{ "id": 3950 }
-{ "id": 3951 }
-{ "id": 3952 }
-{ "id": 3953 }
-{ "id": 3954 }
-{ "id": 3955 }
-{ "id": 3956 }
-{ "id": 3957 }
-{ "id": 3958 }
-{ "id": 3959 }
-{ "id": 3960 }
-{ "id": 3961 }
-{ "id": 3962 }
-{ "id": 3963 }
-{ "id": 3964 }
-{ "id": 3965 }
-{ "id": 3966 }
-{ "id": 3967 }
-{ "id": 3968 }
-{ "id": 3969 }
-{ "id": 3970 }
-{ "id": 3971 }
-{ "id": 3972 }
-{ "id": 3973 }
-{ "id": 3974 }
-{ "id": 3975 }
-{ "id": 3976 }
-{ "id": 3977 }
-{ "id": 3978 }
-{ "id": 3979 }
-{ "id": 3980 }
-{ "id": 3981 }
-{ "id": 3982 }
-{ "id": 3983 }
-{ "id": 3984 }
-{ "id": 3985 }
-{ "id": 3986 }
-{ "id": 3987 }
-{ "id": 3988 }
-{ "id": 3989 }
-{ "id": 3990 }
-{ "id": 3991 }
-{ "id": 3992 }
-{ "id": 3993 }
-{ "id": 3994 }
-{ "id": 3995 }
-{ "id": 3996 }
-{ "id": 3997 }
-{ "id": 3998 }
-{ "id": 3999 }
-{ "id": 4000 }
-{ "id": 4001 }
-{ "id": 4002 }
-{ "id": 4003 }
-{ "id": 4004 }
-{ "id": 4005 }
-{ "id": 4006 }
-{ "id": 4007 }
-{ "id": 4008 }
-{ "id": 4009 }
-{ "id": 4010 }
-{ "id": 4011 }
-{ "id": 4012 }
-{ "id": 4013 }
-{ "id": 4014 }
-{ "id": 4015 }
-{ "id": 4016 }
-{ "id": 4017 }
-{ "id": 4018 }
-{ "id": 4019 }
-{ "id": 4020 }
-{ "id": 4021 }
-{ "id": 4022 }
-{ "id": 4023 }
-{ "id": 4024 }
-{ "id": 4025 }
-{ "id": 4026 }
-{ "id": 4027 }
-{ "id": 4028 }
-{ "id": 4110 }
-{ "id": 4111 }
-{ "id": 4112 }
-{ "id": 4113 }
-{ "id": 4114 }
-{ "id": 4115 }
-{ "id": 4116 }
-{ "id": 4117 }
-{ "id": 4118 }
-{ "id": 4119 }
-{ "id": 4120 }
-{ "id": 4121 }
-{ "id": 4122 }
-{ "id": 4123 }
-{ "id": 4124 }
-{ "id": 4125 }
-{ "id": 4126 }
-{ "id": 4127 }
-{ "id": 4128 }
-{ "id": 4129 }
-{ "id": 4130 }
-{ "id": 4131 }
-{ "id": 4132 }
-{ "id": 4133 }
-{ "id": 4134 }
-{ "id": 4135 }
-{ "id": 4136 }
-{ "id": 4137 }
-{ "id": 4138 }
-{ "id": 4139 }
-{ "id": 4140 }
-{ "id": 4141 }
-{ "id": 4142 }
-{ "id": 4143 }
-{ "id": 4144 }
-{ "id": 4220 }
-{ "id": 4221 }
-{ "id": 4222 }
-{ "id": 4223 }
-{ "id": 4224 }
-{ "id": 4225 }
-{ "id": 4226 }
-{ "id": 4227 }
-{ "id": 4228 }
-{ "id": 4229 }
-{ "id": 4230 }
-{ "id": 4231 }
-{ "id": 4232 }
-{ "id": 4233 }
-{ "id": 4234 }
-{ "id": 4235 }
-{ "id": 4236 }
-{ "id": 4237 }
-{ "id": 4238 }
-{ "id": 4239 }
-{ "id": 4240 }
-{ "id": 4241 }
-{ "id": 4242 }
-{ "id": 4243 }
-{ "id": 4244 }
-{ "id": 4245 }
-{ "id": 4246 }
-{ "id": 4303 }
-{ "id": 4304 }
-{ "id": 4305 }
-{ "id": 4306 }
-{ "id": 4307 }
-{ "id": 4308 }
-{ "id": 4309 }
-{ "id": 4310 }
-{ "id": 4311 }
-{ "id": 4312 }
-{ "id": 4313 }
-{ "id": 4314 }
-{ "id": 4315 }
-{ "id": 4316 }
-{ "id": 4317 }
-{ "id": 4318 }
-{ "id": 4319 }
-{ "id": 4320 }
-{ "id": 4321 }
-{ "id": 4322 }
-{ "id": 4323 }
-{ "id": 4324 }
-{ "id": 4325 }
-{ "id": 4326 }
-{ "id": 4327 }
-{ "id": 4328 }
-{ "id": 4329 }
-{ "id": 4330 }
-{ "id": 4331 }
-{ "id": 4332 }
-{ "id": 4333 }
-{ "id": 4334 }
-{ "id": 4335 }
-{ "id": 4336 }
-{ "id": 4337 }
-{ "id": 4338 }
-{ "id": 4339 }
-{ "id": 4340 }
-{ "id": 4341 }
-{ "id": 4342 }
-{ "id": 4343 }
-{ "id": 4344 }
-{ "id": 4345 }
-{ "id": 4346 }
-{ "id": 4347 }
-{ "id": 4348 }
-{ "id": 4349 }
-{ "id": 4350 }
-{ "id": 4351 }
-{ "id": 4352 }
-{ "id": 4353 }
-{ "id": 4354 }
-{ "id": 4355 }
-{ "id": 4356 }
-{ "id": 4357 }
-{ "id": 4358 }
-{ "id": 4359 }
-{ "id": 4360 }
-{ "id": 4361 }
-{ "id": 4362 }
-{ "id": 4363 }
-{ "id": 4364 }
-{ "id": 4365 }
-{ "id": 4366 }
-{ "id": 4367 }
-{ "id": 4368 }
-{ "id": 4369 }
-{ "id": 4370 }
-{ "id": 4371 }
-{ "id": 4372 }
-{ "id": 4373 }
-{ "id": 4374 }
-{ "id": 4375 }
-{ "id": 4376 }
-{ "id": 4377 }
-{ "id": 4378 }
-{ "id": 4379 }
-{ "id": 4380 }
-{ "id": 4381 }
-{ "id": 4382 }
-{ "id": 4383 }
-{ "id": 4384 }
-{ "id": 4385 }
-{ "id": 4386 }
-{ "id": 4387 }
-{ "id": 4388 }
-{ "id": 4389 }
-{ "id": 4390 }
-{ "id": 4391 }
-{ "id": 4392 }
-{ "id": 4393 }
-{ "id": 4394 }
-{ "id": 4395 }
-{ "id": 4396 }
-{ "id": 4397 }
-{ "id": 4398 }
-{ "id": 4399 }
-{ "id": 4400 }
-{ "id": 4401 }
-{ "id": 4402 }
-{ "id": 4403 }
-{ "id": 4404 }
-{ "id": 4405 }
-{ "id": 4406 }
-{ "id": 4407 }
-{ "id": 4408 }
-{ "id": 4409 }
-{ "id": 4410 }
-{ "id": 4411 }
-{ "id": 4412 }
-{ "id": 4413 }
-{ "id": 4414 }
-{ "id": 4415 }
-{ "id": 4416 }
-{ "id": 4417 }
-{ "id": 4418 }
-{ "id": 4419 }
-{ "id": 4420 }
-{ "id": 4421 }
-{ "id": 4422 }
-{ "id": 4423 }
-{ "id": 4424 }
-{ "id": 4425 }
-{ "id": 4426 }
-{ "id": 4427 }
-{ "id": 4428 }
-{ "id": 4429 }
-{ "id": 4430 }
-{ "id": 4601 }
-{ "id": 4602 }
-{ "id": 4603 }
-{ "id": 4604 }
-{ "id": 4605 }
-{ "id": 4606 }
-{ "id": 4607 }
-{ "id": 4608 }
-{ "id": 4609 }
-{ "id": 4610 }
-{ "id": 4611 }
-{ "id": 4612 }
-{ "id": 4613 }
-{ "id": 4614 }
-{ "id": 4615 }
-{ "id": 4616 }
-{ "id": 4617 }
-{ "id": 4618 }
-{ "id": 4619 }
-{ "id": 4620 }
-{ "id": 4621 }
-{ "id": 4622 }
-{ "id": 4623 }
-{ "id": 4624 }
-{ "id": 4625 }
-{ "id": 4626 }
-{ "id": 4627 }
-{ "id": 4628 }
-{ "id": 4629 }
-{ "id": 4630 }
-{ "id": 4631 }
-{ "id": 4632 }
-{ "id": 4633 }
-{ "id": 4634 }
-{ "id": 4635 }
-{ "id": 4636 }
-{ "id": 4637 }
-{ "id": 4638 }
-{ "id": 4639 }
-{ "id": 4640 }
-{ "id": 4641 }
-{ "id": 4642 }
-{ "id": 4643 }
-{ "id": 4644 }
-{ "id": 4645 }
-{ "id": 4646 }
-{ "id": 4647 }
-{ "id": 4648 }
-{ "id": 4649 }
-{ "id": 4650 }
-{ "id": 4651 }
-{ "id": 4652 }
-{ "id": 4653 }
-{ "id": 4654 }
-{ "id": 4655 }
-{ "id": 4656 }
-{ "id": 4657 }
-{ "id": 4658 }
-{ "id": 4659 }
-{ "id": 4660 }
-{ "id": 4661 }
-{ "id": 4662 }
-{ "id": 4663 }
-{ "id": 4664 }
-{ "id": 4665 }
-{ "id": 4666 }
-{ "id": 4667 }
-{ "id": 4668 }
-{ "id": 4669 }
-{ "id": 4670 }
-{ "id": 4671 }
-{ "id": 4672 }
-{ "id": 4673 }
-{ "id": 4674 }
-{ "id": 4675 }
-{ "id": 4676 }
-{ "id": 4677 }
-{ "id": 4678 }
-{ "id": 4679 }
-{ "id": 4680 }
-{ "id": 4681 }
-{ "id": 4682 }
-{ "id": 4683 }
-{ "id": 4684 }
-{ "id": 4685 }
-{ "id": 4686 }
-{ "id": 4687 }
-{ "id": 4688 }
-{ "id": 4689 }
-{ "id": 4690 }
-{ "id": 4691 }
-{ "id": 4692 }
-{ "id": 4693 }
-{ "id": 4694 }
-{ "id": 4695 }
-{ "id": 4696 }
-{ "id": 4697 }
-{ "id": 4698 }
-{ "id": 4699 }
-{ "id": 4700 }
-{ "id": 4701 }
-{ "id": 4702 }
-{ "id": 4703 }
-{ "id": 4704 }
-{ "id": 4705 }
-{ "id": 4706 }
-{ "id": 4707 }
-{ "id": 4708 }
-{ "id": 4709 }
-{ "id": 4710 }
-{ "id": 4711 }
-{ "id": 4712 }
-{ "id": 4713 }
-{ "id": 4714 }
-{ "id": 4715 }
-{ "id": 4716 }
-{ "id": 4717 }
-{ "id": 4718 }
-{ "id": 4719 }
-{ "id": 4720 }
-{ "id": 4721 }
-{ "id": 4722 }
-{ "id": 4723 }
-{ "id": 4724 }
-{ "id": 4725 }
-{ "id": 4726 }
-{ "id": 4727 }
-{ "id": 4728 }
-{ "id": 4729 }
-{ "id": 4730 }
-{ "id": 4731 }
-{ "id": 4732 }
-{ "id": 4733 }
-{ "id": 4734 }
-{ "id": 4735 }
-{ "id": 4736 }
-{ "id": 4737 }
-{ "id": 4738 }
-{ "id": 4739 }
-{ "id": 4740 }
-{ "id": 4741 }
-{ "id": 4742 }
-{ "id": 4743 }
-{ "id": 4744 }
-{ "id": 4745 }
-{ "id": 4746 }
-{ "id": 4747 }
-{ "id": 4748 }
-{ "id": 4749 }
-{ "id": 4750 }
-{ "id": 4751 }
-{ "id": 4752 }
-{ "id": 4753 }
-{ "id": 4754 }
-{ "id": 4755 }
-{ "id": 4756 }
-{ "id": 4757 }
-{ "id": 4758 }
-{ "id": 4759 }
-{ "id": 4760 }
-{ "id": 4761 }
-{ "id": 4762 }
-{ "id": 4763 }
-{ "id": 4764 }
-{ "id": 4765 }
-{ "id": 4766 }
-{ "id": 4767 }
-{ "id": 4768 }
-{ "id": 4769 }
-{ "id": 4770 }
-{ "id": 4771 }
-{ "id": 4772 }
-{ "id": 4773 }
-{ "id": 4774 }
-{ "id": 4775 }
-{ "id": 4776 }
-{ "id": 4777 }
-{ "id": 4778 }
-{ "id": 4779 }
-{ "id": 4780 }
-{ "id": 4781 }
-{ "id": 4782 }
-{ "id": 4783 }
-{ "id": 4784 }
-{ "id": 4785 }
-{ "id": 4786 }
-{ "id": 4787 }
-{ "id": 4788 }
-{ "id": 4789 }
-{ "id": 4790 }
-{ "id": 4791 }
-{ "id": 4792 }
-{ "id": 4793 }
-{ "id": 4794 }
-{ "id": 4795 }
-{ "id": 4796 }
-{ "id": 4797 }
-{ "id": 4798 }
-{ "id": 4799 }
-{ "id": 4800 }
-{ "id": 4801 }
-{ "id": 4802 }
-{ "id": 4803 }
-{ "id": 4804 }
-{ "id": 4805 }
-{ "id": 4806 }
-{ "id": 4807 }
-{ "id": 4808 }
-{ "id": 4809 }
-{ "id": 4810 }
-{ "id": 4811 }
-{ "id": 4812 }
-{ "id": 4813 }
-{ "id": 4814 }
-{ "id": 4815 }
-{ "id": 4816 }
-{ "id": 4817 }
-{ "id": 4872 }
-{ "id": 4873 }
-{ "id": 4874 }
-{ "id": 4875 }
-{ "id": 4876 }
-{ "id": 4877 }
-{ "id": 4878 }
-{ "id": 4879 }
-{ "id": 4880 }
-{ "id": 4881 }
-{ "id": 4882 }
-{ "id": 4883 }
-{ "id": 4884 }
-{ "id": 4885 }
-{ "id": 4886 }
-{ "id": 4887 }
-{ "id": 4888 }
-{ "id": 4889 }
-{ "id": 4890 }
-{ "id": 4891 }
-{ "id": 4892 }
-{ "id": 4893 }
-{ "id": 4894 }
-{ "id": 4895 }
-{ "id": 4896 }
-{ "id": 4897 }
-{ "id": 4898 }
-{ "id": 4899 }
-{ "id": 4900 }
-{ "id": 4901 }
-{ "id": 4902 }
-{ "id": 4903 }
-{ "id": 4904 }
-{ "id": 4905 }
-{ "id": 4906 }
-{ "id": 4907 }
-{ "id": 4908 }
-{ "id": 4909 }
-{ "id": 4910 }
-{ "id": 4911 }
-{ "id": 4912 }
-{ "id": 4913 }
-{ "id": 4914 }
-{ "id": 4915 }
-{ "id": 4916 }
-{ "id": 4917 }
-{ "id": 4918 }
-{ "id": 4919 }
-{ "id": 4920 }
-{ "id": 4921 }
-{ "id": 4922 }
-{ "id": 4923 }
-{ "id": 4924 }
-{ "id": 4925 }
-{ "id": 4926 }
-{ "id": 4927 }
-{ "id": 4928 }
-{ "id": 4929 }
-{ "id": 4930 }
-{ "id": 4931 }
-{ "id": 4932 }
-{ "id": 4933 }
-{ "id": 4934 }
-{ "id": 4935 }
-{ "id": 4936 }
-{ "id": 4937 }
-{ "id": 4938 }
-{ "id": 4939 }
-{ "id": 4940 }
-{ "id": 4941 }
-{ "id": 4942 }
-{ "id": 4943 }
-{ "id": 4944 }
-{ "id": 4945 }
-{ "id": 4946 }
-{ "id": 4947 }
-{ "id": 4948 }
-{ "id": 4949 }
-{ "id": 4950 }
-{ "id": 4951 }
-{ "id": 4952 }
-{ "id": 4953 }
-{ "id": 4954 }
-{ "id": 4955 }
-{ "id": 4956 }
-{ "id": 4957 }
-{ "id": 4958 }
-{ "id": 4959 }
-{ "id": 4960 }
-{ "id": 4961 }
-{ "id": 4962 }
-{ "id": 4963 }
-{ "id": 4964 }
-{ "id": 4965 }
-{ "id": 4966 }
-{ "id": 4967 }
-{ "id": 4968 }
-{ "id": 4969 }
-{ "id": 4970 }
-{ "id": 4971 }
-{ "id": 4972 }
-{ "id": 4973 }
-{ "id": 4974 }
-{ "id": 4975 }
-{ "id": 4976 }
-{ "id": 4977 }
-{ "id": 4978 }
-{ "id": 4979 }
-{ "id": 4980 }
-{ "id": 4981 }
-{ "id": 4982 }
-{ "id": 4983 }
-{ "id": 4984 }
-{ "id": 4985 }
-{ "id": 4986 }
-{ "id": 4987 }
-{ "id": 4988 }
-{ "id": 4989 }
-{ "id": 4990 }
-{ "id": 4991 }
-{ "id": 4992 }
-{ "id": 4993 }
-{ "id": 4994 }
-{ "id": 4995 }
-{ "id": 4996 }
-{ "id": 4997 }
-{ "id": 4998 }
-{ "id": 4999 }
-{ "id": 5000 }
-{ "id": 5001 }
-{ "id": 5002 }
-{ "id": 5003 }
-{ "id": 5004 }
-{ "id": 5005 }
-{ "id": 5006 }
-{ "id": 5007 }
-{ "id": 5008 }
-{ "id": 5009 }
-{ "id": 5010 }
-{ "id": 5011 }
-{ "id": 5012 }
-{ "id": 5013 }
-{ "id": 5014 }
-{ "id": 5015 }
-{ "id": 5016 }
-{ "id": 5017 }
-{ "id": 5018 }
-{ "id": 5019 }
-{ "id": 5020 }
-{ "id": 5021 }
-{ "id": 5022 }
-{ "id": 5023 }
-{ "id": 5024 }
-{ "id": 5025 }
-{ "id": 5026 }
-{ "id": 5027 }
-{ "id": 5028 }
-{ "id": 5029 }
-{ "id": 5030 }
-{ "id": 5031 }
-{ "id": 5032 }
-{ "id": 5033 }
-{ "id": 5034 }
-{ "id": 5035 }
-{ "id": 5036 }
-{ "id": 5037 }
-{ "id": 5038 }
-{ "id": 5039 }
-{ "id": 5040 }
-{ "id": 5041 }
-{ "id": 5042 }
-{ "id": 5043 }
-{ "id": 5044 }
-{ "id": 5045 }
-{ "id": 5046 }
-{ "id": 5047 }
-{ "id": 5048 }
-{ "id": 5049 }
-{ "id": 5050 }
-{ "id": 5051 }
-{ "id": 5052 }
-{ "id": 5053 }
-{ "id": 5054 }
-{ "id": 5055 }
-{ "id": 5056 }
-{ "id": 5057 }
-{ "id": 5058 }
-{ "id": 5059 }
-{ "id": 5060 }
-{ "id": 5061 }
-{ "id": 5062 }
-{ "id": 5063 }
-{ "id": 5064 }
-{ "id": 5065 }
-{ "id": 5066 }
-{ "id": 5067 }
-{ "id": 5068 }
-{ "id": 5069 }
-{ "id": 5070 }
-{ "id": 5071 }
-{ "id": 5072 }
-{ "id": 5073 }
-{ "id": 5074 }
-{ "id": 5075 }
-{ "id": 5076 }
-{ "id": 5077 }
-{ "id": 5078 }
-{ "id": 5079 }
-{ "id": 5080 }
-{ "id": 5081 }
-{ "id": 5082 }
-{ "id": 5083 }
-{ "id": 5084 }
-{ "id": 5085 }
-{ "id": 5086 }
-{ "id": 5087 }
-{ "id": 5088 }
-{ "id": 5089 }
-{ "id": 5090 }
-{ "id": 5091 }
-{ "id": 5092 }
-{ "id": 5093 }
-{ "id": 5094 }
-{ "id": 5095 }
-{ "id": 5096 }
-{ "id": 5097 }
-{ "id": 5098 }
-{ "id": 5099 }
-{ "id": 5100 }
-{ "id": 5101 }
-{ "id": 5102 }
-{ "id": 5103 }
-{ "id": 5104 }
-{ "id": 5105 }
-{ "id": 5106 }
-{ "id": 5107 }
-{ "id": 5108 }
-{ "id": 5109 }
-{ "id": 5110 }
-{ "id": 5111 }
-{ "id": 5112 }
-{ "id": 5113 }
-{ "id": 5114 }
-{ "id": 5115 }
-{ "id": 5116 }
-{ "id": 5117 }
-{ "id": 5118 }
-{ "id": 5119 }
-{ "id": 5120 }
-{ "id": 5121 }
-{ "id": 5122 }
-{ "id": 5123 }
-{ "id": 5124 }
-{ "id": 5125 }
-{ "id": 5126 }
-{ "id": 5127 }
-{ "id": 5128 }
-{ "id": 5129 }
-{ "id": 5130 }
-{ "id": 5131 }
-{ "id": 5132 }
-{ "id": 5133 }
-{ "id": 5134 }
-{ "id": 5135 }
-{ "id": 5136 }
-{ "id": 5137 }
-{ "id": 5138 }
-{ "id": 5139 }
-{ "id": 5140 }
-{ "id": 5141 }
-{ "id": 5142 }
-{ "id": 5143 }
-{ "id": 5144 }
-{ "id": 5145 }
-{ "id": 5146 }
-{ "id": 5147 }
-{ "id": 5148 }
-{ "id": 5149 }
-{ "id": 5150 }
-{ "id": 5151 }
-{ "id": 5152 }
-{ "id": 5153 }
-{ "id": 5154 }
-{ "id": 5155 }
-{ "id": 5156 }
-{ "id": 5157 }
-{ "id": 5158 }
-{ "id": 5159 }
-{ "id": 5160 }
-{ "id": 5161 }
-{ "id": 5162 }
-{ "id": 5163 }
-{ "id": 5164 }
-{ "id": 5165 }
-{ "id": 5166 }
-{ "id": 5167 }
-{ "id": 5168 }
-{ "id": 5169 }
-{ "id": 5170 }
-{ "id": 5171 }
-{ "id": 5172 }
-{ "id": 5173 }
-{ "id": 5174 }
-{ "id": 5175 }
-{ "id": 5176 }
-{ "id": 5177 }
-{ "id": 5178 }
-{ "id": 5179 }
-{ "id": 5180 }
-{ "id": 5181 }
-{ "id": 5182 }
-{ "id": 5183 }
-{ "id": 5184 }
-{ "id": 5185 }
-{ "id": 5186 }
-{ "id": 5187 }
-{ "id": 5188 }
-{ "id": 5189 }
-{ "id": 5190 }
-{ "id": 5191 }
-{ "id": 5192 }
-{ "id": 5193 }
-{ "id": 5194 }
-{ "id": 5195 }
-{ "id": 5196 }
-{ "id": 5197 }
-{ "id": 5198 }
-{ "id": 5199 }
-{ "id": 5200 }
-{ "id": 5201 }
-{ "id": 5202 }
-{ "id": 5203 }
-{ "id": 5204 }
-{ "id": 5205 }
-{ "id": 5206 }
-{ "id": 5207 }
-{ "id": 5208 }
-{ "id": 5209 }
-{ "id": 5210 }
-{ "id": 5211 }
-{ "id": 5212 }
-{ "id": 5213 }
-{ "id": 5214 }
-{ "id": 5215 }
-{ "id": 5216 }
-{ "id": 5217 }
-{ "id": 5223 }
-{ "id": 5224 }
-{ "id": 5225 }
-{ "id": 5226 }
-{ "id": 5227 }
-{ "id": 5228 }
-{ "id": 5229 }
-{ "id": 5230 }
-{ "id": 5231 }
-{ "id": 5232 }
-{ "id": 5233 }
-{ "id": 5234 }
-{ "id": 5235 }
-{ "id": 5236 }
-{ "id": 5237 }
-{ "id": 5238 }
-{ "id": 5239 }
-{ "id": 5240 }
-{ "id": 5241 }
-{ "id": 5242 }
-{ "id": 5243 }
-{ "id": 5244 }
-{ "id": 5245 }
-{ "id": 5246 }
-{ "id": 5247 }
-{ "id": 5248 }
-{ "id": 5249 }
-{ "id": 5250 }
-{ "id": 5251 }
-{ "id": 5252 }
-{ "id": 5253 }
-{ "id": 5254 }
-{ "id": 5255 }
-{ "id": 5256 }
-{ "id": 5257 }
-{ "id": 5258 }
-{ "id": 5259 }
-{ "id": 5260 }
-{ "id": 5261 }
-{ "id": 5262 }
-{ "id": 5263 }
-{ "id": 5264 }
-{ "id": 5265 }
-{ "id": 5266 }
-{ "id": 5267 }
-{ "id": 5268 }
-{ "id": 5269 }
-{ "id": 5270 }
-{ "id": 5271 }
-{ "id": 5272 }
-{ "id": 5273 }
-{ "id": 5274 }
-{ "id": 5275 }
-{ "id": 5276 }
-{ "id": 5277 }
-{ "id": 5278 }
-{ "id": 5279 }
-{ "id": 5280 }
-{ "id": 5281 }
-{ "id": 5282 }
-{ "id": 5283 }
-{ "id": 5284 }
-{ "id": 5285 }
-{ "id": 5286 }
-{ "id": 5287 }
-{ "id": 5288 }
-{ "id": 5289 }
-{ "id": 5290 }
-{ "id": 5291 }
-{ "id": 5292 }
-{ "id": 5293 }
-{ "id": 5294 }
-{ "id": 5295 }
-{ "id": 5296 }
-{ "id": 5297 }
-{ "id": 5298 }
-{ "id": 5299 }
-{ "id": 5300 }
-{ "id": 5301 }
-{ "id": 5302 }
-{ "id": 5303 }
-{ "id": 5304 }
-{ "id": 5305 }
-{ "id": 5306 }
-{ "id": 5307 }
-{ "id": 5308 }
-{ "id": 5309 }
-{ "id": 5310 }
-{ "id": 5311 }
-{ "id": 5312 }
-{ "id": 5313 }
-{ "id": 5314 }
-{ "id": 5315 }
-{ "id": 5316 }
-{ "id": 5317 }
-{ "id": 5318 }
-{ "id": 5319 }
-{ "id": 5320 }
-{ "id": 5321 }
-{ "id": 5322 }
-{ "id": 5323 }
-{ "id": 5324 }
-{ "id": 5325 }
-{ "id": 5326 }
-{ "id": 5327 }
-{ "id": 5328 }
-{ "id": 5329 }
-{ "id": 5330 }
-{ "id": 5331 }
-{ "id": 5332 }
-{ "id": 5333 }
-{ "id": 5334 }
-{ "id": 5335 }
-{ "id": 5336 }
-{ "id": 5337 }
-{ "id": 5338 }
-{ "id": 5339 }
-{ "id": 5340 }
-{ "id": 5341 }
-{ "id": 5342 }
-{ "id": 5343 }
-{ "id": 5344 }
-{ "id": 5345 }
-{ "id": 5346 }
-{ "id": 5347 }
-{ "id": 5348 }
-{ "id": 5349 }
-{ "id": 5350 }
-{ "id": 5351 }
-{ "id": 5352 }
-{ "id": 5353 }
-{ "id": 5354 }
-{ "id": 5355 }
-{ "id": 5356 }
-{ "id": 5357 }
-{ "id": 5358 }
-{ "id": 5359 }
-{ "id": 5360 }
-{ "id": 5361 }
-{ "id": 5362 }
-{ "id": 5363 }
-{ "id": 5364 }
-{ "id": 5365 }
-{ "id": 5366 }
-{ "id": 5367 }
-{ "id": 5368 }
-{ "id": 5369 }
-{ "id": 5370 }
-{ "id": 5371 }
-{ "id": 5372 }
-{ "id": 5373 }
-{ "id": 5374 }
-{ "id": 5375 }
-{ "id": 5376 }
-{ "id": 5377 }
-{ "id": 5378 }
-{ "id": 5379 }
-{ "id": 5380 }
-{ "id": 5381 }
-{ "id": 5382 }
-{ "id": 5383 }
-{ "id": 5384 }
-{ "id": 5385 }
-{ "id": 5386 }
-{ "id": 5387 }
-{ "id": 5388 }
-{ "id": 5389 }
-{ "id": 5390 }
-{ "id": 5391 }
-{ "id": 5392 }
-{ "id": 5393 }
-{ "id": 5394 }
-{ "id": 5395 }
-{ "id": 5396 }
-{ "id": 5397 }
-{ "id": 5398 }
-{ "id": 5399 }
-{ "id": 5400 }
-{ "id": 5401 }
-{ "id": 5402 }
-{ "id": 5403 }
-{ "id": 5404 }
-{ "id": 5405 }
-{ "id": 5406 }
-{ "id": 5407 }
-{ "id": 5408 }
-{ "id": 5409 }
-{ "id": 5410 }
-{ "id": 5411 }
-{ "id": 5412 }
-{ "id": 5413 }
-{ "id": 5414 }
-{ "id": 5415 }
-{ "id": 5416 }
-{ "id": 5417 }
-{ "id": 5418 }
-{ "id": 5419 }
-{ "id": 5420 }
-{ "id": 5421 }
-{ "id": 5422 }
-{ "id": 5423 }
-{ "id": 5424 }
-{ "id": 5425 }
-{ "id": 5426 }
-{ "id": 5427 }
-{ "id": 5428 }
-{ "id": 5429 }
-{ "id": 5430 }
-{ "id": 5431 }
-{ "id": 5432 }
-{ "id": 5433 }
-{ "id": 5434 }
-{ "id": 5435 }
-{ "id": 5436 }
-{ "id": 5437 }
-{ "id": 5438 }
-{ "id": 5439 }
-{ "id": 5440 }
-{ "id": 5441 }
-{ "id": 5442 }
-{ "id": 5443 }
-{ "id": 5444 }
-{ "id": 5445 }
-{ "id": 5446 }
-{ "id": 5447 }
-{ "id": 5448 }
-{ "id": 5449 }
-{ "id": 5450 }
-{ "id": 5451 }
-{ "id": 5452 }
-{ "id": 5453 }
-{ "id": 5454 }
-{ "id": 5455 }
-{ "id": 5456 }
-{ "id": 5457 }
-{ "id": 5458 }
-{ "id": 5459 }
-{ "id": 5460 }
-{ "id": 5461 }
-{ "id": 5462 }
-{ "id": 5463 }
-{ "id": 5464 }
-{ "id": 5465 }
-{ "id": 5466 }
-{ "id": 5467 }
-{ "id": 5468 }
-{ "id": 5469 }
-{ "id": 5470 }
-{ "id": 5471 }
-{ "id": 5472 }
-{ "id": 5473 }
-{ "id": 5474 }
-{ "id": 5475 }
-{ "id": 5476 }
-{ "id": 5477 }
-{ "id": 5478 }
-{ "id": 5479 }
-{ "id": 5480 }
-{ "id": 5481 }
-{ "id": 5482 }
-{ "id": 5483 }
-{ "id": 5484 }
-{ "id": 5485 }
-{ "id": 5486 }
-{ "id": 5487 }
-{ "id": 5488 }
-{ "id": 5489 }
-{ "id": 5490 }
-{ "id": 5491 }
-{ "id": 5492 }
-{ "id": 5493 }
-{ "id": 5494 }
-{ "id": 5495 }
-{ "id": 5496 }
-{ "id": 5497 }
-{ "id": 5498 }
-{ "id": 5499 }
-{ "id": 5500 }
-{ "id": 5501 }
-{ "id": 5502 }
-{ "id": 5503 }
-{ "id": 5504 }
-{ "id": 5505 }
-{ "id": 5506 }
-{ "id": 5507 }
-{ "id": 5508 }
-{ "id": 5509 }
-{ "id": 5510 }
-{ "id": 5511 }
-{ "id": 5512 }
-{ "id": 5513 }
-{ "id": 5514 }
-{ "id": 5524 }
-{ "id": 5525 }
-{ "id": 5526 }
-{ "id": 5527 }
-{ "id": 5528 }
-{ "id": 5529 }
-{ "id": 5530 }
-{ "id": 5531 }
-{ "id": 5532 }
-{ "id": 5533 }
-{ "id": 5534 }
-{ "id": 5535 }
-{ "id": 5536 }
-{ "id": 5537 }
-{ "id": 5538 }
-{ "id": 5539 }
-{ "id": 5540 }
-{ "id": 5541 }
-{ "id": 5542 }
-{ "id": 5543 }
-{ "id": 5544 }
-{ "id": 5545 }
-{ "id": 5546 }
-{ "id": 5547 }
-{ "id": 5548 }
-{ "id": 5549 }
-{ "id": 5550 }
-{ "id": 5551 }
-{ "id": 5552 }
-{ "id": 5553 }
-{ "id": 5554 }
-{ "id": 5555 }
-{ "id": 5556 }
-{ "id": 5557 }
-{ "id": 5558 }
-{ "id": 5559 }
-{ "id": 5560 }
-{ "id": 5561 }
-{ "id": 5562 }
-{ "id": 5563 }
-{ "id": 5564 }
-{ "id": 5565 }
-{ "id": 5566 }
-{ "id": 5567 }
-{ "id": 5568 }
-{ "id": 5569 }
-{ "id": 5570 }
-{ "id": 5571 }
-{ "id": 5572 }
-{ "id": 5573 }
-{ "id": 5574 }
-{ "id": 5575 }
-{ "id": 5576 }
-{ "id": 5577 }
-{ "id": 5578 }
-{ "id": 5579 }
-{ "id": 5580 }
-{ "id": 5581 }
-{ "id": 5582 }
-{ "id": 5583 }
-{ "id": 5584 }
-{ "id": 5585 }
-{ "id": 5586 }
-{ "id": 5587 }
-{ "id": 5588 }
-{ "id": 5589 }
-{ "id": 5590 }
-{ "id": 5591 }
-{ "id": 5592 }
-{ "id": 5593 }
-{ "id": 5594 }
-{ "id": 5595 }
-{ "id": 5596 }
-{ "id": 5597 }
-{ "id": 5598 }
-{ "id": 5599 }
-{ "id": 5600 }
-{ "id": 5601 }
-{ "id": 5602 }
-{ "id": 5603 }
-{ "id": 5604 }
-{ "id": 5605 }
-{ "id": 5606 }
-{ "id": 5607 }
-{ "id": 5608 }
-{ "id": 5609 }
-{ "id": 5610 }
-{ "id": 5611 }
-{ "id": 5612 }
-{ "id": 5613 }
-{ "id": 5614 }
-{ "id": 5615 }
-{ "id": 5616 }
-{ "id": 5617 }
-{ "id": 5618 }
-{ "id": 5619 }
-{ "id": 5620 }
-{ "id": 5621 }
-{ "id": 5622 }
-{ "id": 5623 }
-{ "id": 5624 }
-{ "id": 5625 }
-{ "id": 5626 }
-{ "id": 5627 }
-{ "id": 5628 }
-{ "id": 5629 }
-{ "id": 5630 }
-{ "id": 5631 }
-{ "id": 5632 }
-{ "id": 5633 }
diff --git a/asterix-app/src/test/resources/runtimets/results/index-selection/btree-index-composite-key-mixed-intervals.adm b/asterix-app/src/test/resources/runtimets/results/index-selection/btree-index-composite-key-mixed-intervals.adm
deleted file mode 100644
index 590b9ff..0000000
--- a/asterix-app/src/test/resources/runtimets/results/index-selection/btree-index-composite-key-mixed-intervals.adm
+++ /dev/null
@@ -1,11 +0,0 @@
-{ "id": 215, "fname": "Karina", "lname": "Michelsen", "age": 46, "dept": "IT" }
-{ "id": 219, "fname": "Kurt", "lname": "Petermann", "age": 27, "dept": "Payroll" }
-{ "id": 463, "fname": "Marcie", "lname": "States", "age": 28, "dept": "IT" }
-{ "id": 589, "fname": "Lorrie", "lname": "Sharon", "age": 27, "dept": "IT" }
-{ "id": 681, "fname": "Max", "lname": "Teachout", "age": 34, "dept": "IT" }
-{ "id": 781, "fname": "Karina", "lname": "Tuthill", "age": 46, "dept": "Payroll" }
-{ "id": 955, "fname": "Max", "lname": "Mell", "age": 33, "dept": "HR" }
-{ "id": 965, "fname": "Micco", "lname": "Mercy", "age": 31, "dept": "Payroll" }
-{ "id": 1426, "fname": "Marcie", "lname": "Rasnake", "age": 42, "dept": "Sales" }
-{ "id": 5438, "fname": "Lakisha", "lname": "Quashie", "age": 29, "dept": "HR" }
-{ "id": 9941, "fname": "Khurram Faraaz", "lname": "Mohammed", "age": 30, "dept": "HR" }
diff --git a/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-ngram-contains.adm b/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-ngram-contains.adm
deleted file mode 100644
index 8a99b26..0000000
--- a/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-ngram-contains.adm
+++ /dev/null
@@ -1,3 +0,0 @@
-{ "id": 4, "dblpid": "books/acm/kim95/ChristodoulakisK95", "title": "Multimedia Information Systems  Issues and Approaches.", "authors": "Stavros Christodoulakis Leonidas Koveos", "misc": "2002-01-03 318-337 1995 Modern Database Systems db/books/collections/kim95.html#ChristodoulakisK95" }
-{ "id": 89, "dblpid": "conf/icip/SchonfeldL98", "title": "VORTEX  Video Retrieval and Tracking from Compressed Multimedia Databases.", "authors": "Dan Schonfeld Dan Lelescu", "misc": "2002-11-05 123-127 1998 ICIP (3) db/conf/icip/icip1998-3.html#SchonfeldL98" }
-{ "id": 90, "dblpid": "conf/hicss/SchonfeldL99", "title": "VORTEX  Video Retrieval and Tracking from Compressed Multimedia Databases ¾ Visual Search Engine.", "authors": "Dan Schonfeld Dan Lelescu", "misc": "2002-01-03 1999 HICSS http //computer.org/proceedings/hicss/0001/00013/00013006abs.htm db/conf/hicss/hicss1999-3.html#SchonfeldL99" }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-ngram-edit-distance-panic.adm b/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-ngram-edit-distance-panic.adm
deleted file mode 100644
index a218d95..0000000
--- a/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-ngram-edit-distance-panic.adm
+++ /dev/null
@@ -1 +0,0 @@
-{ "id": 22, "dblpid": "books/acm/kim95/Motro95", "title": "Management of Uncerainty in database Systems.", "authors": "Amihai Motro", "misc": "2002-01-03 457-476 1995 Modern Database Systems db/books/collections/kim95.html#Motro95" }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-ngram-edit-distance.adm b/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-ngram-edit-distance.adm
deleted file mode 100644
index a218d95..0000000
--- a/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-ngram-edit-distance.adm
+++ /dev/null
@@ -1 +0,0 @@
-{ "id": 22, "dblpid": "books/acm/kim95/Motro95", "title": "Management of Uncerainty in database Systems.", "authors": "Amihai Motro", "misc": "2002-01-03 457-476 1995 Modern Database Systems db/books/collections/kim95.html#Motro95" }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-ngram-jaccard.adm b/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-ngram-jaccard.adm
deleted file mode 100644
index 5bf6ae0..0000000
--- a/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-ngram-jaccard.adm
+++ /dev/null
@@ -1 +0,0 @@
-{ "id": 9, "dblpid": "books/acm/kim95/Kaiser95", "title": "Cooperative Transactions for Multiuser Environments.", "authors": "Gail E. Kaiser", "misc": "2002-01-03 409-433 1995 Modern Database Systems db/books/collections/kim95.html#Kaiser95" }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-olist-edit-distance-panic.adm b/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-olist-edit-distance-panic.adm
deleted file mode 100644
index 9e33b16..0000000
--- a/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-olist-edit-distance-panic.adm
+++ /dev/null
@@ -1,854 +0,0 @@
-{ "cid": 1, "name": "Trudie Minick", "age": 75, "address": { "number": 6740, "street": "Lake St.", "city": "Sunnyvale" }, "interests": [ "Fishing", "Squash" ], "children": [ { "name": "Arie Minick", "age": 56 }, { "name": "Alline Minick", "age": 57 }, { "name": "Petronila Minick", "age": 56 } ] }
-{ "cid": 2, "name": "Elin Debell", "age": 82, "address": { "number": 5649, "street": "Hill St.", "city": "Portland" }, "interests": [ "Bass", "Wine" ], "children": [ { "name": "Elvina Debell", "age": null }, { "name": "Renaldo Debell", "age": 51 }, { "name": "Divina Debell", "age": 57 } ] }
-{ "cid": 3, "name": "Phung Wheetley", "age": 12, "address": { "number": 5549, "street": "Hill St.", "city": "Mountain View" }, "interests": [ "Wine" ], "children": [ { "name": "Raelene Wheetley", "age": null }, { "name": "Dudley Wheetley", "age": null } ] }
-{ "cid": 4, "name": "Bernita Gungor", "age": 87, "address": { "number": 1208, "street": "Cedar St.", "city": "Mountain View" }, "interests": [ "Walking" ], "children": [ { "name": "Valencia Gungor", "age": 72 }, { "name": "Evangeline Gungor", "age": 76 }, { "name": "Odell Gungor", "age": null }, { "name": "Denny Gungor", "age": null } ] }
-{ "cid": 5, "name": "Heide Naifeh", "age": null, "address": null, "interests": [ "Music", "Databases" ], "children": [ { "name": "Deirdre Naifeh", "age": null }, { "name": "Jacquelyne Naifeh", "age": 39 } ] }
-{ "cid": 6, "name": "Cris Kager", "age": 70, "address": { "number": 8402, "street": "View St.", "city": "Los Angeles" }, "interests": [ "Walking" ], "children": [ { "name": "Carmelo Kager", "age": 34 }, { "name": "Faustina Kager", "age": null } ] }
-{ "cid": 7, "name": "Karie Kaehler", "age": 59, "address": { "number": 9875, "street": "View St.", "city": "San Jose" }, "interests": [ "Computers", "Skiing", "Basketball", "Movies" ], "children": [ { "name": "Spring Kaehler", "age": 17 } ] }
-{ "cid": 8, "name": "Audria Haylett", "age": 44, "address": { "number": 4872, "street": "Washington St.", "city": "Portland" }, "interests": [ "Cooking", "Fishing", "Video Games" ], "children": [ { "name": "Lacie Haylett", "age": 19 } ] }
-{ "cid": 9, "name": "Dreama Nuccio", "age": 55, "address": { "number": 95, "street": "Main St.", "city": "San Jose" }, "interests": [  ], "children": [ { "name": "Ricardo Nuccio", "age": 28 }, { "name": "See Nuccio", "age": 34 } ] }
-{ "cid": 10, "name": "Trent Liedy", "age": 51, "address": { "number": 1758, "street": "Oak St.", "city": "San Jose" }, "interests": [  ], "children": [  ] }
-{ "cid": 11, "name": "Meta Simek", "age": 13, "address": { "number": 4384, "street": "7th St.", "city": "San Jose" }, "interests": [ "Wine", "Walking" ], "children": [ { "name": "Oretha Simek", "age": null }, { "name": "Terence Simek", "age": null } ] }
-{ "cid": 12, "name": "Laurinda Raimann", "age": null, "address": null, "interests": [ "Basketball", "Coffee" ], "children": [ { "name": "Lulu Raimann", "age": null }, { "name": "Refugia Raimann", "age": 19 }, { "name": "Jimmie Raimann", "age": 10 }, { "name": "Cindy Raimann", "age": null } ] }
-{ "cid": 13, "name": "Nicol Kolmer", "age": null, "address": null, "interests": [ "Coffee" ], "children": [ { "name": "Erika Kolmer", "age": 40 }, { "name": "Justin Kolmer", "age": null }, { "name": "Dorathy Kolmer", "age": null }, { "name": "Anastacia Kolmer", "age": 27 } ] }
-{ "cid": 14, "name": "Chance Nicoson", "age": null, "address": null, "interests": [ "Tennis" ], "children": [ { "name": "Willette Nicoson", "age": 39 }, { "name": "Glennis Nicoson", "age": null }, { "name": "Philip Nicoson", "age": null }, { "name": "Cody Nicoson", "age": 26 } ] }
-{ "cid": 15, "name": "Berry Faubel", "age": 55, "address": { "number": 2806, "street": "Oak St.", "city": "Seattle" }, "interests": [  ], "children": [ { "name": "Tiffiny Faubel", "age": 12 }, { "name": "Hilaria Faubel", "age": 19 }, { "name": "Wesley Faubel", "age": 37 }, { "name": "Wei Faubel", "age": 28 } ] }
-{ "cid": 16, "name": "Felisa Auletta", "age": 55, "address": { "number": 7737, "street": "View St.", "city": "San Jose" }, "interests": [ "Skiing", "Coffee", "Wine" ], "children": [ { "name": "Rosalia Auletta", "age": 36 } ] }
-{ "cid": 17, "name": "Ingeborg Monkhouse", "age": null, "address": null, "interests": [ "Base Jumping", "Cigars", "Movies" ], "children": [  ] }
-{ "cid": 18, "name": "Dewayne Ardan", "age": 32, "address": { "number": 8229, "street": "Hill St.", "city": "San Jose" }, "interests": [ "Wine", "Walking", "Bass" ], "children": [ { "name": "Wen Ardan", "age": null }, { "name": "Sachiko Ardan", "age": 11 }, { "name": "Francis Ardan", "age": 20 } ] }
-{ "cid": 20, "name": "Annice Fulwider", "age": 59, "address": { "number": 4257, "street": "Park St.", "city": "Portland" }, "interests": [  ], "children": [ { "name": "Arica Fulwider", "age": 47 }, { "name": "Charlotte Fulwider", "age": 16 }, { "name": "Robbi Fulwider", "age": 29 } ] }
-{ "cid": 21, "name": "Gidget Galamay", "age": 34, "address": { "number": 2854, "street": "Washington St.", "city": "Los Angeles" }, "interests": [  ], "children": [ { "name": "Brunilda Galamay", "age": null }, { "name": "Bethel Galamay", "age": null }, { "name": "Devon Galamay", "age": 17 } ] }
-{ "cid": 22, "name": "Sarita Burrer", "age": null, "address": null, "interests": [ "Cigars", "Computers" ], "children": [  ] }
-{ "cid": 23, "name": "Micheal Konen", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Myong Konen", "age": 26 }, { "name": "Celinda Konen", "age": 33 }, { "name": "Tammy Konen", "age": 53 }, { "name": "Chester Konen", "age": null } ] }
-{ "cid": 24, "name": "Hosea Wilburn", "age": null, "address": null, "interests": [  ], "children": [  ] }
-{ "cid": 25, "name": "Goldie Vanhandel", "age": 37, "address": { "number": 6568, "street": "Lake St.", "city": "Sunnyvale" }, "interests": [ "Bass", "Fishing", "Cigars" ], "children": [  ] }
-{ "cid": 26, "name": "Jone Okuna", "age": 78, "address": { "number": 6006, "street": "7th St.", "city": "Portland" }, "interests": [  ], "children": [ { "name": "Franchesca Okuna", "age": null }, { "name": "Fred Okuna", "age": 17 }, { "name": "Marcellus Okuna", "age": null } ] }
-{ "cid": 27, "name": "Hollie Hyun", "age": null, "address": null, "interests": [ "Skiing", "Walking" ], "children": [ { "name": "Morton Hyun", "age": null }, { "name": "Farrah Hyun", "age": 40 }, { "name": "Ali Hyun", "age": null } ] }
-{ "cid": 28, "name": "Ariana Gillert", "age": 54, "address": { "number": 7331, "street": "Lake St.", "city": "Mountain View" }, "interests": [ "Databases" ], "children": [ { "name": "Inge Gillert", "age": null }, { "name": "Jeraldine Gillert", "age": 13 } ] }
-{ "cid": 29, "name": "Ruthanne Tavana", "age": null, "address": null, "interests": [ "Movies" ], "children": [  ] }
-{ "cid": 30, "name": "Deedee Centner", "age": null, "address": null, "interests": [ "Skiing", "Wine", "Databases", "Movies" ], "children": [ { "name": "Lorilee Centner", "age": 30 }, { "name": "Thad Centner", "age": null } ] }
-{ "cid": 31, "name": "Venus Toboz", "age": 44, "address": { "number": 9465, "street": "View St.", "city": "Mountain View" }, "interests": [ "Running" ], "children": [ { "name": "Ashlie Toboz", "age": null } ] }
-{ "cid": 32, "name": "Tia Berkley", "age": 30, "address": { "number": 4507, "street": "Park St.", "city": "Sunnyvale" }, "interests": [ "Base Jumping", "Music" ], "children": [ { "name": "Carmon Berkley", "age": null }, { "name": "Kristina Berkley", "age": null }, { "name": "Cristi Berkley", "age": 19 } ] }
-{ "cid": 33, "name": "Rayford Velmontes", "age": null, "address": null, "interests": [ "Fishing", "Video Games" ], "children": [  ] }
-{ "cid": 34, "name": "Sam Tannahill", "age": null, "address": null, "interests": [ "Books" ], "children": [  ] }
-{ "cid": 36, "name": "Neoma Preist", "age": 69, "address": { "number": 4830, "street": "Lake St.", "city": "San Jose" }, "interests": [ "Databases", "Computers", "Coffee" ], "children": [ { "name": "Shery Preist", "age": null }, { "name": "Kelvin Preist", "age": 43 } ] }
-{ "cid": 37, "name": "Eliana Vient", "age": 89, "address": { "number": 4882, "street": "View St.", "city": "Seattle" }, "interests": [  ], "children": [ { "name": "Dario Vient", "age": 43 } ] }
-{ "cid": 38, "name": "Lawanna Abadi", "age": 35, "address": { "number": 6942, "street": "Cedar St.", "city": "Los Angeles" }, "interests": [  ], "children": [ { "name": "Arthur Abadi", "age": 10 } ] }
-{ "cid": 39, "name": "Brock Froncillo", "age": 72, "address": { "number": 4645, "street": "Cedar St.", "city": "San Jose" }, "interests": [ "Base Jumping", "Skiing" ], "children": [ { "name": "Cole Froncillo", "age": null }, { "name": "Ivana Froncillo", "age": null }, { "name": "Hugh Froncillo", "age": 23 } ] }
-{ "cid": 40, "name": "Fidelia Connie", "age": 81, "address": { "number": 2298, "street": "Washington St.", "city": "Sunnyvale" }, "interests": [ "Basketball", "Base Jumping", "Walking", "Skiing" ], "children": [ { "name": "Elfreda Connie", "age": 43 }, { "name": "Josephine Connie", "age": 30 }, { "name": "Lucas Connie", "age": null } ] }
-{ "cid": 41, "name": "Kevin Giottonini", "age": null, "address": null, "interests": [ "Skiing", "Bass" ], "children": [ { "name": "Victor Giottonini", "age": 37 }, { "name": "Alverta Giottonini", "age": null } ] }
-{ "cid": 42, "name": "Asley Simco", "age": 38, "address": { "number": 3322, "street": "Main St.", "city": "Mountain View" }, "interests": [ "Fishing", "Running", "Cigars" ], "children": [ { "name": "Micheal Simco", "age": null }, { "name": "Lawerence Simco", "age": null } ] }
-{ "cid": 44, "name": "Agustin Clubs", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Maxwell Clubs", "age": 31 }, { "name": "Rayna Clubs", "age": null }, { "name": "Darwin Clubs", "age": null } ] }
-{ "cid": 46, "name": "Columbus Huntington", "age": 22, "address": { "number": 3809, "street": "Washington St.", "city": "Mountain View" }, "interests": [ "Movies" ], "children": [ { "name": "Dana Huntington", "age": 10 }, { "name": "Rosa Huntington", "age": null } ] }
-{ "cid": 48, "name": "Delia Salveson", "age": 44, "address": { "number": 5596, "street": "7th St.", "city": "Portland" }, "interests": [ "Cigars", "Running", "Walking", "Running" ], "children": [ { "name": "Logan Salveson", "age": 21 }, { "name": "Temple Salveson", "age": 17 }, { "name": "Kimi Salveson", "age": null }, { "name": "Jacob Salveson", "age": 20 } ] }
-{ "cid": 49, "name": "Asa Schwing", "age": 70, "address": { "number": 2261, "street": "7th St.", "city": "Sunnyvale" }, "interests": [ "Tennis" ], "children": [ { "name": "Joy Schwing", "age": 15 } ] }
-{ "cid": 50, "name": "Lise Gorelli", "age": null, "address": null, "interests": [ "Books", "Wine", "Skiing", "Computers" ], "children": [ { "name": "Darleen Gorelli", "age": null }, { "name": "Latia Gorelli", "age": null }, { "name": "Page Gorelli", "age": null }, { "name": "Columbus Gorelli", "age": null } ] }
-{ "cid": 51, "name": "Simonne Cape", "age": null, "address": null, "interests": [ "Bass", "Bass", "Books" ], "children": [ { "name": "Leland Cape", "age": null }, { "name": "Gearldine Cape", "age": null } ] }
-{ "cid": 52, "name": "Janna Tish", "age": 12, "address": { "number": 2598, "street": "Washington St.", "city": "San Jose" }, "interests": [  ], "children": [ { "name": "Mackenzie Tish", "age": null }, { "name": "Ettie Tish", "age": null }, { "name": "Hortencia Tish", "age": null }, { "name": "Paul Tish", "age": null } ] }
-{ "cid": 53, "name": "Ricardo Greiwe", "age": 24, "address": { "number": 8983, "street": "View St.", "city": "Portland" }, "interests": [  ], "children": [  ] }
-{ "cid": 54, "name": "Haywood Vasiloff", "age": 63, "address": { "number": 8780, "street": "View St.", "city": "Sunnyvale" }, "interests": [  ], "children": [ { "name": "Celsa Vasiloff", "age": 40 }, { "name": "Shawana Vasiloff", "age": 43 }, { "name": "Joel Vasiloff", "age": 42 }, { "name": "Timmy Vasiloff", "age": 33 } ] }
-{ "cid": 55, "name": "Terrence Bryant", "age": 12, "address": { "number": 3188, "street": "Park St.", "city": "Seattle" }, "interests": [ "Wine", "Cooking" ], "children": [ { "name": "Dayna Bryant", "age": null } ] }
-{ "cid": 56, "name": "Andria Killelea", "age": null, "address": null, "interests": [ "Cigars", "Skiing" ], "children": [  ] }
-{ "cid": 57, "name": "Celestine Mac", "age": null, "address": null, "interests": [ "Wine", "Computers", "Books" ], "children": [ { "name": "Kathyrn Mac", "age": 44 } ] }
-{ "cid": 58, "name": "Rosemarie Mattei", "age": 80, "address": { "number": 1390, "street": "Park St.", "city": "Sunnyvale" }, "interests": [  ], "children": [ { "name": "Sonya Mattei", "age": 52 }, { "name": "Elenor Mattei", "age": null } ] }
-{ "cid": 59, "name": "Rea Villicana", "age": null, "address": null, "interests": [  ], "children": [  ] }
-{ "cid": 61, "name": "Linsey Mose", "age": 17, "address": { "number": 9198, "street": "Lake St.", "city": "Portland" }, "interests": [ "Puzzles" ], "children": [ { "name": "Tilda Mose", "age": null }, { "name": "Lillie Mose", "age": null }, { "name": "Robyn Mose", "age": null } ] }
-{ "cid": 62, "name": "Kiley Machnik", "age": null, "address": null, "interests": [  ], "children": [  ] }
-{ "cid": 64, "name": "Victor Susor", "age": 32, "address": { "number": 1690, "street": "Main St.", "city": "Portland" }, "interests": [ "Running", "Computers" ], "children": [  ] }
-{ "cid": 66, "name": "Lenny Latson", "age": null, "address": null, "interests": [ "Music", "Video Games" ], "children": [  ] }
-{ "cid": 67, "name": "Tobie Mattan", "age": null, "address": null, "interests": [  ], "children": [  ] }
-{ "cid": 68, "name": "Chery Basini", "age": null, "address": null, "interests": [ "Video Games" ], "children": [  ] }
-{ "cid": 69, "name": "Many Yeargain", "age": null, "address": null, "interests": [ "Coffee" ], "children": [ { "name": "Brande Yeargain", "age": null }, { "name": "Tawna Yeargain", "age": null }, { "name": "Doris Yeargain", "age": null }, { "name": "Valeria Yeargain", "age": 51 } ] }
-{ "cid": 70, "name": "Mellisa Lek", "age": 62, "address": { "number": 4281, "street": "Oak St.", "city": "Mountain View" }, "interests": [ "Bass", "Running", "Databases" ], "children": [  ] }
-{ "cid": 71, "name": "Alva Sieger", "age": null, "address": null, "interests": [ "Movies", "Walking" ], "children": [ { "name": "Renetta Sieger", "age": null }, { "name": "Shiloh Sieger", "age": 57 }, { "name": "Lavina Sieger", "age": null }, { "name": "Larraine Sieger", "age": null } ] }
-{ "cid": 73, "name": "Kelsey Flever", "age": 20, "address": { "number": 3555, "street": "Main St.", "city": "Portland" }, "interests": [ "Tennis", "Puzzles", "Video Games" ], "children": [ { "name": "Isis Flever", "age": null }, { "name": "Gonzalo Flever", "age": null } ] }
-{ "cid": 74, "name": "Lonnie Ercolani", "age": 79, "address": { "number": 2655, "street": "Lake St.", "city": "Los Angeles" }, "interests": [ "Music", "Coffee" ], "children": [ { "name": "Cassi Ercolani", "age": null } ] }
-{ "cid": 76, "name": "Opal Blewett", "age": null, "address": null, "interests": [ "Running", "Coffee", "Fishing" ], "children": [ { "name": "Violette Blewett", "age": null } ] }
-{ "cid": 77, "name": "Chantal Parriera", "age": 78, "address": { "number": 5967, "street": "Lake St.", "city": "San Jose" }, "interests": [ "Squash", "Movies", "Coffee" ], "children": [  ] }
-{ "cid": 78, "name": "Wesley Huggler", "age": 80, "address": { "number": 3078, "street": "7th St.", "city": "Los Angeles" }, "interests": [ "Base Jumping", "Movies", "Skiing" ], "children": [ { "name": "Chassidy Huggler", "age": null }, { "name": "Emogene Huggler", "age": null }, { "name": "Cheryle Huggler", "age": null } ] }
-{ "cid": 79, "name": "Alyce Schoenle", "age": 57, "address": { "number": 1345, "street": "Main St.", "city": "Portland" }, "interests": [  ], "children": [ { "name": "Stewart Schoenle", "age": 16 }, { "name": "Bruce Schoenle", "age": 44 } ] }
-{ "cid": 81, "name": "Lavonda Manford", "age": 87, "address": { "number": 2423, "street": "Main St.", "city": "San Jose" }, "interests": [  ], "children": [  ] }
-{ "cid": 82, "name": "Gloria Junkins", "age": null, "address": null, "interests": [ "Basketball" ], "children": [  ] }
-{ "cid": 83, "name": "Filiberto Couillard", "age": null, "address": null, "interests": [ "Cooking", "Books" ], "children": [ { "name": "Diane Couillard", "age": 19 }, { "name": "Asa Couillard", "age": 23 }, { "name": "Zaida Couillard", "age": 57 }, { "name": "Shavonne Couillard", "age": null } ] }
-{ "cid": 84, "name": "Huong Kachel", "age": null, "address": null, "interests": [ "Music", "Tennis", "Base Jumping" ], "children": [ { "name": "Katlyn Kachel", "age": 40 }, { "name": "Sherman Kachel", "age": null }, { "name": "Susana Kachel", "age": 32 } ] }
-{ "cid": 85, "name": "Fatimah Steltenpohl", "age": 25, "address": { "number": 6175, "street": "Park St.", "city": "Sunnyvale" }, "interests": [  ], "children": [ { "name": "Genoveva Steltenpohl", "age": 14 } ] }
-{ "cid": 86, "name": "Sofia Mongiovi", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Rosamaria Mongiovi", "age": 25 } ] }
-{ "cid": 87, "name": "Torie Horuath", "age": 21, "address": { "number": 2713, "street": "Oak St.", "city": "Sunnyvale" }, "interests": [ "Coffee", "Puzzles", "Cigars", "Walking" ], "children": [ { "name": "Joshua Horuath", "age": 10 } ] }
-{ "cid": 88, "name": "Courtney Muckleroy", "age": null, "address": null, "interests": [ "Wine", "Movies", "Skiing" ], "children": [ { "name": "Alona Muckleroy", "age": 30 }, { "name": "Flora Muckleroy", "age": 41 }, { "name": "Angel Muckleroy", "age": null }, { "name": "Daniella Muckleroy", "age": null } ] }
-{ "cid": 89, "name": "Calandra Hedden", "age": 33, "address": { "number": 1231, "street": "Hill St.", "city": "Los Angeles" }, "interests": [ "Wine" ], "children": [ { "name": "Damien Hedden", "age": 19 } ] }
-{ "cid": 90, "name": "Dorethea Korns", "age": null, "address": null, "interests": [ "Cooking", "Computers" ], "children": [ { "name": "Catheryn Korns", "age": 22 } ] }
-{ "cid": 91, "name": "Luna Machen", "age": null, "address": null, "interests": [ "Wine" ], "children": [ { "name": "Randal Machen", "age": 59 }, { "name": "Emely Machen", "age": null } ] }
-{ "cid": 92, "name": "Kenny Laychock", "age": 15, "address": { "number": 4790, "street": "Washington St.", "city": "Portland" }, "interests": [ "Video Games", "Basketball" ], "children": [  ] }
-{ "cid": 93, "name": "Garth Raigosa", "age": null, "address": null, "interests": [ "Basketball" ], "children": [  ] }
-{ "cid": 94, "name": "Edgardo Dunnegan", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Lyndia Dunnegan", "age": null } ] }
-{ "cid": 95, "name": "Gavin Locey", "age": 86, "address": { "number": 8162, "street": "Lake St.", "city": "Portland" }, "interests": [  ], "children": [ { "name": "Terrell Locey", "age": null }, { "name": "Kazuko Locey", "age": 36 }, { "name": "Risa Locey", "age": null }, { "name": "Dorethea Locey", "age": 13 } ] }
-{ "cid": 96, "name": "Mara Aument", "age": 72, "address": { "number": 7709, "street": "Hill St.", "city": "Sunnyvale" }, "interests": [ "Cigars", "Cooking", "Movies" ], "children": [ { "name": "Leonardo Aument", "age": 22 } ] }
-{ "cid": 97, "name": "Mui Slosek", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Susanne Slosek", "age": 29 }, { "name": "Colleen Slosek", "age": null } ] }
-{ "cid": 98, "name": "Casimira Hilbrand", "age": 72, "address": { "number": 9693, "street": "Main St.", "city": "Los Angeles" }, "interests": [  ], "children": [ { "name": "Gudrun Hilbrand", "age": 18 }, { "name": "Dacia Hilbrand", "age": 26 }, { "name": "Kortney Hilbrand", "age": null }, { "name": "Luci Hilbrand", "age": null } ] }
-{ "cid": 99, "name": "Bernardina Thacher", "age": 35, "address": { "number": 1582, "street": "Main St.", "city": "Los Angeles" }, "interests": [ "Movies", "Fishing", "Fishing" ], "children": [ { "name": "Randee Thacher", "age": null }, { "name": "China Thacher", "age": null } ] }
-{ "cid": 101, "name": "Meaghan Vandel", "age": null, "address": null, "interests": [ "Music", "Base Jumping", "Books" ], "children": [ { "name": "Larissa Vandel", "age": null } ] }
-{ "cid": 102, "name": "Melany Rotan", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Christiana Rotan", "age": 21 }, { "name": "Lavina Rotan", "age": null }, { "name": "Billy Rotan", "age": null } ] }
-{ "cid": 103, "name": "Rosamond Milera", "age": null, "address": null, "interests": [ "Cigars" ], "children": [  ] }
-{ "cid": 104, "name": "Neda Dilts", "age": null, "address": null, "interests": [ "Basketball" ], "children": [ { "name": "Nona Dilts", "age": 28 }, { "name": "Wm Dilts", "age": null }, { "name": "Svetlana Dilts", "age": 46 }, { "name": "Iva Dilts", "age": 59 } ] }
-{ "cid": 105, "name": "Camilla Lohman", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Melania Lohman", "age": 50 }, { "name": "Mike Lohman", "age": 53 }, { "name": "Cassaundra Lohman", "age": 32 }, { "name": "Jay Lohman", "age": null } ] }
-{ "cid": 106, "name": "Charles Verna", "age": null, "address": null, "interests": [ "Bass", "Books" ], "children": [ { "name": "Betsy Verna", "age": 37 }, { "name": "Chae Verna", "age": 35 }, { "name": "Naoma Verna", "age": 42 } ] }
-{ "cid": 110, "name": "Karmen Milanesi", "age": 67, "address": { "number": 6223, "street": "Cedar St.", "city": "Portland" }, "interests": [ "Squash", "Squash" ], "children": [ { "name": "Emely Milanesi", "age": null }, { "name": "Adam Milanesi", "age": null }, { "name": "Gregg Milanesi", "age": null }, { "name": "Sean Milanesi", "age": 37 } ] }
-{ "cid": 111, "name": "Eddy Ortea", "age": 16, "address": { "number": 6874, "street": "Main St.", "city": "Los Angeles" }, "interests": [  ], "children": [ { "name": "Shera Ortea", "age": null } ] }
-{ "cid": 112, "name": "Dorie Lave", "age": 10, "address": { "number": 2286, "street": "Lake St.", "city": "Los Angeles" }, "interests": [ "Coffee" ], "children": [ { "name": "Grady Lave", "age": null }, { "name": "Daysi Lave", "age": null } ] }
-{ "cid": 113, "name": "Alayna Daleske", "age": 87, "address": { "number": 4739, "street": "Main St.", "city": "Sunnyvale" }, "interests": [  ], "children": [ { "name": "Hester Daleske", "age": null }, { "name": "Magnolia Daleske", "age": null }, { "name": "Bettye Daleske", "age": 32 } ] }
-{ "cid": 114, "name": "Stephine Capinpin", "age": 78, "address": { "number": 5618, "street": "Main St.", "city": "Sunnyvale" }, "interests": [ "Puzzles", "Basketball" ], "children": [ { "name": "Krystal Capinpin", "age": 31 }, { "name": "Angelic Capinpin", "age": 45 } ] }
-{ "cid": 115, "name": "Jason Oakden", "age": 89, "address": { "number": 8182, "street": "Park St.", "city": "Los Angeles" }, "interests": [ "Music", "Basketball", "Movies" ], "children": [ { "name": "Johnson Oakden", "age": null }, { "name": "Neva Oakden", "age": null }, { "name": "Juliann Oakden", "age": null }, { "name": "Elmer Oakden", "age": null } ] }
-{ "cid": 116, "name": "Conrad Zozaya", "age": 81, "address": { "number": 1667, "street": "View St.", "city": "San Jose" }, "interests": [  ], "children": [ { "name": "Jenette Zozaya", "age": 17 } ] }
-{ "cid": 118, "name": "Ellis Skillom", "age": 78, "address": { "number": 9337, "street": "View St.", "city": "Mountain View" }, "interests": [ "Running", "Cigars" ], "children": [ { "name": "Emory Skillom", "age": null } ] }
-{ "cid": 119, "name": "Chan Morreau", "age": 22, "address": { "number": 1774, "street": "Lake St.", "city": "Mountain View" }, "interests": [ "Puzzles", "Squash" ], "children": [ { "name": "Arlette Morreau", "age": null } ] }
-{ "cid": 120, "name": "Jan Gianandrea", "age": null, "address": null, "interests": [ "Databases", "Movies", "Cigars" ], "children": [ { "name": "Keesha Gianandrea", "age": null }, { "name": "Vashti Gianandrea", "age": 35 }, { "name": "Larry Gianandrea", "age": 29 } ] }
-{ "cid": 121, "name": "Shiela Gaustad", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Phebe Gaustad", "age": null }, { "name": "Mavis Gaustad", "age": null }, { "name": "Zula Gaustad", "age": 37 } ] }
-{ "cid": 122, "name": "Wei Perpall", "age": 43, "address": { "number": 916, "street": "Washington St.", "city": "Los Angeles" }, "interests": [ "Bass" ], "children": [ { "name": "Mitchel Perpall", "age": 11 }, { "name": "Aliza Perpall", "age": null }, { "name": "King Perpall", "age": null }, { "name": "Santana Perpall", "age": 22 } ] }
-{ "cid": 123, "name": "Marian Courrege", "age": 30, "address": { "number": 7321, "street": "Main St.", "city": "Sunnyvale" }, "interests": [ "Coffee" ], "children": [  ] }
-{ "cid": 124, "name": "Kelley Dressman", "age": null, "address": null, "interests": [ "Squash", "Databases", "Fishing" ], "children": [ { "name": "Evie Dressman", "age": null }, { "name": "Fredericka Dressman", "age": null }, { "name": "Leigh Dressman", "age": null }, { "name": "Luna Dressman", "age": 29 } ] }
-{ "cid": 125, "name": "Leigh Pusey", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Elbert Pusey", "age": 44 }, { "name": "Golden Pusey", "age": null }, { "name": "Maria Pusey", "age": null } ] }
-{ "cid": 126, "name": "Grayce Keir", "age": null, "address": null, "interests": [ "Wine" ], "children": [ { "name": "Antonia Keir", "age": 25 } ] }
-{ "cid": 127, "name": "Christian Anthes", "age": 32, "address": { "number": 6258, "street": "7th St.", "city": "Portland" }, "interests": [ "Running", "Bass" ], "children": [ { "name": "Sophia Anthes", "age": null } ] }
-{ "cid": 128, "name": "Edwin Harwick", "age": null, "address": null, "interests": [ "Fishing", "Squash", "Basketball" ], "children": [ { "name": "Tomeka Harwick", "age": 34 }, { "name": "Caroline Harwick", "age": 57 }, { "name": "Peter Harwick", "age": null }, { "name": "Adele Harwick", "age": null } ] }
-{ "cid": 129, "name": "Marisha Canzoneri", "age": 84, "address": { "number": 5507, "street": "View St.", "city": "Mountain View" }, "interests": [ "Music", "Databases", "Walking", "Walking" ], "children": [  ] }
-{ "cid": 130, "name": "Kandis Hissem", "age": null, "address": null, "interests": [ "Tennis" ], "children": [ { "name": "Arianna Hissem", "age": null }, { "name": "Necole Hissem", "age": 53 }, { "name": "Manie Hissem", "age": null }, { "name": "Deshawn Hissem", "age": 27 } ] }
-{ "cid": 131, "name": "Kourtney Whitesel", "age": null, "address": null, "interests": [  ], "children": [  ] }
-{ "cid": 132, "name": "Cindi Turntine", "age": 64, "address": { "number": 9432, "street": "Park St.", "city": "Portland" }, "interests": [ "Computers", "Wine" ], "children": [ { "name": "Howard Turntine", "age": null } ] }
-{ "cid": 134, "name": "Alica Frontiero", "age": null, "address": null, "interests": [ "Puzzles" ], "children": [  ] }
-{ "cid": 135, "name": "Josette Dries", "age": null, "address": null, "interests": [ "Base Jumping", "Movies" ], "children": [ { "name": "Ben Dries", "age": 36 }, { "name": "Wm Dries", "age": 29 } ] }
-{ "cid": 136, "name": "Aubrey Kasuboski", "age": null, "address": null, "interests": [ "Cigars" ], "children": [  ] }
-{ "cid": 137, "name": "Camellia Pressman", "age": 81, "address": { "number": 3947, "street": "Park St.", "city": "Seattle" }, "interests": [ "Movies", "Books", "Bass" ], "children": [ { "name": "Dwana Pressman", "age": null }, { "name": "Johnathan Pressman", "age": null }, { "name": "Kasey Pressman", "age": null }, { "name": "Mitch Pressman", "age": null } ] }
-{ "cid": 138, "name": "Ora Villafane", "age": null, "address": null, "interests": [ "Walking", "Cooking" ], "children": [ { "name": "Deeann Villafane", "age": 22 }, { "name": "Cody Villafane", "age": 47 } ] }
-{ "cid": 139, "name": "Micheline Argenal", "age": null, "address": null, "interests": [ "Bass", "Walking", "Movies" ], "children": [ { "name": "Joye Argenal", "age": 51 }, { "name": "Richard Argenal", "age": 46 }, { "name": "Sarah Argenal", "age": 21 }, { "name": "Jacinda Argenal", "age": 21 } ] }
-{ "cid": 140, "name": "Maryland Neas", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Brunilda Neas", "age": 28 } ] }
-{ "cid": 141, "name": "Adena Klockars", "age": null, "address": null, "interests": [ "Skiing", "Computers", "Bass", "Cigars" ], "children": [  ] }
-{ "cid": 142, "name": "Ervin Softleigh", "age": null, "address": null, "interests": [ "Computers", "Skiing", "Cooking", "Coffee" ], "children": [ { "name": "Russell Softleigh", "age": 50 }, { "name": "Kristy Softleigh", "age": 54 }, { "name": "Refugio Softleigh", "age": null } ] }
-{ "cid": 143, "name": "Katelynn Kanzler", "age": 80, "address": { "number": 9453, "street": "Washington St.", "city": "Seattle" }, "interests": [  ], "children": [ { "name": "Carl Kanzler", "age": null } ] }
-{ "cid": 144, "name": "Celesta Sosebee", "age": 19, "address": { "number": 2683, "street": "7th St.", "city": "Portland" }, "interests": [ "Databases", "Databases" ], "children": [ { "name": "Jesse Sosebee", "age": null }, { "name": "Oralee Sosebee", "age": null }, { "name": "Sunday Sosebee", "age": null } ] }
-{ "cid": 145, "name": "Carey Bousman", "age": 61, "address": { "number": 16, "street": "Oak St.", "city": "Mountain View" }, "interests": [  ], "children": [ { "name": "Lynda Bousman", "age": 32 }, { "name": "Evalyn Bousman", "age": 17 } ] }
-{ "cid": 146, "name": "Glennis Vanruiten", "age": 14, "address": { "number": 8272, "street": "Park St.", "city": "Los Angeles" }, "interests": [ "Squash", "Databases" ], "children": [ { "name": "Joanie Vanruiten", "age": null }, { "name": "Long Vanruiten", "age": null }, { "name": "Abdul Vanruiten", "age": null } ] }
-{ "cid": 147, "name": "Marla Pollan", "age": 24, "address": { "number": 9271, "street": "Oak St.", "city": "Portland" }, "interests": [ "Music" ], "children": [ { "name": "Song Pollan", "age": 11 }, { "name": "Lili Pollan", "age": 13 }, { "name": "Shaunte Pollan", "age": 12 }, { "name": "Sandie Pollan", "age": null } ] }
-{ "cid": 148, "name": "Coy Dulay", "age": 66, "address": { "number": 9793, "street": "Hill St.", "city": "Seattle" }, "interests": [  ], "children": [ { "name": "Emile Dulay", "age": null }, { "name": "Letitia Dulay", "age": 38 } ] }
-{ "cid": 149, "name": "Marcella Diamond", "age": 62, "address": { "number": 720, "street": "7th St.", "city": "Mountain View" }, "interests": [  ], "children": [ { "name": "Ezra Diamond", "age": null } ] }
-{ "cid": 150, "name": "Jesus Vanleeuwen", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Sueann Vanleeuwen", "age": 47 }, { "name": "Refugia Vanleeuwen", "age": null }, { "name": "Taisha Vanleeuwen", "age": null }, { "name": "Nathaniel Vanleeuwen", "age": null } ] }
-{ "cid": 151, "name": "Charlyn Soyars", "age": 21, "address": { "number": 2796, "street": "Hill St.", "city": "Los Angeles" }, "interests": [  ], "children": [  ] }
-{ "cid": 153, "name": "Randy Hueso", "age": 11, "address": { "number": 1957, "street": "Oak St.", "city": "San Jose" }, "interests": [ "Computers", "Wine", "Databases", "Walking" ], "children": [  ] }
-{ "cid": 156, "name": "Bobbye Kauppi", "age": 79, "address": { "number": 2051, "street": "Hill St.", "city": "Sunnyvale" }, "interests": [ "Base Jumping", "Cigars", "Movies" ], "children": [  ] }
-{ "cid": 157, "name": "Mckenzie Tahir", "age": 78, "address": { "number": 6752, "street": "Hill St.", "city": "Seattle" }, "interests": [  ], "children": [ { "name": "Margarita Tahir", "age": 18 }, { "name": "Mia Tahir", "age": 47 }, { "name": "Gaylord Tahir", "age": null } ] }
-{ "cid": 158, "name": "Rosalva Harvath", "age": 84, "address": { "number": 5569, "street": "Washington St.", "city": "Mountain View" }, "interests": [ "Puzzles", "Wine", "Skiing", "Coffee" ], "children": [ { "name": "Taneka Harvath", "age": null }, { "name": "Ina Harvath", "age": 54 }, { "name": "Joanne Harvath", "age": 51 } ] }
-{ "cid": 159, "name": "Jeanmarie Franchini", "age": null, "address": null, "interests": [ "Music" ], "children": [ { "name": "Nikita Franchini", "age": null }, { "name": "Willetta Franchini", "age": null }, { "name": "Ester Franchini", "age": 12 } ] }
-{ "cid": 160, "name": "Yevette Chanez", "age": null, "address": null, "interests": [ "Bass", "Wine", "Coffee" ], "children": [ { "name": "Walter Chanez", "age": 11 }, { "name": "Pa Chanez", "age": 27 } ] }
-{ "cid": 161, "name": "Lucia Tata", "age": 85, "address": { "number": 8058, "street": "Park St.", "city": "Seattle" }, "interests": [ "Basketball", "Bass" ], "children": [ { "name": "Jenifer Tata", "age": 70 }, { "name": "Erna Tata", "age": null } ] }
-{ "cid": 162, "name": "Chang Reek", "age": 85, "address": { "number": 5943, "street": "Washington St.", "city": "Portland" }, "interests": [ "Tennis", "Movies" ], "children": [ { "name": "Camelia Reek", "age": null }, { "name": "Eleonora Reek", "age": 36 }, { "name": "Shalonda Reek", "age": 39 }, { "name": "Stefan Reek", "age": 64 } ] }
-{ "cid": 163, "name": "Marcelene Sparano", "age": 36, "address": { "number": 5722, "street": "View St.", "city": "San Jose" }, "interests": [ "Basketball", "Databases" ], "children": [ { "name": "Luz Sparano", "age": null }, { "name": "Cassandra Sparano", "age": 21 }, { "name": "Martina Sparano", "age": 21 }, { "name": "Elisabeth Sparano", "age": null } ] }
-{ "cid": 164, "name": "Lucrecia Dahlhauser", "age": null, "address": null, "interests": [ "Wine" ], "children": [  ] }
-{ "cid": 165, "name": "Melodie Starrick", "age": null, "address": null, "interests": [ "Walking" ], "children": [ { "name": "Adria Starrick", "age": null }, { "name": "Tasha Starrick", "age": 25 } ] }
-{ "cid": 166, "name": "Gregorio Plummer", "age": null, "address": null, "interests": [ "Base Jumping" ], "children": [ { "name": "Santiago Plummer", "age": null }, { "name": "Malisa Plummer", "age": 59 }, { "name": "Tracie Plummer", "age": 40 }, { "name": "Florentina Plummer", "age": 23 } ] }
-{ "cid": 169, "name": "Casandra Fierge", "age": 55, "address": { "number": 175, "street": "Cedar St.", "city": "Mountain View" }, "interests": [ "Cigars" ], "children": [  ] }
-{ "cid": 170, "name": "Dana Lese", "age": 38, "address": { "number": 575, "street": "Lake St.", "city": "Seattle" }, "interests": [ "Walking", "Coffee" ], "children": [ { "name": "Yasmine Lese", "age": 24 }, { "name": "Ezekiel Lese", "age": 20 }, { "name": "Ammie Lese", "age": 27 }, { "name": "Robert Lese", "age": 15 } ] }
-{ "cid": 171, "name": "Eddie Shebchuk", "age": 86, "address": { "number": 3304, "street": "Lake St.", "city": "Portland" }, "interests": [ "Books" ], "children": [ { "name": "Harmony Shebchuk", "age": null } ] }
-{ "cid": 172, "name": "Weldon Alquesta", "age": null, "address": null, "interests": [ "Music", "Fishing", "Music" ], "children": [ { "name": "Kip Alquesta", "age": null } ] }
-{ "cid": 173, "name": "Annamae Lucien", "age": 46, "address": { "number": 1253, "street": "Hill St.", "city": "Mountain View" }, "interests": [ "Puzzles", "Cooking", "Squash" ], "children": [ { "name": "Sanjuana Lucien", "age": 21 }, { "name": "Nathanael Lucien", "age": 27 }, { "name": "Jae Lucien", "age": null }, { "name": "Judith Lucien", "age": null } ] }
-{ "cid": 174, "name": "Taneka Baldassare", "age": 50, "address": { "number": 5787, "street": "Park St.", "city": "Portland" }, "interests": [  ], "children": [ { "name": "Junko Baldassare", "age": null }, { "name": "Denisha Baldassare", "age": null }, { "name": "Hermina Baldassare", "age": 17 }, { "name": "Lexie Baldassare", "age": null } ] }
-{ "cid": 175, "name": "Loise Obhof", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Susann Obhof", "age": null }, { "name": "Signe Obhof", "age": 38 } ] }
-{ "cid": 176, "name": "Kellie Andruszkiewic", "age": null, "address": null, "interests": [ "Fishing", "Puzzles", "Wine", "Skiing" ], "children": [ { "name": "Xiao Andruszkiewic", "age": null }, { "name": "Al Andruszkiewic", "age": 43 } ] }
-{ "cid": 177, "name": "Wilda Hanisch", "age": null, "address": null, "interests": [ "Wine", "Computers" ], "children": [ { "name": "Shannan Hanisch", "age": null }, { "name": "Marissa Hanisch", "age": 30 }, { "name": "Keely Hanisch", "age": 54 }, { "name": "Humberto Hanisch", "age": 17 } ] }
-{ "cid": 178, "name": "Athena Kaluna", "age": null, "address": null, "interests": [ "Running", "Computers", "Basketball" ], "children": [ { "name": "Rosalba Kaluna", "age": 48 }, { "name": "Max Kaluna", "age": 10 } ] }
-{ "cid": 179, "name": "Antonette Bernice", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Solange Bernice", "age": null } ] }
-{ "cid": 180, "name": "Theda Hilz", "age": 35, "address": { "number": 9918, "street": "Oak St.", "city": "Los Angeles" }, "interests": [  ], "children": [ { "name": "Ethan Hilz", "age": null }, { "name": "Bill Hilz", "age": 12 } ] }
-{ "cid": 181, "name": "Toni Sanghani", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Hollie Sanghani", "age": 29 } ] }
-{ "cid": 182, "name": "Christiana Westlie", "age": null, "address": null, "interests": [ "Skiing", "Bass" ], "children": [ { "name": "Ilda Westlie", "age": 18 } ] }
-{ "cid": 183, "name": "Ladawn Vyas", "age": 64, "address": { "number": 2663, "street": "View St.", "city": "Portland" }, "interests": [  ], "children": [  ] }
-{ "cid": 184, "name": "Mirtha Ricciardi", "age": null, "address": null, "interests": [ "Music" ], "children": [ { "name": "Elsa Ricciardi", "age": 30 }, { "name": "Vicente Ricciardi", "age": null }, { "name": "Sau Ricciardi", "age": 28 } ] }
-{ "cid": 185, "name": "Abigail Zugg", "age": 22, "address": { "number": 6676, "street": "Washington St.", "city": "Seattle" }, "interests": [ "Computers", "Basketball", "Video Games", "Basketball" ], "children": [ { "name": "Peter Zugg", "age": 10 }, { "name": "Ariane Zugg", "age": null } ] }
-{ "cid": 187, "name": "Seema Hartsch", "age": 80, "address": { "number": 6629, "street": "Lake St.", "city": "Portland" }, "interests": [ "Coffee", "Coffee", "Cigars" ], "children": [ { "name": "Suellen Hartsch", "age": null }, { "name": "Pennie Hartsch", "age": 20 }, { "name": "Aubrey Hartsch", "age": null }, { "name": "Randy Hartsch", "age": 32 } ] }
-{ "cid": 188, "name": "Brynn Bendorf", "age": 23, "address": { "number": 1168, "street": "Lake St.", "city": "Sunnyvale" }, "interests": [ "Skiing" ], "children": [ { "name": "Leesa Bendorf", "age": 11 }, { "name": "Daine Bendorf", "age": null } ] }
-{ "cid": 189, "name": "Shyla Saathoff", "age": 85, "address": { "number": 9679, "street": "Main St.", "city": "Mountain View" }, "interests": [  ], "children": [ { "name": "Johanne Saathoff", "age": 61 }, { "name": "Janett Saathoff", "age": null } ] }
-{ "cid": 190, "name": "Kristel Axelson", "age": null, "address": null, "interests": [ "Movies", "Books" ], "children": [ { "name": "Deja Axelson", "age": null } ] }
-{ "cid": 191, "name": "Lula Pangburn", "age": 42, "address": { "number": 1309, "street": "Lake St.", "city": "Seattle" }, "interests": [ "Skiing", "Cooking", "Walking", "Video Games" ], "children": [ { "name": "Love Pangburn", "age": 11 }, { "name": "Bryant Pangburn", "age": 13 }, { "name": "Kenda Pangburn", "age": 14 } ] }
-{ "cid": 193, "name": "Melisa Maccarter", "age": 50, "address": { "number": 1494, "street": "View St.", "city": "Los Angeles" }, "interests": [ "Basketball" ], "children": [ { "name": "Yetta Maccarter", "age": null }, { "name": "Geralyn Maccarter", "age": null } ] }
-{ "cid": 194, "name": "Leslee Apking", "age": 41, "address": { "number": 8107, "street": "Washington St.", "city": "Sunnyvale" }, "interests": [ "Puzzles" ], "children": [ { "name": "Irena Apking", "age": null }, { "name": "Arla Apking", "age": null } ] }
-{ "cid": 195, "name": "Annetta Demille", "age": 17, "address": { "number": 5722, "street": "Park St.", "city": "Portland" }, "interests": [ "Bass" ], "children": [ { "name": "Natacha Demille", "age": null }, { "name": "Giuseppe Demille", "age": null }, { "name": "Kami Demille", "age": null }, { "name": "Jewell Demille", "age": null } ] }
-{ "cid": 196, "name": "Darwin Seekell", "age": null, "address": null, "interests": [ "Skiing" ], "children": [ { "name": "Kathryne Seekell", "age": null }, { "name": "Marlon Seekell", "age": null }, { "name": "Shiloh Seekell", "age": 51 } ] }
-{ "cid": 197, "name": "Garth Giannitti", "age": null, "address": null, "interests": [ "Coffee", "Cigars" ], "children": [ { "name": "Patsy Giannitti", "age": null }, { "name": "Ray Giannitti", "age": 35 }, { "name": "Kamala Giannitti", "age": 35 }, { "name": "Lauran Giannitti", "age": 25 } ] }
-{ "cid": 198, "name": "Thelma Youkers", "age": null, "address": null, "interests": [ "Basketball", "Movies", "Cooking" ], "children": [ { "name": "Shamika Youkers", "age": 28 } ] }
-{ "cid": 199, "name": "Rogelio Hannan", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Blanche Hannan", "age": null }, { "name": "Elvira Hannan", "age": null }, { "name": "Cinderella Hannan", "age": null } ] }
-{ "cid": 200, "name": "Stacey Bertran", "age": 78, "address": { "number": 9050, "street": "Washington St.", "city": "Sunnyvale" }, "interests": [  ], "children": [ { "name": "Eugenia Bertran", "age": 59 }, { "name": "Lorri Bertran", "age": 29 }, { "name": "Corrie Bertran", "age": 52 } ] }
-{ "cid": 201, "name": "Tiny Hoysradt", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Simon Hoysradt", "age": 24 } ] }
-{ "cid": 202, "name": "Evangelina Poloskey", "age": 46, "address": { "number": 8285, "street": "Main St.", "city": "Los Angeles" }, "interests": [ "Wine", "Squash" ], "children": [ { "name": "Anthony Poloskey", "age": 27 }, { "name": "Olga Poloskey", "age": 10 }, { "name": "Carmon Poloskey", "age": 13 }, { "name": "Tanja Poloskey", "age": 20 } ] }
-{ "cid": 203, "name": "Elke Mazurowski", "age": 52, "address": { "number": 9276, "street": "View St.", "city": "Mountain View" }, "interests": [  ], "children": [ { "name": "Esta Mazurowski", "age": null }, { "name": "Clarence Mazurowski", "age": 14 } ] }
-{ "cid": 204, "name": "Londa Herdt", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Marnie Herdt", "age": 47 } ] }
-{ "cid": 205, "name": "Moises Plake", "age": null, "address": null, "interests": [ "Puzzles", "Computers" ], "children": [  ] }
-{ "cid": 206, "name": "Armand Hauersperger", "age": 67, "address": { "number": 7266, "street": "Park St.", "city": "Seattle" }, "interests": [ "Wine" ], "children": [ { "name": "Charlott Hauersperger", "age": 47 }, { "name": "Kayla Hauersperger", "age": null }, { "name": "Maris Hauersperger", "age": 52 } ] }
-{ "cid": 207, "name": "Phyliss Honda", "age": 22, "address": { "number": 8387, "street": "Lake St.", "city": "Seattle" }, "interests": [ "Cooking", "Music", "Books" ], "children": [ { "name": "Bee Honda", "age": null }, { "name": "Cyril Honda", "age": null }, { "name": "Vertie Honda", "age": null } ] }
-{ "cid": 210, "name": "Jillian Roadruck", "age": null, "address": null, "interests": [ "Coffee", "Tennis" ], "children": [ { "name": "Marguerite Roadruck", "age": null }, { "name": "Ilana Roadruck", "age": null }, { "name": "Chantelle Roadruck", "age": 19 }, { "name": "Nikia Roadruck", "age": 43 } ] }
-{ "cid": 211, "name": "Kristian Knepshield", "age": null, "address": null, "interests": [  ], "children": [  ] }
-{ "cid": 212, "name": "Christi Vichi", "age": null, "address": null, "interests": [ "Squash" ], "children": [  ] }
-{ "cid": 213, "name": "Micheal Evoy", "age": 68, "address": { "number": 1219, "street": "Cedar St.", "city": "San Jose" }, "interests": [ "Skiing", "Computers", "Books", "Puzzles" ], "children": [ { "name": "Socorro Evoy", "age": null }, { "name": "Gertude Evoy", "age": 36 }, { "name": "Araceli Evoy", "age": null }, { "name": "Yasmin Evoy", "age": null } ] }
-{ "cid": 214, "name": "Louvenia Zaffalon", "age": null, "address": null, "interests": [ "Skiing", "Books" ], "children": [  ] }
-{ "cid": 215, "name": "Ashton Schadegg", "age": null, "address": null, "interests": [ "Databases", "Music" ], "children": [ { "name": "Ciara Schadegg", "age": null }, { "name": "Karisa Schadegg", "age": 11 }, { "name": "Hayden Schadegg", "age": 44 } ] }
-{ "cid": 216, "name": "Odilia Lampson", "age": null, "address": null, "interests": [ "Wine", "Databases", "Basketball" ], "children": [ { "name": "Callie Lampson", "age": null } ] }
-{ "cid": 217, "name": "Scott Fulks", "age": null, "address": null, "interests": [ "Computers" ], "children": [  ] }
-{ "cid": 218, "name": "Clarinda Stagliano", "age": 76, "address": { "number": 3258, "street": "Park St.", "city": "San Jose" }, "interests": [ "Video Games", "Cigars" ], "children": [  ] }
-{ "cid": 219, "name": "Joelle Valazquez", "age": 73, "address": { "number": 9775, "street": "Park St.", "city": "San Jose" }, "interests": [  ], "children": [ { "name": "Gene Valazquez", "age": null }, { "name": "Ilona Valazquez", "age": null } ] }
-{ "cid": 220, "name": "Soila Hannemann", "age": null, "address": null, "interests": [ "Wine", "Puzzles", "Basketball" ], "children": [ { "name": "Piper Hannemann", "age": 44 } ] }
-{ "cid": 221, "name": "Delois Fiqueroa", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Cherri Fiqueroa", "age": null } ] }
-{ "cid": 222, "name": "Malcom Bloomgren", "age": 39, "address": { "number": 4674, "street": "Hill St.", "city": "Mountain View" }, "interests": [ "Databases", "Skiing" ], "children": [ { "name": "Rosia Bloomgren", "age": null }, { "name": "Bryant Bloomgren", "age": 15 }, { "name": "Donnie Bloomgren", "age": null } ] }
-{ "cid": 223, "name": "Margurite Embelton", "age": 19, "address": { "number": 554, "street": "Oak St.", "city": "Portland" }, "interests": [ "Running", "Fishing" ], "children": [ { "name": "Sherie Embelton", "age": null }, { "name": "Monica Embelton", "age": null }, { "name": "Jeanne Embelton", "age": null }, { "name": "Santiago Embelton", "age": null } ] }
-{ "cid": 224, "name": "Rene Rowey", "age": null, "address": null, "interests": [ "Base Jumping", "Base Jumping", "Walking", "Computers" ], "children": [ { "name": "Necole Rowey", "age": 26 }, { "name": "Sharyl Rowey", "age": 20 }, { "name": "Yvone Rowey", "age": 36 } ] }
-{ "cid": 225, "name": "Shantel Drapeaux", "age": null, "address": null, "interests": [ "Databases" ], "children": [ { "name": "Felicidad Drapeaux", "age": null }, { "name": "Wanetta Drapeaux", "age": 52 }, { "name": "Louise Drapeaux", "age": 28 }, { "name": "Pat Drapeaux", "age": null } ] }
-{ "cid": 226, "name": "Debrah Deppert", "age": 62, "address": { "number": 7699, "street": "7th St.", "city": "Mountain View" }, "interests": [ "Coffee" ], "children": [ { "name": "Tonie Deppert", "age": 25 }, { "name": "Neil Deppert", "age": null } ] }
-{ "cid": 227, "name": "Carlos Skyes", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Cortney Skyes", "age": 32 } ] }
-{ "cid": 228, "name": "Donnette Brumbley", "age": null, "address": null, "interests": [ "Databases", "Music" ], "children": [ { "name": "Madlyn Brumbley", "age": null }, { "name": "Apolonia Brumbley", "age": 13 }, { "name": "Stephine Brumbley", "age": null }, { "name": "Zelma Brumbley", "age": 51 } ] }
-{ "cid": 229, "name": "Raymundo Meurin", "age": null, "address": null, "interests": [ "Bass", "Basketball", "Databases" ], "children": [ { "name": "Mariela Meurin", "age": null } ] }
-{ "cid": 230, "name": "Tobias Vicars", "age": 66, "address": { "number": 638, "street": "Hill St.", "city": "Los Angeles" }, "interests": [ "Wine", "Walking", "Books", "Walking" ], "children": [  ] }
-{ "cid": 231, "name": "Arianne Wedlow", "age": 68, "address": { "number": 9663, "street": "7th St.", "city": "Sunnyvale" }, "interests": [  ], "children": [ { "name": "Birdie Wedlow", "age": 32 }, { "name": "Pearle Wedlow", "age": 13 }, { "name": "Jordon Wedlow", "age": 43 }, { "name": "Katherin Wedlow", "age": 18 } ] }
-{ "cid": 232, "name": "Joey Potes", "age": null, "address": null, "interests": [ "Bass", "Bass", "Base Jumping" ], "children": [ { "name": "Bobby Potes", "age": null } ] }
-{ "cid": 233, "name": "Sammy Coalter", "age": null, "address": null, "interests": [ "Fishing", "Base Jumping" ], "children": [ { "name": "Twana Coalter", "age": null }, { "name": "Nenita Coalter", "age": 30 } ] }
-{ "cid": 234, "name": "Ilana Brothern", "age": 36, "address": { "number": 4850, "street": "Lake St.", "city": "Portland" }, "interests": [ "Puzzles", "Walking", "Fishing" ], "children": [ { "name": "Shayne Brothern", "age": null }, { "name": "Phillis Brothern", "age": null } ] }
-{ "cid": 235, "name": "Orpha Craycraft", "age": null, "address": null, "interests": [ "Skiing", "Squash" ], "children": [  ] }
-{ "cid": 236, "name": "Muriel Laib", "age": 25, "address": { "number": 4481, "street": "Oak St.", "city": "San Jose" }, "interests": [ "Fishing", "Tennis" ], "children": [ { "name": "Jann Laib", "age": null }, { "name": "Lila Laib", "age": 10 }, { "name": "Elyse Laib", "age": 11 } ] }
-{ "cid": 237, "name": "Sona Hehn", "age": 47, "address": { "number": 3720, "street": "Oak St.", "city": "Portland" }, "interests": [ "Computers", "Squash", "Coffee" ], "children": [ { "name": "Marquerite Hehn", "age": null }, { "name": "Suellen Hehn", "age": 29 }, { "name": "Herb Hehn", "age": 29 } ] }
-{ "cid": 238, "name": "Marcelina Redic", "age": null, "address": null, "interests": [ "Cigars", "Cigars", "Coffee" ], "children": [ { "name": "Renate Redic", "age": null }, { "name": "Kyoko Redic", "age": null }, { "name": "Dorthey Redic", "age": null } ] }
-{ "cid": 239, "name": "Celsa Fondow", "age": null, "address": null, "interests": [ "Base Jumping", "Computers", "Cooking", "Wine" ], "children": [  ] }
-{ "cid": 241, "name": "Lesha Ambrosia", "age": 49, "address": { "number": 6133, "street": "Cedar St.", "city": "Portland" }, "interests": [ "Base Jumping", "Running" ], "children": [ { "name": "Venice Ambrosia", "age": null } ] }
-{ "cid": 242, "name": "Jerold Shabot", "age": null, "address": null, "interests": [ "Fishing", "Walking", "Walking", "Puzzles" ], "children": [ { "name": "Marie Shabot", "age": 26 } ] }
-{ "cid": 243, "name": "Love Hoftiezer", "age": 88, "address": { "number": 2491, "street": "Main St.", "city": "Portland" }, "interests": [ "Cigars", "Coffee", "Books" ], "children": [ { "name": "Kellee Hoftiezer", "age": 77 } ] }
-{ "cid": 244, "name": "Rene Shenk", "age": null, "address": null, "interests": [ "Puzzles", "Puzzles", "Skiing" ], "children": [ { "name": "Victor Shenk", "age": 28 }, { "name": "Doris Shenk", "age": null }, { "name": "Max Shenk", "age": 51 } ] }
-{ "cid": 245, "name": "Lupe Abshear", "age": 55, "address": { "number": 7269, "street": "Oak St.", "city": "Sunnyvale" }, "interests": [  ], "children": [ { "name": "Song Abshear", "age": null }, { "name": "Honey Abshear", "age": 31 } ] }
-{ "cid": 246, "name": "Kenda Heikkinen", "age": 63, "address": { "number": 8924, "street": "View St.", "city": "Mountain View" }, "interests": [ "Databases" ], "children": [  ] }
-{ "cid": 247, "name": "Minda Heron", "age": 25, "address": { "number": 1629, "street": "Hill St.", "city": "Mountain View" }, "interests": [ "Tennis" ], "children": [  ] }
-{ "cid": 249, "name": "Kiana Satiago", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Stacy Satiago", "age": null } ] }
-{ "cid": 250, "name": "Angeles Saltonstall", "age": null, "address": null, "interests": [ "Tennis", "Fishing", "Movies" ], "children": [ { "name": "Suzanna Saltonstall", "age": null } ] }
-{ "cid": 251, "name": "Janeen Galston", "age": null, "address": null, "interests": [ "Basketball", "Base Jumping" ], "children": [  ] }
-{ "cid": 252, "name": "Almeda Charity", "age": 19, "address": { "number": 5553, "street": "View St.", "city": "San Jose" }, "interests": [  ], "children": [ { "name": "Rosia Charity", "age": null } ] }
-{ "cid": 254, "name": "Jeanice Longanecker", "age": 74, "address": { "number": 2613, "street": "Oak St.", "city": "San Jose" }, "interests": [ "Books", "Base Jumping" ], "children": [  ] }
-{ "cid": 255, "name": "Cherri Piegaro", "age": 64, "address": { "number": 3802, "street": "Oak St.", "city": "Sunnyvale" }, "interests": [  ], "children": [ { "name": "Elwood Piegaro", "age": null } ] }
-{ "cid": 256, "name": "Chester Rosenberg", "age": 46, "address": { "number": 8673, "street": "Cedar St.", "city": "San Jose" }, "interests": [ "Basketball" ], "children": [ { "name": "Gemma Rosenberg", "age": null }, { "name": "Marty Rosenberg", "age": null } ] }
-{ "cid": 257, "name": "Altha Jastrzebski", "age": 21, "address": { "number": 4405, "street": "Lake St.", "city": "Portland" }, "interests": [ "Puzzles" ], "children": [  ] }
-{ "cid": 258, "name": "Florentina Hense", "age": 20, "address": { "number": 8495, "street": "View St.", "city": "Portland" }, "interests": [  ], "children": [ { "name": "Noelle Hense", "age": null }, { "name": "Roxann Hense", "age": null } ] }
-{ "cid": 259, "name": "Aurelio Darrigo", "age": 45, "address": { "number": 1114, "street": "Park St.", "city": "San Jose" }, "interests": [ "Cooking", "Running" ], "children": [ { "name": "Leonard Darrigo", "age": 22 }, { "name": "Aron Darrigo", "age": null }, { "name": "Pamelia Darrigo", "age": 14 } ] }
-{ "cid": 260, "name": "Hedwig Caminero", "age": 81, "address": { "number": 4305, "street": "7th St.", "city": "Portland" }, "interests": [ "Video Games", "Databases" ], "children": [ { "name": "Hal Caminero", "age": null }, { "name": "Cierra Caminero", "age": 32 } ] }
-{ "cid": 263, "name": "Mellisa Machalek", "age": null, "address": null, "interests": [ "Bass", "Coffee", "Skiing" ], "children": [  ] }
-{ "cid": 264, "name": "Leon Yoshizawa", "age": 81, "address": { "number": 608, "street": "Washington St.", "city": "San Jose" }, "interests": [ "Running", "Books", "Running" ], "children": [ { "name": "Carmela Yoshizawa", "age": 34 } ] }
-{ "cid": 265, "name": "Donte Stempien", "age": 25, "address": { "number": 3882, "street": "Oak St.", "city": "Los Angeles" }, "interests": [ "Wine", "Books" ], "children": [  ] }
-{ "cid": 266, "name": "Carlee Friddle", "age": 74, "address": { "number": 6538, "street": "Main St.", "city": "San Jose" }, "interests": [ "Databases" ], "children": [ { "name": "Candie Friddle", "age": null }, { "name": "Zoila Friddle", "age": 59 } ] }
-{ "cid": 267, "name": "Renay Huddelston", "age": 68, "address": { "number": 1939, "street": "Washington St.", "city": "Mountain View" }, "interests": [ "Wine", "Base Jumping" ], "children": [ { "name": "Colene Huddelston", "age": null } ] }
-{ "cid": 268, "name": "Fernando Pingel", "age": null, "address": null, "interests": [ "Computers", "Tennis", "Books" ], "children": [ { "name": "Latrice Pingel", "age": null }, { "name": "Wade Pingel", "age": 13 }, { "name": "Christal Pingel", "age": null }, { "name": "Melania Pingel", "age": null } ] }
-{ "cid": 269, "name": "Dante Sharko", "age": null, "address": null, "interests": [ "Base Jumping" ], "children": [ { "name": "Ahmad Sharko", "age": 34 }, { "name": "Mona Sharko", "age": null }, { "name": "Stephaine Sharko", "age": 42 }, { "name": "Adrianna Sharko", "age": null } ] }
-{ "cid": 270, "name": "Lavon Ascenzo", "age": null, "address": null, "interests": [ "Books", "Skiing" ], "children": [  ] }
-{ "cid": 271, "name": "Carey Ronin", "age": 44, "address": { "number": 8141, "street": "Oak St.", "city": "Mountain View" }, "interests": [ "Cigars", "Video Games" ], "children": [ { "name": "Lonny Ronin", "age": null }, { "name": "Armanda Ronin", "age": null } ] }
-{ "cid": 272, "name": "Frederick Valla", "age": 15, "address": { "number": 6805, "street": "Lake St.", "city": "San Jose" }, "interests": [ "Video Games" ], "children": [ { "name": "Carroll Valla", "age": null } ] }
-{ "cid": 273, "name": "Corrinne Seaquist", "age": 24, "address": { "number": 6712, "street": "7th St.", "city": "Portland" }, "interests": [ "Puzzles", "Coffee", "Wine" ], "children": [ { "name": "Mignon Seaquist", "age": null }, { "name": "Leo Seaquist", "age": null } ] }
-{ "cid": 274, "name": "Claude Harral", "age": null, "address": null, "interests": [ "Squash", "Bass", "Cooking" ], "children": [ { "name": "Archie Harral", "age": null }, { "name": "Royal Harral", "age": null } ] }
-{ "cid": 275, "name": "Natalie Ifeanyi", "age": null, "address": null, "interests": [  ], "children": [  ] }
-{ "cid": 276, "name": "Denyse Groth", "age": 81, "address": { "number": 6825, "street": "Main St.", "city": "Sunnyvale" }, "interests": [ "Databases", "Fishing", "Movies" ], "children": [ { "name": "Marilee Groth", "age": 12 }, { "name": "Lyla Groth", "age": 46 }, { "name": "Sarah Groth", "age": null } ] }
-{ "cid": 277, "name": "Malena Smock", "age": null, "address": null, "interests": [ "Running", "Base Jumping" ], "children": [ { "name": "Inocencia Smock", "age": 50 }, { "name": "Cleveland Smock", "age": null } ] }
-{ "cid": 278, "name": "Deb Nicole", "age": 59, "address": { "number": 9003, "street": "Park St.", "city": "Seattle" }, "interests": [ "Books", "Computers", "Walking", "Cooking" ], "children": [ { "name": "Len Nicole", "age": null } ] }
-{ "cid": 279, "name": "Saundra Croan", "age": null, "address": null, "interests": [ "Movies" ], "children": [ { "name": "Jena Croan", "age": 37 }, { "name": "Sarai Croan", "age": null }, { "name": "Junita Croan", "age": null }, { "name": "Ferdinand Croan", "age": 43 } ] }
-{ "cid": 280, "name": "Marlo Maung", "age": null, "address": null, "interests": [ "Movies" ], "children": [ { "name": "Harold Maung", "age": null } ] }
-{ "cid": 282, "name": "Emelda Dawood", "age": 32, "address": { "number": 5261, "street": "View St.", "city": "Portland" }, "interests": [  ], "children": [ { "name": "Venus Dawood", "age": 12 }, { "name": "Gertrude Dawood", "age": null }, { "name": "Yen Dawood", "age": null }, { "name": "Theresa Dawood", "age": 16 } ] }
-{ "cid": 283, "name": "Pilar Fritts", "age": null, "address": null, "interests": [ "Tennis" ], "children": [ { "name": "Jeneva Fritts", "age": null }, { "name": "Gail Fritts", "age": 25 } ] }
-{ "cid": 285, "name": "Edgar Farlin", "age": 75, "address": { "number": 3833, "street": "Lake St.", "city": "Sunnyvale" }, "interests": [ "Coffee", "Databases" ], "children": [ { "name": "Stefanie Farlin", "age": 60 }, { "name": "Catina Farlin", "age": null }, { "name": "Lizzie Farlin", "age": null }, { "name": "Beau Farlin", "age": null } ] }
-{ "cid": 286, "name": "Tara Sioma", "age": 18, "address": { "number": 9425, "street": "Cedar St.", "city": "Mountain View" }, "interests": [ "Fishing" ], "children": [ { "name": "Dawna Sioma", "age": null }, { "name": "Jeanne Sioma", "age": null } ] }
-{ "cid": 288, "name": "Sharice Bachicha", "age": null, "address": null, "interests": [  ], "children": [  ] }
-{ "cid": 289, "name": "Clarence Milette", "age": 16, "address": { "number": 3778, "street": "Oak St.", "city": "Seattle" }, "interests": [ "Books", "Base Jumping", "Music" ], "children": [  ] }
-{ "cid": 290, "name": "Kimberly Gullatte", "age": 51, "address": { "number": 4130, "street": "Park St.", "city": "San Jose" }, "interests": [ "Running", "Squash", "Databases" ], "children": [ { "name": "Micheal Gullatte", "age": null }, { "name": "Estrella Gullatte", "age": 40 }, { "name": "Corrine Gullatte", "age": null }, { "name": "Ward Gullatte", "age": null } ] }
-{ "cid": 291, "name": "Svetlana Moone", "age": null, "address": null, "interests": [ "Skiing", "Computers", "Running", "Walking" ], "children": [ { "name": "Emelina Moone", "age": null }, { "name": "Candi Moone", "age": null } ] }
-{ "cid": 292, "name": "Mariana Cosselman", "age": null, "address": null, "interests": [ "Squash" ], "children": [ { "name": "Madge Cosselman", "age": 43 } ] }
-{ "cid": 293, "name": "Terresa Hofstetter", "age": 15, "address": { "number": 3338, "street": "Lake St.", "city": "Los Angeles" }, "interests": [ "Computers", "Running", "Cigars", "Fishing" ], "children": [ { "name": "Hubert Hofstetter", "age": null }, { "name": "Jolie Hofstetter", "age": null } ] }
-{ "cid": 294, "name": "Foster Salimi", "age": 79, "address": { "number": 8439, "street": "Cedar St.", "city": "Sunnyvale" }, "interests": [  ], "children": [ { "name": "Pei Salimi", "age": null } ] }
-{ "cid": 295, "name": "Guillermina Florek", "age": 61, "address": { "number": 3704, "street": "Washington St.", "city": "Mountain View" }, "interests": [ "Movies", "Books" ], "children": [ { "name": "Donnie Florek", "age": null }, { "name": "Jeannetta Florek", "age": 38 }, { "name": "Leigha Florek", "age": null }, { "name": "Zenobia Florek", "age": 10 } ] }
-{ "cid": 296, "name": "Doreen Kea", "age": 89, "address": { "number": 7034, "street": "Cedar St.", "city": "Sunnyvale" }, "interests": [ "Movies" ], "children": [ { "name": "Lyndsay Kea", "age": 68 }, { "name": "Trena Kea", "age": 18 } ] }
-{ "cid": 297, "name": "Adeline Frierson", "age": null, "address": null, "interests": [ "Coffee", "Computers", "Fishing" ], "children": [ { "name": "Marci Frierson", "age": null }, { "name": "Rolanda Frierson", "age": null }, { "name": "Del Frierson", "age": null } ] }
-{ "cid": 298, "name": "Brittny Christin", "age": null, "address": null, "interests": [ "Databases", "Video Games" ], "children": [ { "name": "Hilario Christin", "age": null }, { "name": "Clarine Christin", "age": null } ] }
-{ "cid": 299, "name": "Jacob Wainman", "age": 76, "address": { "number": 4551, "street": "Washington St.", "city": "Portland" }, "interests": [ "Base Jumping", "Wine", "Coffee" ], "children": [ { "name": "Abram Wainman", "age": 28 }, { "name": "Ramonita Wainman", "age": 18 }, { "name": "Sheryll Wainman", "age": null } ] }
-{ "cid": 300, "name": "Garret Colgrove", "age": 85, "address": { "number": 9937, "street": "Hill St.", "city": "Sunnyvale" }, "interests": [ "Base Jumping", "Puzzles", "Fishing" ], "children": [ { "name": "Janna Colgrove", "age": null }, { "name": "Jerilyn Colgrove", "age": 35 } ] }
-{ "cid": 301, "name": "Cherry Steenwyk", "age": 88, "address": { "number": 4138, "street": "Lake St.", "city": "San Jose" }, "interests": [ "Movies" ], "children": [ { "name": "Toccara Steenwyk", "age": 66 }, { "name": "Tari Steenwyk", "age": null }, { "name": "Lawanna Steenwyk", "age": null }, { "name": "Ossie Steenwyk", "age": 26 } ] }
-{ "cid": 302, "name": "Rosalie Laderer", "age": null, "address": null, "interests": [ "Tennis", "Movies", "Movies" ], "children": [ { "name": "Moriah Laderer", "age": null }, { "name": "Liana Laderer", "age": 21 }, { "name": "Genia Laderer", "age": 45 } ] }
-{ "cid": 303, "name": "Michel Bayird", "age": 37, "address": { "number": 7939, "street": "Hill St.", "city": "Los Angeles" }, "interests": [  ], "children": [ { "name": "Shan Bayird", "age": 12 } ] }
-{ "cid": 304, "name": "Francine Reddin", "age": 39, "address": { "number": 9392, "street": "Hill St.", "city": "Seattle" }, "interests": [ "Music", "Base Jumping" ], "children": [ { "name": "Millicent Reddin", "age": null } ] }
-{ "cid": 305, "name": "Tuyet Leinbach", "age": null, "address": null, "interests": [ "Puzzles", "Walking" ], "children": [  ] }
-{ "cid": 306, "name": "Laurie Tuff", "age": null, "address": null, "interests": [ "Computers", "Base Jumping", "Bass", "Basketball" ], "children": [ { "name": "Sharie Tuff", "age": null }, { "name": "Ollie Tuff", "age": 53 }, { "name": "Gonzalo Tuff", "age": null }, { "name": "Thomas Tuff", "age": null } ] }
-{ "cid": 307, "name": "Abraham Lanphear", "age": 20, "address": { "number": 7552, "street": "Washington St.", "city": "San Jose" }, "interests": [ "Video Games" ], "children": [ { "name": "Toccara Lanphear", "age": null }, { "name": "Milly Lanphear", "age": null } ] }
-{ "cid": 308, "name": "Solomon Schwenke", "age": null, "address": null, "interests": [ "Puzzles" ], "children": [ { "name": "Gertrude Schwenke", "age": null }, { "name": "Marcell Schwenke", "age": 41 }, { "name": "Shalon Schwenke", "age": null } ] }
-{ "cid": 309, "name": "Lise Baiz", "age": 46, "address": { "number": 352, "street": "Oak St.", "city": "San Jose" }, "interests": [ "Bass", "Squash" ], "children": [ { "name": "Alisa Baiz", "age": 18 }, { "name": "Elidia Baiz", "age": 28 }, { "name": "Ray Baiz", "age": 19 } ] }
-{ "cid": 311, "name": "Ria Haflett", "age": 14, "address": { "number": 9513, "street": "Park St.", "city": "Los Angeles" }, "interests": [ "Walking" ], "children": [ { "name": "Jimmie Haflett", "age": null }, { "name": "Dario Haflett", "age": null }, { "name": "Robbyn Haflett", "age": null } ] }
-{ "cid": 312, "name": "Epifania Chorney", "age": 62, "address": { "number": 9749, "street": "Lake St.", "city": "Sunnyvale" }, "interests": [ "Wine", "Puzzles", "Tennis" ], "children": [ { "name": "Lizeth Chorney", "age": 22 } ] }
-{ "cid": 313, "name": "Lasandra Raigosa", "age": null, "address": null, "interests": [ "Walking", "Walking" ], "children": [ { "name": "Lanelle Raigosa", "age": null } ] }
-{ "cid": 314, "name": "Gwendolyn Abeb", "age": 85, "address": { "number": 3977, "street": "Hill St.", "city": "Seattle" }, "interests": [ "Basketball", "Music", "Squash", "Walking" ], "children": [ { "name": "Aurelia Abeb", "age": 14 }, { "name": "Young Abeb", "age": null }, { "name": "Shay Abeb", "age": null }, { "name": "Lavina Abeb", "age": 15 } ] }
-{ "cid": 315, "name": "Kallie Eiselein", "age": null, "address": null, "interests": [ "Computers", "Tennis" ], "children": [  ] }
-{ "cid": 316, "name": "Patrina Whitting", "age": 74, "address": { "number": 4772, "street": "Washington St.", "city": "Sunnyvale" }, "interests": [ "Music", "Video Games", "Bass" ], "children": [ { "name": "Rubye Whitting", "age": null } ] }
-{ "cid": 317, "name": "Zona Caffarel", "age": 52, "address": { "number": 9419, "street": "Cedar St.", "city": "Seattle" }, "interests": [ "Tennis", "Coffee" ], "children": [ { "name": "Cortez Caffarel", "age": null } ] }
-{ "cid": 318, "name": "Shaunna Royal", "age": 86, "address": { "number": 8681, "street": "7th St.", "city": "San Jose" }, "interests": [  ], "children": [ { "name": "Shantell Royal", "age": 37 }, { "name": "Shalon Royal", "age": 50 }, { "name": "Chung Royal", "age": 26 } ] }
-{ "cid": 319, "name": "Ashlie Rott", "age": 42, "address": { "number": 366, "street": "Cedar St.", "city": "Mountain View" }, "interests": [ "Computers", "Cooking", "Databases" ], "children": [  ] }
-{ "cid": 320, "name": "Charley Hermenegildo", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Melda Hermenegildo", "age": 51 }, { "name": "Lashon Hermenegildo", "age": null } ] }
-{ "cid": 322, "name": "Jaclyn Ettl", "age": 83, "address": { "number": 4500, "street": "Main St.", "city": "Sunnyvale" }, "interests": [ "Databases", "Skiing" ], "children": [ { "name": "Noah Ettl", "age": 30 }, { "name": "Kesha Ettl", "age": null } ] }
-{ "cid": 323, "name": "Rebeca Grisostomo", "age": 26, "address": { "number": 399, "street": "View St.", "city": "Portland" }, "interests": [ "Music" ], "children": [ { "name": "Iva Grisostomo", "age": 12 }, { "name": "Ha Grisostomo", "age": null }, { "name": "Lorna Grisostomo", "age": null } ] }
-{ "cid": 324, "name": "Wendolyn Centorino", "age": null, "address": null, "interests": [  ], "children": [  ] }
-{ "cid": 325, "name": "Ai Tarleton", "age": null, "address": null, "interests": [ "Coffee", "Music" ], "children": [ { "name": "Risa Tarleton", "age": 24 }, { "name": "Leonila Tarleton", "age": null }, { "name": "Thomasina Tarleton", "age": null } ] }
-{ "cid": 326, "name": "Tad Tellers", "age": null, "address": null, "interests": [ "Books", "Tennis", "Base Jumping" ], "children": [ { "name": "Fannie Tellers", "age": null } ] }
-{ "cid": 327, "name": "Minnie Scali", "age": null, "address": null, "interests": [ "Cooking", "Squash", "Skiing" ], "children": [ { "name": "Jalisa Scali", "age": null }, { "name": "Preston Scali", "age": null }, { "name": "Stephani Scali", "age": 47 }, { "name": "Candra Scali", "age": null } ] }
-{ "cid": 328, "name": "Mallory Sheffey", "age": 27, "address": { "number": 8532, "street": "Washington St.", "city": "Mountain View" }, "interests": [ "Cooking" ], "children": [ { "name": "Regan Sheffey", "age": 14 } ] }
-{ "cid": 330, "name": "Noma Tollefsen", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Melody Tollefsen", "age": 45 }, { "name": "Caridad Tollefsen", "age": 15 } ] }
-{ "cid": 331, "name": "Willena Provenza", "age": 43, "address": { "number": 6742, "street": "Main St.", "city": "Portland" }, "interests": [ "Basketball" ], "children": [ { "name": "Alesha Provenza", "age": 32 }, { "name": "Marty Provenza", "age": null }, { "name": "Lindy Provenza", "age": 21 }, { "name": "Junita Provenza", "age": null } ] }
-{ "cid": 332, "name": "Malcom Cafasso", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Marie Cafasso", "age": null }, { "name": "Asley Cafasso", "age": 38 } ] }
-{ "cid": 333, "name": "Conchita Olivera", "age": 37, "address": { "number": 8519, "street": "Oak St.", "city": "Mountain View" }, "interests": [ "Base Jumping" ], "children": [ { "name": "Trenton Olivera", "age": null }, { "name": "Shin Olivera", "age": 26 }, { "name": "Everett Olivera", "age": 15 }, { "name": "Shera Olivera", "age": 20 } ] }
-{ "cid": 335, "name": "Odessa Dammeyer", "age": 18, "address": { "number": 6828, "street": "Cedar St.", "city": "Los Angeles" }, "interests": [ "Basketball", "Bass", "Cigars" ], "children": [ { "name": "Lindsey Dammeyer", "age": null } ] }
-{ "cid": 336, "name": "Jalisa Talamantez", "age": 78, "address": { "number": 9902, "street": "Lake St.", "city": "Mountain View" }, "interests": [ "Video Games", "Squash" ], "children": [  ] }
-{ "cid": 337, "name": "Kay Durney", "age": 52, "address": { "number": 4203, "street": "View St.", "city": "Seattle" }, "interests": [ "Walking" ], "children": [ { "name": "Velia Durney", "age": 38 }, { "name": "Erin Durney", "age": null } ] }
-{ "cid": 338, "name": "Dorthey Roncskevitz", "age": 38, "address": { "number": 4366, "street": "Washington St.", "city": "Sunnyvale" }, "interests": [ "Computers" ], "children": [ { "name": "Mindy Roncskevitz", "age": null } ] }
-{ "cid": 339, "name": "Sharonda Catalino", "age": 15, "address": { "number": 7616, "street": "Washington St.", "city": "Portland" }, "interests": [  ], "children": [ { "name": "Lorine Catalino", "age": null } ] }
-{ "cid": 340, "name": "Erick Faiola", "age": null, "address": null, "interests": [ "Coffee" ], "children": [ { "name": "Marquita Faiola", "age": null }, { "name": "Tasia Faiola", "age": null }, { "name": "Micheal Faiola", "age": 24 }, { "name": "Salvatore Faiola", "age": null } ] }
-{ "cid": 343, "name": "Kaylee Ozaine", "age": 78, "address": { "number": 3367, "street": "Washington St.", "city": "Seattle" }, "interests": [  ], "children": [ { "name": "Darwin Ozaine", "age": 35 }, { "name": "Anne Ozaine", "age": 13 }, { "name": "Kenneth Ozaine", "age": null }, { "name": "Pat Ozaine", "age": 53 } ] }
-{ "cid": 346, "name": "Elden Choma", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Valorie Choma", "age": null }, { "name": "Leslee Choma", "age": null } ] }
-{ "cid": 347, "name": "Patrick Feighan", "age": 34, "address": { "number": 7613, "street": "Cedar St.", "city": "Los Angeles" }, "interests": [ "Puzzles", "Books" ], "children": [ { "name": "Madaline Feighan", "age": null } ] }
-{ "cid": 348, "name": "Matthew Pantaleo", "age": 80, "address": { "number": 9782, "street": "Washington St.", "city": "Seattle" }, "interests": [  ], "children": [ { "name": "Faviola Pantaleo", "age": null }, { "name": "Yang Pantaleo", "age": null }, { "name": "Christopher Pantaleo", "age": null }, { "name": "Jacqui Pantaleo", "age": 58 } ] }
-{ "cid": 349, "name": "Cristine Hila", "age": null, "address": null, "interests": [ "Books" ], "children": [ { "name": "Nyla Hila", "age": 51 } ] }
-{ "cid": 352, "name": "Bonny Sischo", "age": null, "address": null, "interests": [ "Bass", "Movies", "Computers" ], "children": [ { "name": "Judith Sischo", "age": 43 }, { "name": "Adeline Sischo", "age": null }, { "name": "Dayna Sischo", "age": null } ] }
-{ "cid": 353, "name": "Melody Bernas", "age": 76, "address": { "number": 6783, "street": "Main St.", "city": "San Jose" }, "interests": [ "Base Jumping" ], "children": [ { "name": "Kristel Bernas", "age": 45 }, { "name": "Clorinda Bernas", "age": 10 }, { "name": "Natosha Bernas", "age": null } ] }
-{ "cid": 354, "name": "Marian Munzell", "age": 73, "address": { "number": 4504, "street": "Oak St.", "city": "San Jose" }, "interests": [ "Fishing", "Puzzles" ], "children": [  ] }
-{ "cid": 355, "name": "Elois Leckband", "age": null, "address": null, "interests": [ "Skiing", "Wine" ], "children": [  ] }
-{ "cid": 356, "name": "Pearlene Sakumoto", "age": 22, "address": { "number": 5895, "street": "7th St.", "city": "San Jose" }, "interests": [ "Computers", "Bass", "Base Jumping", "Coffee" ], "children": [  ] }
-{ "cid": 357, "name": "Dario Lobach", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Kendall Lobach", "age": 37 } ] }
-{ "cid": 358, "name": "Fredricka Krum", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Darrick Krum", "age": null }, { "name": "Julieann Krum", "age": null }, { "name": "Sun Krum", "age": null }, { "name": "Rosamaria Krum", "age": 16 } ] }
-{ "cid": 360, "name": "Billye Grumet", "age": 82, "address": { "number": 7052, "street": "Main St.", "city": "Portland" }, "interests": [ "Coffee" ], "children": [ { "name": "Linnea Grumet", "age": null }, { "name": "Charline Grumet", "age": 67 } ] }
-{ "cid": 361, "name": "Angela Lacki", "age": 35, "address": { "number": 9710, "street": "Hill St.", "city": "Seattle" }, "interests": [ "Skiing" ], "children": [  ] }
-{ "cid": 362, "name": "Alta Bantug", "age": null, "address": null, "interests": [ "Computers" ], "children": [  ] }
-{ "cid": 363, "name": "Merlene Hoying", "age": 25, "address": { "number": 2105, "street": "Cedar St.", "city": "Portland" }, "interests": [ "Squash", "Squash", "Music" ], "children": [ { "name": "Andrew Hoying", "age": 10 } ] }
-{ "cid": 364, "name": "Joni Dazey", "age": 14, "address": { "number": 1237, "street": "Oak St.", "city": "Mountain View" }, "interests": [  ], "children": [ { "name": "Kraig Dazey", "age": null } ] }
-{ "cid": 366, "name": "Rosia Wenzinger", "age": null, "address": null, "interests": [  ], "children": [  ] }
-{ "cid": 367, "name": "Cassondra Fabiani", "age": null, "address": null, "interests": [ "Squash", "Tennis" ], "children": [ { "name": "Evia Fabiani", "age": null }, { "name": "Chaya Fabiani", "age": null }, { "name": "Sherman Fabiani", "age": null }, { "name": "Kathi Fabiani", "age": 54 } ] }
-{ "cid": 368, "name": "Tequila Scandalios", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Nilsa Scandalios", "age": null }, { "name": "Kaye Scandalios", "age": 23 }, { "name": "Angelo Scandalios", "age": 24 } ] }
-{ "cid": 369, "name": "Nickole Dory", "age": 10, "address": { "number": 4761, "street": "View St.", "city": "Portland" }, "interests": [ "Walking", "Cooking" ], "children": [ { "name": "Annmarie Dory", "age": null }, { "name": "Michele Dory", "age": null }, { "name": "Annamae Dory", "age": null }, { "name": "Flora Dory", "age": null } ] }
-{ "cid": 370, "name": "Shonta Furby", "age": 18, "address": { "number": 5792, "street": "Cedar St.", "city": "Mountain View" }, "interests": [ "Databases" ], "children": [ { "name": "Raleigh Furby", "age": null }, { "name": "Britta Furby", "age": null }, { "name": "Gay Furby", "age": null }, { "name": "Elenor Furby", "age": null } ] }
-{ "cid": 371, "name": "Agatha Tensley", "age": 13, "address": { "number": 1810, "street": "Hill St.", "city": "San Jose" }, "interests": [ "Bass", "Running", "Movies" ], "children": [ { "name": "Launa Tensley", "age": null } ] }
-{ "cid": 372, "name": "Zena Keglovic", "age": 22, "address": { "number": 7675, "street": "Park St.", "city": "Sunnyvale" }, "interests": [ "Basketball", "Wine" ], "children": [  ] }
-{ "cid": 373, "name": "Heather Seward", "age": null, "address": null, "interests": [ "Basketball" ], "children": [ { "name": "Glinda Seward", "age": 59 }, { "name": "Maribeth Seward", "age": null }, { "name": "Teofila Seward", "age": null }, { "name": "Clemencia Seward", "age": 38 } ] }
-{ "cid": 374, "name": "Clair Quinn", "age": null, "address": null, "interests": [ "Walking", "Books" ], "children": [ { "name": "Wesley Quinn", "age": 17 }, { "name": "Maren Quinn", "age": 50 }, { "name": "Ila Quinn", "age": 43 }, { "name": "Casie Quinn", "age": null } ] }
-{ "cid": 375, "name": "Chia Sagaser", "age": 15, "address": { "number": 6025, "street": "Park St.", "city": "Mountain View" }, "interests": [ "Skiing" ], "children": [ { "name": "Garnet Sagaser", "age": null }, { "name": "Mario Sagaser", "age": null }, { "name": "Sun Sagaser", "age": null } ] }
-{ "cid": 376, "name": "Jeffrey Hegarty", "age": null, "address": null, "interests": [ "Puzzles" ], "children": [ { "name": "April Hegarty", "age": null }, { "name": "Wilbur Hegarty", "age": null }, { "name": "Hanh Hegarty", "age": null } ] }
-{ "cid": 377, "name": "Zona Klint", "age": 22, "address": { "number": 6320, "street": "Hill St.", "city": "Sunnyvale" }, "interests": [ "Puzzles" ], "children": [ { "name": "Evie Klint", "age": null }, { "name": "Sharyl Klint", "age": 11 }, { "name": "Joaquina Klint", "age": 11 }, { "name": "Doloris Klint", "age": 11 } ] }
-{ "cid": 378, "name": "Melany Matias", "age": 10, "address": { "number": 8838, "street": "Main St.", "city": "Seattle" }, "interests": [ "Coffee", "Tennis", "Bass" ], "children": [ { "name": "Earnestine Matias", "age": null }, { "name": "Lore Matias", "age": null } ] }
-{ "cid": 379, "name": "Penney Huslander", "age": 58, "address": { "number": 6919, "street": "7th St.", "city": "Portland" }, "interests": [ "Cooking", "Running" ], "children": [ { "name": "Magaret Huslander", "age": null }, { "name": "Dodie Huslander", "age": 14 } ] }
-{ "cid": 380, "name": "Silva Purdue", "age": 33, "address": { "number": 1759, "street": "7th St.", "city": "Portland" }, "interests": [ "Music", "Squash" ], "children": [ { "name": "Marshall Purdue", "age": null }, { "name": "Yuki Purdue", "age": null }, { "name": "Val Purdue", "age": 12 }, { "name": "Dominica Purdue", "age": null } ] }
-{ "cid": 381, "name": "Kassandra Ereth", "age": null, "address": null, "interests": [ "Base Jumping", "Base Jumping", "Databases", "Walking" ], "children": [ { "name": "Angelina Ereth", "age": 46 }, { "name": "Tristan Ereth", "age": null }, { "name": "Johnny Ereth", "age": null } ] }
-{ "cid": 383, "name": "Marty Castine", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Nakisha Castine", "age": 40 }, { "name": "Mina Castine", "age": null }, { "name": "Katrice Castine", "age": 56 }, { "name": "Reuben Castine", "age": null } ] }
-{ "cid": 385, "name": "Jody Favaron", "age": 73, "address": { "number": 4724, "street": "7th St.", "city": "Sunnyvale" }, "interests": [ "Fishing" ], "children": [ { "name": "Elane Favaron", "age": 47 }, { "name": "Katherine Favaron", "age": 38 } ] }
-{ "cid": 386, "name": "Mao Gradowski", "age": 36, "address": { "number": 5116, "street": "Washington St.", "city": "Mountain View" }, "interests": [ "Computers", "Fishing" ], "children": [ { "name": "Jeneva Gradowski", "age": null }, { "name": "Thu Gradowski", "age": 22 }, { "name": "Daphine Gradowski", "age": null }, { "name": "Providencia Gradowski", "age": null } ] }
-{ "cid": 387, "name": "Leonard Mabie", "age": 33, "address": { "number": 6703, "street": "View St.", "city": "Mountain View" }, "interests": [ "Bass", "Running", "Walking" ], "children": [ { "name": "Jone Mabie", "age": 16 }, { "name": "Claire Mabie", "age": null }, { "name": "Larraine Mabie", "age": null }, { "name": "Corrina Mabie", "age": null } ] }
-{ "cid": 389, "name": "Loraine Morfee", "age": 72, "address": { "number": 2945, "street": "Lake St.", "city": "Seattle" }, "interests": [ "Wine", "Walking" ], "children": [ { "name": "Berry Morfee", "age": 30 } ] }
-{ "cid": 390, "name": "Shera Cung", "age": 69, "address": { "number": 5850, "street": "Hill St.", "city": "San Jose" }, "interests": [ "Fishing", "Computers", "Cigars", "Base Jumping" ], "children": [ { "name": "Lenore Cung", "age": 20 } ] }
-{ "cid": 391, "name": "Lynn Gregory", "age": 51, "address": { "number": 1249, "street": "Hill St.", "city": "San Jose" }, "interests": [  ], "children": [ { "name": "Jeannine Gregory", "age": null }, { "name": "Jaymie Gregory", "age": null }, { "name": "Lorrine Gregory", "age": 37 } ] }
-{ "cid": 392, "name": "Isiah Nussbaumer", "age": null, "address": null, "interests": [ "Squash" ], "children": [  ] }
-{ "cid": 393, "name": "Rossana Monton", "age": 34, "address": { "number": 4490, "street": "Main St.", "city": "Portland" }, "interests": [ "Skiing", "Base Jumping" ], "children": [ { "name": "Glayds Monton", "age": null }, { "name": "Lily Monton", "age": null }, { "name": "Raina Monton", "age": null }, { "name": "Hilma Monton", "age": null } ] }
-{ "cid": 394, "name": "Lizette Roux", "age": 57, "address": { "number": 458, "street": "Hill St.", "city": "Los Angeles" }, "interests": [ "Bass", "Books" ], "children": [ { "name": "Doloris Roux", "age": null } ] }
-{ "cid": 395, "name": "Bob Layman", "age": 61, "address": { "number": 3646, "street": "Washington St.", "city": "Los Angeles" }, "interests": [  ], "children": [  ] }
-{ "cid": 396, "name": "Delfina Calcara", "age": null, "address": null, "interests": [ "Base Jumping" ], "children": [ { "name": "Sybil Calcara", "age": null } ] }
-{ "cid": 397, "name": "Blake Kealy", "age": 34, "address": { "number": 2156, "street": "Cedar St.", "city": "Los Angeles" }, "interests": [ "Databases", "Wine", "Cigars" ], "children": [ { "name": "Lorenza Kealy", "age": null }, { "name": "Beula Kealy", "age": 15 }, { "name": "Kristofer Kealy", "age": null }, { "name": "Shayne Kealy", "age": null } ] }
-{ "cid": 398, "name": "Piedad Paranada", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Claribel Paranada", "age": 22 }, { "name": "Lincoln Paranada", "age": null }, { "name": "Cecilia Paranada", "age": null } ] }
-{ "cid": 399, "name": "Myra Millwee", "age": null, "address": null, "interests": [ "Tennis", "Running", "Tennis" ], "children": [ { "name": "Gaye Millwee", "age": null } ] }
-{ "cid": 400, "name": "Jeffery Maresco", "age": null, "address": null, "interests": [ "Coffee", "Bass" ], "children": [  ] }
-{ "cid": 401, "name": "Moises Jago", "age": 27, "address": { "number": 3773, "street": "Main St.", "city": "San Jose" }, "interests": [ "Music" ], "children": [ { "name": "Shoshana Jago", "age": null }, { "name": "Juliet Jago", "age": null }, { "name": "Berneice Jago", "age": 13 } ] }
-{ "cid": 402, "name": "Terrilyn Shinall", "age": null, "address": null, "interests": [ "Computers", "Skiing", "Music" ], "children": [ { "name": "Minh Shinall", "age": null }, { "name": "Diedre Shinall", "age": 22 } ] }
-{ "cid": 403, "name": "Kayleigh Houey", "age": null, "address": null, "interests": [ "Fishing", "Music" ], "children": [ { "name": "Ta Houey", "age": null }, { "name": "Ayana Houey", "age": null }, { "name": "Dominique Houey", "age": null }, { "name": "Denise Houey", "age": 48 } ] }
-{ "cid": 404, "name": "Harriette Abo", "age": null, "address": null, "interests": [ "Walking", "Running" ], "children": [  ] }
-{ "cid": 405, "name": "Shawnda Landborg", "age": 73, "address": { "number": 2396, "street": "Hill St.", "city": "Mountain View" }, "interests": [  ], "children": [ { "name": "Cherrie Landborg", "age": 10 } ] }
-{ "cid": 406, "name": "Addie Mandez", "age": null, "address": null, "interests": [ "Tennis", "Cigars", "Books" ], "children": [ { "name": "Rosendo Mandez", "age": 34 } ] }
-{ "cid": 407, "name": "Bebe Cotney", "age": null, "address": null, "interests": [ "Books", "Tennis" ], "children": [ { "name": "Daren Cotney", "age": null }, { "name": "Lady Cotney", "age": 48 } ] }
-{ "cid": 408, "name": "Ava Zornes", "age": null, "address": null, "interests": [ "Music" ], "children": [  ] }
-{ "cid": 410, "name": "Jennie Longhenry", "age": 82, "address": { "number": 7427, "street": "Main St.", "city": "San Jose" }, "interests": [  ], "children": [ { "name": "Charles Longhenry", "age": 61 }, { "name": "Faviola Longhenry", "age": 25 }, { "name": "Darline Longhenry", "age": null }, { "name": "Lorean Longhenry", "age": null } ] }
-{ "cid": 411, "name": "Cindi Pepin", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Fallon Pepin", "age": 39 }, { "name": "Armanda Pepin", "age": null }, { "name": "Loriann Pepin", "age": null }, { "name": "Bambi Pepin", "age": 43 } ] }
-{ "cid": 412, "name": "Devon Szalai", "age": 26, "address": { "number": 2384, "street": "Lake St.", "city": "Los Angeles" }, "interests": [ "Bass", "Books", "Books" ], "children": [ { "name": "Yolonda Szalai", "age": null }, { "name": "Denita Szalai", "age": null }, { "name": "Priscila Szalai", "age": 10 }, { "name": "Cassondra Szalai", "age": 12 } ] }
-{ "cid": 413, "name": "Maurice Landrie", "age": null, "address": null, "interests": [ "Computers", "Coffee" ], "children": [ { "name": "Gail Landrie", "age": 37 }, { "name": "Carylon Landrie", "age": null }, { "name": "Allen Landrie", "age": 16 }, { "name": "Andreas Landrie", "age": null } ] }
-{ "cid": 414, "name": "Sixta Smithheart", "age": null, "address": null, "interests": [ "Skiing", "Books", "Computers" ], "children": [ { "name": "Nicholas Smithheart", "age": null } ] }
-{ "cid": 415, "name": "Valentin Mclarney", "age": null, "address": null, "interests": [ "Squash", "Squash", "Video Games" ], "children": [ { "name": "Vanda Mclarney", "age": 17 } ] }
-{ "cid": 417, "name": "Irene Funderberg", "age": 45, "address": { "number": 8503, "street": "Hill St.", "city": "Seattle" }, "interests": [ "Music", "Skiing", "Running" ], "children": [ { "name": "Lyndia Funderberg", "age": 14 }, { "name": "Herta Funderberg", "age": null } ] }
-{ "cid": 418, "name": "Gavin Delpino", "age": null, "address": null, "interests": [ "Basketball", "Skiing", "Wine", "Fishing" ], "children": [ { "name": "Gianna Delpino", "age": null }, { "name": "Carmella Delpino", "age": 55 } ] }
-{ "cid": 419, "name": "Hector Brisbone", "age": null, "address": null, "interests": [ "Databases", "Books", "Walking", "Databases" ], "children": [ { "name": "Frederick Brisbone", "age": 17 } ] }
-{ "cid": 420, "name": "Coralie Regueira", "age": null, "address": null, "interests": [ "Books", "Tennis" ], "children": [ { "name": "Latoyia Regueira", "age": 31 }, { "name": "Obdulia Regueira", "age": 12 }, { "name": "Herlinda Regueira", "age": null } ] }
-{ "cid": 421, "name": "Rubye Dillabough", "age": 55, "address": { "number": 6980, "street": "View St.", "city": "Sunnyvale" }, "interests": [ "Squash" ], "children": [ { "name": "Hyacinth Dillabough", "age": 19 }, { "name": "Arie Dillabough", "age": null } ] }
-{ "cid": 422, "name": "Annmarie Whitcher", "age": null, "address": null, "interests": [ "Cigars" ], "children": [ { "name": "Honey Whitcher", "age": null }, { "name": "Dan Whitcher", "age": 22 } ] }
-{ "cid": 424, "name": "Camila Rightmire", "age": 25, "address": { "number": 7542, "street": "Oak St.", "city": "Sunnyvale" }, "interests": [ "Bass", "Running", "Puzzles" ], "children": [ { "name": "Donny Rightmire", "age": 14 }, { "name": "Karlene Rightmire", "age": 10 }, { "name": "Nicholas Rightmire", "age": null }, { "name": "Margareta Rightmire", "age": null } ] }
-{ "cid": 426, "name": "Agripina Philley", "age": 79, "address": { "number": 1533, "street": "Main St.", "city": "Portland" }, "interests": [  ], "children": [ { "name": "Georgianne Philley", "age": null }, { "name": "Neville Philley", "age": null }, { "name": "Brande Philley", "age": 42 }, { "name": "Tanisha Philley", "age": null } ] }
-{ "cid": 427, "name": "Janay Presutti", "age": null, "address": null, "interests": [ "Walking" ], "children": [ { "name": "Julietta Presutti", "age": null } ] }
-{ "cid": 428, "name": "Tiffany Waye", "age": null, "address": null, "interests": [ "Basketball", "Cigars" ], "children": [ { "name": "Berna Waye", "age": null }, { "name": "Kiersten Waye", "age": null }, { "name": "Romeo Waye", "age": null }, { "name": "Marvel Waye", "age": 56 } ] }
-{ "cid": 429, "name": "Eladia Scannell", "age": 20, "address": { "number": 5036, "street": "Main St.", "city": "Portland" }, "interests": [ "Skiing", "Music", "Movies" ], "children": [  ] }
-{ "cid": 430, "name": "Cari Woll", "age": 45, "address": { "number": 8226, "street": "Park St.", "city": "San Jose" }, "interests": [ "Cooking", "Walking", "Cooking" ], "children": [ { "name": "Tomasa Woll", "age": 32 }, { "name": "Annika Woll", "age": 21 } ] }
-{ "cid": 431, "name": "Estela Tolbent", "age": 27, "address": { "number": 7186, "street": "7th St.", "city": "Los Angeles" }, "interests": [ "Databases" ], "children": [ { "name": "Joie Tolbent", "age": null }, { "name": "Angila Tolbent", "age": null }, { "name": "Anastasia Tolbent", "age": 14 } ] }
-{ "cid": 432, "name": "Judi Vinet", "age": 85, "address": { "number": 7304, "street": "Oak St.", "city": "Los Angeles" }, "interests": [ "Wine" ], "children": [ { "name": "Golden Vinet", "age": 20 }, { "name": "Maragret Vinet", "age": null }, { "name": "Keshia Vinet", "age": 10 }, { "name": "Gary Vinet", "age": 73 } ] }
-{ "cid": 433, "name": "Caleb Merrbach", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Amado Merrbach", "age": 45 } ] }
-{ "cid": 434, "name": "Tamesha Soho", "age": 33, "address": { "number": 4534, "street": "Park St.", "city": "Seattle" }, "interests": [  ], "children": [ { "name": "Cody Soho", "age": null }, { "name": "Glennie Soho", "age": 22 } ] }
-{ "cid": 435, "name": "Britni Kazemi", "age": 69, "address": { "number": 7868, "street": "Main St.", "city": "San Jose" }, "interests": [ "Databases", "Music", "Wine" ], "children": [  ] }
-{ "cid": 436, "name": "Xenia Pool", "age": null, "address": null, "interests": [ "Books" ], "children": [  ] }
-{ "cid": 437, "name": "Marlene Macintyre", "age": 86, "address": { "number": 3708, "street": "Oak St.", "city": "Mountain View" }, "interests": [ "Wine", "Walking", "Music", "Coffee" ], "children": [ { "name": "Todd Macintyre", "age": null }, { "name": "Mechelle Macintyre", "age": 50 } ] }
-{ "cid": 438, "name": "Allegra Pefanis", "age": null, "address": null, "interests": [ "Computers", "Music", "Cigars" ], "children": [  ] }
-{ "cid": 439, "name": "Lillia Villnave", "age": 34, "address": { "number": 9212, "street": "Oak St.", "city": "Sunnyvale" }, "interests": [  ], "children": [ { "name": "Otis Villnave", "age": null } ] }
-{ "cid": 440, "name": "Rosie Shappen", "age": null, "address": null, "interests": [ "Cooking", "Music", "Cigars" ], "children": [ { "name": "Jung Shappen", "age": 11 } ] }
-{ "cid": 441, "name": "Jamison Reeser", "age": 84, "address": { "number": 9376, "street": "7th St.", "city": "Mountain View" }, "interests": [ "Tennis" ], "children": [ { "name": "Elena Reeser", "age": 28 } ] }
-{ "cid": 442, "name": "Val Disorda", "age": null, "address": null, "interests": [ "Bass" ], "children": [ { "name": "Simone Disorda", "age": 53 }, { "name": "Jacalyn Disorda", "age": 41 }, { "name": "Ron Disorda", "age": null }, { "name": "Clifton Disorda", "age": null } ] }
-{ "cid": 445, "name": "Walton Komo", "age": 16, "address": { "number": 8769, "street": "Main St.", "city": "Seattle" }, "interests": [ "Running", "Basketball", "Tennis" ], "children": [  ] }
-{ "cid": 446, "name": "Lilly Grannell", "age": 21, "address": { "number": 5894, "street": "Washington St.", "city": "San Jose" }, "interests": [ "Computers", "Tennis", "Puzzles", "Books" ], "children": [ { "name": "Victor Grannell", "age": null } ] }
-{ "cid": 447, "name": "Iris Schoneman", "age": 34, "address": { "number": 7648, "street": "Washington St.", "city": "Seattle" }, "interests": [ "Bass", "Wine", "Puzzles", "Cigars" ], "children": [ { "name": "Shemika Schoneman", "age": 11 }, { "name": "Maritza Schoneman", "age": 21 }, { "name": "Martha Schoneman", "age": 20 } ] }
-{ "cid": 448, "name": "Gracie Pekas", "age": 59, "address": { "number": 4732, "street": "Cedar St.", "city": "San Jose" }, "interests": [ "Base Jumping", "Wine", "Cigars" ], "children": [ { "name": "Jeanett Pekas", "age": 35 }, { "name": "Jennifer Pekas", "age": null }, { "name": "Carrol Pekas", "age": null } ] }
-{ "cid": 449, "name": "Jacinda Markle", "age": null, "address": null, "interests": [ "Basketball", "Basketball", "Computers" ], "children": [ { "name": "Tam Markle", "age": 45 } ] }
-{ "cid": 450, "name": "Althea Mohammed", "age": null, "address": null, "interests": [ "Fishing", "Databases" ], "children": [ { "name": "Jasper Mohammed", "age": null } ] }
-{ "cid": 451, "name": "Lelia Sondelski", "age": 60, "address": { "number": 4044, "street": "Park St.", "city": "Portland" }, "interests": [ "Books", "Squash", "Walking" ], "children": [  ] }
-{ "cid": 452, "name": "Casie Marasigan", "age": null, "address": null, "interests": [ "Walking", "Computers" ], "children": [ { "name": "Connie Marasigan", "age": null }, { "name": "Kimberlie Marasigan", "age": null } ] }
-{ "cid": 453, "name": "Sherlyn Deadmond", "age": null, "address": null, "interests": [ "Tennis", "Puzzles", "Base Jumping" ], "children": [ { "name": "Torrie Deadmond", "age": 46 }, { "name": "Cleotilde Deadmond", "age": 55 }, { "name": "Garry Deadmond", "age": 34 }, { "name": "Valrie Deadmond", "age": null } ] }
-{ "cid": 454, "name": "Irving Lhuillier", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Emile Lhuillier", "age": null }, { "name": "Albert Lhuillier", "age": null }, { "name": "Ingeborg Lhuillier", "age": 23 }, { "name": "Shila Lhuillier", "age": 55 } ] }
-{ "cid": 455, "name": "Manual Altizer", "age": 70, "address": { "number": 6293, "street": "7th St.", "city": "Portland" }, "interests": [ "Running", "Fishing", "Coffee" ], "children": [ { "name": "Katherine Altizer", "age": null } ] }
-{ "cid": 456, "name": "Kim Cervera", "age": 89, "address": { "number": 3967, "street": "Lake St.", "city": "Portland" }, "interests": [ "Fishing" ], "children": [ { "name": "Winona Cervera", "age": 37 }, { "name": "Shanice Cervera", "age": null }, { "name": "Michaele Cervera", "age": null } ] }
-{ "cid": 457, "name": "Jenice Boger", "age": null, "address": null, "interests": [ "Skiing", "Databases", "Running" ], "children": [  ] }
-{ "cid": 458, "name": "Ivan Sien", "age": 17, "address": { "number": 9981, "street": "Lake St.", "city": "Portland" }, "interests": [ "Cooking", "Coffee" ], "children": [ { "name": "Laurence Sien", "age": null }, { "name": "Nelle Sien", "age": null }, { "name": "Thalia Sien", "age": null } ] }
-{ "cid": 459, "name": "Mable Ellwein", "age": 60, "address": { "number": 1138, "street": "Lake St.", "city": "Portland" }, "interests": [  ], "children": [ { "name": "Stan Ellwein", "age": 19 }, { "name": "Ashlea Ellwein", "age": 13 }, { "name": "Tiesha Ellwein", "age": 28 } ] }
-{ "cid": 460, "name": "Jeraldine Choules", "age": null, "address": null, "interests": [ "Fishing" ], "children": [ { "name": "Berneice Choules", "age": 16 }, { "name": "Jaime Choules", "age": 21 }, { "name": "Li Choules", "age": 20 }, { "name": "Leah Choules", "age": null } ] }
-{ "cid": 461, "name": "Dessie Schnibbe", "age": null, "address": null, "interests": [  ], "children": [  ] }
-{ "cid": 462, "name": "Margaret Galvis", "age": null, "address": null, "interests": [ "Base Jumping", "Movies", "Movies" ], "children": [ { "name": "Isaac Galvis", "age": 48 }, { "name": "Mei Galvis", "age": null }, { "name": "Asha Galvis", "age": null }, { "name": "Zachery Galvis", "age": null } ] }
-{ "cid": 463, "name": "Mika Rininger", "age": null, "address": null, "interests": [ "Databases", "Cooking" ], "children": [ { "name": "Inez Rininger", "age": 58 }, { "name": "Betty Rininger", "age": null }, { "name": "Laurie Rininger", "age": 48 }, { "name": "Billie Rininger", "age": null } ] }
-{ "cid": 464, "name": "Petra Kinsel", "age": null, "address": null, "interests": [ "Wine" ], "children": [ { "name": "Janise Kinsel", "age": null }, { "name": "Donnie Kinsel", "age": 26 }, { "name": "Joana Kinsel", "age": 12 } ] }
-{ "cid": 465, "name": "Rey Arango", "age": 68, "address": { "number": 1788, "street": "View St.", "city": "Los Angeles" }, "interests": [ "Tennis" ], "children": [  ] }
-{ "cid": 466, "name": "Paulene Bagen", "age": 87, "address": { "number": 4093, "street": "View St.", "city": "Mountain View" }, "interests": [ "Music" ], "children": [ { "name": "Antione Bagen", "age": null }, { "name": "Samatha Bagen", "age": null } ] }
-{ "cid": 467, "name": "Magali Ingerson", "age": null, "address": null, "interests": [ "Books", "Base Jumping" ], "children": [ { "name": "Monty Ingerson", "age": 11 }, { "name": "Noelia Ingerson", "age": 47 }, { "name": "Tennie Ingerson", "age": null }, { "name": "Merrill Ingerson", "age": null } ] }
-{ "cid": 468, "name": "Raeann Conry", "age": 68, "address": { "number": 4312, "street": "Cedar St.", "city": "Seattle" }, "interests": [ "Squash" ], "children": [ { "name": "Ellena Conry", "age": 36 }, { "name": "Lynwood Conry", "age": 13 }, { "name": "Coreen Conry", "age": 23 } ] }
-{ "cid": 470, "name": "Yesenia Doyon", "age": 78, "address": { "number": 3641, "street": "7th St.", "city": "Seattle" }, "interests": [ "Databases", "Puzzles" ], "children": [ { "name": "Halley Doyon", "age": null }, { "name": "Teisha Doyon", "age": 33 }, { "name": "Warren Doyon", "age": null } ] }
-{ "cid": 471, "name": "Nicol Majersky", "age": null, "address": null, "interests": [ "Video Games", "Books" ], "children": [ { "name": "Alise Majersky", "age": null }, { "name": "Kathline Majersky", "age": 53 }, { "name": "Charlie Majersky", "age": 45 }, { "name": "Helaine Majersky", "age": null } ] }
-{ "cid": 472, "name": "Kelley Mischler", "age": 38, "address": { "number": 7988, "street": "Lake St.", "city": "Los Angeles" }, "interests": [ "Movies", "Cooking", "Skiing" ], "children": [ { "name": "Keila Mischler", "age": 19 }, { "name": "Evie Mischler", "age": 15 } ] }
-{ "cid": 475, "name": "Brinda Gouker", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Gayle Gouker", "age": 52 } ] }
-{ "cid": 478, "name": "Sophia Whitt", "age": 26, "address": { "number": 2787, "street": "Park St.", "city": "Mountain View" }, "interests": [ "Fishing", "Databases" ], "children": [ { "name": "Irving Whitt", "age": 13 }, { "name": "Jeannette Whitt", "age": null } ] }
-{ "cid": 479, "name": "Danilo Varney", "age": 17, "address": { "number": 9330, "street": "Hill St.", "city": "Portland" }, "interests": [ "Wine" ], "children": [ { "name": "Shelby Varney", "age": null }, { "name": "Fidela Varney", "age": null }, { "name": "Maynard Varney", "age": null }, { "name": "Lindsay Varney", "age": null } ] }
-{ "cid": 480, "name": "Nigel Pitmon", "age": null, "address": null, "interests": [ "Puzzles", "Books" ], "children": [ { "name": "Janene Pitmon", "age": null }, { "name": "Louie Pitmon", "age": 19 }, { "name": "Genny Pitmon", "age": 24 }, { "name": "Robby Pitmon", "age": 55 } ] }
-{ "cid": 481, "name": "Leana Revera", "age": null, "address": null, "interests": [ "Running", "Skiing" ], "children": [ { "name": "Marquita Revera", "age": null } ] }
-{ "cid": 482, "name": "Samantha Stonis", "age": null, "address": null, "interests": [ "Databases" ], "children": [  ] }
-{ "cid": 483, "name": "Elsa Vigen", "age": null, "address": null, "interests": [ "Wine", "Databases" ], "children": [ { "name": "Larae Vigen", "age": null }, { "name": "Elwood Vigen", "age": null } ] }
-{ "cid": 484, "name": "Bennie Dragaj", "age": null, "address": null, "interests": [ "Fishing", "Databases", "Wine" ], "children": [ { "name": "Viva Dragaj", "age": 13 } ] }
-{ "cid": 485, "name": "Gene Rogoff", "age": null, "address": null, "interests": [ "Fishing" ], "children": [ { "name": "Ebonie Rogoff", "age": null } ] }
-{ "cid": 486, "name": "Willa Patman", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Ross Patman", "age": 42 }, { "name": "Erin Patman", "age": null }, { "name": "Vannessa Patman", "age": 11 }, { "name": "Hilaria Patman", "age": 28 } ] }
-{ "cid": 487, "name": "Zenia Virgilio", "age": 46, "address": { "number": 584, "street": "Main St.", "city": "Mountain View" }, "interests": [ "Walking", "Squash", "Wine" ], "children": [ { "name": "Quintin Virgilio", "age": null }, { "name": "Edith Virgilio", "age": null }, { "name": "Nicolle Virgilio", "age": 33 } ] }
-{ "cid": 489, "name": "Brigid Delosier", "age": 31, "address": { "number": 6082, "street": "Oak St.", "city": "Portland" }, "interests": [ "Tennis", "Cigars", "Music" ], "children": [ { "name": "Allegra Delosier", "age": null }, { "name": "Yong Delosier", "age": 10 }, { "name": "Steffanie Delosier", "age": 13 } ] }
-{ "cid": 492, "name": "Gene Alcazar", "age": 59, "address": { "number": 9650, "street": "Cedar St.", "city": "San Jose" }, "interests": [ "Computers" ], "children": [ { "name": "Olympia Alcazar", "age": null }, { "name": "Mark Alcazar", "age": 37 }, { "name": "Danilo Alcazar", "age": null } ] }
-{ "cid": 493, "name": "Lindsey Trout", "age": 86, "address": { "number": 7619, "street": "Cedar St.", "city": "Portland" }, "interests": [ "Base Jumping", "Skiing" ], "children": [ { "name": "Madlyn Trout", "age": 58 }, { "name": "Amie Trout", "age": 72 } ] }
-{ "cid": 494, "name": "Delma Deever", "age": 84, "address": { "number": 5044, "street": "7th St.", "city": "Seattle" }, "interests": [ "Computers", "Basketball", "Squash" ], "children": [  ] }
-{ "cid": 496, "name": "Lonna Starkweather", "age": 80, "address": { "number": 1162, "street": "Lake St.", "city": "Sunnyvale" }, "interests": [ "Coffee", "Bass", "Running" ], "children": [ { "name": "Matilda Starkweather", "age": null } ] }
-{ "cid": 497, "name": "Chantay Balak", "age": null, "address": null, "interests": [ "Bass", "Fishing" ], "children": [ { "name": "John Balak", "age": null }, { "name": "Thu Balak", "age": 38 } ] }
-{ "cid": 498, "name": "Arleen Sultzer", "age": null, "address": null, "interests": [ "Coffee", "Movies", "Skiing" ], "children": [ { "name": "Norine Sultzer", "age": 29 } ] }
-{ "cid": 499, "name": "Carlita Tarlton", "age": 43, "address": { "number": 9148, "street": "Main St.", "city": "Sunnyvale" }, "interests": [ "Computers", "Base Jumping", "Video Games" ], "children": [  ] }
-{ "cid": 500, "name": "Tierra Bjorklund", "age": null, "address": null, "interests": [ "Puzzles", "Skiing" ], "children": [ { "name": "Avelina Bjorklund", "age": 54 }, { "name": "Mallory Bjorklund", "age": null } ] }
-{ "cid": 501, "name": "Alyce Coant", "age": null, "address": null, "interests": [ "Music", "Base Jumping" ], "children": [ { "name": "Elyse Coant", "age": 50 } ] }
-{ "cid": 502, "name": "Lawana Mulik", "age": 82, "address": { "number": 3071, "street": "Park St.", "city": "Portland" }, "interests": [ "Cigars", "Cigars" ], "children": [ { "name": "Carrie Mulik", "age": null }, { "name": "Sharlene Mulik", "age": 33 }, { "name": "Leone Mulik", "age": 46 } ] }
-{ "cid": 503, "name": "Phyliss Cassani", "age": null, "address": null, "interests": [ "Squash", "Tennis" ], "children": [ { "name": "Rolando Cassani", "age": 44 }, { "name": "Rikki Cassani", "age": 18 }, { "name": "Monty Cassani", "age": 40 } ] }
-{ "cid": 504, "name": "Marla Kolenda", "age": 57, "address": { "number": 464, "street": "View St.", "city": "San Jose" }, "interests": [ "Coffee" ], "children": [ { "name": "Iliana Kolenda", "age": 34 }, { "name": "Ammie Kolenda", "age": 20 }, { "name": "Candi Kolenda", "age": 23 }, { "name": "Lyla Kolenda", "age": 23 } ] }
-{ "cid": 505, "name": "Mike Runk", "age": null, "address": null, "interests": [ "Databases", "Computers", "Running", "Video Games" ], "children": [ { "name": "Lashawn Runk", "age": 21 } ] }
-{ "cid": 506, "name": "Jonna Kolbusz", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Debrah Kolbusz", "age": null }, { "name": "Hugh Kolbusz", "age": null } ] }
-{ "cid": 507, "name": "Yuk Flanegan", "age": null, "address": null, "interests": [ "Puzzles", "Puzzles", "Squash" ], "children": [ { "name": "Alexander Flanegan", "age": null } ] }
-{ "cid": 508, "name": "Tiffany Kimmey", "age": 64, "address": { "number": 8625, "street": "7th St.", "city": "Mountain View" }, "interests": [ "Bass", "Walking" ], "children": [  ] }
-{ "cid": 509, "name": "Alvaro Johnke", "age": null, "address": null, "interests": [ "Computers" ], "children": [ { "name": "Allison Johnke", "age": null }, { "name": "Ellan Johnke", "age": null } ] }
-{ "cid": 510, "name": "Candace Morello", "age": null, "address": null, "interests": [ "Wine", "Base Jumping", "Running" ], "children": [ { "name": "Sandy Morello", "age": 57 }, { "name": "Delois Morello", "age": 15 } ] }
-{ "cid": 512, "name": "Paul Cobian", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Will Cobian", "age": 30 }, { "name": "Conrad Cobian", "age": 35 }, { "name": "Justin Cobian", "age": 11 } ] }
-{ "cid": 513, "name": "Marianna Gortman", "age": 49, "address": { "number": 927, "street": "Cedar St.", "city": "San Jose" }, "interests": [ "Databases", "Databases" ], "children": [  ] }
-{ "cid": 514, "name": "Raleigh Belling", "age": 56, "address": { "number": 7408, "street": "View St.", "city": "Mountain View" }, "interests": [ "Running" ], "children": [  ] }
-{ "cid": 515, "name": "Connie Banis", "age": null, "address": null, "interests": [ "Coffee" ], "children": [ { "name": "Brittni Banis", "age": null }, { "name": "Deloras Banis", "age": 25 } ] }
-{ "cid": 516, "name": "Taunya Berkbigler", "age": 82, "address": { "number": 5441, "street": "View St.", "city": "Seattle" }, "interests": [ "Databases", "Tennis" ], "children": [ { "name": "Cherry Berkbigler", "age": 27 }, { "name": "Perry Berkbigler", "age": null } ] }
-{ "cid": 517, "name": "Alfonso Bruderer", "age": null, "address": null, "interests": [ "Bass" ], "children": [  ] }
-{ "cid": 518, "name": "Cora Ingargiola", "age": null, "address": null, "interests": [ "Skiing", "Squash", "Movies" ], "children": [ { "name": "Katlyn Ingargiola", "age": null }, { "name": "Mike Ingargiola", "age": null }, { "name": "Lawrence Ingargiola", "age": null }, { "name": "Isabelle Ingargiola", "age": null } ] }
-{ "cid": 519, "name": "Julianna Goodsell", "age": 59, "address": { "number": 5594, "street": "Lake St.", "city": "Seattle" }, "interests": [ "Video Games", "Fishing" ], "children": [  ] }
-{ "cid": 520, "name": "Janay Bernbeck", "age": null, "address": null, "interests": [ "Databases", "Databases" ], "children": [ { "name": "Aurea Bernbeck", "age": null }, { "name": "Tiara Bernbeck", "age": null }, { "name": "Alfredia Bernbeck", "age": 26 } ] }
-{ "cid": 521, "name": "Frankie Hofmann", "age": null, "address": null, "interests": [ "Databases", "Movies" ], "children": [ { "name": "Shirlee Hofmann", "age": 32 }, { "name": "Jacque Hofmann", "age": 23 }, { "name": "Jazmin Hofmann", "age": null }, { "name": "Serena Hofmann", "age": 56 } ] }
-{ "cid": 522, "name": "Daryl Kissack", "age": 86, "address": { "number": 7825, "street": "Cedar St.", "city": "Mountain View" }, "interests": [ "Squash", "Base Jumping", "Tennis" ], "children": [ { "name": "Darrel Kissack", "age": 21 } ] }
-{ "cid": 523, "name": "Johanne Huls", "age": null, "address": null, "interests": [ "Books", "Bass" ], "children": [ { "name": "Melynda Huls", "age": null }, { "name": "Vicky Huls", "age": 16 }, { "name": "Charlott Huls", "age": null } ] }
-{ "cid": 524, "name": "Rickie Manche", "age": null, "address": null, "interests": [  ], "children": [  ] }
-{ "cid": 525, "name": "Miquel Hodnefield", "age": 12, "address": { "number": 4784, "street": "7th St.", "city": "Sunnyvale" }, "interests": [  ], "children": [ { "name": "Darnell Hodnefield", "age": null }, { "name": "Particia Hodnefield", "age": null } ] }
-{ "cid": 528, "name": "Tamela Witherbee", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Penney Witherbee", "age": null } ] }
-{ "cid": 529, "name": "Cinderella Lewis", "age": null, "address": null, "interests": [ "Base Jumping" ], "children": [ { "name": "Flor Lewis", "age": null }, { "name": "Alonzo Lewis", "age": 23 } ] }
-{ "cid": 530, "name": "Olevia Sturk", "age": 72, "address": { "number": 1939, "street": "Cedar St.", "city": "Sunnyvale" }, "interests": [ "Computers" ], "children": [ { "name": "Cindy Sturk", "age": 18 }, { "name": "Alishia Sturk", "age": null }, { "name": "Sonja Sturk", "age": 51 } ] }
-{ "cid": 531, "name": "Camelia Yoes", "age": null, "address": null, "interests": [  ], "children": [  ] }
-{ "cid": 532, "name": "Tania Fraklin", "age": 38, "address": { "number": 2857, "street": "Washington St.", "city": "Seattle" }, "interests": [ "Squash", "Databases" ], "children": [  ] }
-{ "cid": 533, "name": "Trinity Urquidez", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Corrine Urquidez", "age": 29 }, { "name": "Markita Urquidez", "age": 19 }, { "name": "Danette Urquidez", "age": null } ] }
-{ "cid": 534, "name": "Bridgett Ebel", "age": null, "address": null, "interests": [ "Cigars" ], "children": [  ] }
-{ "cid": 535, "name": "Juana Hirliman", "age": 87, "address": { "number": 6763, "street": "Hill St.", "city": "Sunnyvale" }, "interests": [ "Movies" ], "children": [ { "name": "Ursula Hirliman", "age": 40 }, { "name": "Doretha Hirliman", "age": 30 }, { "name": "Leisha Hirliman", "age": 49 } ] }
-{ "cid": 536, "name": "Wilber Rehrer", "age": null, "address": null, "interests": [ "Movies" ], "children": [ { "name": "Zulema Rehrer", "age": null }, { "name": "Lavonda Rehrer", "age": null }, { "name": "Stacey Rehrer", "age": 59 } ] }
-{ "cid": 537, "name": "Mara Hugar", "age": null, "address": null, "interests": [ "Fishing", "Skiing", "Skiing" ], "children": [ { "name": "Krista Hugar", "age": null } ] }
-{ "cid": 538, "name": "Mack Vollick", "age": null, "address": null, "interests": [ "Base Jumping", "Fishing", "Walking", "Computers" ], "children": [ { "name": "Gil Vollick", "age": 11 }, { "name": "Marica Vollick", "age": null } ] }
-{ "cid": 539, "name": "Nicky Graceffo", "age": null, "address": null, "interests": [ "Video Games" ], "children": [  ] }
-{ "cid": 540, "name": "Bryanna Herling", "age": 67, "address": { "number": 7682, "street": "View St.", "city": "Sunnyvale" }, "interests": [  ], "children": [ { "name": "Cyrstal Herling", "age": 50 }, { "name": "Vallie Herling", "age": 54 }, { "name": "Doris Herling", "age": null } ] }
-{ "cid": 541, "name": "Sammy Adamitis", "age": 71, "address": { "number": 5593, "street": "Washington St.", "city": "Seattle" }, "interests": [ "Books", "Tennis", "Cooking" ], "children": [  ] }
-{ "cid": 542, "name": "Eveline Smedley", "age": 50, "address": { "number": 5513, "street": "Oak St.", "city": "San Jose" }, "interests": [ "Skiing", "Walking" ], "children": [ { "name": "Lynsey Smedley", "age": 26 } ] }
-{ "cid": 543, "name": "Pearl Nollette", "age": null, "address": null, "interests": [ "Base Jumping", "Running" ], "children": [  ] }
-{ "cid": 544, "name": "Silas Demay", "age": 69, "address": { "number": 447, "street": "Main St.", "city": "Portland" }, "interests": [ "Tennis", "Bass" ], "children": [ { "name": "Latonya Demay", "age": null }, { "name": "Lissette Demay", "age": 37 }, { "name": "Lynell Demay", "age": 42 }, { "name": "Mikel Demay", "age": 17 } ] }
-{ "cid": 545, "name": "Dolores Ferer", "age": null, "address": null, "interests": [ "Coffee", "Bass", "Tennis" ], "children": [ { "name": "Bridgette Ferer", "age": null } ] }
-{ "cid": 547, "name": "Daryl Dambra", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Jacquline Dambra", "age": null }, { "name": "Seymour Dambra", "age": null } ] }
-{ "cid": 548, "name": "Elvia Duchesney", "age": null, "address": null, "interests": [ "Basketball" ], "children": [ { "name": "Arcelia Duchesney", "age": 22 } ] }
-{ "cid": 549, "name": "Kathrin Cruff", "age": 63, "address": { "number": 9002, "street": "Washington St.", "city": "Sunnyvale" }, "interests": [ "Tennis", "Books" ], "children": [ { "name": "Candi Cruff", "age": 49 }, { "name": "Barry Cruff", "age": 17 }, { "name": "Shane Cruff", "age": 18 }, { "name": "Brendon Cruff", "age": null } ] }
-{ "cid": 550, "name": "Aleisha Brehon", "age": 61, "address": { "number": 7835, "street": "Hill St.", "city": "Mountain View" }, "interests": [ "Squash" ], "children": [ { "name": "Vito Brehon", "age": null }, { "name": "Matthew Brehon", "age": 32 } ] }
-{ "cid": 552, "name": "Marlena Humann", "age": null, "address": null, "interests": [  ], "children": [  ] }
-{ "cid": 553, "name": "Mina Ciminera", "age": null, "address": null, "interests": [ "Base Jumping", "Databases" ], "children": [ { "name": "Cornelius Ciminera", "age": null }, { "name": "Rozanne Ciminera", "age": null }, { "name": "Byron Ciminera", "age": null } ] }
-{ "cid": 554, "name": "Darci Yafai", "age": 60, "address": { "number": 4694, "street": "Park St.", "city": "Mountain View" }, "interests": [  ], "children": [ { "name": "Lecia Yafai", "age": 47 } ] }
-{ "cid": 555, "name": "Agustina Bretthauer", "age": null, "address": null, "interests": [ "Cigars" ], "children": [ { "name": "Arthur Bretthauer", "age": 33 }, { "name": "Titus Bretthauer", "age": 33 }, { "name": "Margret Bretthauer", "age": null } ] }
-{ "cid": 557, "name": "Kaitlyn Hilleman", "age": 61, "address": { "number": 1076, "street": "Hill St.", "city": "Sunnyvale" }, "interests": [  ], "children": [ { "name": "Corrie Hilleman", "age": 31 }, { "name": "Jovan Hilleman", "age": null }, { "name": "Carmine Hilleman", "age": null } ] }
-{ "cid": 559, "name": "Carolyne Shiroma", "age": null, "address": null, "interests": [ "Movies", "Running" ], "children": [ { "name": "Ying Shiroma", "age": 57 } ] }
-{ "cid": 560, "name": "Karin Dicesare", "age": null, "address": null, "interests": [ "Wine", "Puzzles" ], "children": [  ] }
-{ "cid": 561, "name": "Renetta Cudworth", "age": null, "address": null, "interests": [ "Skiing", "Basketball" ], "children": [  ] }
-{ "cid": 563, "name": "Deirdre Landero", "age": null, "address": null, "interests": [ "Books", "Fishing", "Video Games" ], "children": [ { "name": "Norman Landero", "age": 59 }, { "name": "Jennine Landero", "age": 45 }, { "name": "Rutha Landero", "age": 19 }, { "name": "Jackie Landero", "age": 29 } ] }
-{ "cid": 564, "name": "Inger Dargin", "age": 56, "address": { "number": 8704, "street": "View St.", "city": "Mountain View" }, "interests": [ "Wine", "Running", "Computers" ], "children": [  ] }
-{ "cid": 565, "name": "Shantell Rima", "age": 82, "address": { "number": 205, "street": "Cedar St.", "city": "Sunnyvale" }, "interests": [  ], "children": [ { "name": "Boyce Rima", "age": 67 }, { "name": "Woodrow Rima", "age": 18 }, { "name": "Helene Rima", "age": null }, { "name": "David Rima", "age": null } ] }
-{ "cid": 566, "name": "Asley Grow", "age": null, "address": null, "interests": [ "Coffee", "Books", "Tennis" ], "children": [ { "name": "Dale Grow", "age": null } ] }
-{ "cid": 567, "name": "Peggie Madhavan", "age": null, "address": null, "interests": [ "Computers", "Bass" ], "children": [  ] }
-{ "cid": 569, "name": "Beata Diles", "age": 88, "address": { "number": 2198, "street": "Park St.", "city": "Mountain View" }, "interests": [  ], "children": [ { "name": "Myrtice Diles", "age": 46 }, { "name": "Stella Diles", "age": null }, { "name": "Rowena Diles", "age": 26 } ] }
-{ "cid": 570, "name": "Lee Basora", "age": null, "address": null, "interests": [ "Squash", "Cigars" ], "children": [  ] }
-{ "cid": 571, "name": "Lenita Tentler", "age": null, "address": null, "interests": [ "Running", "Fishing" ], "children": [ { "name": "Damian Tentler", "age": 16 }, { "name": "Camellia Tentler", "age": null }, { "name": "Vern Tentler", "age": 15 } ] }
-{ "cid": 572, "name": "Darcy Polycarpe", "age": 35, "address": { "number": 8051, "street": "View St.", "city": "Mountain View" }, "interests": [ "Computers", "Coffee", "Walking", "Walking" ], "children": [ { "name": "Kenneth Polycarpe", "age": null } ] }
-{ "cid": 573, "name": "Tyree Ketcher", "age": null, "address": null, "interests": [ "Computers", "Walking" ], "children": [ { "name": "Aleisha Ketcher", "age": null }, { "name": "Vonda Ketcher", "age": null }, { "name": "Cyndy Ketcher", "age": 13 }, { "name": "Chassidy Ketcher", "age": 30 } ] }
-{ "cid": 574, "name": "Camellia Toxey", "age": 52, "address": { "number": 5437, "street": "Hill St.", "city": "Portland" }, "interests": [  ], "children": [ { "name": "Deandrea Toxey", "age": null }, { "name": "Danille Toxey", "age": null } ] }
-{ "cid": 577, "name": "Alejandro Oblinger", "age": null, "address": null, "interests": [ "Movies", "Movies" ], "children": [ { "name": "Tenesha Oblinger", "age": 56 }, { "name": "Loni Oblinger", "age": 12 }, { "name": "Sherryl Oblinger", "age": null } ] }
-{ "cid": 578, "name": "Dolly Delphia", "age": null, "address": null, "interests": [ "Wine" ], "children": [ { "name": "Sharron Delphia", "age": null }, { "name": "Shemeka Delphia", "age": null }, { "name": "Rachael Delphia", "age": null } ] }
-{ "cid": 579, "name": "Sabra Yuenger", "age": 45, "address": { "number": 2681, "street": "Cedar St.", "city": "Sunnyvale" }, "interests": [ "Puzzles" ], "children": [ { "name": "Eddie Yuenger", "age": null } ] }
-{ "cid": 581, "name": "Leigha Finkenbinder", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Lorine Finkenbinder", "age": 29 }, { "name": "Stephanie Finkenbinder", "age": 28 } ] }
-{ "cid": 582, "name": "Suzie Ocallahan", "age": null, "address": null, "interests": [ "Basketball" ], "children": [ { "name": "Tamra Ocallahan", "age": null } ] }
-{ "cid": 583, "name": "Bev Yerena", "age": null, "address": null, "interests": [ "Puzzles", "Wine" ], "children": [ { "name": "Larhonda Yerena", "age": 45 }, { "name": "Josefina Yerena", "age": null }, { "name": "Sydney Yerena", "age": 42 } ] }
-{ "cid": 584, "name": "Bailey Janes", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Marylou Janes", "age": null }, { "name": "Andra Janes", "age": null } ] }
-{ "cid": 585, "name": "Young Drube", "age": 21, "address": { "number": 6960, "street": "View St.", "city": "Seattle" }, "interests": [ "Basketball", "Fishing", "Walking" ], "children": [ { "name": "Irwin Drube", "age": null }, { "name": "Gustavo Drube", "age": null } ] }
-{ "cid": 586, "name": "Jeannine Donnerberg", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Mike Donnerberg", "age": null } ] }
-{ "cid": 587, "name": "Santos Monterio", "age": 36, "address": { "number": 4454, "street": "Oak St.", "city": "Sunnyvale" }, "interests": [ "Databases", "Music", "Cooking" ], "children": [ { "name": "Lashonda Monterio", "age": null } ] }
-{ "cid": 588, "name": "Debora Laughinghouse", "age": 87, "address": { "number": 5099, "street": "View St.", "city": "San Jose" }, "interests": [ "Tennis", "Walking", "Databases" ], "children": [ { "name": "Frederica Laughinghouse", "age": 59 }, { "name": "Johnie Laughinghouse", "age": 12 }, { "name": "Numbers Laughinghouse", "age": 73 } ] }
-{ "cid": 589, "name": "Rebeca Blackwell", "age": 66, "address": { "number": 5708, "street": "View St.", "city": "Portland" }, "interests": [  ], "children": [  ] }
-{ "cid": 590, "name": "Joye Burton", "age": null, "address": null, "interests": [ "Bass", "Base Jumping" ], "children": [ { "name": "Noemi Burton", "age": 19 }, { "name": "Hulda Burton", "age": null }, { "name": "Cleotilde Burton", "age": null }, { "name": "Dara Burton", "age": null } ] }
-{ "cid": 591, "name": "Matthew Tenhaeff", "age": null, "address": null, "interests": [ "Databases", "Video Games" ], "children": [ { "name": "Jan Tenhaeff", "age": 25 }, { "name": "Nana Tenhaeff", "age": null }, { "name": "Laticia Tenhaeff", "age": null }, { "name": "Ara Tenhaeff", "age": 44 } ] }
-{ "cid": 592, "name": "Rachelle Spare", "age": 13, "address": { "number": 8088, "street": "Oak St.", "city": "Portland" }, "interests": [ "Squash", "Puzzles" ], "children": [ { "name": "Theo Spare", "age": null }, { "name": "Shizue Spare", "age": null } ] }
-{ "cid": 593, "name": "Danial Pittillo", "age": 87, "address": { "number": 815, "street": "Hill St.", "city": "Los Angeles" }, "interests": [ "Tennis", "Base Jumping" ], "children": [ { "name": "Neva Pittillo", "age": 28 }, { "name": "Brooks Pittillo", "age": null }, { "name": "Randell Pittillo", "age": 52 }, { "name": "Allyson Pittillo", "age": 51 } ] }
-{ "cid": 594, "name": "Zenia Corban", "age": null, "address": null, "interests": [ "Puzzles", "Computers", "Video Games", "Cigars" ], "children": [ { "name": "Arielle Corban", "age": null }, { "name": "Arthur Corban", "age": 15 }, { "name": "Taneka Corban", "age": 51 }, { "name": "Claire Corban", "age": null } ] }
-{ "cid": 595, "name": "Samuel Brawdy", "age": 28, "address": { "number": 453, "street": "Main St.", "city": "Los Angeles" }, "interests": [ "Books", "Basketball" ], "children": [ { "name": "Marlen Brawdy", "age": 14 }, { "name": "Lorine Brawdy", "age": 13 }, { "name": "Brad Brawdy", "age": null } ] }
-{ "cid": 596, "name": "Juliane Maddy", "age": null, "address": null, "interests": [ "Coffee", "Computers", "Walking", "Basketball" ], "children": [ { "name": "Joannie Maddy", "age": null }, { "name": "Penny Maddy", "age": 35 }, { "name": "Joette Maddy", "age": 35 }, { "name": "Karla Maddy", "age": 54 } ] }
-{ "cid": 597, "name": "Clarine Eutsey", "age": 39, "address": { "number": 9112, "street": "7th St.", "city": "Portland" }, "interests": [ "Video Games", "Cigars", "Walking" ], "children": [  ] }
-{ "cid": 598, "name": "Venus Peat", "age": null, "address": null, "interests": [ "Coffee", "Walking", "Cigars" ], "children": [ { "name": "Antonetta Peat", "age": null }, { "name": "Shane Peat", "age": null } ] }
-{ "cid": 599, "name": "Alva Molaison", "age": 87, "address": { "number": 5974, "street": "Washington St.", "city": "Seattle" }, "interests": [ "Wine", "Squash" ], "children": [ { "name": "Milo Molaison", "age": 39 } ] }
-{ "cid": 600, "name": "Cordell Sherburn", "age": null, "address": null, "interests": [ "Squash", "Skiing", "Skiing" ], "children": [ { "name": "Shenna Sherburn", "age": 22 }, { "name": "Minna Sherburn", "age": 10 }, { "name": "Tari Sherburn", "age": null } ] }
-{ "cid": 601, "name": "Zackary Willier", "age": null, "address": null, "interests": [ "Cooking", "Databases", "Databases" ], "children": [  ] }
-{ "cid": 602, "name": "Clyde Salada", "age": 59, "address": { "number": 8316, "street": "7th St.", "city": "Sunnyvale" }, "interests": [ "Movies", "Skiing", "Cooking" ], "children": [  ] }
-{ "cid": 603, "name": "Barry Corkum", "age": null, "address": null, "interests": [ "Running", "Running" ], "children": [ { "name": "Charlesetta Corkum", "age": null }, { "name": "Helaine Corkum", "age": null }, { "name": "Erinn Corkum", "age": 28 }, { "name": "Alesia Corkum", "age": 36 } ] }
-{ "cid": 605, "name": "Sue Henriksen", "age": 78, "address": { "number": 7208, "street": "Cedar St.", "city": "Los Angeles" }, "interests": [  ], "children": [ { "name": "Lauretta Henriksen", "age": null }, { "name": "Leigh Henriksen", "age": 11 } ] }
-{ "cid": 606, "name": "Virgilio Liebelt", "age": 11, "address": { "number": 8348, "street": "Cedar St.", "city": "Seattle" }, "interests": [  ], "children": [ { "name": "Stanford Liebelt", "age": null }, { "name": "Delaine Liebelt", "age": null }, { "name": "Kevin Liebelt", "age": null }, { "name": "Michaele Liebelt", "age": null } ] }
-{ "cid": 607, "name": "Bert Garigliano", "age": 71, "address": { "number": 3881, "street": "Washington St.", "city": "San Jose" }, "interests": [ "Walking", "Wine" ], "children": [ { "name": "Junior Garigliano", "age": 42 }, { "name": "Willa Garigliano", "age": 21 }, { "name": "Carlo Garigliano", "age": null } ] }
-{ "cid": 608, "name": "Bruce Stanley", "age": 39, "address": { "number": 4532, "street": "Hill St.", "city": "Los Angeles" }, "interests": [ "Tennis" ], "children": [  ] }
-{ "cid": 609, "name": "Mindi Dieudonne", "age": null, "address": null, "interests": [ "Puzzles" ], "children": [  ] }
-{ "cid": 610, "name": "Elinor Notoma", "age": 66, "address": { "number": 6763, "street": "Lake St.", "city": "Mountain View" }, "interests": [ "Coffee" ], "children": [ { "name": "Dennis Notoma", "age": null }, { "name": "Carol Notoma", "age": 21 } ] }
-{ "cid": 611, "name": "Evelyne Bassette", "age": null, "address": null, "interests": [ "Coffee" ], "children": [ { "name": "Angla Bassette", "age": 13 } ] }
-{ "cid": 612, "name": "Keneth Ganie", "age": 57, "address": { "number": 7712, "street": "Washington St.", "city": "Portland" }, "interests": [ "Cigars", "Base Jumping" ], "children": [ { "name": "Connie Ganie", "age": null }, { "name": "Kamala Ganie", "age": 25 }, { "name": "Beulah Ganie", "age": 15 } ] }
-{ "cid": 613, "name": "Shanelle Leader", "age": null, "address": null, "interests": [ "Databases", "Base Jumping", "Wine", "Fishing" ], "children": [ { "name": "Florencia Leader", "age": null }, { "name": "Herbert Leader", "age": 11 }, { "name": "Jeanna Leader", "age": null } ] }
-{ "cid": 614, "name": "Wallace Chaidy", "age": null, "address": null, "interests": [ "Bass", "Movies", "Music" ], "children": [ { "name": "Refugio Chaidy", "age": null }, { "name": "Hae Chaidy", "age": 55 }, { "name": "Julian Chaidy", "age": null }, { "name": "Tabatha Chaidy", "age": null } ] }
-{ "cid": 615, "name": "Kimber Warnberg", "age": 77, "address": { "number": 1404, "street": "View St.", "city": "San Jose" }, "interests": [  ], "children": [ { "name": "Kristal Warnberg", "age": null } ] }
-{ "cid": 616, "name": "Shanda Dussault", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Darrick Dussault", "age": null } ] }
-{ "cid": 617, "name": "Jacques Gaskill", "age": null, "address": null, "interests": [ "Cigars", "Coffee", "Computers", "Wine" ], "children": [ { "name": "Angelyn Gaskill", "age": null }, { "name": "Jeanett Gaskill", "age": 40 }, { "name": "Emelda Gaskill", "age": 34 } ] }
-{ "cid": 618, "name": "Janella Hurtt", "age": null, "address": null, "interests": [ "Skiing", "Coffee", "Skiing" ], "children": [ { "name": "Lupe Hurtt", "age": 17 }, { "name": "Jae Hurtt", "age": 14 }, { "name": "Evan Hurtt", "age": 45 } ] }
-{ "cid": 619, "name": "Luanne Elmquist", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Burton Elmquist", "age": 11 }, { "name": "Melvin Elmquist", "age": null } ] }
-{ "cid": 620, "name": "Arielle Mackellar", "age": null, "address": null, "interests": [ "Cooking", "Bass" ], "children": [ { "name": "Evelin Mackellar", "age": 17 }, { "name": "Theresa Mackellar", "age": 53 }, { "name": "Ronnie Mackellar", "age": null }, { "name": "Elwanda Mackellar", "age": 54 } ] }
-{ "cid": 621, "name": "Theresa Satterthwaite", "age": 16, "address": { "number": 3249, "street": "Main St.", "city": "Mountain View" }, "interests": [ "Wine", "Skiing", "Wine", "Fishing" ], "children": [ { "name": "Rickie Satterthwaite", "age": null }, { "name": "Rina Satterthwaite", "age": null } ] }
-{ "cid": 622, "name": "Telma Rives", "age": null, "address": null, "interests": [ "Basketball" ], "children": [ { "name": "Maribeth Rives", "age": 42 }, { "name": "Youlanda Rives", "age": 13 }, { "name": "Trang Rives", "age": null }, { "name": "Hyun Rives", "age": null } ] }
-{ "cid": 624, "name": "Bong Lyall", "age": null, "address": null, "interests": [ "Databases", "Music", "Video Games" ], "children": [  ] }
-{ "cid": 625, "name": "Gale Marrazzo", "age": 25, "address": { "number": 2307, "street": "View St.", "city": "San Jose" }, "interests": [ "Fishing", "Base Jumping", "Walking", "Cooking" ], "children": [ { "name": "Coleman Marrazzo", "age": null }, { "name": "Frances Marrazzo", "age": null }, { "name": "Camellia Marrazzo", "age": 11 } ] }
-{ "cid": 626, "name": "Sydney Josten", "age": 44, "address": { "number": 4815, "street": "Hill St.", "city": "Sunnyvale" }, "interests": [ "Cigars" ], "children": [ { "name": "Basil Josten", "age": 14 }, { "name": "Yasuko Josten", "age": null } ] }
-{ "cid": 627, "name": "Fernande Ede", "age": 75, "address": { "number": 9316, "street": "Cedar St.", "city": "Mountain View" }, "interests": [  ], "children": [ { "name": "Rebeca Ede", "age": null }, { "name": "Raymond Ede", "age": 57 } ] }
-{ "cid": 628, "name": "Tomoko Alcantara", "age": 56, "address": { "number": 3556, "street": "Oak St.", "city": "Sunnyvale" }, "interests": [ "Running", "Tennis" ], "children": [ { "name": "Babara Alcantara", "age": 31 }, { "name": "Ilana Alcantara", "age": null }, { "name": "Maren Alcantara", "age": 45 } ] }
-{ "cid": 629, "name": "Mayola Clabo", "age": null, "address": null, "interests": [ "Basketball", "Skiing", "Running" ], "children": [ { "name": "Rigoberto Clabo", "age": 58 } ] }
-{ "cid": 630, "name": "Darla Domenick", "age": 14, "address": { "number": 3315, "street": "Park St.", "city": "San Jose" }, "interests": [ "Databases" ], "children": [ { "name": "Verda Domenick", "age": null } ] }
-{ "cid": 631, "name": "Brook Jenks", "age": null, "address": null, "interests": [ "Wine" ], "children": [ { "name": "Eldon Jenks", "age": null }, { "name": "Luann Jenks", "age": 53 }, { "name": "Aurora Jenks", "age": 37 } ] }
-{ "cid": 632, "name": "Keeley Goga", "age": null, "address": null, "interests": [ "Books", "Base Jumping" ], "children": [ { "name": "Walter Goga", "age": 39 }, { "name": "Chaya Goga", "age": null }, { "name": "Melodie Goga", "age": null }, { "name": "Isidro Goga", "age": 32 } ] }
-{ "cid": 633, "name": "Shalon Grauberger", "age": 34, "address": { "number": 765, "street": "Washington St.", "city": "Sunnyvale" }, "interests": [ "Music", "Base Jumping", "Tennis" ], "children": [ { "name": "Kris Grauberger", "age": 14 }, { "name": "Stuart Grauberger", "age": 12 }, { "name": "Billy Grauberger", "age": null } ] }
-{ "cid": 634, "name": "Katherina Parzych", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Modesta Parzych", "age": null }, { "name": "Darin Parzych", "age": 20 } ] }
-{ "cid": 635, "name": "Angelena Braegelmann", "age": 36, "address": { "number": 4158, "street": "Park St.", "city": "San Jose" }, "interests": [ "Wine", "Skiing" ], "children": [ { "name": "Daisey Braegelmann", "age": 18 }, { "name": "Gaston Braegelmann", "age": 19 }, { "name": "Louella Braegelmann", "age": null }, { "name": "Leonie Braegelmann", "age": null } ] }
-{ "cid": 636, "name": "Babara Shore", "age": 83, "address": { "number": 9452, "street": "Oak St.", "city": "Los Angeles" }, "interests": [ "Databases", "Movies", "Tennis" ], "children": [ { "name": "Candy Shore", "age": 58 }, { "name": "Nanci Shore", "age": null }, { "name": "Asia Shore", "age": null } ] }
-{ "cid": 639, "name": "Zena Seehusen", "age": 24, "address": { "number": 6303, "street": "Hill St.", "city": "Mountain View" }, "interests": [ "Cooking", "Movies", "Music" ], "children": [ { "name": "Hester Seehusen", "age": null }, { "name": "Coreen Seehusen", "age": 12 } ] }
-{ "cid": 640, "name": "Willy Bielak", "age": null, "address": null, "interests": [ "Squash" ], "children": [  ] }
-{ "cid": 642, "name": "Odell Nova", "age": 25, "address": { "number": 896, "street": "Park St.", "city": "San Jose" }, "interests": [ "Video Games", "Squash", "Music" ], "children": [ { "name": "Leopoldo Nova", "age": null }, { "name": "Rickey Nova", "age": null }, { "name": "Mike Nova", "age": 14 }, { "name": "Tamie Nova", "age": 14 } ] }
-{ "cid": 643, "name": "Juliet Skreen", "age": null, "address": null, "interests": [ "Walking" ], "children": [  ] }
-{ "cid": 644, "name": "Julio Gilly", "age": null, "address": null, "interests": [ "Puzzles" ], "children": [ { "name": "Eleonore Gilly", "age": null } ] }
-{ "cid": 645, "name": "Shawnda Dollinger", "age": 36, "address": { "number": 5980, "street": "Park St.", "city": "Los Angeles" }, "interests": [  ], "children": [ { "name": "Vicente Dollinger", "age": null }, { "name": "Kerrie Dollinger", "age": 10 }, { "name": "Sima Dollinger", "age": 14 } ] }
-{ "cid": 646, "name": "Pablo Catterton", "age": null, "address": null, "interests": [ "Fishing", "Computers" ], "children": [  ] }
-{ "cid": 647, "name": "Jodi Dearson", "age": null, "address": null, "interests": [ "Fishing", "Movies" ], "children": [  ] }
-{ "cid": 649, "name": "Anisha Sender", "age": null, "address": null, "interests": [ "Tennis", "Databases", "Bass" ], "children": [ { "name": "Viva Sender", "age": 40 }, { "name": "Terica Sender", "age": null } ] }
-{ "cid": 650, "name": "Darrin Orengo", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Linwood Orengo", "age": 39 } ] }
-{ "cid": 651, "name": "Delana Henk", "age": 69, "address": { "number": 5497, "street": "Oak St.", "city": "Sunnyvale" }, "interests": [ "Coffee", "Video Games", "Databases" ], "children": [ { "name": "Loan Henk", "age": null }, { "name": "Teresa Henk", "age": 20 }, { "name": "Randell Henk", "age": null }, { "name": "Micah Henk", "age": null } ] }
-{ "cid": 652, "name": "Armida Moeuy", "age": 34, "address": { "number": 8306, "street": "Washington St.", "city": "Sunnyvale" }, "interests": [ "Running" ], "children": [ { "name": "Sunshine Moeuy", "age": null }, { "name": "Leta Moeuy", "age": 19 } ] }
-{ "cid": 653, "name": "Robbie Rhump", "age": null, "address": null, "interests": [ "Squash", "Computers" ], "children": [ { "name": "Alishia Rhump", "age": 14 }, { "name": "Lyndsay Rhump", "age": 27 } ] }
-{ "cid": 654, "name": "Louis Laubersheimer", "age": 76, "address": { "number": 8010, "street": "7th St.", "city": "San Jose" }, "interests": [ "Base Jumping", "Bass", "Cooking" ], "children": [ { "name": "Jewel Laubersheimer", "age": 22 }, { "name": "Toccara Laubersheimer", "age": 45 }, { "name": "Eve Laubersheimer", "age": null } ] }
-{ "cid": 655, "name": "Shaun Brandenburg", "age": null, "address": null, "interests": [ "Skiing", "Computers", "Base Jumping" ], "children": [ { "name": "Ned Brandenburg", "age": null }, { "name": "Takako Brandenburg", "age": 41 }, { "name": "Astrid Brandenburg", "age": null }, { "name": "Patience Brandenburg", "age": null } ] }
-{ "cid": 656, "name": "Rufus Peaden", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Nathanael Peaden", "age": 57 }, { "name": "Jamaal Peaden", "age": null } ] }
-{ "cid": 657, "name": "Rory Teachman", "age": null, "address": null, "interests": [  ], "children": [  ] }
-{ "cid": 658, "name": "Truman Leitner", "age": null, "address": null, "interests": [ "Computers", "Bass", "Walking" ], "children": [  ] }
-{ "cid": 659, "name": "Daniel Groskreutz", "age": null, "address": null, "interests": [ "Databases" ], "children": [ { "name": "Mariam Groskreutz", "age": 21 }, { "name": "Carlton Groskreutz", "age": null } ] }
-{ "cid": 660, "name": "Israel Aday", "age": null, "address": null, "interests": [ "Wine", "Bass", "Cigars" ], "children": [ { "name": "Mi Aday", "age": null } ] }
-{ "cid": 661, "name": "Lorita Kraut", "age": 43, "address": { "number": 5017, "street": "Park St.", "city": "Los Angeles" }, "interests": [ "Tennis", "Movies", "Bass" ], "children": [ { "name": "Mirian Kraut", "age": null } ] }
-{ "cid": 662, "name": "Domonique Corbi", "age": 13, "address": { "number": 7286, "street": "Hill St.", "city": "Seattle" }, "interests": [ "Tennis", "Cooking", "Computers" ], "children": [ { "name": "Katrice Corbi", "age": null }, { "name": "Idalia Corbi", "age": null }, { "name": "Hayley Corbi", "age": null } ] }
-{ "cid": 663, "name": "Riley Noteboom", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Marvis Noteboom", "age": 57 } ] }
-{ "cid": 665, "name": "Garnet Desai", "age": null, "address": null, "interests": [ "Databases" ], "children": [ { "name": "Aliza Desai", "age": null } ] }
-{ "cid": 666, "name": "Pamila Burzlaff", "age": 68, "address": { "number": 6543, "street": "View St.", "city": "Portland" }, "interests": [ "Squash", "Cigars", "Movies" ], "children": [  ] }
-{ "cid": 667, "name": "Shaniqua Deist", "age": null, "address": null, "interests": [ "Puzzles", "Books", "Cigars" ], "children": [  ] }
-{ "cid": 668, "name": "Dorene Spigelman", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Chiquita Spigelman", "age": 29 }, { "name": "Anisha Spigelman", "age": 34 }, { "name": "Micah Spigelman", "age": 28 } ] }
-{ "cid": 669, "name": "Royal Abke", "age": 60, "address": { "number": 1675, "street": "Main St.", "city": "Los Angeles" }, "interests": [  ], "children": [ { "name": "Leandra Abke", "age": 25 }, { "name": "Shawanna Abke", "age": null } ] }
-{ "cid": 670, "name": "Angelo Kellar", "age": 22, "address": { "number": 3178, "street": "View St.", "city": "Seattle" }, "interests": [ "Wine", "Music", "Fishing" ], "children": [ { "name": "Zula Kellar", "age": null }, { "name": "Brittaney Kellar", "age": 10 }, { "name": "Fredia Kellar", "age": null } ] }
-{ "cid": 671, "name": "Harley Emami", "age": null, "address": null, "interests": [ "Basketball" ], "children": [ { "name": "Valentine Emami", "age": null }, { "name": "Pearlene Emami", "age": null } ] }
-{ "cid": 672, "name": "Pamelia Repka", "age": 30, "address": { "number": 8837, "street": "Oak St.", "city": "San Jose" }, "interests": [ "Coffee", "Base Jumping" ], "children": [ { "name": "Klara Repka", "age": 19 }, { "name": "Bennett Repka", "age": null }, { "name": "Randy Repka", "age": 13 }, { "name": "Ervin Repka", "age": null } ] }
-{ "cid": 673, "name": "Willard Matuszek", "age": null, "address": null, "interests": [ "Running" ], "children": [ { "name": "Kyong Matuszek", "age": null }, { "name": "Delena Matuszek", "age": null }, { "name": "Toney Matuszek", "age": null }, { "name": "Shayne Matuszek", "age": 19 } ] }
-{ "cid": 675, "name": "Camellia Brickett", "age": null, "address": null, "interests": [ "Running" ], "children": [ { "name": "Leona Brickett", "age": null }, { "name": "Mario Brickett", "age": null }, { "name": "Nadine Brickett", "age": 35 }, { "name": "Marlon Brickett", "age": 31 } ] }
-{ "cid": 676, "name": "Ima Juart", "age": 64, "address": { "number": 2498, "street": "Cedar St.", "city": "Portland" }, "interests": [ "Walking" ], "children": [ { "name": "Cortez Juart", "age": 17 }, { "name": "Guillermo Juart", "age": null }, { "name": "Shelley Juart", "age": 20 }, { "name": "Daryl Juart", "age": null } ] }
-{ "cid": 677, "name": "Brigid Sarabia", "age": 89, "address": { "number": 918, "street": "Park St.", "city": "Los Angeles" }, "interests": [  ], "children": [ { "name": "Elisa Sarabia", "age": null }, { "name": "Pura Sarabia", "age": 56 } ] }
-{ "cid": 678, "name": "Lekisha Barnell", "age": null, "address": null, "interests": [ "Movies", "Skiing", "Running" ], "children": [ { "name": "August Barnell", "age": null }, { "name": "Tiffany Barnell", "age": 55 }, { "name": "Meghan Barnell", "age": null } ] }
-{ "cid": 680, "name": "Domenica Qunnarath", "age": null, "address": null, "interests": [  ], "children": [  ] }
-{ "cid": 681, "name": "Iliana Nagele", "age": null, "address": null, "interests": [ "Movies", "Running" ], "children": [ { "name": "Sunny Nagele", "age": 55 }, { "name": "Waltraud Nagele", "age": 39 }, { "name": "Darron Nagele", "age": null } ] }
-{ "cid": 682, "name": "Krystle Weingartner", "age": 87, "address": { "number": 5293, "street": "Hill St.", "city": "Los Angeles" }, "interests": [ "Squash" ], "children": [ { "name": "Bryanna Weingartner", "age": 19 }, { "name": "Rubie Weingartner", "age": 32 }, { "name": "Raye Weingartner", "age": null } ] }
-{ "cid": 683, "name": "Dodie Crall", "age": 37, "address": { "number": 1337, "street": "7th St.", "city": "Mountain View" }, "interests": [ "Wine" ], "children": [ { "name": "Cassy Crall", "age": null }, { "name": "Thu Crall", "age": 19 } ] }
-{ "cid": 684, "name": "Elmo Ballenger", "age": 69, "address": { "number": 2657, "street": "Park St.", "city": "Seattle" }, "interests": [ "Wine" ], "children": [ { "name": "Sheena Ballenger", "age": 53 }, { "name": "Abby Ballenger", "age": null }, { "name": "Markus Ballenger", "age": null } ] }
-{ "cid": 685, "name": "Lois Mcglothian", "age": null, "address": null, "interests": [ "Movies", "Skiing" ], "children": [ { "name": "Karon Mcglothian", "age": 35 } ] }
-{ "cid": 686, "name": "Trudi Arnette", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Adrian Arnette", "age": 43 }, { "name": "Hulda Arnette", "age": 34 }, { "name": "Shamika Arnette", "age": null } ] }
-{ "cid": 687, "name": "Adriene Glowinski", "age": null, "address": null, "interests": [  ], "children": [  ] }
-{ "cid": 688, "name": "Maryellen Leriche", "age": null, "address": null, "interests": [ "Music", "Walking", "Skiing" ], "children": [ { "name": "Dorinda Leriche", "age": 27 } ] }
-{ "cid": 689, "name": "Camila Cho", "age": 70, "address": { "number": 7731, "street": "Cedar St.", "city": "Mountain View" }, "interests": [ "Video Games", "Cigars" ], "children": [ { "name": "Myrtie Cho", "age": 57 }, { "name": "Merideth Cho", "age": 45 }, { "name": "Meta Cho", "age": 20 } ] }
-{ "cid": 691, "name": "Sharee Charrier", "age": 17, "address": { "number": 6693, "street": "Main St.", "city": "Mountain View" }, "interests": [ "Puzzles", "Cooking", "Bass" ], "children": [ { "name": "Odessa Charrier", "age": null } ] }
-{ "cid": 692, "name": "Nida Picknell", "age": 24, "address": { "number": 9053, "street": "Park St.", "city": "Mountain View" }, "interests": [ "Skiing", "Music", "Wine", "Base Jumping" ], "children": [ { "name": "Caroyln Picknell", "age": null }, { "name": "Micheline Picknell", "age": 10 } ] }
-{ "cid": 693, "name": "Ela Crisan", "age": null, "address": null, "interests": [ "Movies" ], "children": [  ] }
-{ "cid": 694, "name": "Ariel Soltani", "age": null, "address": null, "interests": [ "Databases", "Music", "Puzzles" ], "children": [ { "name": "Aldo Soltani", "age": null }, { "name": "Anglea Soltani", "age": null } ] }
-{ "cid": 695, "name": "Wyatt Eveleth", "age": 28, "address": { "number": 5421, "street": "View St.", "city": "San Jose" }, "interests": [  ], "children": [ { "name": "Orval Eveleth", "age": null }, { "name": "Beth Eveleth", "age": 11 }, { "name": "Yuki Eveleth", "age": null }, { "name": "Alyse Eveleth", "age": 14 } ] }
-{ "cid": 696, "name": "Nadia Dunklee", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Mendy Dunklee", "age": 17 }, { "name": "Edgar Dunklee", "age": null }, { "name": "Pasquale Dunklee", "age": null }, { "name": "Colin Dunklee", "age": null } ] }
-{ "cid": 697, "name": "Claud Coffel", "age": 72, "address": { "number": 8483, "street": "Cedar St.", "city": "Mountain View" }, "interests": [  ], "children": [ { "name": "Katheleen Coffel", "age": 38 }, { "name": "Tashina Coffel", "age": null } ] }
-{ "cid": 698, "name": "Tawanna Zanin", "age": 60, "address": { "number": 7979, "street": "View St.", "city": "Seattle" }, "interests": [  ], "children": [ { "name": "Denny Zanin", "age": 31 }, { "name": "Danial Zanin", "age": 43 }, { "name": "Kenyetta Zanin", "age": null }, { "name": "Aleisha Zanin", "age": null } ] }
-{ "cid": 699, "name": "Lyda Golomb", "age": 46, "address": { "number": 5049, "street": "Main St.", "city": "Seattle" }, "interests": [ "Fishing", "Basketball" ], "children": [ { "name": "Shonta Golomb", "age": null }, { "name": "Lynwood Golomb", "age": 26 }, { "name": "Leonila Golomb", "age": 30 }, { "name": "Alejandrina Golomb", "age": null } ] }
-{ "cid": 700, "name": "Suk Blondin", "age": null, "address": null, "interests": [ "Wine" ], "children": [ { "name": "Brenton Blondin", "age": null }, { "name": "Charlotte Blondin", "age": null }, { "name": "Eldon Blondin", "age": 10 }, { "name": "Leanne Blondin", "age": null } ] }
-{ "cid": 702, "name": "Lane Krog", "age": 50, "address": { "number": 1646, "street": "Lake St.", "city": "Mountain View" }, "interests": [ "Running" ], "children": [ { "name": "Carri Krog", "age": null }, { "name": "Sage Krog", "age": null }, { "name": "Bronwyn Krog", "age": null } ] }
-{ "cid": 703, "name": "Susanne Pettey", "age": null, "address": null, "interests": [ "Squash", "Basketball", "Skiing" ], "children": [ { "name": "Nancey Pettey", "age": 35 }, { "name": "Lawana Pettey", "age": null }, { "name": "Percy Pettey", "age": 25 } ] }
-{ "cid": 704, "name": "Melodee Clemons", "age": null, "address": null, "interests": [ "Base Jumping", "Tennis", "Video Games" ], "children": [ { "name": "Doreatha Clemons", "age": 22 } ] }
-{ "cid": 705, "name": "Sofia Bonniwell", "age": 81, "address": { "number": 767, "street": "Cedar St.", "city": "Portland" }, "interests": [ "Basketball" ], "children": [ { "name": "Douglass Bonniwell", "age": 58 }, { "name": "Jackeline Bonniwell", "age": 16 } ] }
-{ "cid": 706, "name": "Miquel Caesar", "age": 16, "address": { "number": 2176, "street": "Park St.", "city": "Mountain View" }, "interests": [  ], "children": [ { "name": "Shaniqua Caesar", "age": null }, { "name": "Ellis Caesar", "age": null }, { "name": "Bruna Caesar", "age": null }, { "name": "Kayleen Caesar", "age": null } ] }
-{ "cid": 708, "name": "Elease Holtmann", "age": 75, "address": { "number": 5295, "street": "Washington St.", "city": "Los Angeles" }, "interests": [  ], "children": [ { "name": "Leonardo Holtmann", "age": null }, { "name": "Katharine Holtmann", "age": null }, { "name": "Chung Holtmann", "age": 20 }, { "name": "Teodoro Holtmann", "age": 19 } ] }
-{ "cid": 709, "name": "Jazmine Twiddy", "age": null, "address": null, "interests": [ "Puzzles", "Computers", "Wine" ], "children": [ { "name": "Veronika Twiddy", "age": 21 } ] }
-{ "cid": 710, "name": "Arlen Horka", "age": null, "address": null, "interests": [ "Movies", "Coffee", "Walking" ], "children": [ { "name": "Valencia Horka", "age": null }, { "name": "Wesley Horka", "age": null } ] }
-{ "cid": 711, "name": "Agnes Andreas", "age": null, "address": null, "interests": [ "Books" ], "children": [ { "name": "Fairy Andreas", "age": null }, { "name": "Wilhemina Andreas", "age": null }, { "name": "Parthenia Andreas", "age": 53 }, { "name": "Maye Andreas", "age": null } ] }
-{ "cid": 712, "name": "Jack Lamoreux", "age": 32, "address": { "number": 4486, "street": "Cedar St.", "city": "Los Angeles" }, "interests": [  ], "children": [ { "name": "Rubin Lamoreux", "age": 15 }, { "name": "Jonelle Lamoreux", "age": 10 }, { "name": "Shonna Lamoreux", "age": null }, { "name": "India Lamoreux", "age": 17 } ] }
-{ "cid": 713, "name": "Galina Retterbush", "age": null, "address": null, "interests": [ "Bass", "Squash" ], "children": [ { "name": "Janene Retterbush", "age": null }, { "name": "Toby Retterbush", "age": 15 }, { "name": "Renato Retterbush", "age": null }, { "name": "Annice Retterbush", "age": 22 } ] }
-{ "cid": 715, "name": "Zoraida Scribner", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Ninfa Scribner", "age": 31 } ] }
-{ "cid": 716, "name": "Deirdre Bruderer", "age": null, "address": null, "interests": [ "Computers", "Wine" ], "children": [ { "name": "Coralee Bruderer", "age": null }, { "name": "Mina Bruderer", "age": null }, { "name": "Lindsey Bruderer", "age": 35 }, { "name": "Yi Bruderer", "age": null } ] }
-{ "cid": 717, "name": "Paulette Moccasin", "age": 87, "address": { "number": 1426, "street": "View St.", "city": "Portland" }, "interests": [ "Fishing" ], "children": [ { "name": "Savannah Moccasin", "age": null }, { "name": "Mariela Moccasin", "age": 34 }, { "name": "Isadora Moccasin", "age": null }, { "name": "Vivien Moccasin", "age": 31 } ] }
-{ "cid": 718, "name": "Tandy Trick", "age": 18, "address": { "number": 1215, "street": "Cedar St.", "city": "San Jose" }, "interests": [ "Fishing", "Fishing" ], "children": [ { "name": "Edyth Trick", "age": null }, { "name": "Jimmy Trick", "age": null }, { "name": "Jacquline Trick", "age": null }, { "name": "Tyler Trick", "age": null } ] }
-{ "cid": 719, "name": "Antoinette Boursiquot", "age": 47, "address": { "number": 3652, "street": "Cedar St.", "city": "Portland" }, "interests": [  ], "children": [ { "name": "Dennis Boursiquot", "age": null }, { "name": "Katelyn Boursiquot", "age": null }, { "name": "Gabrielle Boursiquot", "age": null }, { "name": "Deidre Boursiquot", "age": null } ] }
-{ "cid": 721, "name": "Jesica Tinder", "age": 28, "address": { "number": 5526, "street": "7th St.", "city": "Mountain View" }, "interests": [  ], "children": [  ] }
-{ "cid": 723, "name": "Teressa Krol", "age": 22, "address": { "number": 8036, "street": "Park St.", "city": "Seattle" }, "interests": [ "Music" ], "children": [ { "name": "Tuan Krol", "age": null }, { "name": "Judi Krol", "age": null }, { "name": "Maddie Krol", "age": null } ] }
-{ "cid": 724, "name": "Merle Bakula", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Margart Bakula", "age": 49 }, { "name": "Mathew Bakula", "age": 36 } ] }
-{ "cid": 725, "name": "Sallie Calderon", "age": null, "address": null, "interests": [  ], "children": [  ] }
-{ "cid": 726, "name": "Brinda Raudebaugh", "age": 83, "address": { "number": 7179, "street": "View St.", "city": "Mountain View" }, "interests": [  ], "children": [  ] }
-{ "cid": 727, "name": "Valene Resecker", "age": null, "address": null, "interests": [ "Music", "Wine", "Books", "Walking" ], "children": [  ] }
-{ "cid": 728, "name": "Bruno Freeburger", "age": 84, "address": { "number": 2482, "street": "Cedar St.", "city": "Los Angeles" }, "interests": [ "Computers" ], "children": [ { "name": "Shizuko Freeburger", "age": null } ] }
-{ "cid": 730, "name": "Marti Vandoren", "age": null, "address": null, "interests": [ "Skiing", "Bass" ], "children": [ { "name": "Carroll Vandoren", "age": null }, { "name": "Lorretta Vandoren", "age": 30 }, { "name": "Chloe Vandoren", "age": 42 }, { "name": "Ilona Vandoren", "age": null } ] }
-{ "cid": 731, "name": "Yajaira Orto", "age": null, "address": null, "interests": [ "Music", "Databases" ], "children": [ { "name": "Eliz Orto", "age": 17 }, { "name": "Gisela Orto", "age": null } ] }
-{ "cid": 732, "name": "Dania Fabio", "age": null, "address": null, "interests": [ "Skiing" ], "children": [ { "name": "Virgie Fabio", "age": null }, { "name": "Nereida Fabio", "age": 37 } ] }
-{ "cid": 733, "name": "Edie Stager", "age": 26, "address": { "number": 2691, "street": "Park St.", "city": "Seattle" }, "interests": [  ], "children": [ { "name": "Ethyl Stager", "age": 10 } ] }
-{ "cid": 734, "name": "Lera Korn", "age": null, "address": null, "interests": [ "Tennis", "Puzzles", "Cigars" ], "children": [ { "name": "Criselda Korn", "age": 37 } ] }
-{ "cid": 736, "name": "Desmond Branam", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Manuel Branam", "age": 51 } ] }
-{ "cid": 737, "name": "Jeffrey Chesson", "age": 13, "address": { "number": 6833, "street": "Lake St.", "city": "Portland" }, "interests": [ "Tennis", "Computers" ], "children": [ { "name": "Clayton Chesson", "age": null }, { "name": "Yi Chesson", "age": null } ] }
-{ "cid": 738, "name": "Josphine Rohrer", "age": 75, "address": { "number": 862, "street": "Main St.", "city": "Los Angeles" }, "interests": [ "Databases" ], "children": [ { "name": "Marvin Rohrer", "age": 22 }, { "name": "Wyatt Rohrer", "age": null }, { "name": "Deloras Rohrer", "age": null } ] }
-{ "cid": 739, "name": "Libbie Thigpin", "age": null, "address": null, "interests": [ "Databases" ], "children": [  ] }
-{ "cid": 740, "name": "Thomasine Collado", "age": null, "address": null, "interests": [ "Music" ], "children": [ { "name": "Tabetha Collado", "age": null }, { "name": "Alline Collado", "age": null }, { "name": "Delisa Collado", "age": null }, { "name": "Jack Collado", "age": 56 } ] }
-{ "cid": 741, "name": "Lesia Risatti", "age": 48, "address": { "number": 7378, "street": "Cedar St.", "city": "Portland" }, "interests": [ "Fishing", "Wine", "Databases" ], "children": [ { "name": "Tangela Risatti", "age": null }, { "name": "Leonel Risatti", "age": 33 }, { "name": "Cythia Risatti", "age": 36 } ] }
-{ "cid": 742, "name": "Andy Schifo", "age": 36, "address": { "number": 4422, "street": "View St.", "city": "Los Angeles" }, "interests": [ "Basketball" ], "children": [  ] }
-{ "cid": 743, "name": "Nona Debroux", "age": null, "address": null, "interests": [ "Bass" ], "children": [  ] }
-{ "cid": 744, "name": "Crysta Christen", "age": 57, "address": { "number": 439, "street": "Hill St.", "city": "Portland" }, "interests": [ "Basketball", "Squash", "Base Jumping" ], "children": [  ] }
-{ "cid": 745, "name": "Tabatha Hagwell", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Gaynell Hagwell", "age": null } ] }
-{ "cid": 746, "name": "Rosalinda Pola", "age": null, "address": null, "interests": [ "Cooking", "Computers", "Walking", "Cigars" ], "children": [ { "name": "Maribel Pola", "age": 19 }, { "name": "Chaya Pola", "age": null }, { "name": "Shauna Pola", "age": null }, { "name": "Elenora Pola", "age": 22 } ] }
-{ "cid": 747, "name": "Gil Dunnaway", "age": 65, "address": { "number": 3022, "street": "Washington St.", "city": "Sunnyvale" }, "interests": [ "Running", "Squash" ], "children": [ { "name": "Laurice Dunnaway", "age": null } ] }
-{ "cid": 748, "name": "Petra Ganes", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Perry Ganes", "age": null }, { "name": "Krista Ganes", "age": 54 }, { "name": "Kayce Ganes", "age": 52 }, { "name": "Eleni Ganes", "age": null } ] }
-{ "cid": 749, "name": "Pearle Mauney", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Delpha Mauney", "age": null }, { "name": "Micki Mauney", "age": 28 }, { "name": "Wayne Mauney", "age": null } ] }
-{ "cid": 750, "name": "Rosaura Gaul", "age": null, "address": null, "interests": [ "Music", "Books", "Tennis" ], "children": [ { "name": "Letisha Gaul", "age": 41 } ] }
-{ "cid": 751, "name": "Lydia Iannelli", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Teri Iannelli", "age": 36 } ] }
-{ "cid": 752, "name": "Maria Lebovic", "age": null, "address": null, "interests": [ "Bass" ], "children": [ { "name": "Thi Lebovic", "age": null }, { "name": "Rosamaria Lebovic", "age": 23 }, { "name": "Brinda Lebovic", "age": 39 } ] }
-{ "cid": 753, "name": "Maris Bannett", "age": null, "address": null, "interests": [ "Fishing", "Cigars", "Running" ], "children": [ { "name": "Libbie Bannett", "age": 11 }, { "name": "Francina Bannett", "age": 21 }, { "name": "Tuyet Bannett", "age": null }, { "name": "Zona Bannett", "age": 32 } ] }
-{ "cid": 754, "name": "Luetta Joern", "age": 25, "address": { "number": 5554, "street": "Hill St.", "city": "Los Angeles" }, "interests": [  ], "children": [ { "name": "Hildegarde Joern", "age": null }, { "name": "Lorenza Joern", "age": 13 } ] }
-{ "cid": 755, "name": "Bette Trentz", "age": 57, "address": { "number": 2794, "street": "Park St.", "city": "Portland" }, "interests": [  ], "children": [ { "name": "Christa Trentz", "age": 14 }, { "name": "Jestine Trentz", "age": 22 }, { "name": "Shantel Trentz", "age": 37 }, { "name": "Jacklyn Trentz", "age": null } ] }
-{ "cid": 756, "name": "Marisol Noyes", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Delora Noyes", "age": null }, { "name": "Jonelle Noyes", "age": 44 } ] }
-{ "cid": 758, "name": "Akiko Hoenstine", "age": 56, "address": { "number": 8888, "street": "Lake St.", "city": "Portland" }, "interests": [ "Movies", "Walking" ], "children": [ { "name": "Maren Hoenstine", "age": null }, { "name": "Tyler Hoenstine", "age": null }, { "name": "Jesse Hoenstine", "age": 40 } ] }
-{ "cid": 759, "name": "Alaina Dadds", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Athena Dadds", "age": 36 }, { "name": "Denis Dadds", "age": null }, { "name": "Nathanial Dadds", "age": 42 }, { "name": "Molly Dadds", "age": null } ] }
-{ "cid": 761, "name": "Adele Henrikson", "age": null, "address": null, "interests": [ "Cooking", "Bass" ], "children": [ { "name": "Paulina Henrikson", "age": null }, { "name": "David Henrikson", "age": null }, { "name": "Jose Henrikson", "age": null }, { "name": "Meg Henrikson", "age": null } ] }
-{ "cid": 763, "name": "Candis Deya", "age": null, "address": null, "interests": [ "Computers" ], "children": [ { "name": "Lise Deya", "age": null }, { "name": "Jeni Deya", "age": 52 }, { "name": "Domonique Deya", "age": 24 }, { "name": "Rubie Deya", "age": null } ] }
-{ "cid": 766, "name": "Tosha Loffredo", "age": 64, "address": { "number": 5580, "street": "View St.", "city": "Mountain View" }, "interests": [ "Walking" ], "children": [ { "name": "Hellen Loffredo", "age": 32 } ] }
-{ "cid": 767, "name": "Wendi Hoecker", "age": null, "address": null, "interests": [  ], "children": [  ] }
-{ "cid": 768, "name": "Adelina Troendle", "age": null, "address": null, "interests": [ "Computers" ], "children": [ { "name": "Lenna Troendle", "age": 51 }, { "name": "Ines Troendle", "age": 48 }, { "name": "Ora Troendle", "age": null } ] }
-{ "cid": 769, "name": "Isaias Tenny", "age": 71, "address": { "number": 270, "street": "Park St.", "city": "Portland" }, "interests": [ "Wine", "Fishing", "Base Jumping" ], "children": [ { "name": "Theo Tenny", "age": null }, { "name": "Shena Tenny", "age": null }, { "name": "Coralee Tenny", "age": null }, { "name": "Orval Tenny", "age": 39 } ] }
-{ "cid": 770, "name": "Merrill Tilson", "age": null, "address": null, "interests": [ "Computers", "Skiing" ], "children": [ { "name": "Elna Tilson", "age": null } ] }
-{ "cid": 771, "name": "Marisela Tredo", "age": null, "address": null, "interests": [ "Tennis", "Coffee" ], "children": [ { "name": "Ardell Tredo", "age": 21 }, { "name": "Evelynn Tredo", "age": 16 } ] }
-{ "cid": 773, "name": "Leatrice Zysett", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Bee Zysett", "age": 30 }, { "name": "Russ Zysett", "age": 11 }, { "name": "Jeff Zysett", "age": 39 }, { "name": "Herman Zysett", "age": 27 } ] }
-{ "cid": 774, "name": "Nadene Rigel", "age": null, "address": null, "interests": [ "Cigars", "Cigars" ], "children": [ { "name": "Rebbeca Rigel", "age": 33 } ] }
-{ "cid": 776, "name": "Dagmar Sarkis", "age": null, "address": null, "interests": [ "Basketball", "Running", "Wine" ], "children": [ { "name": "Tari Sarkis", "age": null }, { "name": "Rana Sarkis", "age": 56 }, { "name": "Merissa Sarkis", "age": null }, { "name": "Lori Sarkis", "age": 26 } ] }
-{ "cid": 777, "name": "Coralee Vaugh", "age": 51, "address": { "number": 4130, "street": "Hill St.", "city": "San Jose" }, "interests": [  ], "children": [ { "name": "Dean Vaugh", "age": 31 }, { "name": "Stanton Vaugh", "age": 39 }, { "name": "Marti Vaugh", "age": 33 }, { "name": "Eden Vaugh", "age": 27 } ] }
-{ "cid": 778, "name": "Shellie Sario", "age": null, "address": null, "interests": [ "Puzzles" ], "children": [  ] }
-{ "cid": 779, "name": "Vinita Bockskopf", "age": null, "address": null, "interests": [ "Tennis", "Video Games" ], "children": [  ] }
-{ "cid": 780, "name": "Penny Poortinga", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Estella Poortinga", "age": null } ] }
-{ "cid": 781, "name": "Christy Darcangelo", "age": 42, "address": { "number": 2178, "street": "Washington St.", "city": "Portland" }, "interests": [ "Computers", "Fishing" ], "children": [ { "name": "Luis Darcangelo", "age": 21 }, { "name": "Omega Darcangelo", "age": 26 }, { "name": "Remedios Darcangelo", "age": 28 }, { "name": "Domenic Darcangelo", "age": 21 } ] }
-{ "cid": 782, "name": "Shameka Haifa", "age": 16, "address": { "number": 9555, "street": "Cedar St.", "city": "San Jose" }, "interests": [ "Cigars", "Computers", "Coffee", "Skiing" ], "children": [ { "name": "Dannette Haifa", "age": null } ] }
-{ "cid": 783, "name": "Johnnie Kesby", "age": 56, "address": { "number": 9798, "street": "View St.", "city": "Seattle" }, "interests": [ "Puzzles", "Tennis" ], "children": [  ] }
-{ "cid": 784, "name": "Omar Hasen", "age": null, "address": null, "interests": [ "Movies" ], "children": [ { "name": "Hugh Hasen", "age": null } ] }
-{ "cid": 785, "name": "Gabriel Breidel", "age": 32, "address": { "number": 9288, "street": "Park St.", "city": "San Jose" }, "interests": [ "Cigars", "Bass" ], "children": [ { "name": "Bernie Breidel", "age": null } ] }
-{ "cid": 786, "name": "Johnsie Maheux", "age": null, "address": null, "interests": [ "Cigars" ], "children": [ { "name": "Danuta Maheux", "age": null } ] }
-{ "cid": 787, "name": "Sara Yerly", "age": 12, "address": { "number": 872, "street": "7th St.", "city": "Seattle" }, "interests": [ "Fishing" ], "children": [ { "name": "Nettie Yerly", "age": null }, { "name": "Regine Yerly", "age": null }, { "name": "Hyo Yerly", "age": null } ] }
-{ "cid": 789, "name": "Carli Notto", "age": null, "address": null, "interests": [ "Cigars" ], "children": [  ] }
-{ "cid": 790, "name": "Dustin Brumble", "age": null, "address": null, "interests": [ "Computers", "Databases", "Tennis" ], "children": [ { "name": "Oda Brumble", "age": null }, { "name": "Jennefer Brumble", "age": 26 }, { "name": "Ricardo Brumble", "age": 37 }, { "name": "Graciela Brumble", "age": 10 } ] }
-{ "cid": 791, "name": "Jame Apresa", "age": 66, "address": { "number": 8417, "street": "Main St.", "city": "San Jose" }, "interests": [ "Running", "Puzzles", "Base Jumping" ], "children": [ { "name": "Awilda Apresa", "age": null }, { "name": "Nelle Apresa", "age": 40 }, { "name": "Terrell Apresa", "age": null }, { "name": "Malia Apresa", "age": 43 } ] }
-{ "cid": 793, "name": "Shondra Gollman", "age": null, "address": null, "interests": [ "Skiing" ], "children": [ { "name": "Paul Gollman", "age": 30 }, { "name": "Katherina Gollman", "age": 53 } ] }
-{ "cid": 794, "name": "Annabel Leins", "age": 75, "address": { "number": 9761, "street": "Park St.", "city": "Los Angeles" }, "interests": [ "Bass", "Computers", "Bass", "Cigars" ], "children": [ { "name": "Oswaldo Leins", "age": 21 } ] }
-{ "cid": 795, "name": "Sharilyn Branstad", "age": null, "address": null, "interests": [ "Databases", "Music" ], "children": [ { "name": "Ashlee Branstad", "age": 24 }, { "name": "Bobbye Branstad", "age": 26 }, { "name": "Natalya Branstad", "age": null }, { "name": "Edith Branstad", "age": null } ] }
-{ "cid": 796, "name": "Daniele Brisk", "age": null, "address": null, "interests": [ "Walking", "Bass" ], "children": [  ] }
-{ "cid": 797, "name": "Frederica Kale", "age": 77, "address": { "number": 6861, "street": "Oak St.", "city": "Los Angeles" }, "interests": [ "Puzzles", "Bass" ], "children": [ { "name": "Shanice Kale", "age": null }, { "name": "Soraya Kale", "age": 64 }, { "name": "Laurena Kale", "age": 57 } ] }
-{ "cid": 799, "name": "Ronny Piefer", "age": 45, "address": { "number": 7724, "street": "7th St.", "city": "Mountain View" }, "interests": [ "Fishing" ], "children": [ { "name": "Chantal Piefer", "age": 24 }, { "name": "Tiffany Piefer", "age": null }, { "name": "Farrah Piefer", "age": 21 }, { "name": "Dee Piefer", "age": null } ] }
-{ "cid": 800, "name": "Karon Johnsen", "age": null, "address": null, "interests": [ "Movies" ], "children": [ { "name": "Roselee Johnsen", "age": 25 } ] }
-{ "cid": 802, "name": "Sang Hollman", "age": null, "address": null, "interests": [ "Skiing" ], "children": [ { "name": "Carman Hollman", "age": null }, { "name": "Kirstie Hollman", "age": 40 }, { "name": "Jacquetta Hollman", "age": null } ] }
-{ "cid": 803, "name": "Yolonda Korf", "age": null, "address": null, "interests": [ "Bass", "Skiing", "Music" ], "children": [ { "name": "Ivette Korf", "age": null }, { "name": "Lashon Korf", "age": null } ] }
-{ "cid": 804, "name": "Joaquina Burlin", "age": 77, "address": { "number": 5479, "street": "7th St.", "city": "Sunnyvale" }, "interests": [ "Running", "Wine", "Running" ], "children": [  ] }
-{ "cid": 805, "name": "Gaylord Ginder", "age": null, "address": null, "interests": [ "Databases", "Coffee" ], "children": [ { "name": "Lucina Ginder", "age": null }, { "name": "Harriett Ginder", "age": null } ] }
-{ "cid": 806, "name": "Corliss Sharratt", "age": null, "address": null, "interests": [ "Basketball", "Cigars", "Cooking" ], "children": [ { "name": "Albertine Sharratt", "age": null }, { "name": "Nobuko Sharratt", "age": 29 }, { "name": "Neil Sharratt", "age": null } ] }
-{ "cid": 807, "name": "Maryanne Kuzminski", "age": 21, "address": { "number": 1601, "street": "Hill St.", "city": "Los Angeles" }, "interests": [ "Running" ], "children": [ { "name": "India Kuzminski", "age": null }, { "name": "Adell Kuzminski", "age": null } ] }
-{ "cid": 808, "name": "Brande Decius", "age": null, "address": null, "interests": [ "Basketball", "Fishing", "Puzzles" ], "children": [ { "name": "Li Decius", "age": 56 }, { "name": "Eusebio Decius", "age": 50 }, { "name": "Clementina Decius", "age": 29 } ] }
-{ "cid": 809, "name": "Dagny Mangiaracina", "age": 44, "address": { "number": 5993, "street": "Lake St.", "city": "San Jose" }, "interests": [  ], "children": [ { "name": "Bari Mangiaracina", "age": 31 }, { "name": "Tiara Mangiaracina", "age": 12 }, { "name": "Milly Mangiaracina", "age": null }, { "name": "Chelsie Mangiaracina", "age": null } ] }
-{ "cid": 810, "name": "Myron Dumlao", "age": null, "address": null, "interests": [ "Wine", "Coffee" ], "children": [ { "name": "Josie Dumlao", "age": 36 } ] }
-{ "cid": 811, "name": "Marti Whitmyre", "age": null, "address": null, "interests": [ "Music", "Walking" ], "children": [  ] }
-{ "cid": 812, "name": "Bee Godette", "age": 26, "address": { "number": 1757, "street": "Washington St.", "city": "Portland" }, "interests": [ "Video Games", "Base Jumping", "Tennis" ], "children": [ { "name": "Madaline Godette", "age": 10 }, { "name": "Shasta Godette", "age": 15 }, { "name": "Parthenia Godette", "age": 11 }, { "name": "Priscila Godette", "age": 13 } ] }
-{ "cid": 813, "name": "Leann Domagala", "age": 47, "address": { "number": 4472, "street": "Cedar St.", "city": "Los Angeles" }, "interests": [ "Computers" ], "children": [ { "name": "Alvera Domagala", "age": 36 }, { "name": "Rosalva Domagala", "age": 27 }, { "name": "Eugenia Domagala", "age": null }, { "name": "My Domagala", "age": 32 } ] }
-{ "cid": 814, "name": "Harriette Kasmarek", "age": 68, "address": { "number": 7191, "street": "Washington St.", "city": "Sunnyvale" }, "interests": [ "Music", "Skiing" ], "children": [ { "name": "Melani Kasmarek", "age": 24 }, { "name": "Jesica Kasmarek", "age": 22 } ] }
-{ "cid": 815, "name": "Leigha Bires", "age": 11, "address": { "number": 7263, "street": "Oak St.", "city": "Portland" }, "interests": [ "Running" ], "children": [ { "name": "Val Bires", "age": null } ] }
-{ "cid": 816, "name": "Cheyenne Eddie", "age": null, "address": null, "interests": [ "Walking", "Cooking" ], "children": [ { "name": "Kathe Eddie", "age": null }, { "name": "Charles Eddie", "age": null } ] }
-{ "cid": 818, "name": "Nellie Whetzell", "age": null, "address": null, "interests": [ "Walking" ], "children": [  ] }
-{ "cid": 819, "name": "Twanna Finnley", "age": null, "address": null, "interests": [ "Squash", "Cigars" ], "children": [ { "name": "Reba Finnley", "age": null }, { "name": "Moises Finnley", "age": null } ] }
-{ "cid": 820, "name": "Lacy Caudill", "age": 22, "address": { "number": 8679, "street": "Main St.", "city": "Mountain View" }, "interests": [ "Wine" ], "children": [ { "name": "Sybil Caudill", "age": null } ] }
-{ "cid": 821, "name": "Carole Edlund", "age": 76, "address": { "number": 4008, "street": "Park St.", "city": "Los Angeles" }, "interests": [ "Computers", "Cooking", "Running", "Basketball" ], "children": [ { "name": "Garfield Edlund", "age": 54 }, { "name": "Brooks Edlund", "age": null }, { "name": "Gertrudis Edlund", "age": null }, { "name": "Tabitha Edlund", "age": 58 } ] }
-{ "cid": 824, "name": "Vonda Czaplewski", "age": 72, "address": { "number": 4597, "street": "7th St.", "city": "Portland" }, "interests": [ "Skiing" ], "children": [ { "name": "Gaynelle Czaplewski", "age": null }, { "name": "India Czaplewski", "age": null } ] }
-{ "cid": 825, "name": "Kirstie Rinebold", "age": 57, "address": { "number": 9463, "street": "Oak St.", "city": "Portland" }, "interests": [ "Cooking", "Cigars", "Books" ], "children": [ { "name": "Vonda Rinebold", "age": null }, { "name": "Man Rinebold", "age": 21 } ] }
-{ "cid": 826, "name": "Ressie Feenstra", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Sasha Feenstra", "age": null } ] }
-{ "cid": 827, "name": "Clementina Papin", "age": null, "address": null, "interests": [ "Music", "Basketball", "Cigars" ], "children": [ { "name": "Catina Papin", "age": null }, { "name": "Demetrius Papin", "age": 59 }, { "name": "Marylou Papin", "age": 12 }, { "name": "Apryl Papin", "age": 16 } ] }
-{ "cid": 828, "name": "Marcelle Steinhour", "age": null, "address": null, "interests": [ "Running", "Basketball", "Walking" ], "children": [ { "name": "Jimmie Steinhour", "age": 13 }, { "name": "Kirstie Steinhour", "age": 19 } ] }
-{ "cid": 831, "name": "Raina Rys", "age": 62, "address": { "number": 7048, "street": "Oak St.", "city": "Sunnyvale" }, "interests": [ "Walking" ], "children": [ { "name": "Ezra Rys", "age": null }, { "name": "Carl Rys", "age": null }, { "name": "Loraine Rys", "age": null } ] }
-{ "cid": 832, "name": "Alina Hosley", "age": null, "address": null, "interests": [ "Databases", "Databases", "Music" ], "children": [ { "name": "Sebrina Hosley", "age": null }, { "name": "Dyan Hosley", "age": null } ] }
-{ "cid": 833, "name": "Lakisha Petkoff", "age": null, "address": null, "interests": [ "Coffee" ], "children": [ { "name": "Brittanie Petkoff", "age": null }, { "name": "Ashli Petkoff", "age": null } ] }
-{ "cid": 834, "name": "Luvenia Grandstaff", "age": null, "address": null, "interests": [ "Squash" ], "children": [ { "name": "Joleen Grandstaff", "age": 28 }, { "name": "Elvera Grandstaff", "age": null }, { "name": "Leonia Grandstaff", "age": 35 }, { "name": "Jaclyn Grandstaff", "age": 28 } ] }
-{ "cid": 835, "name": "Raphael Marzili", "age": null, "address": null, "interests": [ "Music" ], "children": [ { "name": "Angelic Marzili", "age": 38 } ] }
-{ "cid": 836, "name": "Elden Shumski", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Weldon Shumski", "age": null }, { "name": "Anneliese Shumski", "age": null } ] }
-{ "cid": 837, "name": "Denice Wolken", "age": 28, "address": { "number": 5010, "street": "7th St.", "city": "Mountain View" }, "interests": [  ], "children": [ { "name": "Kattie Wolken", "age": null } ] }
-{ "cid": 838, "name": "Karan Aharon", "age": 88, "address": { "number": 8033, "street": "Washington St.", "city": "Portland" }, "interests": [ "Computers", "Movies", "Walking" ], "children": [ { "name": "Matha Aharon", "age": 16 } ] }
-{ "cid": 841, "name": "Omar Enwall", "age": null, "address": null, "interests": [ "Skiing", "Skiing", "Books" ], "children": [ { "name": "Kirby Enwall", "age": 31 }, { "name": "Cythia Enwall", "age": 24 }, { "name": "August Enwall", "age": null } ] }
-{ "cid": 843, "name": "Lenny Acerno", "age": 64, "address": { "number": 7656, "street": "Main St.", "city": "Seattle" }, "interests": [ "Base Jumping", "Squash" ], "children": [  ] }
-{ "cid": 844, "name": "Madelene Ten", "age": null, "address": null, "interests": [ "Squash" ], "children": [ { "name": "Johanne Ten", "age": 39 }, { "name": "Lurline Ten", "age": null }, { "name": "Cathy Ten", "age": 49 } ] }
-{ "cid": 845, "name": "Burt Earp", "age": 21, "address": { "number": 7626, "street": "Lake St.", "city": "Seattle" }, "interests": [ "Computers" ], "children": [ { "name": "Denny Earp", "age": null }, { "name": "Blaine Earp", "age": null }, { "name": "Wilson Earp", "age": 10 }, { "name": "Joan Earp", "age": null } ] }
-{ "cid": 846, "name": "Kieth Norlund", "age": 15, "address": { "number": 4039, "street": "Park St.", "city": "Mountain View" }, "interests": [ "Wine", "Walking", "Puzzles" ], "children": [ { "name": "Shawn Norlund", "age": null } ] }
-{ "cid": 847, "name": "Ashton Korba", "age": 25, "address": { "number": 6450, "street": "Park St.", "city": "Sunnyvale" }, "interests": [ "Cigars", "Computers", "Walking", "Video Games" ], "children": [  ] }
-{ "cid": 848, "name": "Myrta Kopf", "age": null, "address": null, "interests": [ "Wine", "Basketball", "Base Jumping" ], "children": [  ] }
-{ "cid": 850, "name": "Garnet Younce", "age": null, "address": null, "interests": [ "Databases", "Video Games", "Books" ], "children": [ { "name": "Syble Younce", "age": 16 } ] }
-{ "cid": 851, "name": "Darrel Machia", "age": 31, "address": { "number": 3290, "street": "View St.", "city": "Seattle" }, "interests": [  ], "children": [ { "name": "Coy Machia", "age": 13 }, { "name": "Janean Machia", "age": 13 }, { "name": "Sandi Machia", "age": 18 } ] }
-{ "cid": 852, "name": "Terrell Ramsay", "age": null, "address": null, "interests": [  ], "children": [  ] }
-{ "cid": 853, "name": "Denisse Peralto", "age": 25, "address": { "number": 3931, "street": "7th St.", "city": "Portland" }, "interests": [ "Tennis", "Walking", "Basketball" ], "children": [ { "name": "Asha Peralto", "age": 14 }, { "name": "Clark Peralto", "age": null }, { "name": "Jessika Peralto", "age": null }, { "name": "Nadene Peralto", "age": null } ] }
-{ "cid": 854, "name": "Angie Oyster", "age": 32, "address": { "number": 8860, "street": "Main St.", "city": "San Jose" }, "interests": [ "Coffee", "Movies", "Fishing" ], "children": [ { "name": "Hugh Oyster", "age": 10 } ] }
-{ "cid": 855, "name": "Rosette Reen", "age": 57, "address": { "number": 2767, "street": "Lake St.", "city": "Mountain View" }, "interests": [ "Basketball" ], "children": [  ] }
-{ "cid": 857, "name": "Kasie Fujioka", "age": null, "address": null, "interests": [ "Skiing", "Cigars" ], "children": [ { "name": "Leontine Fujioka", "age": null }, { "name": "Nga Fujioka", "age": 21 }, { "name": "Nathanael Fujioka", "age": 27 } ] }
-{ "cid": 858, "name": "Maricruz Dittberner", "age": null, "address": null, "interests": [ "Tennis", "Wine", "Cigars", "Video Games" ], "children": [  ] }
-{ "cid": 859, "name": "Mozelle Catillo", "age": 61, "address": { "number": 253, "street": "View St.", "city": "Los Angeles" }, "interests": [ "Databases", "Cooking", "Wine" ], "children": [  ] }
-{ "cid": 860, "name": "Isabelle Sept", "age": 88, "address": { "number": 4382, "street": "Washington St.", "city": "Portland" }, "interests": [ "Puzzles", "Books" ], "children": [  ] }
-{ "cid": 861, "name": "Hugh Mcbrien", "age": null, "address": null, "interests": [ "Skiing", "Cigars", "Cooking" ], "children": [ { "name": "Otha Mcbrien", "age": 38 } ] }
-{ "cid": 862, "name": "Constance Bries", "age": 77, "address": { "number": 2585, "street": "Oak St.", "city": "Los Angeles" }, "interests": [  ], "children": [ { "name": "Lizzie Bries", "age": 42 }, { "name": "Shenika Bries", "age": null }, { "name": "Phillip Bries", "age": null } ] }
-{ "cid": 864, "name": "Katharyn Zanotti", "age": 62, "address": { "number": 8336, "street": "7th St.", "city": "Sunnyvale" }, "interests": [ "Puzzles" ], "children": [ { "name": "Magan Zanotti", "age": null }, { "name": "Jacinto Zanotti", "age": null } ] }
-{ "cid": 865, "name": "Moon Marino", "age": 43, "address": { "number": 5710, "street": "Oak St.", "city": "Sunnyvale" }, "interests": [ "Skiing" ], "children": [ { "name": "Markita Marino", "age": 10 } ] }
-{ "cid": 866, "name": "Bonita Kauphusman", "age": null, "address": null, "interests": [  ], "children": [  ] }
-{ "cid": 869, "name": "Lino Wooderson", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Nola Wooderson", "age": null }, { "name": "Leticia Wooderson", "age": 36 }, { "name": "Bernardine Wooderson", "age": null } ] }
-{ "cid": 870, "name": "Natosha Lufsey", "age": null, "address": null, "interests": [ "Cigars", "Walking" ], "children": [ { "name": "Tiffany Lufsey", "age": null } ] }
-{ "cid": 871, "name": "Lona Dacus", "age": null, "address": null, "interests": [ "Base Jumping" ], "children": [ { "name": "Pablo Dacus", "age": null }, { "name": "Darlene Dacus", "age": 45 }, { "name": "Darius Dacus", "age": 31 }, { "name": "Cordia Dacus", "age": null } ] }
-{ "cid": 872, "name": "Michele Herschel", "age": 39, "address": { "number": 4287, "street": "Cedar St.", "city": "Los Angeles" }, "interests": [  ], "children": [  ] }
-{ "cid": 875, "name": "Ramon Crepps", "age": null, "address": null, "interests": [ "Coffee", "Movies", "Skiing" ], "children": [ { "name": "Elisha Crepps", "age": null } ] }
-{ "cid": 876, "name": "Chelsie Motten", "age": null, "address": null, "interests": [ "Music", "Squash", "Music", "Walking" ], "children": [ { "name": "Nida Motten", "age": null }, { "name": "Taneka Motten", "age": 10 }, { "name": "Maynard Motten", "age": 57 } ] }
-{ "cid": 877, "name": "Nicki Lipkind", "age": null, "address": null, "interests": [ "Books", "Movies" ], "children": [ { "name": "Yahaira Lipkind", "age": 12 } ] }
-{ "cid": 878, "name": "Migdalia Bisker", "age": 50, "address": { "number": 6699, "street": "Oak St.", "city": "Los Angeles" }, "interests": [ "Computers", "Basketball" ], "children": [ { "name": "Moira Bisker", "age": null }, { "name": "Tanisha Bisker", "age": null } ] }
-{ "cid": 879, "name": "Vinnie Antoniewicz", "age": 45, "address": { "number": 1633, "street": "Hill St.", "city": "Seattle" }, "interests": [ "Cooking", "Puzzles" ], "children": [  ] }
-{ "cid": 880, "name": "Sara Abo", "age": null, "address": null, "interests": [ "Squash" ], "children": [  ] }
-{ "cid": 881, "name": "Leora Chesnutt", "age": 49, "address": { "number": 6487, "street": "Hill St.", "city": "Seattle" }, "interests": [ "Movies" ], "children": [ { "name": "Myrtle Chesnutt", "age": null }, { "name": "Serina Chesnutt", "age": 11 }, { "name": "Jana Chesnutt", "age": 10 } ] }
-{ "cid": 883, "name": "Odilia Bugtong", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Mark Bugtong", "age": 15 }, { "name": "Paula Bugtong", "age": null }, { "name": "Jenee Bugtong", "age": 17 }, { "name": "Lilian Bugtong", "age": 44 } ] }
-{ "cid": 884, "name": "Laila Marta", "age": null, "address": null, "interests": [ "Fishing", "Movies" ], "children": [ { "name": "Carlota Marta", "age": 19 } ] }
-{ "cid": 885, "name": "Les Legere", "age": 87, "address": { "number": 3998, "street": "Cedar St.", "city": "Portland" }, "interests": [ "Bass", "Tennis", "Fishing" ], "children": [ { "name": "Concetta Legere", "age": 45 }, { "name": "Tamica Legere", "age": null }, { "name": "Aurora Legere", "age": null } ] }
-{ "cid": 887, "name": "Jermaine Folz", "age": 35, "address": { "number": 8487, "street": "Hill St.", "city": "Los Angeles" }, "interests": [ "Computers", "Puzzles", "Cooking" ], "children": [ { "name": "Sharice Folz", "age": null } ] }
-{ "cid": 888, "name": "Natalie Nocella", "age": 66, "address": { "number": 2856, "street": "Lake St.", "city": "Sunnyvale" }, "interests": [  ], "children": [ { "name": "Noel Nocella", "age": 26 }, { "name": "Damon Nocella", "age": 29 }, { "name": "Joesph Nocella", "age": 33 }, { "name": "Nidia Nocella", "age": null } ] }
-{ "cid": 889, "name": "Elvis Schoff", "age": 83, "address": { "number": 6724, "street": "Hill St.", "city": "Mountain View" }, "interests": [  ], "children": [ { "name": "Spring Schoff", "age": 43 }, { "name": "Davis Schoff", "age": 55 }, { "name": "Ryann Schoff", "age": 58 }, { "name": "Clarinda Schoff", "age": 11 } ] }
-{ "cid": 890, "name": "Janise Maccarthy", "age": 66, "address": { "number": 7337, "street": "Main St.", "city": "San Jose" }, "interests": [ "Wine", "Computers" ], "children": [  ] }
-{ "cid": 891, "name": "Jesusita Bhatia", "age": 57, "address": { "number": 1476, "street": "Lake St.", "city": "Mountain View" }, "interests": [ "Walking" ], "children": [  ] }
-{ "cid": 892, "name": "Madge Hendson", "age": 79, "address": { "number": 8832, "street": "Cedar St.", "city": "San Jose" }, "interests": [ "Databases", "Fishing", "Skiing" ], "children": [ { "name": "Elia Hendson", "age": 48 }, { "name": "Lashawn Hendson", "age": 27 } ] }
-{ "cid": 893, "name": "Norberto Banchero", "age": null, "address": null, "interests": [  ], "children": [  ] }
-{ "cid": 894, "name": "Reginald Julien", "age": 16, "address": { "number": 1107, "street": "Lake St.", "city": "Mountain View" }, "interests": [ "Databases", "Wine" ], "children": [ { "name": "Arthur Julien", "age": null }, { "name": "Evia Julien", "age": null } ] }
-{ "cid": 897, "name": "Gerald Roehrman", "age": null, "address": null, "interests": [ "Bass", "Wine" ], "children": [ { "name": "Virgie Roehrman", "age": 28 }, { "name": "Akiko Roehrman", "age": 59 }, { "name": "Robbie Roehrman", "age": 10 }, { "name": "Flavia Roehrman", "age": null } ] }
-{ "cid": 898, "name": "Thao Seufert", "age": 78, "address": { "number": 3529, "street": "Hill St.", "city": "Seattle" }, "interests": [ "Bass", "Squash", "Coffee" ], "children": [ { "name": "Classie Seufert", "age": null } ] }
-{ "cid": 899, "name": "Ada Kamealoha", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Juliann Kamealoha", "age": null }, { "name": "Ilana Kamealoha", "age": 25 }, { "name": "Herminia Kamealoha", "age": 55 }, { "name": "Carli Kamealoha", "age": null } ] }
-{ "cid": 901, "name": "Riva Ziko", "age": null, "address": null, "interests": [ "Running", "Tennis", "Video Games" ], "children": [ { "name": "Leandra Ziko", "age": 49 }, { "name": "Torrie Ziko", "age": null } ] }
-{ "cid": 903, "name": "Elise Morenz", "age": 17, "address": { "number": 8968, "street": "View St.", "city": "Mountain View" }, "interests": [  ], "children": [  ] }
-{ "cid": 904, "name": "Holley Tofil", "age": 51, "address": { "number": 8946, "street": "Oak St.", "city": "Mountain View" }, "interests": [ "Music", "Squash" ], "children": [ { "name": "Kristal Tofil", "age": null } ] }
-{ "cid": 905, "name": "Pandora Azzarella", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Lane Azzarella", "age": null }, { "name": "Joi Azzarella", "age": 19 } ] }
-{ "cid": 907, "name": "Princess Sudol", "age": 73, "address": { "number": 9770, "street": "Oak St.", "city": "San Jose" }, "interests": [ "Computers", "Base Jumping" ], "children": [ { "name": "Bronwyn Sudol", "age": 22 }, { "name": "Judith Sudol", "age": null } ] }
-{ "cid": 908, "name": "Ferdinand Auila", "age": 82, "address": { "number": 1071, "street": "Lake St.", "city": "Portland" }, "interests": [ "Base Jumping", "Running", "Wine" ], "children": [ { "name": "Ai Auila", "age": 69 }, { "name": "Laurel Auila", "age": null } ] }
-{ "cid": 909, "name": "Mariko Sharar", "age": null, "address": null, "interests": [ "Squash", "Movies", "Computers" ], "children": [  ] }
-{ "cid": 910, "name": "Everette Moe", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Berna Moe", "age": 56 }, { "name": "Harold Moe", "age": 28 }, { "name": "See Moe", "age": 20 } ] }
-{ "cid": 911, "name": "Eileen Bartolomeo", "age": 20, "address": { "number": 8915, "street": "Main St.", "city": "Portland" }, "interests": [  ], "children": [  ] }
-{ "cid": 912, "name": "Alessandra Kaskey", "age": 52, "address": { "number": 6906, "street": "View St.", "city": "Los Angeles" }, "interests": [ "Skiing", "Walking", "Basketball" ], "children": [ { "name": "Mack Kaskey", "age": null } ] }
-{ "cid": 913, "name": "Evelynn Fague", "age": 42, "address": { "number": 5729, "street": "7th St.", "city": "Seattle" }, "interests": [ "Books", "Databases", "Cooking" ], "children": [  ] }
-{ "cid": 914, "name": "Hunter Flournoy", "age": null, "address": null, "interests": [ "Cooking", "Squash" ], "children": [ { "name": "Christopher Flournoy", "age": 59 }, { "name": "Earnestine Flournoy", "age": null } ] }
-{ "cid": 916, "name": "Kris Mcmarlin", "age": null, "address": null, "interests": [ "Movies", "Music", "Puzzles" ], "children": [  ] }
-{ "cid": 917, "name": "Jerri Blachowski", "age": null, "address": null, "interests": [ "Skiing" ], "children": [ { "name": "Chet Blachowski", "age": 43 }, { "name": "Mallory Blachowski", "age": null }, { "name": "Akilah Blachowski", "age": null } ] }
-{ "cid": 919, "name": "Fairy Wansley", "age": 45, "address": { "number": 9020, "street": "Park St.", "city": "Los Angeles" }, "interests": [ "Wine", "Walking", "Databases", "Video Games" ], "children": [ { "name": "Marvella Wansley", "age": null }, { "name": "Hisako Wansley", "age": null }, { "name": "Shaunta Wansley", "age": null }, { "name": "Gemma Wansley", "age": 21 } ] }
-{ "cid": 920, "name": "Mirtha Dellbringge", "age": null, "address": null, "interests": [ "Walking", "Basketball", "Basketball" ], "children": [ { "name": "Morgan Dellbringge", "age": 51 }, { "name": "Alease Dellbringge", "age": 35 } ] }
-{ "cid": 921, "name": "Mario Nolden", "age": 17, "address": { "number": 3977, "street": "Cedar St.", "city": "Sunnyvale" }, "interests": [  ], "children": [ { "name": "Gertrude Nolden", "age": null }, { "name": "Ray Nolden", "age": null }, { "name": "Inocencia Nolden", "age": null } ] }
-{ "cid": 922, "name": "Shanice Lingle", "age": 26, "address": { "number": 4753, "street": "Cedar St.", "city": "Los Angeles" }, "interests": [  ], "children": [ { "name": "Sandie Lingle", "age": 12 }, { "name": "Nia Lingle", "age": 13 }, { "name": "Marilyn Lingle", "age": 15 } ] }
-{ "cid": 923, "name": "Bobbi Ursino", "age": null, "address": null, "interests": [ "Movies", "Books", "Walking" ], "children": [ { "name": "Shon Ursino", "age": null }, { "name": "Lorean Ursino", "age": null } ] }
-{ "cid": 924, "name": "Kathleen Lash", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Clementina Lash", "age": 58 }, { "name": "Zula Lash", "age": null }, { "name": "Mellissa Lash", "age": 54 } ] }
-{ "cid": 925, "name": "Quintin Kizzie", "age": null, "address": null, "interests": [ "Computers", "Tennis", "Bass", "Movies" ], "children": [ { "name": "Julius Kizzie", "age": 11 }, { "name": "Melissia Kizzie", "age": null }, { "name": "Olga Kizzie", "age": 42 } ] }
-{ "cid": 927, "name": "Lillia Hartlein", "age": 55, "address": { "number": 5856, "street": "Lake St.", "city": "Sunnyvale" }, "interests": [ "Base Jumping", "Coffee", "Cigars" ], "children": [ { "name": "Nicky Hartlein", "age": null }, { "name": "Cassaundra Hartlein", "age": 10 }, { "name": "Micheline Hartlein", "age": 26 }, { "name": "Anton Hartlein", "age": 32 } ] }
-{ "cid": 928, "name": "Maddie Diclaudio", "age": 33, "address": { "number": 4674, "street": "Washington St.", "city": "San Jose" }, "interests": [ "Base Jumping", "Databases", "Bass" ], "children": [ { "name": "Dominique Diclaudio", "age": 12 } ] }
-{ "cid": 929, "name": "Jean Guitierrez", "age": 75, "address": { "number": 9736, "street": "Lake St.", "city": "Mountain View" }, "interests": [ "Wine", "Wine", "Fishing" ], "children": [  ] }
-{ "cid": 930, "name": "Kathie Gier", "age": 37, "address": { "number": 5075, "street": "Main St.", "city": "Portland" }, "interests": [  ], "children": [ { "name": "Onie Gier", "age": 16 } ] }
-{ "cid": 931, "name": "Octavia Koiner", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Ardath Koiner", "age": 32 }, { "name": "Milly Koiner", "age": null }, { "name": "Arlinda Koiner", "age": null }, { "name": "Debby Koiner", "age": null } ] }
-{ "cid": 932, "name": "Kraig Bomia", "age": null, "address": null, "interests": [ "Music" ], "children": [  ] }
-{ "cid": 933, "name": "Eartha Hershberger", "age": 81, "address": { "number": 7013, "street": "Cedar St.", "city": "Los Angeles" }, "interests": [ "Puzzles" ], "children": [ { "name": "Waneta Hershberger", "age": null }, { "name": "Katherine Hershberger", "age": 67 }, { "name": "Johnnie Hershberger", "age": 25 }, { "name": "Jovan Hershberger", "age": 30 } ] }
-{ "cid": 934, "name": "Dessie Lockmiller", "age": 70, "address": { "number": 4313, "street": "Lake St.", "city": "San Jose" }, "interests": [ "Coffee", "Puzzles" ], "children": [  ] }
-{ "cid": 935, "name": "Sharita Aspegren", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Russell Aspegren", "age": 35 }, { "name": "Bernardina Aspegren", "age": null }, { "name": "Isobel Aspegren", "age": 11 }, { "name": "Reva Aspegren", "age": null } ] }
-{ "cid": 937, "name": "Annika Pauline", "age": 78, "address": { "number": 8563, "street": "Hill St.", "city": "Los Angeles" }, "interests": [  ], "children": [ { "name": "Mikki Pauline", "age": 34 } ] }
-{ "cid": 938, "name": "Parthenia Dromgoole", "age": 36, "address": { "number": 527, "street": "Lake St.", "city": "Sunnyvale" }, "interests": [ "Fishing" ], "children": [  ] }
-{ "cid": 940, "name": "Kitty Nalepka", "age": null, "address": null, "interests": [ "Movies", "Wine", "Basketball" ], "children": [ { "name": "Kendra Nalepka", "age": null } ] }
-{ "cid": 941, "name": "Jamey Jakobson", "age": null, "address": null, "interests": [ "Books", "Cooking", "Video Games" ], "children": [ { "name": "Elmer Jakobson", "age": 14 }, { "name": "Minh Jakobson", "age": 30 } ] }
-{ "cid": 942, "name": "Emerson Keblish", "age": null, "address": null, "interests": [ "Tennis" ], "children": [ { "name": "Leonora Keblish", "age": null } ] }
-{ "cid": 943, "name": "Kathryne Blacock", "age": 82, "address": { "number": 3510, "street": "Oak St.", "city": "Sunnyvale" }, "interests": [ "Running", "Bass", "Music" ], "children": [  ] }
-{ "cid": 944, "name": "Johana Hisman", "age": null, "address": null, "interests": [ "Wine" ], "children": [ { "name": "Kirstin Hisman", "age": 43 }, { "name": "Darwin Hisman", "age": 29 } ] }
-{ "cid": 945, "name": "Hildegard Dedinas", "age": 70, "address": { "number": 3273, "street": "View St.", "city": "Sunnyvale" }, "interests": [  ], "children": [ { "name": "Renato Dedinas", "age": 35 } ] }
-{ "cid": 946, "name": "Taylor Parrigan", "age": null, "address": null, "interests": [ "Music" ], "children": [ { "name": "Salome Parrigan", "age": 50 }, { "name": "Gary Parrigan", "age": 25 }, { "name": "Harold Parrigan", "age": null } ] }
-{ "cid": 948, "name": "Thad Scialpi", "age": 22, "address": { "number": 8731, "street": "Washington St.", "city": "Portland" }, "interests": [ "Base Jumping", "Tennis", "Wine" ], "children": [ { "name": "Harlan Scialpi", "age": 10 }, { "name": "Lucile Scialpi", "age": 11 }, { "name": "Audria Scialpi", "age": null } ] }
-{ "cid": 949, "name": "Elissa Rogue", "age": null, "address": null, "interests": [ "Fishing", "Music" ], "children": [ { "name": "Noriko Rogue", "age": 41 }, { "name": "Lavona Rogue", "age": 39 } ] }
-{ "cid": 950, "name": "Young Bayn", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Evangeline Bayn", "age": 38 }, { "name": "Darcy Bayn", "age": 45 }, { "name": "Rosita Bayn", "age": null }, { "name": "Austin Bayn", "age": 46 } ] }
-{ "cid": 951, "name": "Janine Martorano", "age": 65, "address": { "number": 6420, "street": "7th St.", "city": "Los Angeles" }, "interests": [ "Books", "Music" ], "children": [ { "name": "Idella Martorano", "age": null } ] }
-{ "cid": 955, "name": "Liliana Stenkamp", "age": null, "address": null, "interests": [ "Music" ], "children": [  ] }
-{ "cid": 956, "name": "Laquanda Bynoe", "age": 79, "address": { "number": 6122, "street": "Main St.", "city": "Portland" }, "interests": [  ], "children": [ { "name": "Joel Bynoe", "age": null }, { "name": "Brian Bynoe", "age": 61 }, { "name": "Shana Bynoe", "age": null } ] }
-{ "cid": 957, "name": "Lucius Schurr", "age": 75, "address": { "number": 3918, "street": "Main St.", "city": "Mountain View" }, "interests": [  ], "children": [ { "name": "Willetta Schurr", "age": 22 }, { "name": "Andre Schurr", "age": null }, { "name": "Merrilee Schurr", "age": 32 } ] }
-{ "cid": 958, "name": "Ricardo Pezzica", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Delois Pezzica", "age": 11 } ] }
-{ "cid": 960, "name": "Lenore Limardi", "age": null, "address": null, "interests": [ "Music" ], "children": [ { "name": "Kris Limardi", "age": 12 } ] }
-{ "cid": 961, "name": "Mirian Herpolsheimer", "age": null, "address": null, "interests": [ "Music", "Fishing", "Computers" ], "children": [ { "name": "Larissa Herpolsheimer", "age": 41 }, { "name": "Markus Herpolsheimer", "age": null }, { "name": "Natacha Herpolsheimer", "age": null } ] }
-{ "cid": 962, "name": "Taryn Coley", "age": null, "address": null, "interests": [ "Running", "Basketball", "Cooking" ], "children": [  ] }
-{ "cid": 963, "name": "Mila Ditmars", "age": 29, "address": { "number": 5850, "street": "View St.", "city": "Sunnyvale" }, "interests": [ "Music" ], "children": [  ] }
-{ "cid": 964, "name": "Stephany Soders", "age": null, "address": null, "interests": [ "Tennis", "Wine", "Computers" ], "children": [  ] }
-{ "cid": 965, "name": "Mellie Risen", "age": null, "address": null, "interests": [ "Tennis" ], "children": [ { "name": "Coreen Risen", "age": 36 }, { "name": "Faith Risen", "age": 34 }, { "name": "Crystle Risen", "age": 54 } ] }
-{ "cid": 966, "name": "Brigitte Quimby", "age": 13, "address": { "number": 203, "street": "Main St.", "city": "Mountain View" }, "interests": [ "Skiing", "Tennis" ], "children": [ { "name": "Ilona Quimby", "age": null }, { "name": "Shaunte Quimby", "age": null }, { "name": "Lorie Quimby", "age": null } ] }
-{ "cid": 968, "name": "Alix Levier", "age": 44, "address": { "number": 7241, "street": "Hill St.", "city": "Los Angeles" }, "interests": [ "Databases", "Fishing", "Wine" ], "children": [ { "name": "Florentina Levier", "age": null }, { "name": "Hyon Levier", "age": null }, { "name": "Dannielle Levier", "age": null } ] }
-{ "cid": 970, "name": "Pia Sudderth", "age": null, "address": null, "interests": [ "Databases" ], "children": [ { "name": "Ernestina Sudderth", "age": 15 }, { "name": "Larue Sudderth", "age": 46 }, { "name": "Toshia Sudderth", "age": 27 } ] }
-{ "cid": 974, "name": "Alexis Malcomson", "age": null, "address": null, "interests": [ "Movies", "Books" ], "children": [ { "name": "Kerri Malcomson", "age": null } ] }
-{ "cid": 975, "name": "Gary Whitemore", "age": null, "address": null, "interests": [  ], "children": [  ] }
-{ "cid": 976, "name": "Madalyn Nidiffer", "age": 35, "address": { "number": 7635, "street": "Main St.", "city": "San Jose" }, "interests": [ "Coffee", "Wine", "Music" ], "children": [ { "name": "Tricia Nidiffer", "age": 10 }, { "name": "Kevin Nidiffer", "age": 24 }, { "name": "Elyse Nidiffer", "age": null } ] }
-{ "cid": 978, "name": "Rudy Watsky", "age": 32, "address": { "number": 2754, "street": "Oak St.", "city": "Seattle" }, "interests": [ "Cooking" ], "children": [  ] }
-{ "cid": 979, "name": "Yoko Bailony", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Vivienne Bailony", "age": null }, { "name": "Lori Bailony", "age": 47 } ] }
-{ "cid": 980, "name": "Harley Lappe", "age": 56, "address": { "number": 647, "street": "Hill St.", "city": "Mountain View" }, "interests": [ "Books", "Cigars", "Basketball" ], "children": [ { "name": "Maxwell Lappe", "age": null }, { "name": "Gemma Lappe", "age": 32 }, { "name": "Ester Lappe", "age": 40 }, { "name": "Myles Lappe", "age": 36 } ] }
-{ "cid": 981, "name": "Lilliam Lopus", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Tracey Lopus", "age": null } ] }
-{ "cid": 982, "name": "Jude Brandsrud", "age": 41, "address": { "number": 7133, "street": "Washington St.", "city": "Seattle" }, "interests": [ "Bass", "Skiing" ], "children": [ { "name": "Scottie Brandsrud", "age": null }, { "name": "Gennie Brandsrud", "age": 10 }, { "name": "Agnes Brandsrud", "age": null }, { "name": "Clarinda Brandsrud", "age": 17 } ] }
-{ "cid": 984, "name": "Janett Kitchens", "age": 66, "address": { "number": 7558, "street": "View St.", "city": "Mountain View" }, "interests": [ "Coffee", "Movies", "Squash" ], "children": [ { "name": "Grayce Kitchens", "age": 14 }, { "name": "Dwayne Kitchens", "age": null }, { "name": "Wilber Kitchens", "age": 51 }, { "name": "Nancey Kitchens", "age": null } ] }
-{ "cid": 985, "name": "Arnette Farlow", "age": 23, "address": { "number": 7843, "street": "Main St.", "city": "Portland" }, "interests": [ "Running", "Databases" ], "children": [ { "name": "Lora Farlow", "age": 12 }, { "name": "Arlen Farlow", "age": 11 }, { "name": "Rodney Farlow", "age": null }, { "name": "Tori Farlow", "age": 11 } ] }
-{ "cid": 986, "name": "Tennille Wikle", "age": 78, "address": { "number": 3428, "street": "View St.", "city": "Portland" }, "interests": [ "Movies", "Databases", "Wine" ], "children": [ { "name": "Lourie Wikle", "age": null }, { "name": "Laure Wikle", "age": null } ] }
-{ "cid": 987, "name": "Sharolyn Demchak", "age": 36, "address": { "number": 4672, "street": "Lake St.", "city": "San Jose" }, "interests": [  ], "children": [  ] }
-{ "cid": 988, "name": "Dagmar Plasky", "age": 89, "address": { "number": 1219, "street": "Park St.", "city": "Portland" }, "interests": [  ], "children": [ { "name": "Dann Plasky", "age": 59 }, { "name": "Raye Plasky", "age": null }, { "name": "Sammie Plasky", "age": 36 }, { "name": "Kasi Plasky", "age": 24 } ] }
-{ "cid": 991, "name": "Leonel Toepperwein", "age": 62, "address": { "number": 8356, "street": "Washington St.", "city": "Seattle" }, "interests": [ "Coffee", "Books" ], "children": [ { "name": "Sean Toepperwein", "age": null }, { "name": "Charline Toepperwein", "age": 49 }, { "name": "Hattie Toepperwein", "age": 22 }, { "name": "Melida Toepperwein", "age": null } ] }
-{ "cid": 992, "name": "Staci Alexandropoul", "age": null, "address": null, "interests": [ "Databases", "Movies", "Tennis" ], "children": [ { "name": "Casimira Alexandropoul", "age": null }, { "name": "Kena Alexandropoul", "age": 54 }, { "name": "Ellie Alexandropoul", "age": null }, { "name": "Ambrose Alexandropoul", "age": null } ] }
-{ "cid": 993, "name": "Shawn Irie", "age": null, "address": null, "interests": [ "Fishing", "Cigars" ], "children": [ { "name": "Tonette Irie", "age": null } ] }
-{ "cid": 994, "name": "Isa Gravelle", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Lashonda Gravelle", "age": null }, { "name": "Carry Gravelle", "age": 58 } ] }
-{ "cid": 995, "name": "Kiersten Basila", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Norman Basila", "age": 17 }, { "name": "Reginia Basila", "age": null }, { "name": "Gilberto Basila", "age": null }, { "name": "Elvira Basila", "age": 49 } ] }
-{ "cid": 996, "name": "Elouise Wider", "age": null, "address": null, "interests": [ "Coffee", "Computers", "Base Jumping" ], "children": [  ] }
-{ "cid": 997, "name": "Yesenia Gao", "age": 38, "address": { "number": 5990, "street": "View St.", "city": "Portland" }, "interests": [ "Computers", "Computers", "Puzzles", "Puzzles" ], "children": [ { "name": "Jared Gao", "age": 11 }, { "name": "Sang Gao", "age": null }, { "name": "Jeanne Gao", "age": 13 }, { "name": "Lavona Gao", "age": 23 } ] }
-{ "cid": 998, "name": "Barry Schmaus", "age": 65, "address": { "number": 4894, "street": "View St.", "city": "Sunnyvale" }, "interests": [  ], "children": [ { "name": "Ma Schmaus", "age": 40 }, { "name": "Lashawn Schmaus", "age": 13 }, { "name": "Georgianne Schmaus", "age": 38 } ] }
-{ "cid": 999, "name": "Bo Chaim", "age": 59, "address": { "number": 8050, "street": "View St.", "city": "Seattle" }, "interests": [  ], "children": [ { "name": "Zandra Chaim", "age": 42 }, { "name": "Theda Chaim", "age": 14 }, { "name": "Sharika Chaim", "age": 22 } ] }
diff --git a/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-olist-edit-distance.adm b/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-olist-edit-distance.adm
deleted file mode 100644
index 6d89122..0000000
--- a/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-olist-edit-distance.adm
+++ /dev/null
@@ -1,8 +0,0 @@
-{ "cid": 11, "name": "Meta Simek", "age": 13, "address": { "number": 4384, "street": "7th St.", "city": "San Jose" }, "interests": [ "Wine", "Walking" ], "children": [ { "name": "Oretha Simek", "age": null }, { "name": "Terence Simek", "age": null } ] }
-{ "cid": 132, "name": "Cindi Turntine", "age": 64, "address": { "number": 9432, "street": "Park St.", "city": "Portland" }, "interests": [ "Computers", "Wine" ], "children": [ { "name": "Howard Turntine", "age": null } ] }
-{ "cid": 153, "name": "Randy Hueso", "age": 11, "address": { "number": 1957, "street": "Oak St.", "city": "San Jose" }, "interests": [ "Computers", "Wine", "Databases", "Walking" ], "children": [  ] }
-{ "cid": 389, "name": "Loraine Morfee", "age": 72, "address": { "number": 2945, "street": "Lake St.", "city": "Seattle" }, "interests": [ "Wine", "Walking" ], "children": [ { "name": "Berry Morfee", "age": 30 } ] }
-{ "cid": 573, "name": "Tyree Ketcher", "age": null, "address": null, "interests": [ "Computers", "Walking" ], "children": [ { "name": "Aleisha Ketcher", "age": null }, { "name": "Vonda Ketcher", "age": null }, { "name": "Cyndy Ketcher", "age": 13 }, { "name": "Chassidy Ketcher", "age": 30 } ] }
-{ "cid": 658, "name": "Truman Leitner", "age": null, "address": null, "interests": [ "Computers", "Bass", "Walking" ], "children": [  ] }
-{ "cid": 716, "name": "Deirdre Bruderer", "age": null, "address": null, "interests": [ "Computers", "Wine" ], "children": [ { "name": "Coralee Bruderer", "age": null }, { "name": "Mina Bruderer", "age": null }, { "name": "Lindsey Bruderer", "age": 35 }, { "name": "Yi Bruderer", "age": null } ] }
-{ "cid": 838, "name": "Karan Aharon", "age": 88, "address": { "number": 8033, "street": "Washington St.", "city": "Portland" }, "interests": [ "Computers", "Movies", "Walking" ], "children": [ { "name": "Matha Aharon", "age": 16 } ] }
diff --git a/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-olist-jaccard.adm b/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-olist-jaccard.adm
deleted file mode 100644
index 71bb9d7..0000000
--- a/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-olist-jaccard.adm
+++ /dev/null
@@ -1 +0,0 @@
-{ "cid": 153, "name": "Randy Hueso", "age": 11, "address": { "number": 1957, "street": "Oak St.", "city": "San Jose" }, "interests": [ "Computers", "Wine", "Databases", "Walking" ], "children": [  ] }
diff --git a/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-ulist-jaccard.adm b/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-ulist-jaccard.adm
deleted file mode 100644
index fd1b75e..0000000
--- a/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-ulist-jaccard.adm
+++ /dev/null
@@ -1 +0,0 @@
-{ "cid": 153, "name": "Randy Hueso", "age": 11, "address": { "number": 1957, "street": "Oak St.", "city": "San Jose" }, "interests": {{ "Computers", "Wine", "Databases", "Walking" }}, "children": [  ] }
diff --git a/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-word-contains.adm b/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-word-contains.adm
deleted file mode 100644
index 8a99b26..0000000
--- a/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-word-contains.adm
+++ /dev/null
@@ -1,3 +0,0 @@
-{ "id": 4, "dblpid": "books/acm/kim95/ChristodoulakisK95", "title": "Multimedia Information Systems  Issues and Approaches.", "authors": "Stavros Christodoulakis Leonidas Koveos", "misc": "2002-01-03 318-337 1995 Modern Database Systems db/books/collections/kim95.html#ChristodoulakisK95" }
-{ "id": 89, "dblpid": "conf/icip/SchonfeldL98", "title": "VORTEX  Video Retrieval and Tracking from Compressed Multimedia Databases.", "authors": "Dan Schonfeld Dan Lelescu", "misc": "2002-11-05 123-127 1998 ICIP (3) db/conf/icip/icip1998-3.html#SchonfeldL98" }
-{ "id": 90, "dblpid": "conf/hicss/SchonfeldL99", "title": "VORTEX  Video Retrieval and Tracking from Compressed Multimedia Databases ¾ Visual Search Engine.", "authors": "Dan Schonfeld Dan Lelescu", "misc": "2002-01-03 1999 HICSS http //computer.org/proceedings/hicss/0001/00013/00013006abs.htm db/conf/hicss/hicss1999-3.html#SchonfeldL99" }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-word-jaccard.adm b/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-word-jaccard.adm
deleted file mode 100644
index 5bf6ae0..0000000
--- a/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-word-jaccard.adm
+++ /dev/null
@@ -1 +0,0 @@
-{ "id": 9, "dblpid": "books/acm/kim95/Kaiser95", "title": "Cooperative Transactions for Multiuser Environments.", "authors": "Gail E. Kaiser", "misc": "2002-01-03 409-433 1995 Modern Database Systems db/books/collections/kim95.html#Kaiser95" }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/index-selection/rtree-secondary-index-open.adm b/asterix-app/src/test/resources/runtimets/results/index-selection/rtree-secondary-index-open.adm
deleted file mode 100644
index d22217a..0000000
--- a/asterix-app/src/test/resources/runtimets/results/index-selection/rtree-secondary-index-open.adm
+++ /dev/null
@@ -1,2 +0,0 @@
-{ "id": 12 }
-{ "id": 20 }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/index-selection/rtree-secondary-index.adm b/asterix-app/src/test/resources/runtimets/results/index-selection/rtree-secondary-index.adm
deleted file mode 100644
index d22217a..0000000
--- a/asterix-app/src/test/resources/runtimets/results/index-selection/rtree-secondary-index.adm
+++ /dev/null
@@ -1,2 +0,0 @@
-{ "id": 12 }
-{ "id": 20 }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/scan/alltypes_02.adm b/asterix-app/src/test/resources/runtimets/results/scan/alltypes_02.adm
deleted file mode 100644
index 64aee7c..0000000
--- a/asterix-app/src/test/resources/runtimets/results/scan/alltypes_02.adm
+++ /dev/null
@@ -1 +0,0 @@
-{ "id": 10, "name": "Nancy", "age": 32.5f, "salary": 12.0d, "married": true, "interests": {{ "reading", "writing" }}, "children": [ "Brad", "Scott" ], "address": { "number": 8389, "street": "Hill St.", "city": "Mountain View" }, "dob": date("-2011-01-27"), "time": time("12:20:30.000Z"), "datetime": datetime("-1951-12-27T12:20:30.000Z"), "duration": duration("P10Y11M12DT10H50M30S"), "location2d": point("41.0,44.0"), "location3d": point3d("44.0,13.0,41.0"), "line": line("10.1,11.1 10.2,11.2"), "polygon": polygon("1.2,1.3 2.1,2.5 3.5,3.6 4.6,4.8"), "circle": circle("10.1,11.1 10.2") }
diff --git a/asterix-app/src/test/resources/runtimets/results/spatial/circle-intersect-circle/circle-intersect-circle.1.adm b/asterix-app/src/test/resources/runtimets/results/spatial/circle-intersect-circle/circle-intersect-circle.1.adm
new file mode 100644
index 0000000..af533e3
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/spatial/circle-intersect-circle/circle-intersect-circle.1.adm
@@ -0,0 +1,6 @@
+{ "id": 1 }
+{ "id": 2 }
+{ "id": 3 }
+{ "id": 6 }
+{ "id": 9 }
+{ "id": 11 }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/spatial/create-rtree-index.adm b/asterix-app/src/test/resources/runtimets/results/spatial/create-rtree-index.adm
deleted file mode 100644
index 6a2a2c6..0000000
--- a/asterix-app/src/test/resources/runtimets/results/spatial/create-rtree-index.adm
+++ /dev/null
@@ -1,21 +0,0 @@
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/spatial/distance-between-points.adm b/asterix-app/src/test/resources/runtimets/results/spatial/distance-between-points.adm
deleted file mode 100644
index be5e2b4..0000000
--- a/asterix-app/src/test/resources/runtimets/results/spatial/distance-between-points.adm
+++ /dev/null
@@ -1,21 +0,0 @@
-{ "id": 1, "distance": 8.112336284942828d }
-{ "id": 2, "distance": 85.14105547296204d }
-{ "id": 3, "distance": 90.45204911653468d }
-{ "id": 4, "distance": 90.45204911653468d }
-{ "id": 5, "distance": 90.45204911653468d }
-{ "id": 6, "distance": 90.45204911653468d }
-{ "id": 7, "distance": 90.45204911653468d }
-{ "id": 8, "distance": 90.45204911653468d }
-{ "id": 9, "distance": 5.0990195135927845d }
-{ "id": 10, "distance": 3.605551275463989d }
-{ "id": 11, "distance": 4.9d }
-{ "id": 12, "distance": 6.708203932499369d }
-{ "id": 13, "distance": 7.0710678118654755d }
-{ "id": 14, "distance": 7.212489168102785d }
-{ "id": 15, "distance": 3.605551275463989d }
-{ "id": 16, "distance": 3.605551275463989d }
-{ "id": 17, "distance": 8.112336284942828d }
-{ "id": 18, "distance": 3.605551275463989d }
-{ "id": 19, "distance": 3.605551275463989d }
-{ "id": 20, "distance": 5.0d }
-{ "id": 21, "distance": 5.0d }
diff --git a/asterix-app/src/test/resources/runtimets/results/spatial/line-intersect-circle.adm b/asterix-app/src/test/resources/runtimets/results/spatial/line-intersect-circle.adm
deleted file mode 100644
index 3ed757e..0000000
--- a/asterix-app/src/test/resources/runtimets/results/spatial/line-intersect-circle.adm
+++ /dev/null
@@ -1,14 +0,0 @@
-{ "id": 2 }
-{ "id": 3 }
-{ "id": 6 }
-{ "id": 7 }
-{ "id": 10 }
-{ "id": 11 }
-{ "id": 12 }
-{ "id": 13 }
-{ "id": 14 }
-{ "id": 15 }
-{ "id": 16 }
-{ "id": 18 }
-{ "id": 19 }
-{ "id": 21 }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/spatial/line-intersect-rectangle.adm b/asterix-app/src/test/resources/runtimets/results/spatial/line-intersect-rectangle.adm
deleted file mode 100644
index 59506d2..0000000
--- a/asterix-app/src/test/resources/runtimets/results/spatial/line-intersect-rectangle.adm
+++ /dev/null
@@ -1,14 +0,0 @@
-{ "id": 1 }
-{ "id": 2 }
-{ "id": 3 }
-{ "id": 7 }
-{ "id": 10 }
-{ "id": 11 }
-{ "id": 12 }
-{ "id": 13 }
-{ "id": 14 }
-{ "id": 15 }
-{ "id": 16 }
-{ "id": 18 }
-{ "id": 19 }
-{ "id": 21 }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/spatial/point-in-circle.adm b/asterix-app/src/test/resources/runtimets/results/spatial/point-in-circle.adm
deleted file mode 100644
index f8d6259..0000000
--- a/asterix-app/src/test/resources/runtimets/results/spatial/point-in-circle.adm
+++ /dev/null
@@ -1,8 +0,0 @@
-{ "id": 10 }
-{ "id": 11 }
-{ "id": 15 }
-{ "id": 16 }
-{ "id": 18 }
-{ "id": 19 }
-{ "id": 20 }
-{ "id": 21 }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/spatial/point-in-polygon.adm b/asterix-app/src/test/resources/runtimets/results/spatial/point-in-polygon.adm
deleted file mode 100644
index d22217a..0000000
--- a/asterix-app/src/test/resources/runtimets/results/spatial/point-in-polygon.adm
+++ /dev/null
@@ -1,2 +0,0 @@
-{ "id": 12 }
-{ "id": 20 }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/spatial/point-in-rectangle.adm b/asterix-app/src/test/resources/runtimets/results/spatial/point-in-rectangle.adm
deleted file mode 100644
index 424f77a..0000000
--- a/asterix-app/src/test/resources/runtimets/results/spatial/point-in-rectangle.adm
+++ /dev/null
@@ -1,4 +0,0 @@
-{ "id": 1 }
-{ "id": 10 }
-{ "id": 20 }
-{ "id": 21 }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/spatial/point-on-line.adm b/asterix-app/src/test/resources/runtimets/results/spatial/point-on-line.adm
deleted file mode 100644
index f737ee8..0000000
--- a/asterix-app/src/test/resources/runtimets/results/spatial/point-on-line.adm
+++ /dev/null
@@ -1,5 +0,0 @@
-{ "id": 1 }
-{ "id": 9 }
-{ "id": 10 }
-{ "id": 17 }
-{ "id": 21 }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/spatial/polygon-intersect-circle.adm b/asterix-app/src/test/resources/runtimets/results/spatial/polygon-intersect-circle.adm
deleted file mode 100644
index bb9a070..0000000
--- a/asterix-app/src/test/resources/runtimets/results/spatial/polygon-intersect-circle.adm
+++ /dev/null
@@ -1,11 +0,0 @@
-{ "id": 10 }
-{ "id": 11 }
-{ "id": 12 }
-{ "id": 13 }
-{ "id": 14 }
-{ "id": 15 }
-{ "id": 16 }
-{ "id": 17 }
-{ "id": 18 }
-{ "id": 19 }
-{ "id": 20 }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/spatial/polygon-intersect-rectangle.adm b/asterix-app/src/test/resources/runtimets/results/spatial/polygon-intersect-rectangle.adm
deleted file mode 100644
index aa83a89..0000000
--- a/asterix-app/src/test/resources/runtimets/results/spatial/polygon-intersect-rectangle.adm
+++ /dev/null
@@ -1,10 +0,0 @@
-{ "id": 1 }
-{ "id": 2 }
-{ "id": 3 }
-{ "id": 4 }
-{ "id": 6 }
-{ "id": 9 }
-{ "id": 12 }
-{ "id": 17 }
-{ "id": 20 }
-{ "id": 21 }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/spatial/rectangle-intersect-circle.adm b/asterix-app/src/test/resources/runtimets/results/spatial/rectangle-intersect-circle.adm
deleted file mode 100644
index 260b1bf..0000000
--- a/asterix-app/src/test/resources/runtimets/results/spatial/rectangle-intersect-circle.adm
+++ /dev/null
@@ -1,20 +0,0 @@
-{ "id": 1 }
-{ "id": 2 }
-{ "id": 3 }
-{ "id": 4 }
-{ "id": 5 }
-{ "id": 6 }
-{ "id": 8 }
-{ "id": 9 }
-{ "id": 10 }
-{ "id": 11 }
-{ "id": 12 }
-{ "id": 13 }
-{ "id": 14 }
-{ "id": 15 }
-{ "id": 16 }
-{ "id": 17 }
-{ "id": 18 }
-{ "id": 19 }
-{ "id": 20 }
-{ "id": 21 }
diff --git a/asterix-app/src/test/resources/runtimets/results/spatial/rectangle-intersect-rectangle.adm b/asterix-app/src/test/resources/runtimets/results/spatial/rectangle-intersect-rectangle.adm
deleted file mode 100644
index fed2dc7..0000000
--- a/asterix-app/src/test/resources/runtimets/results/spatial/rectangle-intersect-rectangle.adm
+++ /dev/null
@@ -1,3 +0,0 @@
-{ "id": 1 }
-{ "id": 7 }
-{ "id": 21 }
\ No newline at end of file
diff --git a/diff_file b/diff_file
deleted file mode 100644
index e0e6714..0000000
--- a/diff_file
+++ /dev/null
@@ -1,4486 +0,0 @@
-Index: asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/transaction/TransactionManager.java
-===================================================================
---- asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/transaction/TransactionManager.java	(revision 1194)
-+++ asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/transaction/TransactionManager.java	(working copy)
-@@ -103,12 +103,14 @@
-             //for entity-level commit
-             if (PKHashVal != -1) {
-                 transactionProvider.getLockManager().unlock(datasetId, PKHashVal, txnContext, true);
-+                /*****************************
-                 try {
-                     //decrease the transaction reference count on index
-                     txnContext.decreaseActiveTransactionCountOnIndexes();
-                 } catch (HyracksDataException e) {
-                     throw new ACIDException("failed to complete index operation", e);
-                 }
-+                *****************************/
-                 return;
-             }
- 
-Index: asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/transaction/TransactionContext.java
-===================================================================
---- asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/transaction/TransactionContext.java	(revision 1194)
-+++ asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/transaction/TransactionContext.java	(working copy)
-@@ -19,6 +19,7 @@
- import java.util.HashSet;
- import java.util.List;
- import java.util.Set;
-+import java.util.concurrent.atomic.AtomicInteger;
- 
- import edu.uci.ics.asterix.transaction.management.exception.ACIDException;
- import edu.uci.ics.asterix.transaction.management.opcallbacks.AbstractOperationCallback;
-@@ -169,5 +170,14 @@
-             closeable.close(this);
-         }
-     }
-+    
-+    @Override
-+    public int hashCode() {
-+        return jobId.getId();
-+    }
- 
-+    @Override
-+    public boolean equals(Object o) {
-+        return (o == this);
-+    }
- }
-Index: asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/locking/LockManager.java
-===================================================================
---- asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/locking/LockManager.java	(revision 1194)
-+++ asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/locking/LockManager.java	(working copy)
-@@ -567,7 +567,7 @@
-             if (commitFlag) {
-                 if (txnContext.getTransactionType().equals(TransactionContext.TransactionType.READ_WRITE)) {
-                     try {
--                        txnSubsystem.getLogManager().log(LogType.COMMIT, txnContext, datasetId.getId(),
-+                        txnSubsystem.getLogManager().log(LogType.ENTITY_COMMIT, txnContext, datasetId.getId(),
-                                 entityHashValue, -1, (byte) 0, 0, null, null, logicalLogLocator);
-                     } catch (ACIDException e) {
-                         try {
-Index: asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/FileBasedBuffer.java
-===================================================================
---- asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/FileBasedBuffer.java	(revision 1194)
-+++ asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/FileBasedBuffer.java	(working copy)
-@@ -75,6 +75,7 @@
-         buffer.position(0);
-         buffer.limit(size);
-         fileChannel.write(buffer);
-+        fileChannel.force(false);
-         erase();
-     }
- 
-Index: asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/LogManager.java
-===================================================================
---- asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/LogManager.java	(revision 1194)
-+++ asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/LogManager.java	(working copy)
-@@ -1,5 +1,5 @@
- /*
-- * Copyright 2009-2010 by The Regents of the University of California
-+ * Copyright 2009-2012 by The Regents of the University of California
-  * Licensed under the Apache License, Version 2.0 (the "License");
-  * you may not use this file except in compliance with the License.
-  * you may obtain a copy of the License from
-@@ -21,7 +21,12 @@
- import java.io.RandomAccessFile;
- import java.nio.ByteBuffer;
- import java.nio.channels.FileChannel;
-+import java.util.ArrayList;
-+import java.util.HashMap;
-+import java.util.List;
-+import java.util.Map;
- import java.util.Properties;
-+import java.util.Set;
- import java.util.concurrent.LinkedBlockingQueue;
- import java.util.concurrent.atomic.AtomicInteger;
- import java.util.concurrent.atomic.AtomicLong;
-@@ -30,22 +35,25 @@
- 
- import edu.uci.ics.asterix.transaction.management.exception.ACIDException;
- import edu.uci.ics.asterix.transaction.management.service.logging.IndexLogger.ReusableLogContentObject;
-+import edu.uci.ics.asterix.transaction.management.service.logging.LogManager.PageOwnershipStatus;
-+import edu.uci.ics.asterix.transaction.management.service.logging.LogManager.PageState;
- import edu.uci.ics.asterix.transaction.management.service.transaction.TransactionContext;
- import edu.uci.ics.asterix.transaction.management.service.transaction.TransactionManagementConstants;
- import edu.uci.ics.asterix.transaction.management.service.transaction.TransactionSubsystem;
-+import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
- 
- public class LogManager implements ILogManager {
- 
-     public static final boolean IS_DEBUG_MODE = false;//true
-     private static final Logger LOGGER = Logger.getLogger(LogManager.class.getName());
--    private TransactionSubsystem provider;
-+    private final TransactionSubsystem provider;
-     private LogManagerProperties logManagerProperties;
-+    private LogPageFlushThread logPageFlusher;
- 
-     /*
-      * the array of log pages. The number of log pages is configurable. Pages
-      * taken together form an in-memory log buffer.
-      */
--
-     private IFileBasedBuffer[] logPages;
- 
-     private ILogRecordHelper logRecordHelper;
-@@ -54,6 +62,7 @@
-      * Number of log pages that constitute the in-memory log buffer.
-      */
-     private int numLogPages;
-+
-     /*
-      * Initially all pages have an owner count of 1 that is the LogManager. When
-      * a transaction requests to write in a log page, the owner count is
-@@ -62,12 +71,11 @@
-      * (covering the whole log record). When the content has been put, the log
-      * manager computes the checksum and puts it after the content. At this
-      * point, the ownership count is decremented as the transaction is done with
--     * using the page. When a page is full, the log manager decrements the count
--     * by one indicating that it has released its ownership of the log page.
--     * There could be other transaction(s) still owning the page (that is they
--     * could still be mid-way putting the log content). When the ownership count
--     * eventually reaches zero, the thread responsible for flushing the log page
--     * is notified and the page is flushed to disk.
-+     * using the page. When a page is requested to be flushed, logPageFlusher
-+     * set the count to 0(LOG_FLUSHER: meaning that the page is being flushed)
-+     * only if the count is 1(LOG_WRITER: meaning that there is no other 
-+     * transactions who own the page to write logs.) After flushing the page, 
-+     * logPageFlusher set this count to 1. 
-      */
-     private AtomicInteger[] logPageOwnerCount;
- 
-@@ -78,18 +86,16 @@
- 
-     /*
-      * LogPageStatus: A page is either ACTIVE or INACTIVE. The status for each
--     * page is maintained in a map called logPageStatus. A page is ACTIVE when
--     * the LogManager can allocate space in the page for writing a log record.
--     * Initially all pages are ACTIVE. As transactions fill up space by writing
--     * log records, a page may not have sufficient space left for serving a
--     * request by a transaction. When this happens, the page is marked INACTIVE.
--     * An INACTIVE page with no owners ( logPageOwnerCount.get(<pageIndex>) ==
--     * 0) indicates that the page must be flushed to disk before any other log
--     * record is written on the page.F
-+     * page is maintained in logPageStatus. A page is ACTIVE when the LogManager 
-+     * can allocate space in the page for writing a log record. Initially all 
-+     * pages are ACTIVE. As transactions fill up space by writing log records, 
-+     * a page may not have sufficient space left for serving a request by a 
-+     * transaction. When this happens, the page is flushed to disk by calling
-+     * logPageFlusher.requestFlush(). In the requestFlush(), after groupCommitWaitTime,
-+     * the page status is set to INACTIVE. Then, there is no more writer on the
-+     * page(meaning the corresponding logPageOwnerCount is 1), the page is flushed
-+     * by the logPageFlusher and the status is reset to ACTIVE by the logPageFlusher.   
-      */
--
--    // private Map<Integer, Integer> logPageStatus = new
--    // ConcurrentHashMap<Integer, Integer>();
-     private AtomicInteger[] logPageStatus;
- 
-     static class PageState {
-@@ -98,41 +104,8 @@
-     }
- 
-     private AtomicLong lastFlushedLsn = new AtomicLong(-1);
--    private AtomicInteger lastFlushedPage = new AtomicInteger(-1);
- 
-     /*
--     * pendingFlushRequests is a map with key as Integer denoting the page
--     * index. When a (transaction) thread discovers the need to flush a page, it
--     * puts its Thread object into the corresponding value that is a
--     * LinkedBlockingQueue. The LogManager has a LogFlusher thread that scans
--     * this map in order of page index (and circling around). The flusher thread
--     * needs to flush pages in order and waits for a thread to deposit an object
--     * in the blocking queue corresponding to the next page in order. A request
--     * to flush a page is conveyed to the flush thread by simply depositing an
--     * object in to corresponding blocking queue. It is blocking in the sense
--     * that the flusher thread will continue to wait for an object to arrive in
--     * the queue. The object itself is ignored by the fliusher and just acts as
--     * a signal/event that a page needs to be flushed.
--     */
--
--    private LinkedBlockingQueue[] pendingFlushRequests;
--
--    /*
--     * ICommitResolver is an interface that provides an API that can answer a
--     * simple boolean - Given the commit requests so far, should a page be
--     * flushed. The implementation of the interface contains the logic (or you
--     * can say the policy) for commit. It could be group commit in which case
--     * the commit resolver may not return a true indicating that it wishes to
--     * delay flushing of the page.
--     */
--    private ICommitResolver commitResolver;
--
--    /*
--     * An object that keeps track of the submitted commit requests.
--     */
--    private CommitRequestStatistics commitRequestStatistics;
--
--    /*
-      * When the transaction eco-system comes to life, the log manager positions
-      * itself to the end of the last written log. the startingLsn represent the
-      * lsn value of the next log record to be written after a system (re)start.
-@@ -146,16 +119,10 @@
-      */
-     private AtomicLong lsn = new AtomicLong(0);
- 
--    /*
--     * A map that tracks the flush requests submitted for each page. The
--     * requests for a page are cleared when the page is flushed.
--     */
--    public LinkedBlockingQueue<Thread> getPendingFlushRequests(int pageIndex) {
--        return pendingFlushRequests[pageIndex];
--    }
-+    private List<HashMap<TransactionContext, Integer>> activeTxnCountMaps;
- 
--    public void addFlushRequest(int pageIndex) {
--        pendingFlushRequests[pageIndex].add(pendingFlushRequests);
-+    public void addFlushRequest(int pageIndex, long lsn, boolean isSynchronous) {
-+        logPageFlusher.requestFlush(pageIndex, lsn, isSynchronous);
-     }
- 
-     public AtomicLong getLastFlushedLsn() {
-@@ -233,19 +200,12 @@
-         numLogPages = logManagerProperties.getNumLogPages();
-         logPageOwnerCount = new AtomicInteger[numLogPages];
-         logPageStatus = new AtomicInteger[numLogPages];
--        pendingFlushRequests = new LinkedBlockingQueue[numLogPages];
--        if (logManagerProperties.getGroupCommitWaitPeriod() > 0) { // configure
--            // the
--            // Commit
--            // Resolver
--            commitResolver = new GroupCommitResolver(); // Group Commit is
--            // enabled
--            commitRequestStatistics = new CommitRequestStatistics(numLogPages);
--        } else {
--            commitResolver = new BasicCommitResolver(); // the basic commit
--            // resolver
-+
-+        activeTxnCountMaps = new ArrayList<HashMap<TransactionContext, Integer>>(numLogPages);
-+        for (int i = 0; i < numLogPages; i++) {
-+            activeTxnCountMaps.add(new HashMap<TransactionContext, Integer>());
-         }
--        this.commitResolver.init(this); // initialize the commit resolver
-+
-         logPages = new FileBasedBuffer[numLogPages];
- 
-         /*
-@@ -264,7 +224,6 @@
-         for (int i = 0; i < numLogPages; i++) {
-             logPageOwnerCount[i] = new AtomicInteger(PageOwnershipStatus.LOG_WRITER);
-             logPageStatus[i] = new AtomicInteger(PageState.ACTIVE);
--            pendingFlushRequests[i] = new LinkedBlockingQueue<Thread>();
-         }
- 
-         /*
-@@ -278,9 +237,9 @@
-          * daemon thread so that it does not stop the JVM from exiting when all
-          * other threads are done with their work.
-          */
--        LogPageFlushThread logFlusher = new LogPageFlushThread(this);
--        logFlusher.setDaemon(true);
--        logFlusher.start();
-+        logPageFlusher = new LogPageFlushThread(this);
-+        logPageFlusher.setDaemon(true);
-+        logPageFlusher.start();
-     }
- 
-     public int getLogPageIndex(long lsnValue) {
-@@ -312,7 +271,7 @@
-      */
-     private void waitUntillPageIsAvailableForWritingLog(int pageIndex) throws ACIDException {
-         if (logPageStatus[pageIndex].get() == PageState.ACTIVE
--                && getLogPageOwnershipCount(pageIndex).get() >= PageOwnershipStatus.LOG_WRITER) {
-+                && logPageOwnerCount[pageIndex].get() >= PageOwnershipStatus.LOG_WRITER) {
-             return;
-         }
-         try {
-@@ -338,47 +297,40 @@
-      */
-     private long getLsn(int entrySize, byte logType) throws ACIDException {
-         long pageSize = logManagerProperties.getLogPageSize();
--        boolean requiresFlushing = logType == LogType.COMMIT;
-+
-         while (true) {
-             boolean forwardPage = false;
--            boolean shouldFlushPage = false;
-             long old = lsn.get();
--            int pageIndex = getLogPageIndex(old); // get the log page
--            // corresponding to the
--            // current lsn value
-+
-+            //get the log page corresponding to the current lsn value
-+            int pageIndex = getLogPageIndex(old);
-             long retVal = old;
--            long next = old + entrySize; // the lsn value for the next request,
--            // if the current request is served.
-+
-+            // the lsn value for the next request if the current request is served.
-+            long next = old + entrySize;
-             int prevPage = -1;
--            if ((next - 1) / pageSize != old / pageSize // check if the log
--            // record will cross
--            // page boundaries, a
--            // case that is not
--            // allowed.
--                    || (next % pageSize == 0)) {
-+
-+            // check if the log  record will cross page boundaries, a case that is not allowed.
-+            if ((next - 1) / pageSize != old / pageSize || (next % pageSize == 0)) {
-+
-                 if ((old != 0 && old % pageSize == 0)) {
--                    retVal = old; // On second thought, this shall never be the
--                    // case as it means that the lsn is
--                    // currently at the beginning of a page and
--                    // we still need to forward the page which
--                    // means that the entrySize exceeds a log
--                    // page size. If this is the case, an
--                    // exception is thrown before calling this
--                    // API.
--                    // would remove this case.
-+                    // On second thought, this shall never be the case as it means that the lsn is
-+                    // currently at the beginning of a page and we still need to forward the page which
-+                    // means that the entrySize exceeds a log page size. If this is the case, an
-+                    // exception is thrown before calling this API. would remove this case.
-+                    retVal = old;
- 
-                 } else {
--                    retVal = ((old / pageSize) + 1) * pageSize; // set the lsn
--                    // to point to
--                    // the beginning
--                    // of the next
--                    // page.
-+                    // set the lsn to point to the beginning of the next page.
-+                    retVal = ((old / pageSize) + 1) * pageSize;
-                 }
-+
-                 next = retVal;
--                forwardPage = true; // as the log record shall cross log page
--                // boundary, we must re-assign the lsn (so
--                // that the log record begins on a different
--                // location.
-+
-+                // as the log record shall cross log page boundary, we must re-assign the lsn so
-+                // that the log record begins on a different location.
-+                forwardPage = true;
-+
-                 prevPage = pageIndex;
-                 pageIndex = getNextPageInSequence(pageIndex);
-             }
-@@ -397,109 +349,51 @@
-              */
-             waitUntillPageIsAvailableForWritingLog(pageIndex);
- 
--            if (!forwardPage && requiresFlushing) {
--                shouldFlushPage = commitResolver.shouldCommitPage(pageIndex, this, commitRequestStatistics);
--                if (shouldFlushPage) {
--                    next = ((next / pageSize) + 1) * pageSize; /*
--                                                                * next
--                                                                * represents the
--                                                                * next value of
--                                                                * lsn after this
--                                                                * log record has
--                                                                * been written.
--                                                                * If the page
--                                                                * needs to be
--                                                                * flushed, then
--                                                                * we do not give
--                                                                * any more LSNs
--                                                                * from this
--                                                                * page.
--                                                                */
--                }
--            }
--            if (!lsn.compareAndSet(old, next)) { // Atomic call -> returns true
--                // only when the value
--                // represented by lsn is same as
--                // "old". The value is updated
--                // to "next".
-+            if (!lsn.compareAndSet(old, next)) {
-+                // Atomic call -> returns true only when the value represented by lsn is same as
-+                // "old". The value is updated to "next".
-                 continue;
-             }
- 
-             if (forwardPage) {
--                //TODO 
--                //this is not safe since the incoming thread may reach the same page slot with this page 
--                //(differ by the log buffer size)
--                logPageStatus[prevPage].set(PageState.INACTIVE); // mark
--                // previous
--                // page
--                // inactive
-+                addFlushRequest(prevPage, old, false);
- 
--                /*
--                 * decrement on the behalf of the log manager. if there are no
--                 * more owners (count == 0) the page must be marked as a
--                 * candidate to be flushed.
--                 */
--                int pageDirtyCount = getLogPageOwnershipCount(prevPage).decrementAndGet();
--                if (pageDirtyCount == 0) {
--                    addFlushRequest(prevPage);
--                }
--
--                /*
--                 * The transaction thread that discovers the need to forward a
--                 * page is made to re-acquire a lsn.
--                 */
-+                // The transaction thread that discovers the need to forward a
-+                // page is made to re-acquire a lsn.
-                 continue;
-+
-             } else {
--                /*
--                 * the transaction thread has been given a space in a log page,
--                 * but is made to wait until the page is available.
--                 */
-+                // the transaction thread has been given a space in a log page,
-+                // but is made to wait until the page is available.
-+                // (Is this needed? when does this wait happen?)
-                 waitUntillPageIsAvailableForWritingLog(pageIndex);
--                /*
--                 * increment the counter as the transaction thread now holds a
--                 * space in the log page and hence is an owner.
--                 */
-+
-+                // increment the counter as the transaction thread now holds a
-+                // space in the log page and hence is an owner.
-                 logPageOwnerCount[pageIndex].incrementAndGet();
--            }
--            if (requiresFlushing) {
--                if (!shouldFlushPage) {
--                    /*
--                     * the log record requires the page to be flushed but under
--                     * the commit policy, the flush task has been deferred. The
--                     * transaction thread submits its request to flush the page.
--                     */
--                    commitRequestStatistics.registerCommitRequest(pageIndex);
--                } else {
--                    /*
--                     * the flush request was approved by the commit resolver.
--                     * Thus the page is marked INACTIVE as no more logs will be
--                     * written on this page. The log manager needs to release
--                     * its ownership. Note that transaction threads may still
--                     * continue to be owners of the log page till they fill up
--                     * the space allocated to them.
--                     */
--                    logPageStatus[pageIndex].set(PageState.INACTIVE);
--                    logPageOwnerCount[pageIndex].decrementAndGet(); // on
--                    // the
--                    // behalf
--                    // of
--                    // log
--                    // manager
-+
-+                // Before the count is incremented, if the flusher flushed the allocated page, 
-+                // then retry to get new LSN. Otherwise, the log with allocated lsn will be lost. 
-+                if (lastFlushedLsn.get() >= retVal) {
-+                    logPageOwnerCount[pageIndex].decrementAndGet();
-+                    continue;
-                 }
-             }
-+
-             return retVal;
-         }
-     }
- 
-     @Override
--    public void log(byte logType, TransactionContext context, int datasetId, int PKHashValue, long resourceId,
-+    public void log(byte logType, TransactionContext txnCtx, int datasetId, int PKHashValue, long resourceId,
-             byte resourceMgrId, int logContentSize, ReusableLogContentObject reusableLogContentObject, ILogger logger,
-             LogicalLogLocator logicalLogLocator) throws ACIDException {
--        /*
--         * logLocator is a re-usable object that is appropriately set in each
--         * invocation. If the reference is null, the log manager must throw an
--         * exception
--         */
-+
-+        HashMap<TransactionContext, Integer> map = null;
-+        int activeTxnCount;
-+
-+        // logLocator is a re-usable object that is appropriately set in each invocation. 
-+        // If the reference is null, the log manager must throw an exception.
-         if (logicalLogLocator == null) {
-             throw new ACIDException(
-                     " you need to pass in a non-null logLocator, if you dont have it, then pass in a dummy so that the +"
-@@ -519,20 +413,19 @@
- 
-         // all constraints checked and we are good to go and acquire a lsn.
-         long previousLSN = -1;
--        long currentLSN; // the will be set to the location (a long value)
--        // where the log record needs to be placed.
- 
--        /*
--         * The logs written by a transaction need to be linked to each other for
--         * a successful rollback/recovery. However there could be multiple
--         * threads operating concurrently that are part of a common transaction.
--         * These threads need to synchronize and record the lsn corresponding to
--         * the last log record written by (any thread of) the transaction.
--         */
--        synchronized (context) {
--            previousLSN = context.getLastLogLocator().getLsn();
-+        // the will be set to the location (a long value) where the log record needs to be placed.
-+        long currentLSN;
-+
-+        // The logs written by a transaction need to be linked to each other for
-+        // a successful rollback/recovery. However there could be multiple
-+        // threads operating concurrently that are part of a common transaction.
-+        // These threads need to synchronize and record the lsn corresponding to
-+        // the last log record written by (any thread of) the transaction.
-+        synchronized (txnCtx) {
-+            previousLSN = txnCtx.getLastLogLocator().getLsn();
-             currentLSN = getLsn(totalLogSize, logType);
--            context.setLastLSN(currentLSN);
-+            txnCtx.setLastLSN(currentLSN);
-             if (IS_DEBUG_MODE) {
-                 System.out.println("--------------> LSN(" + currentLSN + ") is allocated");
-             }
-@@ -547,48 +440,37 @@
-          * performed correctly that is ownership is released.
-          */
- 
--        boolean decremented = false; // indicates if the transaction thread
--        // has release ownership of the
--        // page.
--        boolean addedFlushRequest = false; // indicates if the transaction
--        // thread has submitted a flush
--        // request.
-+        // indicates if the transaction thread has release ownership of the page.
-+        boolean decremented = false;
- 
-         int pageIndex = (int) getLogPageIndex(currentLSN);
- 
--        /*
--         * the lsn has been obtained for the log record. need to set the
--         * LogLocator instance accordingly.
--         */
--
-+        // the lsn has been obtained for the log record. need to set the
-+        // LogLocator instance accordingly.
-         try {
--
-             logicalLogLocator.setBuffer(logPages[pageIndex]);
-             int pageOffset = getLogPageOffset(currentLSN);
-             logicalLogLocator.setMemoryOffset(pageOffset);
- 
--            /*
--             * write the log header.
--             */
--            logRecordHelper.writeLogHeader(logicalLogLocator, logType, context, datasetId, PKHashValue, previousLSN,
-+            // write the log header.
-+            logRecordHelper.writeLogHeader(logicalLogLocator, logType, txnCtx, datasetId, PKHashValue, previousLSN,
-                     resourceId, resourceMgrId, logContentSize);
- 
-             // increment the offset so that the transaction can fill up the
-             // content in the correct region of the allocated space.
-             logicalLogLocator.increaseMemoryOffset(logRecordHelper.getLogHeaderSize(logType));
- 
--            // a COMMIT log record does not have any content
--            // and hence the logger (responsible for putting the log content) is
--            // not invoked.
-+            // a COMMIT log record does not have any content and hence 
-+            // the logger (responsible for putting the log content) is not invoked.
-             if (logContentSize != 0) {
--                logger.preLog(context, reusableLogContentObject);
-+                logger.preLog(txnCtx, reusableLogContentObject);
-             }
- 
-             if (logContentSize != 0) {
-                 // call the logger implementation and ask to fill in the log
-                 // record content at the allocated space.
--                logger.log(context, logicalLogLocator, logContentSize, reusableLogContentObject);
--                logger.postLog(context, reusableLogContentObject);
-+                logger.log(txnCtx, logicalLogLocator, logContentSize, reusableLogContentObject);
-+                logger.postLog(txnCtx, reusableLogContentObject);
-                 if (IS_DEBUG_MODE) {
-                     logicalLogLocator.setMemoryOffset(logicalLogLocator.getMemoryOffset()
-                             - logRecordHelper.getLogHeaderSize(logType));
-@@ -597,10 +479,8 @@
-                 }
-             }
- 
--            /*
--             * The log record has been written. For integrity checks, compute
--             * the checksum and put it at the end of the log record.
--             */
-+            // The log record has been written. For integrity checks, compute
-+            // the checksum and put it at the end of the log record.
-             int startPosChecksum = logicalLogLocator.getMemoryOffset() - logRecordHelper.getLogHeaderSize(logType);
-             int length = totalLogSize - logRecordHelper.getLogChecksumSize();
-             long checksum = DataUtil.getChecksum(logPages[pageIndex], startPosChecksum, length);
-@@ -611,46 +491,31 @@
-                 System.out.println("--------------> LSN(" + currentLSN + ") is written");
-             }
- 
--            /*
--             * release the ownership as the log record has been placed in
--             * created space.
--             */
--            int pageDirtyCount = logPageOwnerCount[pageIndex].decrementAndGet();
-+            // release the ownership as the log record has been placed in created space.
-+            logPageOwnerCount[pageIndex].decrementAndGet();
- 
-             // indicating that the transaction thread has released ownership
-             decremented = true;
- 
--            /*
--             * If the transaction thread happens to be the last owner of the log
--             * page the page must by marked as a candidate to be flushed.
--             */
--            if (pageDirtyCount == 0 && logPageStatus[pageIndex].get() == PageState.INACTIVE) {
--                addFlushRequest(pageIndex);
--                addedFlushRequest = true;
--            }
--
--            /*
--             * If the log type is commit, a flush request is registered, if the
--             * log record has not reached the disk. It may be possible that this
--             * thread does not get CPU cycles and in-between the log record has
--             * been flushed to disk because the containing log page filled up.
--             */
--            if (logType == LogType.COMMIT) {
--                synchronized (logPages[pageIndex]) {
--                    while (getLastFlushedLsn().get() < currentLSN) {
--                        logPages[pageIndex].wait();
--                    }
-+            if (logType == LogType.ENTITY_COMMIT) {
-+                map = activeTxnCountMaps.get(pageIndex);
-+                if (map.containsKey(txnCtx)) {
-+                    activeTxnCount = (Integer) map.get(txnCtx);
-+                    activeTxnCount++;
-+                    map.put(txnCtx, activeTxnCount);
-+                } else {
-+                    map.put(txnCtx, 1);
-                 }
-+                addFlushRequest(pageIndex, currentLSN, false);
-+            } else if (logType == LogType.COMMIT) {
-+                addFlushRequest(pageIndex, currentLSN, true);
-             }
- 
-         } catch (Exception e) {
-             e.printStackTrace();
--            throw new ACIDException(context, "Thread: " + Thread.currentThread().getName()
-+            throw new ACIDException(txnCtx, "Thread: " + Thread.currentThread().getName()
-                     + " logger encountered exception", e);
-         } finally {
--            /*
--             * If an exception was encountered and we did not release ownership
--             */
-             if (!decremented) {
-                 logPageOwnerCount[pageIndex].decrementAndGet();
-             }
-@@ -667,9 +532,6 @@
- 
-         logPages[pageIndex].reset(filePath, LogUtil.getFileOffset(this, nextWritePosition),
-                 logManagerProperties.getLogPageSize());
--
--        //TODO Check if this is necessary
--        //Arrays.fill(logPages[pageIndex].getArray(), (byte) 0);
-     }
- 
-     @Override
-@@ -747,16 +609,13 @@
-             //minimize memory allocation overhead. current code allocates the log page size per reading a log record.
- 
-             byte[] pageContent = new byte[logManagerProperties.getLogPageSize()];
--            // take a lock on the log page so that the page is not flushed to
--            // disk interim
-+
-+            // take a lock on the log page so that the page is not flushed to disk interim
-             synchronized (logPages[pageIndex]) {
--                if (lsnValue > getLastFlushedLsn().get()) { // need to check
--                    // again
--                    // (this
--                    // thread may have got
--                    // de-scheduled and must
--                    // refresh!)
- 
-+                // need to check again (this thread may have got de-scheduled and must refresh!)
-+                if (lsnValue > getLastFlushedLsn().get()) {
-+
-                     // get the log record length
-                     logPages[pageIndex].getBytes(pageContent, 0, pageContent.length);
-                     byte logType = pageContent[pageOffset + 4];
-@@ -765,9 +624,7 @@
-                     int logRecordSize = logHeaderSize + logBodySize + logRecordHelper.getLogChecksumSize();
-                     logRecord = new byte[logRecordSize];
- 
--                    /*
--                     * copy the log record content
--                     */
-+                    // copy the log record content
-                     System.arraycopy(pageContent, pageOffset, logRecord, 0, logRecordSize);
-                     MemBasedBuffer memBuffer = new MemBasedBuffer(logRecord);
-                     if (logicalLogLocator == null) {
-@@ -790,9 +647,7 @@
-             }
-         }
- 
--        /*
--         * the log record is residing on the disk, read it from there.
--         */
-+        // the log record is residing on the disk, read it from there.
-         readDiskLog(lsnValue, logicalLogLocator);
-     }
- 
-@@ -860,30 +715,40 @@
-         return logPageOwnerCount[pageIndex];
-     }
- 
--    public ICommitResolver getCommitResolver() {
--        return commitResolver;
--    }
--
--    public CommitRequestStatistics getCommitRequestStatistics() {
--        return commitRequestStatistics;
--    }
--
-     public IFileBasedBuffer[] getLogPages() {
-         return logPages;
-     }
- 
--    public int getLastFlushedPage() {
--        return lastFlushedPage.get();
--    }
--
--    public void setLastFlushedPage(int lastFlushedPage) {
--        this.lastFlushedPage.set(lastFlushedPage);
--    }
--
-     @Override
-     public TransactionSubsystem getTransactionSubsystem() {
-         return provider;
-     }
-+
-+    public void decrementActiveTxnCountOnIndexes(int pageIndex) throws HyracksDataException {
-+        TransactionContext ctx = null;
-+        int count = 0;
-+        int i = 0;
-+
-+        HashMap<TransactionContext, Integer> map = activeTxnCountMaps.get(pageIndex);
-+        Set<Map.Entry<TransactionContext, Integer>> entrySet = map.entrySet();
-+        if (entrySet != null) {
-+            for (Map.Entry<TransactionContext, Integer> entry : entrySet) {
-+                if (entry != null) {
-+                    if (entry.getValue() != null) {
-+                        count = entry.getValue();
-+                    }
-+                    if (count > 0) {
-+                        ctx = entry.getKey();
-+                        for (i = 0; i < count; i++) {
-+                            ctx.decreaseActiveTransactionCountOnIndexes();
-+                        }
-+                    }
-+                }
-+            }
-+        }
-+
-+        map.clear();
-+    }
- }
- 
- /*
-@@ -895,36 +760,82 @@
- class LogPageFlushThread extends Thread {
- 
-     private LogManager logManager;
-+    /*
-+     * pendingFlushRequests is a map with key as Integer denoting the page
-+     * index. When a (transaction) thread discovers the need to flush a page, it
-+     * puts its Thread object into the corresponding value that is a
-+     * LinkedBlockingQueue. The LogManager has a LogFlusher thread that scans
-+     * this map in order of page index (and circling around). The flusher thread
-+     * needs to flush pages in order and waits for a thread to deposit an object
-+     * in the blocking queue corresponding to the next page in order. A request
-+     * to flush a page is conveyed to the flush thread by simply depositing an
-+     * object in to corresponding blocking queue. It is blocking in the sense
-+     * that the flusher thread will continue to wait for an object to arrive in
-+     * the queue. The object itself is ignored by the fliusher and just acts as
-+     * a signal/event that a page needs to be flushed.
-+     */
-+    private final LinkedBlockingQueue<Object>[] flushRequestQueue;
-+    private final Object[] flushRequests;
-+    private int lastFlushedPageIndex;
-+    private final long groupCommitWaitPeriod;
- 
-     public LogPageFlushThread(LogManager logManager) {
-         this.logManager = logManager;
-         setName("Flusher");
-+        int numLogPages = logManager.getLogManagerProperties().getNumLogPages();
-+        this.flushRequestQueue = new LinkedBlockingQueue[numLogPages];
-+        this.flushRequests = new Object[numLogPages];
-+        for (int i = 0; i < numLogPages; i++) {
-+            flushRequestQueue[i] = new LinkedBlockingQueue<Object>(1);
-+            flushRequests[i] = new Object();
-+        }
-+        this.lastFlushedPageIndex = -1;
-+        groupCommitWaitPeriod = logManager.getLogManagerProperties().getGroupCommitWaitPeriod();
-     }
- 
-+    public void requestFlush(int pageIndex, long lsn, boolean isSynchronous) {
-+        synchronized (logManager.getLogPage(pageIndex)) {
-+            //return if flushedLSN >= lsn
-+            if (logManager.getLastFlushedLsn().get() >= lsn) {
-+                return;
-+            }
-+
-+            //put a new request to the queue only if the request on the page is not in the queue.
-+            flushRequestQueue[pageIndex].offer(flushRequests[pageIndex]);
-+
-+            //return if the request is asynchronous
-+            if (!isSynchronous) {
-+                return;
-+            }
-+
-+            //wait until there is flush.
-+            boolean isNotified = false;
-+            while (!isNotified) {
-+                try {
-+                    logManager.getLogPage(pageIndex).wait();
-+                    isNotified = true;
-+                } catch (InterruptedException e) {
-+                    e.printStackTrace();
-+                }
-+            }
-+        }
-+    }
-+
-     @Override
-     public void run() {
-         while (true) {
-             try {
--                int pageToFlush = logManager.getNextPageInSequence(logManager.getLastFlushedPage());
-+                int pageToFlush = logManager.getNextPageInSequence(lastFlushedPageIndex);
- 
--                /*
--                 * A wait call on the linkedBLockingQueue. The flusher thread is
--                 * notified when an object is added to the queue. Please note
--                 * that each page has an associated blocking queue.
--                 */
--                logManager.getPendingFlushRequests(pageToFlush).take();
-+                // A wait call on the linkedBLockingQueue. The flusher thread is
-+                // notified when an object is added to the queue. Please note
-+                // that each page has an associated blocking queue.
-+                flushRequestQueue[pageToFlush].take();
- 
--                /*
--                 * The LogFlusher was waiting for a page to be marked as a
--                 * candidate for flushing. Now that has happened. The thread
--                 * shall proceed to take a lock on the log page
--                 */
--                synchronized (logManager.getLogPages()[pageToFlush]) {
-+                synchronized (logManager.getLogPage(pageToFlush)) {
- 
--                    /*
--                     * lock the internal state of the log manager and create a
--                     * log file if necessary.
--                     */
-+                    // lock the internal state of the log manager and create a
-+                    // log file if necessary.
-                     int prevLogFileId = logManager.getLogFileId(logManager.getLastFlushedLsn().get());
-                     int nextLogFileId = logManager.getLogFileId(logManager.getLastFlushedLsn().get()
-                             + logManager.getLogManagerProperties().getLogPageSize());
-@@ -936,198 +847,60 @@
-                                 logManager.getLogManagerProperties().getLogPageSize());
-                     }
- 
--                    logManager.getLogPage(pageToFlush).flush(); // put the
--                    // content to
--                    // disk, the
--                    // thread still
--                    // has a lock on
--                    // the log page
-+                    //#. sleep during the groupCommitWaitTime
-+                    sleep(groupCommitWaitPeriod);
- 
--                    /*
--                     * acquire lock on the log manager as we need to update the
--                     * internal bookkeeping data.
--                     */
-+                    //#. set the logPageStatus to INACTIVE in order to prevent other txns from writing on this page.
-+                    logManager.getLogPageStatus(pageToFlush).set(PageState.INACTIVE);
- 
--                    // increment the last flushed lsn.
--                    long lastFlushedLsn = logManager.incrementLastFlushedLsn(logManager.getLogManagerProperties()
--                            .getLogPageSize());
-+                    //#. need to wait until the logPageOwnerCount reaches 1 (LOG_WRITER) 
-+                    //   meaning every one has finished writing logs on this page.
-+                    while (logManager.getLogPageOwnershipCount(pageToFlush).get() != PageOwnershipStatus.LOG_WRITER) {
-+                        sleep(0);
-+                    }
- 
--                    /*
--                     * the log manager gains back ownership of the page. this is
--                     * reflected by incrementing the owner count of the page.
--                     * recall that when the page is begin flushed the owner
--                     * count is actually 0 Value of zero implicitly indicates
--                     * that the page is operated upon by the log flusher thread.
--                     */
--                    logManager.getLogPageOwnershipCount(pageToFlush).incrementAndGet();
-+                    //#. set the logPageOwnerCount to 0 (LOG_FLUSHER)
-+                    //   meaning it is flushing. 
-+                    logManager.getLogPageOwnershipCount(pageToFlush).set(PageOwnershipStatus.LOG_FLUSHER);
- 
--                    /*
--                     * get the number of log buffers that have been written so
--                     * far. A log buffer = number of log pages * size of a log
--                     * page
--                     */
--                    int numCycles = (int) lastFlushedLsn / logManager.getLogManagerProperties().getLogBufferSize();
--                    if (lastFlushedLsn % logManager.getLogManagerProperties().getLogBufferSize() == 0) {
--                        numCycles--;
--                    }
-+                    // put the content to disk (the thread still has a lock on the log page)
-+                    logManager.getLogPage(pageToFlush).flush();
- 
--                    /*
--                     * Map the log page to a new region in the log file.
--                     */
-+                    // increment the last flushed lsn and lastFlushedPage
-+                    logManager.incrementLastFlushedLsn(logManager.getLogManagerProperties().getLogPageSize());
-+                    lastFlushedPageIndex = pageToFlush;
- 
-+                    // decrement activeTxnCountOnIndexes
-+                    logManager.decrementActiveTxnCountOnIndexes(pageToFlush);
-+
-+                    // reset the count to 1
-+                    logManager.getLogPageOwnershipCount(pageToFlush).set(PageOwnershipStatus.LOG_WRITER);
-+
-+                    // Map the log page to a new region in the log file.
-                     long nextWritePosition = logManager.getLogPages()[pageToFlush].getNextWritePosition()
-                             + logManager.getLogManagerProperties().getLogBufferSize();
- 
--                    /*
--                     * long nextPos = (numCycles + 1)
--                     * logManager.getLogManagerProperties() .getLogBufferSize()
--                     * + pageToFlush logManager.getLogManagerProperties()
--                     * .getLogPageSize();
--                     */
-                     logManager.resetLogPage(nextWritePosition, pageToFlush);
- 
-                     // mark the page as ACTIVE
-                     logManager.getLogPageStatus(pageToFlush).set(LogManager.PageState.ACTIVE);
- 
--                    // notify all waiting (transaction) threads.
--                    // Transaction thread may be waiting for the page to be
--                    // available or may have a commit log record on the page
--                    // that got flushed.
--                    logManager.getLogPages()[pageToFlush].notifyAll();
--                    logManager.setLastFlushedPage(pageToFlush);
-+                    //#. checks the queue whether there is another flush request on the same log buffer
-+                    //   If there is another request, then simply remove it.
-+                    if (flushRequestQueue[pageToFlush].peek() != null) {
-+                        flushRequestQueue[pageToFlush].take();
-+                    }
- 
-+                    // notify all waiting (transaction) threads.
-+                    logManager.getLogPage(pageToFlush).notifyAll();
-                 }
-             } catch (IOException ioe) {
-                 ioe.printStackTrace();
-                 throw new Error(" exception in flushing log page", ioe);
-             } catch (InterruptedException e) {
-                 e.printStackTrace();
--                break; // must break from the loop as the exception indicates
--                // some thing horrendous has happened elsewhere
-+                break; 
-             }
-         }
-     }
--}
--
--/*
-- * TODO: By default the commit policy is to commit at each request and not have
-- * a group commit. The following code needs to change to support group commit.
-- * The code for group commit has not been tested thoroughly and is under
-- * development.
-- */
--class BasicCommitResolver implements ICommitResolver {
--
--    public boolean shouldCommitPage(int pageIndex, LogManager logManager,
--            CommitRequestStatistics commitRequestStatistics) {
--        return true;
--    }
--
--    public void init(LogManager logManager) {
--    }
--}
--
--class GroupCommitResolver implements ICommitResolver {
--
--    public boolean shouldCommitPage(int pageIndex, LogManager logManager,
--            CommitRequestStatistics commitRequestStatistics) {
--        long maxCommitWait = logManager.getLogManagerProperties().getGroupCommitWaitPeriod();
--        long timestamp = commitRequestStatistics.getPageLevelLastCommitRequestTimestamp(pageIndex);
--        if (timestamp == -1) {
--            if (maxCommitWait == 0) {
--                return true;
--            } else {
--                timestamp = System.currentTimeMillis();
--            }
--        }
--        long currenTime = System.currentTimeMillis();
--        if (currenTime - timestamp > maxCommitWait) {
--            return true;
--        }
--        return false;
--    }
--
--    public void init(LogManager logManager) {
--        GroupCommitHandlerThread groupCommitHandler = new GroupCommitHandlerThread(logManager);
--        groupCommitHandler.setDaemon(true);
--        groupCommitHandler.start();
--    }
--
--    class GroupCommitHandlerThread extends Thread {
--
--        private LogManager logManager;
--
--        public GroupCommitHandlerThread(LogManager logManager) {
--            this.logManager = logManager;
--            setName("Group Commit Handler");
--        }
--
--        @Override
--        public void run() {
--            int pageIndex = -1;
--            while (true) {
--                pageIndex = logManager.getNextPageInSequence(pageIndex);
--                long lastCommitRequeestTimestamp = logManager.getCommitRequestStatistics()
--                        .getPageLevelLastCommitRequestTimestamp(pageIndex);
--                if (lastCommitRequeestTimestamp != -1
--                        && System.currentTimeMillis() - lastCommitRequeestTimestamp > logManager
--                                .getLogManagerProperties().getGroupCommitWaitPeriod()) {
--                    int dirtyCount = logManager.getLogPageOwnershipCount(pageIndex).decrementAndGet();
--                    if (dirtyCount == 0) {
--                        try {
--                            logManager.getLogPageStatus(pageIndex).set(LogManager.PageState.INACTIVE);
--                            logManager.getPendingFlushRequests(pageIndex).put(Thread.currentThread());
--                        } catch (InterruptedException e) {
--                            e.printStackTrace();
--                            break;
--                        }
--                        logManager.getCommitRequestStatistics().committedPage(pageIndex);
--                    }
--                }
--            }
--        }
--    }
--
--}
--
--interface ICommitResolver {
--    public boolean shouldCommitPage(int pageIndex, LogManager logManager,
--            CommitRequestStatistics commitRequestStatistics);
--
--    public void init(LogManager logManager);
--}
--
--/**
-- * Represents a collection of all commit requests by transactions for each log
-- * page. The requests are accumulated until the commit policy triggers a flush
-- * of the corresponding log page. Upon a flush of a page, all commit requests
-- * for the page are cleared.
-- */
--class CommitRequestStatistics {
--
--    AtomicInteger[] pageLevelCommitRequestCount;
--    AtomicLong[] pageLevelLastCommitRequestTimestamp;
--
--    public CommitRequestStatistics(int numPages) {
--        pageLevelCommitRequestCount = new AtomicInteger[numPages];
--        pageLevelLastCommitRequestTimestamp = new AtomicLong[numPages];
--        for (int i = 0; i < numPages; i++) {
--            pageLevelCommitRequestCount[i] = new AtomicInteger(0);
--            pageLevelLastCommitRequestTimestamp[i] = new AtomicLong(-1L);
--        }
--    }
--
--    public void registerCommitRequest(int pageIndex) {
--        pageLevelCommitRequestCount[pageIndex].incrementAndGet();
--        pageLevelLastCommitRequestTimestamp[pageIndex].set(System.currentTimeMillis());
--    }
--
--    public long getPageLevelLastCommitRequestTimestamp(int pageIndex) {
--        return pageLevelLastCommitRequestTimestamp[pageIndex].get();
--    }
--
--    public void committedPage(int pageIndex) {
--        pageLevelCommitRequestCount[pageIndex].set(0);
--        pageLevelLastCommitRequestTimestamp[pageIndex].set(-1L);
--    }
--
--}
-+}
-\ No newline at end of file
-Index: asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/LogRecordHelper.java
-===================================================================
---- asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/LogRecordHelper.java	(revision 1194)
-+++ asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/LogRecordHelper.java	(working copy)
-@@ -152,6 +152,9 @@
-             case LogType.UPDATE:
-                 logTypeDisplay = "UPDATE";
-                 break;
-+            case LogType.ENTITY_COMMIT:
-+                logTypeDisplay = "ENTITY_COMMIT";
-+                break;
-         }
-         builder.append(" LSN : ").append(logicalLogLocator.getLsn());
-         builder.append(" Log Type : ").append(logTypeDisplay);
-Index: asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/LogType.java
-===================================================================
---- asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/LogType.java	(revision 1194)
-+++ asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/LogType.java	(working copy)
-@@ -18,5 +18,6 @@
- 
-     public static final byte UPDATE = 0;
-     public static final byte COMMIT = 1;
-+    public static final byte ENTITY_COMMIT = 2;
- 
- }
-Index: asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/LogManagerProperties.java
-===================================================================
---- asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/LogManagerProperties.java	(revision 1194)
-+++ asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/LogManagerProperties.java	(working copy)
-@@ -1,5 +1,5 @@
- /*
-- * Copyright 2009-2010 by The Regents of the University of California
-+ * Copyright 2009-2012 by The Regents of the University of California
-  * Licensed under the Apache License, Version 2.0 (the "License");
-  * you may not use this file except in compliance with the License.
-  * you may obtain a copy of the License from
-@@ -41,7 +41,7 @@
-     private int logPageSize = 128 * 1024; // 128 KB
-     private int numLogPages = 8; // number of log pages in the log buffer.
- 
--    private long groupCommitWaitPeriod = 0; // time in milliseconds for which a
-+    private long groupCommitWaitPeriod = 1; // time in milliseconds for which a
-     // commit record will wait before
-     // the housing page is marked for
-     // flushing.
-Index: asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/recovery/RecoveryManager.java
-===================================================================
---- asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/recovery/RecoveryManager.java	(revision 1194)
-+++ asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/recovery/RecoveryManager.java	(working copy)
-@@ -184,6 +184,7 @@
-                     break;
- 
-                 case LogType.COMMIT:
-+                case LogType.ENTITY_COMMIT:
-                     tempKeyTxnId.setTxnId(logRecordHelper.getJobId(currentLogLocator),
-                             logRecordHelper.getDatasetId(currentLogLocator),
-                             logRecordHelper.getPKHashValue(currentLogLocator));
-@@ -218,6 +219,7 @@
-         IIndex index = null;
-         LocalResource localResource = null;
-         ILocalResourceMetadata localResourceMetadata = null;
-+        List<Long> resourceIdList = new ArrayList<Long>();
- 
-         //#. get indexLifeCycleManager 
-         IAsterixAppRuntimeContextProvider appRuntimeContext = txnSubsystem.getAsterixAppRuntimeContextProvider();
-@@ -272,6 +274,8 @@
-                             index = localResourceMetadata.createIndexInstance(appRuntimeContext,
-                                     localResource.getResourceName(), localResource.getPartition());
-                             indexLifecycleManager.register(resourceId, index);
-+                            indexLifecycleManager.open(resourceId);
-+                            resourceIdList.add(resourceId);
-                         }
- 
-                         /***************************************************/
-@@ -300,6 +304,7 @@
-                     break;
- 
-                 case LogType.COMMIT:
-+                case LogType.ENTITY_COMMIT:
-                     //do nothing
-                     break;
- 
-@@ -308,6 +313,11 @@
-             }
-         }
-         
-+        //close all indexes
-+        for (long r : resourceIdList) {
-+            indexLifecycleManager.close(r);
-+        }
-+        
-         JobIdFactory.initJobId(maxJobId);
-     }
- 
-@@ -539,6 +549,7 @@
-                     break;
- 
-                 case LogType.COMMIT:
-+                case LogType.ENTITY_COMMIT:
-                     undoLSNSet = loserTxnTable.get(tempKeyTxnId);
-                     if (undoLSNSet != null) {
-                         loserTxnTable.remove(tempKeyTxnId);
-Index: asterix-app/src/test/java/edu/uci/ics/asterix/test/metadata/MetadataTest.java
-===================================================================
---- asterix-app/src/test/java/edu/uci/ics/asterix/test/metadata/MetadataTest.java	(revision 1194)
-+++ asterix-app/src/test/java/edu/uci/ics/asterix/test/metadata/MetadataTest.java	(working copy)
-@@ -42,6 +42,16 @@
-         List<CompilationUnit> cUnits = tcCtx.getTestCase().getCompilationUnit();
-         for (CompilationUnit cUnit : cUnits) {
-             File testFile = tcCtx.getTestFile(cUnit);
-+            
-+            /*****************
-+            if (!testFile.getAbsolutePath().contains("meta09.aql")) {
-+                System.out.println(testFile.getAbsolutePath());
-+                continue;
-+            }
-+            System.out.println(testFile.getAbsolutePath());
-+            *****************/
-+            
-+            
-             File expectedResultFile = tcCtx.getExpectedResultFile(cUnit);
-             File actualFile = new File(PATH_ACTUAL + File.separator
-                     + tcCtx.getTestCase().getFilePath().replace(File.separator, "_") + "_" + cUnit.getName() + ".adm");
-Index: asterix-app/src/test/java/edu/uci/ics/asterix/test/runtime/ExecutionTest.java
-===================================================================
---- asterix-app/src/test/java/edu/uci/ics/asterix/test/runtime/ExecutionTest.java	(revision 1194)
-+++ asterix-app/src/test/java/edu/uci/ics/asterix/test/runtime/ExecutionTest.java	(working copy)
-@@ -95,9 +95,10 @@
-             File testFile = tcCtx.getTestFile(cUnit);
- 
-             /*************** to avoid run failure cases ****************
--            if (!testFile.getAbsolutePath().contains("index-selection/")) {
-+            if (!testFile.getAbsolutePath().contains("query-issue205.aql")) {
-                 continue;
-             }
-+            System.out.println(testFile.getAbsolutePath());
-             ************************************************************/
-             
-             File expectedResultFile = tcCtx.getExpectedResultFile(cUnit);
-Index: diff_file
-===================================================================
---- diff_file	(revision 1194)
-+++ diff_file	(working copy)
-@@ -1,2098 +1,1252 @@
--Index: asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/entitytupletranslators/DataverseTupleTranslator.java
-+Index: asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/transaction/TransactionManager.java
- ===================================================================
----- asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/entitytupletranslators/DataverseTupleTranslator.java	(revision 1061)
--+++ asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/entitytupletranslators/DataverseTupleTranslator.java	(working copy)
--@@ -25,8 +25,11 @@
-- import edu.uci.ics.asterix.metadata.bootstrap.MetadataPrimaryIndexes;
-- import edu.uci.ics.asterix.metadata.bootstrap.MetadataRecordTypes;
-- import edu.uci.ics.asterix.metadata.entities.Dataverse;
--+import edu.uci.ics.asterix.om.base.AInt32;
--+import edu.uci.ics.asterix.om.base.AMutableInt32;
-- import edu.uci.ics.asterix.om.base.ARecord;
-- import edu.uci.ics.asterix.om.base.AString;
--+import edu.uci.ics.asterix.om.types.BuiltinType;
-- import edu.uci.ics.hyracks.api.dataflow.value.ISerializerDeserializer;
-- import edu.uci.ics.hyracks.dataflow.common.data.accessors.ITupleReference;
-+--- asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/transaction/TransactionManager.java	(revision 1194)
-++++ asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/transaction/TransactionManager.java	(working copy)
-+@@ -103,12 +103,14 @@
-+             //for entity-level commit
-+             if (PKHashVal != -1) {
-+                 transactionProvider.getLockManager().unlock(datasetId, PKHashVal, txnContext, true);
-++                /*****************************
-+                 try {
-+                     //decrease the transaction reference count on index
-+                     txnContext.decreaseActiveTransactionCountOnIndexes();
-+                 } catch (HyracksDataException e) {
-+                     throw new ACIDException("failed to complete index operation", e);
-+                 }
-++                *****************************/
-+                 return;
-+             }
-  
--@@ -40,12 +43,18 @@
--     // Payload field containing serialized Dataverse.
--     public static final int DATAVERSE_PAYLOAD_TUPLE_FIELD_INDEX = 1;
-- 
--+    private AMutableInt32 aInt32;
--+    protected ISerializerDeserializer<AInt32> aInt32Serde;
--+
--     @SuppressWarnings("unchecked")
--     private ISerializerDeserializer<ARecord> recordSerDes = AqlSerializerDeserializerProvider.INSTANCE
--             .getSerializerDeserializer(MetadataRecordTypes.DATAVERSE_RECORDTYPE);
-- 
--+    @SuppressWarnings("unchecked")
--     public DataverseTupleTranslator(boolean getTuple) {
--         super(getTuple, MetadataPrimaryIndexes.DATAVERSE_DATASET.getFieldCount());
--+        aInt32 = new AMutableInt32(-1);
--+        aInt32Serde = AqlSerializerDeserializerProvider.INSTANCE.getSerializerDeserializer(BuiltinType.AINT32);
--     }
-- 
--     @Override
--@@ -57,7 +66,8 @@
--         DataInput in = new DataInputStream(stream);
--         ARecord dataverseRecord = recordSerDes.deserialize(in);
--         return new Dataverse(((AString) dataverseRecord.getValueByPos(0)).getStringValue(),
---                ((AString) dataverseRecord.getValueByPos(1)).getStringValue());
--+                ((AString) dataverseRecord.getValueByPos(1)).getStringValue(),
--+                ((AInt32) dataverseRecord.getValueByPos(2)).getIntegerValue());
--     }
-- 
--     @Override
--@@ -88,6 +98,12 @@
--         stringSerde.serialize(aString, fieldValue.getDataOutput());
--         recordBuilder.addField(MetadataRecordTypes.DATAVERSE_ARECORD_TIMESTAMP_FIELD_INDEX, fieldValue);
-- 
--+        // write field 3
--+        fieldValue.reset();
--+        aInt32.setValue(instance.getPendingOp());
--+        aInt32Serde.serialize(aInt32, fieldValue.getDataOutput());
--+        recordBuilder.addField(MetadataRecordTypes.DATAVERSE_ARECORD_PENDINGOP_FIELD_INDEX, fieldValue);
--+
--         recordBuilder.write(tupleBuilder.getDataOutput(), true);
--         tupleBuilder.addFieldEndOffset();
-- 
--Index: asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/entitytupletranslators/DatasetTupleTranslator.java
-+Index: asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/transaction/TransactionContext.java
- ===================================================================
----- asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/entitytupletranslators/DatasetTupleTranslator.java	(revision 1061)
--+++ asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/entitytupletranslators/DatasetTupleTranslator.java	(working copy)
--@@ -77,9 +77,9 @@
--     protected ISerializerDeserializer<AInt32> aInt32Serde;
-+--- asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/transaction/TransactionContext.java	(revision 1194)
-++++ asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/transaction/TransactionContext.java	(working copy)
-+@@ -19,6 +19,7 @@
-+ import java.util.HashSet;
-+ import java.util.List;
-+ import java.util.Set;
-++import java.util.concurrent.atomic.AtomicInteger;
-  
--     @SuppressWarnings("unchecked")
---	public DatasetTupleTranslator(boolean getTuple) {
--+    public DatasetTupleTranslator(boolean getTuple) {
--         super(getTuple, MetadataPrimaryIndexes.DATASET_DATASET.getFieldCount());
---        aInt32 = new AMutableInt32(-1); 
--+        aInt32 = new AMutableInt32(-1);
--         aInt32Serde = AqlSerializerDeserializerProvider.INSTANCE.getSerializerDeserializer(BuiltinType.AINT32);
--     }
-- 
--@@ -104,8 +104,10 @@
--                 .getValueByPos(MetadataRecordTypes.DATASET_ARECORD_DATATYPENAME_FIELD_INDEX)).getStringValue();
--         DatasetType datasetType = DatasetType.valueOf(((AString) datasetRecord.getValueByPos(3)).getStringValue());
--         IDatasetDetails datasetDetails = null;
---    	int datasetId = ((AInt32) datasetRecord
--+        int datasetId = ((AInt32) datasetRecord
--                 .getValueByPos(MetadataRecordTypes.DATASET_ARECORD_DATASETID_FIELD_INDEX)).getIntegerValue();
--+        int pendingOp = ((AInt32) datasetRecord
--+                .getValueByPos(MetadataRecordTypes.DATASET_ARECORD_PENDINGOP_FIELD_INDEX)).getIntegerValue();
--         switch (datasetType) {
--             case FEED:
--             case INTERNAL: {
--@@ -197,7 +199,7 @@
--                 }
--                 datasetDetails = new ExternalDatasetDetails(adapter, properties);
-+ import edu.uci.ics.asterix.transaction.management.exception.ACIDException;
-+ import edu.uci.ics.asterix.transaction.management.opcallbacks.AbstractOperationCallback;
-+@@ -169,5 +170,14 @@
-+             closeable.close(this);
-          }
---        return new Dataset(dataverseName, datasetName, typeName, datasetDetails, datasetType, datasetId);
--+        return new Dataset(dataverseName, datasetName, typeName, datasetDetails, datasetType, datasetId, pendingOp);
-      }
-++    
-++    @Override
-++    public int hashCode() {
-++        return jobId.getId();
-++    }
-  
--     @Override
--@@ -248,13 +250,19 @@
--         aString.setValue(Calendar.getInstance().getTime().toString());
--         stringSerde.serialize(aString, fieldValue.getDataOutput());
--         recordBuilder.addField(MetadataRecordTypes.DATASET_ARECORD_TIMESTAMP_FIELD_INDEX, fieldValue);
---        
--+
--         // write field 8
--         fieldValue.reset();
--         aInt32.setValue(dataset.getDatasetId());
--         aInt32Serde.serialize(aInt32, fieldValue.getDataOutput());
--         recordBuilder.addField(MetadataRecordTypes.DATASET_ARECORD_DATASETID_FIELD_INDEX, fieldValue);
---        
--+
--+        // write field 9
--+        fieldValue.reset();
--+        aInt32.setValue(dataset.getPendingOp());
--+        aInt32Serde.serialize(aInt32, fieldValue.getDataOutput());
--+        recordBuilder.addField(MetadataRecordTypes.DATASET_ARECORD_PENDINGOP_FIELD_INDEX, fieldValue);
--+
--         // write record
--         recordBuilder.write(tupleBuilder.getDataOutput(), true);
--         tupleBuilder.addFieldEndOffset();
--@@ -290,13 +298,15 @@
--         fieldValue.reset();
--         aString.setValue(name);
--         stringSerde.serialize(aString, fieldValue.getDataOutput());
---        propertyRecordBuilder.addField(MetadataRecordTypes.DATASOURCE_ADAPTER_PROPERTIES_ARECORD_NAME_FIELD_INDEX, fieldValue);
--+        propertyRecordBuilder.addField(MetadataRecordTypes.DATASOURCE_ADAPTER_PROPERTIES_ARECORD_NAME_FIELD_INDEX,
--+                fieldValue);
-- 
--         // write field 1
--         fieldValue.reset();
--         aString.setValue(value);
--         stringSerde.serialize(aString, fieldValue.getDataOutput());
---        propertyRecordBuilder.addField(MetadataRecordTypes.DATASOURCE_ADAPTER_PROPERTIES_ARECORD_VALUE_FIELD_INDEX, fieldValue);
--+        propertyRecordBuilder.addField(MetadataRecordTypes.DATASOURCE_ADAPTER_PROPERTIES_ARECORD_VALUE_FIELD_INDEX,
--+                fieldValue);
-- 
--         propertyRecordBuilder.write(out, true);
--     }
--Index: asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/entitytupletranslators/IndexTupleTranslator.java
-++    @Override
-++    public boolean equals(Object o) {
-++        return (o == this);
-++    }
-+ }
-+Index: asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/locking/LockManager.java
- ===================================================================
----- asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/entitytupletranslators/IndexTupleTranslator.java	(revision 1061)
--+++ asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/entitytupletranslators/IndexTupleTranslator.java	(working copy)
--@@ -96,13 +96,15 @@
--         }
--         Boolean isPrimaryIndex = ((ABoolean) rec.getValueByPos(MetadataRecordTypes.INDEX_ARECORD_ISPRIMARY_FIELD_INDEX))
--                 .getBoolean();
--+        int pendingOp = ((AInt32) rec.getValueByPos(MetadataRecordTypes.INDEX_ARECORD_PENDINGOP_FIELD_INDEX))
--+                .getIntegerValue();
--         // Check if there is a gram length as well.
--         int gramLength = -1;
--         int gramLenPos = rec.getType().findFieldPosition(GRAM_LENGTH_FIELD_NAME);
--         if (gramLenPos >= 0) {
--             gramLength = ((AInt32) rec.getValueByPos(gramLenPos)).getIntegerValue();
--         }
---        return new Index(dvName, dsName, indexName, indexStructure, searchKey, gramLength, isPrimaryIndex);
--+        return new Index(dvName, dsName, indexName, indexStructure, searchKey, gramLength, isPrimaryIndex, pendingOp);
--     }
-- 
--     @Override
--@@ -174,7 +176,12 @@
--         stringSerde.serialize(aString, fieldValue.getDataOutput());
--         recordBuilder.addField(MetadataRecordTypes.INDEX_ARECORD_TIMESTAMP_FIELD_INDEX, fieldValue);
-- 
---        // write optional field 7        
--+        // write field 7
--+        fieldValue.reset();
--+        intSerde.serialize(new AInt32(instance.getPendingOp()), fieldValue.getDataOutput());
--+        recordBuilder.addField(MetadataRecordTypes.INDEX_ARECORD_PENDINGOP_FIELD_INDEX, fieldValue);
--+
--+        // write optional field 8        
--         if (instance.getGramLength() > 0) {
--             fieldValue.reset();
--             nameValue.reset();
--Index: asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/declared/AqlMetadataProvider.java
-+--- asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/locking/LockManager.java	(revision 1194)
-++++ asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/locking/LockManager.java	(working copy)
-+@@ -567,7 +567,7 @@
-+             if (commitFlag) {
-+                 if (txnContext.getTransactionType().equals(TransactionContext.TransactionType.READ_WRITE)) {
-+                     try {
-+-                        txnSubsystem.getLogManager().log(LogType.COMMIT, txnContext, datasetId.getId(),
-++                        txnSubsystem.getLogManager().log(LogType.ENTITY_COMMIT, txnContext, datasetId.getId(),
-+                                 entityHashValue, -1, (byte) 0, 0, null, null, logicalLogLocator);
-+                     } catch (ACIDException e) {
-+                         try {
-+Index: asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/FileBasedBuffer.java
- ===================================================================
----- asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/declared/AqlMetadataProvider.java	(revision 1061)
--+++ asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/declared/AqlMetadataProvider.java	(working copy)
--@@ -129,7 +129,7 @@
-- 
-- public class AqlMetadataProvider implements IMetadataProvider<AqlSourceId, String> {
--     private static Logger LOGGER = Logger.getLogger(AqlMetadataProvider.class.getName());
---    private final MetadataTransactionContext mdTxnCtx;
--+    private MetadataTransactionContext mdTxnCtx;
--     private boolean isWriteTransaction;
--     private Map<String, String[]> stores;
--     private Map<String, String> config;
--@@ -156,8 +156,7 @@
--         return config;
-+--- asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/FileBasedBuffer.java	(revision 1194)
-++++ asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/FileBasedBuffer.java	(working copy)
-+@@ -75,6 +75,7 @@
-+         buffer.position(0);
-+         buffer.limit(size);
-+         fileChannel.write(buffer);
-++        fileChannel.force(false);
-+         erase();
-      }
-  
---    public AqlMetadataProvider(MetadataTransactionContext mdTxnCtx, Dataverse defaultDataverse) {
---        this.mdTxnCtx = mdTxnCtx;
--+    public AqlMetadataProvider(Dataverse defaultDataverse) {
--         this.defaultDataverse = defaultDataverse;
--         this.stores = AsterixProperties.INSTANCE.getStores();
--     }
--@@ -181,6 +180,10 @@
--     public void setWriterFactory(IAWriterFactory writerFactory) {
--         this.writerFactory = writerFactory;
--     }
--+    
--+    public void setMetadataTxnContext(MetadataTransactionContext mdTxnCtx) {
--+        this.mdTxnCtx = mdTxnCtx;
--+    }
-- 
--     public MetadataTransactionContext getMetadataTxnContext() {
--         return mdTxnCtx;
--Index: asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/entities/Dataset.java
-+Index: asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/LogManager.java
- ===================================================================
----- asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/entities/Dataset.java	(revision 1061)
--+++ asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/entities/Dataset.java	(working copy)
--@@ -35,15 +35,18 @@
--     private final DatasetType datasetType;
--     private IDatasetDetails datasetDetails;
--     private final int datasetId;
--+    // Type of pending operations with respect to atomic DDL operation
--+    private final int pendingOp;
-+--- asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/LogManager.java	(revision 1194)
-++++ asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/LogManager.java	(working copy)
-+@@ -1,5 +1,5 @@
-+ /*
-+- * Copyright 2009-2010 by The Regents of the University of California
-++ * Copyright 2009-2012 by The Regents of the University of California
-+  * Licensed under the Apache License, Version 2.0 (the "License");
-+  * you may not use this file except in compliance with the License.
-+  * you may obtain a copy of the License from
-+@@ -21,7 +21,12 @@
-+ import java.io.RandomAccessFile;
-+ import java.nio.ByteBuffer;
-+ import java.nio.channels.FileChannel;
-++import java.util.ArrayList;
-++import java.util.HashMap;
-++import java.util.List;
-++import java.util.Map;
-+ import java.util.Properties;
-++import java.util.Set;
-+ import java.util.concurrent.LinkedBlockingQueue;
-+ import java.util.concurrent.atomic.AtomicInteger;
-+ import java.util.concurrent.atomic.AtomicLong;
-+@@ -30,22 +35,25 @@
-  
--     public Dataset(String dataverseName, String datasetName, String itemTypeName, IDatasetDetails datasetDetails,
---            DatasetType datasetType, int datasetId) {
--+            DatasetType datasetType, int datasetId, int pendingOp) {
--         this.dataverseName = dataverseName;
--         this.datasetName = datasetName;
--         this.itemTypeName = itemTypeName;
--         this.datasetType = datasetType;
--         this.datasetDetails = datasetDetails;
--         this.datasetId = datasetId;
--+        this.pendingOp = pendingOp;
--     }
-+ import edu.uci.ics.asterix.transaction.management.exception.ACIDException;
-+ import edu.uci.ics.asterix.transaction.management.service.logging.IndexLogger.ReusableLogContentObject;
-++import edu.uci.ics.asterix.transaction.management.service.logging.LogManager.PageOwnershipStatus;
-++import edu.uci.ics.asterix.transaction.management.service.logging.LogManager.PageState;
-+ import edu.uci.ics.asterix.transaction.management.service.transaction.TransactionContext;
-+ import edu.uci.ics.asterix.transaction.management.service.transaction.TransactionManagementConstants;
-+ import edu.uci.ics.asterix.transaction.management.service.transaction.TransactionSubsystem;
-++import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
-  
--     public String getDataverseName() {
--@@ -73,6 +76,10 @@
--     public int getDatasetId() {
--         return datasetId;
--     }
--+    
--+    public int getPendingOp() {
--+        return pendingOp;
--+    }
-+ public class LogManager implements ILogManager {
-  
--     @Override
--     public Object addToCache(MetadataCache cache) {
--Index: asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/entities/Index.java
--===================================================================
----- asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/entities/Index.java	(revision 1061)
--+++ asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/entities/Index.java	(working copy)
--@@ -45,9 +45,11 @@
--     private final boolean isPrimaryIndex;
--     // Specific to NGRAM indexes.
--     private final int gramLength;
--+    // Type of pending operations with respect to atomic DDL operation
--+    private final int pendingOp;
-+     public static final boolean IS_DEBUG_MODE = false;//true
-+     private static final Logger LOGGER = Logger.getLogger(LogManager.class.getName());
-+-    private TransactionSubsystem provider;
-++    private final TransactionSubsystem provider;
-+     private LogManagerProperties logManagerProperties;
-++    private LogPageFlushThread logPageFlusher;
-  
--     public Index(String dataverseName, String datasetName, String indexName, IndexType indexType,
---            List<String> keyFieldNames, int gramLength, boolean isPrimaryIndex) {
--+            List<String> keyFieldNames, int gramLength, boolean isPrimaryIndex, int pendingOp) {
--         this.dataverseName = dataverseName;
--         this.datasetName = datasetName;
--         this.indexName = indexName;
--@@ -55,10 +57,11 @@
--         this.keyFieldNames = keyFieldNames;
--         this.gramLength = gramLength;
--         this.isPrimaryIndex = isPrimaryIndex;
--+        this.pendingOp = pendingOp;
--     }
-+     /*
-+      * the array of log pages. The number of log pages is configurable. Pages
-+      * taken together form an in-memory log buffer.
-+      */
-+-
-+     private IFileBasedBuffer[] logPages;
-  
--     public Index(String dataverseName, String datasetName, String indexName, IndexType indexType,
---            List<String> keyFieldNames, boolean isPrimaryIndex) {
--+            List<String> keyFieldNames, boolean isPrimaryIndex, int pendingOp) {
--         this.dataverseName = dataverseName;
--         this.datasetName = datasetName;
--         this.indexName = indexName;
--@@ -66,6 +69,7 @@
--         this.keyFieldNames = keyFieldNames;
--         this.gramLength = -1;
--         this.isPrimaryIndex = isPrimaryIndex;
--+        this.pendingOp = pendingOp;
--     }
-+     private ILogRecordHelper logRecordHelper;
-+@@ -54,6 +62,7 @@
-+      * Number of log pages that constitute the in-memory log buffer.
-+      */
-+     private int numLogPages;
-++
-+     /*
-+      * Initially all pages have an owner count of 1 that is the LogManager. When
-+      * a transaction requests to write in a log page, the owner count is
-+@@ -62,12 +71,11 @@
-+      * (covering the whole log record). When the content has been put, the log
-+      * manager computes the checksum and puts it after the content. At this
-+      * point, the ownership count is decremented as the transaction is done with
-+-     * using the page. When a page is full, the log manager decrements the count
-+-     * by one indicating that it has released its ownership of the log page.
-+-     * There could be other transaction(s) still owning the page (that is they
-+-     * could still be mid-way putting the log content). When the ownership count
-+-     * eventually reaches zero, the thread responsible for flushing the log page
-+-     * is notified and the page is flushed to disk.
-++     * using the page. When a page is requested to be flushed, logPageFlusher
-++     * set the count to 0(LOG_FLUSHER: meaning that the page is being flushed)
-++     * only if the count is 1(LOG_WRITER: meaning that there is no other 
-++     * transactions who own the page to write logs.) After flushing the page, 
-++     * logPageFlusher set this count to 1. 
-+      */
-+     private AtomicInteger[] logPageOwnerCount;
-  
--     public String getDataverseName() {
--@@ -95,6 +99,10 @@
--     public boolean isPrimaryIndex() {
--         return isPrimaryIndex;
--     }
--+    
--+    public int getPendingOp() {
--+        return pendingOp;
--+    }
-+@@ -78,18 +86,16 @@
-  
--     public boolean isSecondaryIndex() {
--         return !isPrimaryIndex();
--Index: asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/entities/Dataverse.java
--===================================================================
----- asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/entities/Dataverse.java	(revision 1061)
--+++ asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/entities/Dataverse.java	(working copy)
--@@ -27,10 +27,12 @@
--     // Enforced to be unique within an Asterix cluster..
--     private final String dataverseName;
--     private final String dataFormat;
--+    private final int pendingOp;
-+     /*
-+      * LogPageStatus: A page is either ACTIVE or INACTIVE. The status for each
-+-     * page is maintained in a map called logPageStatus. A page is ACTIVE when
-+-     * the LogManager can allocate space in the page for writing a log record.
-+-     * Initially all pages are ACTIVE. As transactions fill up space by writing
-+-     * log records, a page may not have sufficient space left for serving a
-+-     * request by a transaction. When this happens, the page is marked INACTIVE.
-+-     * An INACTIVE page with no owners ( logPageOwnerCount.get(<pageIndex>) ==
-+-     * 0) indicates that the page must be flushed to disk before any other log
-+-     * record is written on the page.F
-++     * page is maintained in logPageStatus. A page is ACTIVE when the LogManager 
-++     * can allocate space in the page for writing a log record. Initially all 
-++     * pages are ACTIVE. As transactions fill up space by writing log records, 
-++     * a page may not have sufficient space left for serving a request by a 
-++     * transaction. When this happens, the page is flushed to disk by calling
-++     * logPageFlusher.requestFlush(). In the requestFlush(), after groupCommitWaitTime,
-++     * the page status is set to INACTIVE. Then, there is no more writer on the
-++     * page(meaning the corresponding logPageOwnerCount is 1), the page is flushed
-++     * by the logPageFlusher and the status is reset to ACTIVE by the logPageFlusher.   
-+      */
-+-
-+-    // private Map<Integer, Integer> logPageStatus = new
-+-    // ConcurrentHashMap<Integer, Integer>();
-+     private AtomicInteger[] logPageStatus;
-  
---    public Dataverse(String dataverseName, String format) {
--+    public Dataverse(String dataverseName, String format, int pendingOp) {
--         this.dataverseName = dataverseName;
--         this.dataFormat = format;
--+        this.pendingOp = pendingOp;
-+     static class PageState {
-+@@ -98,41 +104,8 @@
-      }
-  
--     public String getDataverseName() {
--@@ -40,6 +42,10 @@
--     public String getDataFormat() {
--         return dataFormat;
--     }
--+    
--+    public int getPendingOp() {
--+        return pendingOp;
--+    }
-+     private AtomicLong lastFlushedLsn = new AtomicLong(-1);
-+-    private AtomicInteger lastFlushedPage = new AtomicInteger(-1);
-  
--     @Override
--     public Object addToCache(MetadataCache cache) {
--Index: asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/MetadataNode.java
--===================================================================
----- asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/MetadataNode.java	(revision 1061)
--+++ asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/MetadataNode.java	(working copy)
--@@ -25,6 +25,7 @@
-- import edu.uci.ics.asterix.common.exceptions.AsterixException;
-- import edu.uci.ics.asterix.common.functions.FunctionSignature;
-- import edu.uci.ics.asterix.formats.nontagged.AqlSerializerDeserializerProvider;
--+import edu.uci.ics.asterix.metadata.api.IMetadataEntity;
-- import edu.uci.ics.asterix.metadata.api.IMetadataIndex;
-- import edu.uci.ics.asterix.metadata.api.IMetadataNode;
-- import edu.uci.ics.asterix.metadata.api.IValueExtractor;
--@@ -160,7 +161,7 @@
--                 // Add the primary index for the dataset.
--                 InternalDatasetDetails id = (InternalDatasetDetails) dataset.getDatasetDetails();
--                 Index primaryIndex = new Index(dataset.getDataverseName(), dataset.getDatasetName(),
---                        dataset.getDatasetName(), IndexType.BTREE, id.getPrimaryKey(), true);
--+                        dataset.getDatasetName(), IndexType.BTREE, id.getPrimaryKey(), true, dataset.getPendingOp());
--                 addIndex(jobId, primaryIndex);
--                 ITupleReference nodeGroupTuple = createTuple(id.getNodeGroupName(), dataset.getDataverseName(),
--                         dataset.getDatasetName());
--@@ -260,7 +261,7 @@
--         IIndexAccessor indexAccessor = indexInstance.createAccessor(NoOpOperationCallback.INSTANCE,
--                 NoOpOperationCallback.INSTANCE);
--         TransactionContext txnCtx = transactionProvider.getTransactionManager().getTransactionContext(jobId);
---        transactionProvider.getLockManager().lock(index.getDatasetId(), -1, LockMode.X, txnCtx);
--+        //transactionProvider.getLockManager().lock(index.getDatasetId(), -1, LockMode.X, txnCtx);
--         // TODO: fix exceptions once new BTree exception model is in hyracks.
--         indexAccessor.insert(tuple);
--         //TODO: extract the key from the tuple and get the PKHashValue from the key.
--@@ -536,7 +537,7 @@
--         // The transaction with txnId will have an S lock on the
--         // resource. Note that lock converters have a higher priority than
--         // regular waiters in the LockManager.
---        transactionProvider.getLockManager().lock(index.getDatasetId(), -1, LockMode.X, txnCtx);
--+        //transactionProvider.getLockManager().lock(index.getDatasetId(), -1, LockMode.X, txnCtx);
--         indexAccessor.delete(tuple);
--         //TODO: extract the key from the tuple and get the PKHashValue from the key.
--         //check how to get the oldValue.
--@@ -803,7 +804,9 @@
--     private <ResultType> void searchIndex(JobId jobId, IMetadataIndex index, ITupleReference searchKey,
--             IValueExtractor<ResultType> valueExtractor, List<ResultType> results) throws Exception {
--         TransactionContext txnCtx = transactionProvider.getTransactionManager().getTransactionContext(jobId);
---        transactionProvider.getLockManager().lock(index.getDatasetId(), -1, LockMode.S, txnCtx);
--+        //#. currently lock is not needed to access any metadata 
--+        //   since the non-compatible concurrent access is always protected by the latch in the MetadataManager.
--+        //transactionProvider.getLockManager().lock(index.getDatasetId(), -1, LockMode.S, txnCtx);
--         IBinaryComparatorFactory[] comparatorFactories = index.getKeyBinaryComparatorFactory();
--         long resourceID = index.getResourceID();
--         IIndex indexInstance = indexLifecycleManager.getIndex(resourceID);
--Index: asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/api/IMetadataEntity.java
--===================================================================
----- asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/api/IMetadataEntity.java	(revision 1061)
--+++ asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/api/IMetadataEntity.java	(working copy)
--@@ -20,6 +20,11 @@
-- import edu.uci.ics.asterix.metadata.MetadataCache;
-- 
-- public interface IMetadataEntity extends Serializable {
--+    
--+    public static final int PENDING_NO_OP = 0;
--+    public static final int PENDING_ADD_OP = 1;
--+    public static final int PENDING_DROP_OP = 2;
--+    
--     Object addToCache(MetadataCache cache);
-- 
--     Object dropFromCache(MetadataCache cache);
--Index: asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/MetadataManager.java
--===================================================================
----- asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/MetadataManager.java	(revision 1061)
--+++ asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/MetadataManager.java	(working copy)
--@@ -17,6 +17,8 @@
-- 
-- import java.rmi.RemoteException;
-- import java.util.List;
--+import java.util.concurrent.locks.ReadWriteLock;
--+import java.util.concurrent.locks.ReentrantReadWriteLock;
-- 
-- import edu.uci.ics.asterix.common.functions.FunctionSignature;
-- import edu.uci.ics.asterix.metadata.api.IAsterixStateProxy;
--@@ -79,11 +81,10 @@
-- public class MetadataManager implements IMetadataManager {
--     // Set in init().
--     public static MetadataManager INSTANCE;
-+     /*
-+-     * pendingFlushRequests is a map with key as Integer denoting the page
-+-     * index. When a (transaction) thread discovers the need to flush a page, it
-+-     * puts its Thread object into the corresponding value that is a
-+-     * LinkedBlockingQueue. The LogManager has a LogFlusher thread that scans
-+-     * this map in order of page index (and circling around). The flusher thread
-+-     * needs to flush pages in order and waits for a thread to deposit an object
-+-     * in the blocking queue corresponding to the next page in order. A request
-+-     * to flush a page is conveyed to the flush thread by simply depositing an
-+-     * object in to corresponding blocking queue. It is blocking in the sense
-+-     * that the flusher thread will continue to wait for an object to arrive in
-+-     * the queue. The object itself is ignored by the fliusher and just acts as
-+-     * a signal/event that a page needs to be flushed.
-+-     */
- -
--     private final MetadataCache cache = new MetadataCache();
--     private IAsterixStateProxy proxy;
--     private IMetadataNode metadataNode;
-+-    private LinkedBlockingQueue[] pendingFlushRequests;
- -
--+    
--     public MetadataManager(IAsterixStateProxy proxy) {
--         if (proxy == null) {
--             throw new Error("Null proxy given to MetadataManager.");
--@@ -206,11 +207,14 @@
-+-    /*
-+-     * ICommitResolver is an interface that provides an API that can answer a
-+-     * simple boolean - Given the commit requests so far, should a page be
-+-     * flushed. The implementation of the interface contains the logic (or you
-+-     * can say the policy) for commit. It could be group commit in which case
-+-     * the commit resolver may not return a true indicating that it wishes to
-+-     * delay flushing of the page.
-+-     */
-+-    private ICommitResolver commitResolver;
-+-
-+-    /*
-+-     * An object that keeps track of the submitted commit requests.
-+-     */
-+-    private CommitRequestStatistics commitRequestStatistics;
-+-
-+-    /*
-+      * When the transaction eco-system comes to life, the log manager positions
-+      * itself to the end of the last written log. the startingLsn represent the
-+      * lsn value of the next log record to be written after a system (re)start.
-+@@ -146,16 +119,10 @@
-+      */
-+     private AtomicLong lsn = new AtomicLong(0);
-  
--     @Override
--     public void addDataset(MetadataTransactionContext ctx, Dataset dataset) throws MetadataException {
--+        // add dataset into metadataNode 
--         try {
--             metadataNode.addDataset(ctx.getJobId(), dataset);
--         } catch (RemoteException e) {
--             throw new MetadataException(e);
--         }
--+        
--+        // reflect the dataset into the cache
--         ctx.addDataset(dataset);
-+-    /*
-+-     * A map that tracks the flush requests submitted for each page. The
-+-     * requests for a page are cleared when the page is flushed.
-+-     */
-+-    public LinkedBlockingQueue<Thread> getPendingFlushRequests(int pageIndex) {
-+-        return pendingFlushRequests[pageIndex];
-+-    }
-++    private List<HashMap<TransactionContext, Integer>> activeTxnCountMaps;
-+ 
-+-    public void addFlushRequest(int pageIndex) {
-+-        pendingFlushRequests[pageIndex].add(pendingFlushRequests);
-++    public void addFlushRequest(int pageIndex, long lsn, boolean isSynchronous) {
-++        logPageFlusher.requestFlush(pageIndex, lsn, isSynchronous);
-      }
-  
--@@ -585,4 +589,5 @@
-+     public AtomicLong getLastFlushedLsn() {
-+@@ -233,19 +200,12 @@
-+         numLogPages = logManagerProperties.getNumLogPages();
-+         logPageOwnerCount = new AtomicInteger[numLogPages];
-+         logPageStatus = new AtomicInteger[numLogPages];
-+-        pendingFlushRequests = new LinkedBlockingQueue[numLogPages];
-+-        if (logManagerProperties.getGroupCommitWaitPeriod() > 0) { // configure
-+-            // the
-+-            // Commit
-+-            // Resolver
-+-            commitResolver = new GroupCommitResolver(); // Group Commit is
-+-            // enabled
-+-            commitRequestStatistics = new CommitRequestStatistics(numLogPages);
-+-        } else {
-+-            commitResolver = new BasicCommitResolver(); // the basic commit
-+-            // resolver
-++
-++        activeTxnCountMaps = new ArrayList<HashMap<TransactionContext, Integer>>(numLogPages);
-++        for (int i = 0; i < numLogPages; i++) {
-++            activeTxnCountMaps.add(new HashMap<TransactionContext, Integer>());
-          }
--         return adapter;
--     }
-+-        this.commitResolver.init(this); // initialize the commit resolver
- +
-- }
--\ No newline at end of file
--Index: asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/MetadataTransactionContext.java
--===================================================================
----- asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/MetadataTransactionContext.java	(revision 1061)
--+++ asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/MetadataTransactionContext.java	(working copy)
--@@ -19,6 +19,7 @@
-+         logPages = new FileBasedBuffer[numLogPages];
-  
-- import edu.uci.ics.asterix.common.functions.FunctionSignature;
-- import edu.uci.ics.asterix.external.dataset.adapter.AdapterIdentifier;
--+import edu.uci.ics.asterix.metadata.api.IMetadataEntity;
-- import edu.uci.ics.asterix.metadata.entities.Dataset;
-- import edu.uci.ics.asterix.metadata.entities.DatasourceAdapter;
-- import edu.uci.ics.asterix.metadata.entities.Datatype;
--@@ -104,19 +105,19 @@
--     }
-+         /*
-+@@ -264,7 +224,6 @@
-+         for (int i = 0; i < numLogPages; i++) {
-+             logPageOwnerCount[i] = new AtomicInteger(PageOwnershipStatus.LOG_WRITER);
-+             logPageStatus[i] = new AtomicInteger(PageState.ACTIVE);
-+-            pendingFlushRequests[i] = new LinkedBlockingQueue<Thread>();
-+         }
-  
--     public void dropDataset(String dataverseName, String datasetName) {
---        Dataset dataset = new Dataset(dataverseName, datasetName, null, null, null, -1);
--+        Dataset dataset = new Dataset(dataverseName, datasetName, null, null, null, -1, IMetadataEntity.PENDING_NO_OP);
--         droppedCache.addDatasetIfNotExists(dataset);
--         logAndApply(new MetadataLogicalOperation(dataset, false));
-+         /*
-+@@ -278,9 +237,9 @@
-+          * daemon thread so that it does not stop the JVM from exiting when all
-+          * other threads are done with their work.
-+          */
-+-        LogPageFlushThread logFlusher = new LogPageFlushThread(this);
-+-        logFlusher.setDaemon(true);
-+-        logFlusher.start();
-++        logPageFlusher = new LogPageFlushThread(this);
-++        logPageFlusher.setDaemon(true);
-++        logPageFlusher.start();
-      }
-  
--     public void dropIndex(String dataverseName, String datasetName, String indexName) {
---        Index index = new Index(dataverseName, datasetName, indexName, null, null, false);
--+        Index index = new Index(dataverseName, datasetName, indexName, null, null, false, IMetadataEntity.PENDING_NO_OP);
--         droppedCache.addIndexIfNotExists(index);
--         logAndApply(new MetadataLogicalOperation(index, false));
--     }
-- 
--     public void dropDataverse(String dataverseName) {
---        Dataverse dataverse = new Dataverse(dataverseName, null);
--+        Dataverse dataverse = new Dataverse(dataverseName, null, IMetadataEntity.PENDING_NO_OP);
--         droppedCache.addDataverseIfNotExists(dataverse);
--         logAndApply(new MetadataLogicalOperation(dataverse, false));
--     }
--@@ -162,7 +163,7 @@
-+     public int getLogPageIndex(long lsnValue) {
-+@@ -312,7 +271,7 @@
-+      */
-+     private void waitUntillPageIsAvailableForWritingLog(int pageIndex) throws ACIDException {
-+         if (logPageStatus[pageIndex].get() == PageState.ACTIVE
-+-                && getLogPageOwnershipCount(pageIndex).get() >= PageOwnershipStatus.LOG_WRITER) {
-++                && logPageOwnerCount[pageIndex].get() >= PageOwnershipStatus.LOG_WRITER) {
-+             return;
-          }
--         return droppedCache.getDataset(dataverseName, datasetName) != null;
--     }
---    
-+         try {
-+@@ -338,47 +297,40 @@
-+      */
-+     private long getLsn(int entrySize, byte logType) throws ACIDException {
-+         long pageSize = logManagerProperties.getLogPageSize();
-+-        boolean requiresFlushing = logType == LogType.COMMIT;
- +
--     public boolean indexIsDropped(String dataverseName, String datasetName, String indexName) {
--         if (droppedCache.getDataverse(dataverseName) != null) {
--             return true;
--Index: asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/bootstrap/MetadataRecordTypes.java
--===================================================================
----- asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/bootstrap/MetadataRecordTypes.java	(revision 1061)
--+++ asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/bootstrap/MetadataRecordTypes.java	(working copy)
--@@ -80,10 +80,11 @@
--     public static final int DATAVERSE_ARECORD_NAME_FIELD_INDEX = 0;
--     public static final int DATAVERSE_ARECORD_FORMAT_FIELD_INDEX = 1;
--     public static final int DATAVERSE_ARECORD_TIMESTAMP_FIELD_INDEX = 2;
--+    public static final int DATAVERSE_ARECORD_PENDINGOP_FIELD_INDEX = 3;
-+         while (true) {
-+             boolean forwardPage = false;
-+-            boolean shouldFlushPage = false;
-+             long old = lsn.get();
-+-            int pageIndex = getLogPageIndex(old); // get the log page
-+-            // corresponding to the
-+-            // current lsn value
-++
-++            //get the log page corresponding to the current lsn value
-++            int pageIndex = getLogPageIndex(old);
-+             long retVal = old;
-+-            long next = old + entrySize; // the lsn value for the next request,
-+-            // if the current request is served.
-++
-++            // the lsn value for the next request if the current request is served.
-++            long next = old + entrySize;
-+             int prevPage = -1;
-+-            if ((next - 1) / pageSize != old / pageSize // check if the log
-+-            // record will cross
-+-            // page boundaries, a
-+-            // case that is not
-+-            // allowed.
-+-                    || (next % pageSize == 0)) {
-++
-++            // check if the log  record will cross page boundaries, a case that is not allowed.
-++            if ((next - 1) / pageSize != old / pageSize || (next % pageSize == 0)) {
-++
-+                 if ((old != 0 && old % pageSize == 0)) {
-+-                    retVal = old; // On second thought, this shall never be the
-+-                    // case as it means that the lsn is
-+-                    // currently at the beginning of a page and
-+-                    // we still need to forward the page which
-+-                    // means that the entrySize exceeds a log
-+-                    // page size. If this is the case, an
-+-                    // exception is thrown before calling this
-+-                    // API.
-+-                    // would remove this case.
-++                    // On second thought, this shall never be the case as it means that the lsn is
-++                    // currently at the beginning of a page and we still need to forward the page which
-++                    // means that the entrySize exceeds a log page size. If this is the case, an
-++                    // exception is thrown before calling this API. would remove this case.
-++                    retVal = old;
-  
--     private static final ARecordType createDataverseRecordType() {
---        return new ARecordType("DataverseRecordType", new String[] { "DataverseName", "DataFormat", "Timestamp" },
---                new IAType[] { BuiltinType.ASTRING, BuiltinType.ASTRING, BuiltinType.ASTRING }, true);
--+        return new ARecordType("DataverseRecordType", new String[] { "DataverseName", "DataFormat", "Timestamp", "PendingOp" },
--+                new IAType[] { BuiltinType.ASTRING, BuiltinType.ASTRING, BuiltinType.ASTRING, BuiltinType.AINT32 }, true);
--     }
-+                 } else {
-+-                    retVal = ((old / pageSize) + 1) * pageSize; // set the lsn
-+-                    // to point to
-+-                    // the beginning
-+-                    // of the next
-+-                    // page.
-++                    // set the lsn to point to the beginning of the next page.
-++                    retVal = ((old / pageSize) + 1) * pageSize;
-+                 }
-++
-+                 next = retVal;
-+-                forwardPage = true; // as the log record shall cross log page
-+-                // boundary, we must re-assign the lsn (so
-+-                // that the log record begins on a different
-+-                // location.
-++
-++                // as the log record shall cross log page boundary, we must re-assign the lsn so
-++                // that the log record begins on a different location.
-++                forwardPage = true;
-++
-+                 prevPage = pageIndex;
-+                 pageIndex = getNextPageInSequence(pageIndex);
-+             }
-+@@ -397,109 +349,51 @@
-+              */
-+             waitUntillPageIsAvailableForWritingLog(pageIndex);
-  
--     // Helper constants for accessing fields in an ARecord of anonymous type
--@@ -158,10 +159,11 @@
--     public static final int DATASET_ARECORD_FEEDDETAILS_FIELD_INDEX = 6;
--     public static final int DATASET_ARECORD_TIMESTAMP_FIELD_INDEX = 7;
--     public static final int DATASET_ARECORD_DATASETID_FIELD_INDEX = 8;
--+    public static final int DATASET_ARECORD_PENDINGOP_FIELD_INDEX = 9;
-+-            if (!forwardPage && requiresFlushing) {
-+-                shouldFlushPage = commitResolver.shouldCommitPage(pageIndex, this, commitRequestStatistics);
-+-                if (shouldFlushPage) {
-+-                    next = ((next / pageSize) + 1) * pageSize; /*
-+-                                                                * next
-+-                                                                * represents the
-+-                                                                * next value of
-+-                                                                * lsn after this
-+-                                                                * log record has
-+-                                                                * been written.
-+-                                                                * If the page
-+-                                                                * needs to be
-+-                                                                * flushed, then
-+-                                                                * we do not give
-+-                                                                * any more LSNs
-+-                                                                * from this
-+-                                                                * page.
-+-                                                                */
-+-                }
-+-            }
-+-            if (!lsn.compareAndSet(old, next)) { // Atomic call -> returns true
-+-                // only when the value
-+-                // represented by lsn is same as
-+-                // "old". The value is updated
-+-                // to "next".
-++            if (!lsn.compareAndSet(old, next)) {
-++                // Atomic call -> returns true only when the value represented by lsn is same as
-++                // "old". The value is updated to "next".
-+                 continue;
-+             }
-  
--     private static final ARecordType createDatasetRecordType() {
--         String[] fieldNames = { "DataverseName", "DatasetName", "DataTypeName", "DatasetType", "InternalDetails",
---                "ExternalDetails", "FeedDetails", "Timestamp", "DatasetId" };
--+                "ExternalDetails", "FeedDetails", "Timestamp", "DatasetId", "PendingOp" };
-+             if (forwardPage) {
-+-                //TODO 
-+-                //this is not safe since the incoming thread may reach the same page slot with this page 
-+-                //(differ by the log buffer size)
-+-                logPageStatus[prevPage].set(PageState.INACTIVE); // mark
-+-                // previous
-+-                // page
-+-                // inactive
-++                addFlushRequest(prevPage, old, false);
-  
--         List<IAType> internalRecordUnionList = new ArrayList<IAType>();
--         internalRecordUnionList.add(BuiltinType.ANULL);
--@@ -179,7 +181,8 @@
--         AUnionType feedRecordUnion = new AUnionType(feedRecordUnionList, null);
-- 
--         IAType[] fieldTypes = { BuiltinType.ASTRING, BuiltinType.ASTRING, BuiltinType.ASTRING, BuiltinType.ASTRING,
---                internalRecordUnion, externalRecordUnion, feedRecordUnion, BuiltinType.ASTRING, BuiltinType.AINT32 };
--+                internalRecordUnion, externalRecordUnion, feedRecordUnion, BuiltinType.ASTRING, BuiltinType.AINT32,
--+                BuiltinType.AINT32 };
--         return new ARecordType("DatasetRecordType", fieldNames, fieldTypes, true);
-+-                /*
-+-                 * decrement on the behalf of the log manager. if there are no
-+-                 * more owners (count == 0) the page must be marked as a
-+-                 * candidate to be flushed.
-+-                 */
-+-                int pageDirtyCount = getLogPageOwnershipCount(prevPage).decrementAndGet();
-+-                if (pageDirtyCount == 0) {
-+-                    addFlushRequest(prevPage);
-+-                }
-+-
-+-                /*
-+-                 * The transaction thread that discovers the need to forward a
-+-                 * page is made to re-acquire a lsn.
-+-                 */
-++                // The transaction thread that discovers the need to forward a
-++                // page is made to re-acquire a lsn.
-+                 continue;
-++
-+             } else {
-+-                /*
-+-                 * the transaction thread has been given a space in a log page,
-+-                 * but is made to wait until the page is available.
-+-                 */
-++                // the transaction thread has been given a space in a log page,
-++                // but is made to wait until the page is available.
-++                // (Is this needed? when does this wait happen?)
-+                 waitUntillPageIsAvailableForWritingLog(pageIndex);
-+-                /*
-+-                 * increment the counter as the transaction thread now holds a
-+-                 * space in the log page and hence is an owner.
-+-                 */
-++
-++                // increment the counter as the transaction thread now holds a
-++                // space in the log page and hence is an owner.
-+                 logPageOwnerCount[pageIndex].incrementAndGet();
-+-            }
-+-            if (requiresFlushing) {
-+-                if (!shouldFlushPage) {
-+-                    /*
-+-                     * the log record requires the page to be flushed but under
-+-                     * the commit policy, the flush task has been deferred. The
-+-                     * transaction thread submits its request to flush the page.
-+-                     */
-+-                    commitRequestStatistics.registerCommitRequest(pageIndex);
-+-                } else {
-+-                    /*
-+-                     * the flush request was approved by the commit resolver.
-+-                     * Thus the page is marked INACTIVE as no more logs will be
-+-                     * written on this page. The log manager needs to release
-+-                     * its ownership. Note that transaction threads may still
-+-                     * continue to be owners of the log page till they fill up
-+-                     * the space allocated to them.
-+-                     */
-+-                    logPageStatus[pageIndex].set(PageState.INACTIVE);
-+-                    logPageOwnerCount[pageIndex].decrementAndGet(); // on
-+-                    // the
-+-                    // behalf
-+-                    // of
-+-                    // log
-+-                    // manager
-++
-++                // Before the count is incremented, if the flusher flushed the allocated page, 
-++                // then retry to get new LSN. Otherwise, the log with allocated lsn will be lost. 
-++                if (lastFlushedLsn.get() >= retVal) {
-++                    logPageOwnerCount[pageIndex].decrementAndGet();
-++                    continue;
-+                 }
-+             }
-++
-+             return retVal;
-+         }
-      }
-  
--@@ -264,13 +267,14 @@
--     public static final int INDEX_ARECORD_SEARCHKEY_FIELD_INDEX = 4;
--     public static final int INDEX_ARECORD_ISPRIMARY_FIELD_INDEX = 5;
--     public static final int INDEX_ARECORD_TIMESTAMP_FIELD_INDEX = 6;
--+    public static final int INDEX_ARECORD_PENDINGOP_FIELD_INDEX = 7;
-+     @Override
-+-    public void log(byte logType, TransactionContext context, int datasetId, int PKHashValue, long resourceId,
-++    public void log(byte logType, TransactionContext txnCtx, int datasetId, int PKHashValue, long resourceId,
-+             byte resourceMgrId, int logContentSize, ReusableLogContentObject reusableLogContentObject, ILogger logger,
-+             LogicalLogLocator logicalLogLocator) throws ACIDException {
-+-        /*
-+-         * logLocator is a re-usable object that is appropriately set in each
-+-         * invocation. If the reference is null, the log manager must throw an
-+-         * exception
-+-         */
-++
-++        HashMap<TransactionContext, Integer> map = null;
-++        int activeTxnCount;
-++
-++        // logLocator is a re-usable object that is appropriately set in each invocation. 
-++        // If the reference is null, the log manager must throw an exception.
-+         if (logicalLogLocator == null) {
-+             throw new ACIDException(
-+                     " you need to pass in a non-null logLocator, if you dont have it, then pass in a dummy so that the +"
-+@@ -519,20 +413,19 @@
-  
--     private static final ARecordType createIndexRecordType() {
--         AOrderedListType olType = new AOrderedListType(BuiltinType.ASTRING, null);
--         String[] fieldNames = { "DataverseName", "DatasetName", "IndexName", "IndexStructure", "SearchKey",
---                "IsPrimary", "Timestamp" };
--+                "IsPrimary", "Timestamp", "PendingOp" };
--         IAType[] fieldTypes = { BuiltinType.ASTRING, BuiltinType.ASTRING, BuiltinType.ASTRING, BuiltinType.ASTRING,
---                olType, BuiltinType.ABOOLEAN, BuiltinType.ASTRING };
--+                olType, BuiltinType.ABOOLEAN, BuiltinType.ASTRING, BuiltinType.AINT32 };
--         return new ARecordType("IndexRecordType", fieldNames, fieldTypes, true);
--     };
-+         // all constraints checked and we are good to go and acquire a lsn.
-+         long previousLSN = -1;
-+-        long currentLSN; // the will be set to the location (a long value)
-+-        // where the log record needs to be placed.
-  
--Index: asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/bootstrap/MetadataBootstrap.java
--===================================================================
----- asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/bootstrap/MetadataBootstrap.java	(revision 1061)
--+++ asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/bootstrap/MetadataBootstrap.java	(working copy)
--@@ -31,6 +31,7 @@
-- import edu.uci.ics.asterix.metadata.IDatasetDetails;
-- import edu.uci.ics.asterix.metadata.MetadataManager;
-- import edu.uci.ics.asterix.metadata.MetadataTransactionContext;
--+import edu.uci.ics.asterix.metadata.api.IMetadataEntity;
-- import edu.uci.ics.asterix.metadata.api.IMetadataIndex;
-- import edu.uci.ics.asterix.metadata.entities.AsterixBuiltinTypeMap;
-- import edu.uci.ics.asterix.metadata.entities.Dataset;
--@@ -226,7 +227,7 @@
--     public static void insertInitialDataverses(MetadataTransactionContext mdTxnCtx) throws Exception {
--         String dataverseName = MetadataPrimaryIndexes.DATAVERSE_DATASET.getDataverseName();
--         String dataFormat = NonTaggedDataFormat.NON_TAGGED_DATA_FORMAT;
---        MetadataManager.INSTANCE.addDataverse(mdTxnCtx, new Dataverse(dataverseName, dataFormat));
--+        MetadataManager.INSTANCE.addDataverse(mdTxnCtx, new Dataverse(dataverseName, dataFormat, IMetadataEntity.PENDING_NO_OP));
--     }
-+-        /*
-+-         * The logs written by a transaction need to be linked to each other for
-+-         * a successful rollback/recovery. However there could be multiple
-+-         * threads operating concurrently that are part of a common transaction.
-+-         * These threads need to synchronize and record the lsn corresponding to
-+-         * the last log record written by (any thread of) the transaction.
-+-         */
-+-        synchronized (context) {
-+-            previousLSN = context.getLastLogLocator().getLsn();
-++        // the will be set to the location (a long value) where the log record needs to be placed.
-++        long currentLSN;
-++
-++        // The logs written by a transaction need to be linked to each other for
-++        // a successful rollback/recovery. However there could be multiple
-++        // threads operating concurrently that are part of a common transaction.
-++        // These threads need to synchronize and record the lsn corresponding to
-++        // the last log record written by (any thread of) the transaction.
-++        synchronized (txnCtx) {
-++            previousLSN = txnCtx.getLastLogLocator().getLsn();
-+             currentLSN = getLsn(totalLogSize, logType);
-+-            context.setLastLSN(currentLSN);
-++            txnCtx.setLastLSN(currentLSN);
-+             if (IS_DEBUG_MODE) {
-+                 System.out.println("--------------> LSN(" + currentLSN + ") is allocated");
-+             }
-+@@ -547,48 +440,37 @@
-+          * performed correctly that is ownership is released.
-+          */
-  
--     public static void insertInitialDatasets(MetadataTransactionContext mdTxnCtx) throws Exception {
--@@ -236,7 +237,7 @@
--                     primaryIndexes[i].getNodeGroupName());
--             MetadataManager.INSTANCE.addDataset(mdTxnCtx, new Dataset(primaryIndexes[i].getDataverseName(),
--                     primaryIndexes[i].getIndexedDatasetName(), primaryIndexes[i].getPayloadRecordType().getTypeName(),
---                    id, DatasetType.INTERNAL, primaryIndexes[i].getDatasetId().getId()));
--+                    id, DatasetType.INTERNAL, primaryIndexes[i].getDatasetId().getId(), IMetadataEntity.PENDING_NO_OP));
--         }
--     }
-+-        boolean decremented = false; // indicates if the transaction thread
-+-        // has release ownership of the
-+-        // page.
-+-        boolean addedFlushRequest = false; // indicates if the transaction
-+-        // thread has submitted a flush
-+-        // request.
-++        // indicates if the transaction thread has release ownership of the page.
-++        boolean decremented = false;
-  
--@@ -267,7 +268,7 @@
--         for (int i = 0; i < secondaryIndexes.length; i++) {
--             MetadataManager.INSTANCE.addIndex(mdTxnCtx, new Index(secondaryIndexes[i].getDataverseName(),
--                     secondaryIndexes[i].getIndexedDatasetName(), secondaryIndexes[i].getIndexName(), IndexType.BTREE,
---                    secondaryIndexes[i].getPartitioningExpr(), false));
--+                    secondaryIndexes[i].getPartitioningExpr(), false, IMetadataEntity.PENDING_NO_OP));
--         }
--     }
-+         int pageIndex = (int) getLogPageIndex(currentLSN);
-  
--Index: asterix-app/src/test/java/edu/uci/ics/asterix/test/runtime/ExecutionTest.java
--===================================================================
----- asterix-app/src/test/java/edu/uci/ics/asterix/test/runtime/ExecutionTest.java	(revision 1061)
--+++ asterix-app/src/test/java/edu/uci/ics/asterix/test/runtime/ExecutionTest.java	(working copy)
--@@ -95,11 +95,11 @@
--             File testFile = tcCtx.getTestFile(cUnit);
-- 
--             /*************** to avoid run failure cases ****************
---            if (!testFile.getAbsolutePath().contains("runtimets/queries/failure/")) {
--+            if (!testFile.getAbsolutePath().contains("index-selection/")) {
--                 continue;
--             }
--             ************************************************************/
-+-        /*
-+-         * the lsn has been obtained for the log record. need to set the
-+-         * LogLocator instance accordingly.
-+-         */
- -
--+            
--             File expectedResultFile = tcCtx.getExpectedResultFile(cUnit);
--             File actualFile = new File(PATH_ACTUAL + File.separator
--                     + tcCtx.getTestCase().getFilePath().replace(File.separator, "_") + "_" + cUnit.getName() + ".adm");
--Index: asterix-app/src/main/java/edu/uci/ics/asterix/file/DatasetOperations.java
--===================================================================
----- asterix-app/src/main/java/edu/uci/ics/asterix/file/DatasetOperations.java	(revision 1061)
--+++ asterix-app/src/main/java/edu/uci/ics/asterix/file/DatasetOperations.java	(working copy)
--@@ -90,7 +90,7 @@
-++        // the lsn has been obtained for the log record. need to set the
-++        // LogLocator instance accordingly.
-+         try {
-+-
-+             logicalLogLocator.setBuffer(logPages[pageIndex]);
-+             int pageOffset = getLogPageOffset(currentLSN);
-+             logicalLogLocator.setMemoryOffset(pageOffset);
-  
--     private static Logger LOGGER = Logger.getLogger(DatasetOperations.class.getName());
-+-            /*
-+-             * write the log header.
-+-             */
-+-            logRecordHelper.writeLogHeader(logicalLogLocator, logType, context, datasetId, PKHashValue, previousLSN,
-++            // write the log header.
-++            logRecordHelper.writeLogHeader(logicalLogLocator, logType, txnCtx, datasetId, PKHashValue, previousLSN,
-+                     resourceId, resourceMgrId, logContentSize);
-  
---    public static JobSpecification[] createDropDatasetJobSpec(CompiledDatasetDropStatement datasetDropStmt,
--+    public static JobSpecification createDropDatasetJobSpec(CompiledDatasetDropStatement datasetDropStmt,
--             AqlMetadataProvider metadataProvider) throws AlgebricksException, HyracksDataException, RemoteException,
--             ACIDException, AsterixException {
-+             // increment the offset so that the transaction can fill up the
-+             // content in the correct region of the allocated space.
-+             logicalLogLocator.increaseMemoryOffset(logRecordHelper.getLogHeaderSize(logType));
-  
--@@ -111,67 +111,10 @@
--             throw new AlgebricksException("DROP DATASET: No metadata for dataset " + datasetName);
--         }
--         if (dataset.getDatasetType() == DatasetType.EXTERNAL) {
---            return new JobSpecification[0];
--+            return new JobSpecification();
--         }
---
---        List<Index> datasetIndexes = metadataProvider.getDatasetIndexes(dataset.getDataverseName(),
---                dataset.getDatasetName());
---        int numSecondaryIndexes = 0;
---        for (Index index : datasetIndexes) {
---            if (index.isSecondaryIndex()) {
---                numSecondaryIndexes++;
---            }
---        }
---        JobSpecification[] specs;
---        if (numSecondaryIndexes > 0) {
---            specs = new JobSpecification[numSecondaryIndexes + 1];
---            int i = 0;
---            // First, drop secondary indexes.
---            for (Index index : datasetIndexes) {
---                if (index.isSecondaryIndex()) {
---                    specs[i] = new JobSpecification();
---                    Pair<IFileSplitProvider, AlgebricksPartitionConstraint> idxSplitsAndConstraint = metadataProvider
---                            .splitProviderAndPartitionConstraintsForInternalOrFeedDataset(dataset.getDataverseName(),
---                                    datasetName, index.getIndexName());
---                    IIndexDataflowHelperFactory dfhFactory;
---                    switch (index.getIndexType()) {
---                        case BTREE:
---                            dfhFactory = new LSMBTreeDataflowHelperFactory(
---                                    AsterixRuntimeComponentsProvider.LSMBTREE_PROVIDER,
---                                    AsterixRuntimeComponentsProvider.LSMBTREE_PROVIDER,
---                                    AsterixRuntimeComponentsProvider.LSMBTREE_PROVIDER);
---                            break;
---                        case RTREE:
---                            dfhFactory = new LSMRTreeDataflowHelperFactory(
---                                    new IPrimitiveValueProviderFactory[] { null }, RTreePolicyType.RTREE,
---                                    new IBinaryComparatorFactory[] { null },
---                                    AsterixRuntimeComponentsProvider.LSMRTREE_PROVIDER,
---                                    AsterixRuntimeComponentsProvider.LSMRTREE_PROVIDER,
---                                    AsterixRuntimeComponentsProvider.LSMRTREE_PROVIDER, null);
---                            break;
---                        case NGRAM_INVIX:
---                        case WORD_INVIX:
---                            dfhFactory = new LSMInvertedIndexDataflowHelperFactory(
---                                    AsterixRuntimeComponentsProvider.LSMINVERTEDINDEX_PROVIDER,
---                                    AsterixRuntimeComponentsProvider.LSMINVERTEDINDEX_PROVIDER,
---                                    AsterixRuntimeComponentsProvider.LSMINVERTEDINDEX_PROVIDER);
---                            break;
---                        default:
---                            throw new AsterixException("Unknown index type provided.");
---                    }
---                    IndexDropOperatorDescriptor secondaryBtreeDrop = new IndexDropOperatorDescriptor(specs[i],
---                            AsterixRuntimeComponentsProvider.NOINDEX_PROVIDER,
---                            AsterixRuntimeComponentsProvider.NOINDEX_PROVIDER, idxSplitsAndConstraint.first, dfhFactory);
---                    AlgebricksPartitionConstraintHelper.setPartitionConstraintInJobSpec(specs[i], secondaryBtreeDrop,
---                            idxSplitsAndConstraint.second);
---                    i++;
---                }
---            }
---        } else {
---            specs = new JobSpecification[1];
---        }
--+        
--         JobSpecification specPrimary = new JobSpecification();
---        specs[specs.length - 1] = specPrimary;
-+-            // a COMMIT log record does not have any content
-+-            // and hence the logger (responsible for putting the log content) is
-+-            // not invoked.
-++            // a COMMIT log record does not have any content and hence 
-++            // the logger (responsible for putting the log content) is not invoked.
-+             if (logContentSize != 0) {
-+-                logger.preLog(context, reusableLogContentObject);
-++                logger.preLog(txnCtx, reusableLogContentObject);
-+             }
-  
--         Pair<IFileSplitProvider, AlgebricksPartitionConstraint> splitsAndConstraint = metadataProvider
--                 .splitProviderAndPartitionConstraintsForInternalOrFeedDataset(dataset.getDataverseName(), datasetName,
--@@ -187,7 +130,7 @@
-+             if (logContentSize != 0) {
-+                 // call the logger implementation and ask to fill in the log
-+                 // record content at the allocated space.
-+-                logger.log(context, logicalLogLocator, logContentSize, reusableLogContentObject);
-+-                logger.postLog(context, reusableLogContentObject);
-++                logger.log(txnCtx, logicalLogLocator, logContentSize, reusableLogContentObject);
-++                logger.postLog(txnCtx, reusableLogContentObject);
-+                 if (IS_DEBUG_MODE) {
-+                     logicalLogLocator.setMemoryOffset(logicalLogLocator.getMemoryOffset()
-+                             - logRecordHelper.getLogHeaderSize(logType));
-+@@ -597,10 +479,8 @@
-+                 }
-+             }
-  
--         specPrimary.addRoot(primaryBtreeDrop);
-+-            /*
-+-             * The log record has been written. For integrity checks, compute
-+-             * the checksum and put it at the end of the log record.
-+-             */
-++            // The log record has been written. For integrity checks, compute
-++            // the checksum and put it at the end of the log record.
-+             int startPosChecksum = logicalLogLocator.getMemoryOffset() - logRecordHelper.getLogHeaderSize(logType);
-+             int length = totalLogSize - logRecordHelper.getLogChecksumSize();
-+             long checksum = DataUtil.getChecksum(logPages[pageIndex], startPosChecksum, length);
-+@@ -611,46 +491,31 @@
-+                 System.out.println("--------------> LSN(" + currentLSN + ") is written");
-+             }
-  
---        return specs;
--+        return specPrimary;
--     }
-+-            /*
-+-             * release the ownership as the log record has been placed in
-+-             * created space.
-+-             */
-+-            int pageDirtyCount = logPageOwnerCount[pageIndex].decrementAndGet();
-++            // release the ownership as the log record has been placed in created space.
-++            logPageOwnerCount[pageIndex].decrementAndGet();
-  
--     public static JobSpecification createDatasetJobSpec(Dataverse dataverse, String datasetName,
--Index: asterix-app/src/main/java/edu/uci/ics/asterix/aql/translator/AqlTranslator.java
--===================================================================
----- asterix-app/src/main/java/edu/uci/ics/asterix/aql/translator/AqlTranslator.java	(revision 1061)
--+++ asterix-app/src/main/java/edu/uci/ics/asterix/aql/translator/AqlTranslator.java	(working copy)
--@@ -21,6 +21,8 @@
-- import java.util.HashMap;
-- import java.util.List;
-- import java.util.Map;
--+import java.util.concurrent.locks.ReadWriteLock;
--+import java.util.concurrent.locks.ReentrantReadWriteLock;
-+             // indicating that the transaction thread has released ownership
-+             decremented = true;
-  
-- import org.json.JSONException;
-+-            /*
-+-             * If the transaction thread happens to be the last owner of the log
-+-             * page the page must by marked as a candidate to be flushed.
-+-             */
-+-            if (pageDirtyCount == 0 && logPageStatus[pageIndex].get() == PageState.INACTIVE) {
-+-                addFlushRequest(pageIndex);
-+-                addedFlushRequest = true;
-+-            }
-+-
-+-            /*
-+-             * If the log type is commit, a flush request is registered, if the
-+-             * log record has not reached the disk. It may be possible that this
-+-             * thread does not get CPU cycles and in-between the log record has
-+-             * been flushed to disk because the containing log page filled up.
-+-             */
-+-            if (logType == LogType.COMMIT) {
-+-                synchronized (logPages[pageIndex]) {
-+-                    while (getLastFlushedLsn().get() < currentLSN) {
-+-                        logPages[pageIndex].wait();
-+-                    }
-++            if (logType == LogType.ENTITY_COMMIT) {
-++                map = activeTxnCountMaps.get(pageIndex);
-++                if (map.containsKey(txnCtx)) {
-++                    activeTxnCount = (Integer) map.get(txnCtx);
-++                    activeTxnCount++;
-++                    map.put(txnCtx, activeTxnCount);
-++                } else {
-++                    map.put(txnCtx, 1);
-+                 }
-++                addFlushRequest(pageIndex, currentLSN, false);
-++            } else if (logType == LogType.COMMIT) {
-++                addFlushRequest(pageIndex, currentLSN, true);
-+             }
-  
--@@ -68,6 +70,7 @@
-- import edu.uci.ics.asterix.metadata.MetadataException;
-- import edu.uci.ics.asterix.metadata.MetadataManager;
-- import edu.uci.ics.asterix.metadata.MetadataTransactionContext;
--+import edu.uci.ics.asterix.metadata.api.IMetadataEntity;
-- import edu.uci.ics.asterix.metadata.declared.AqlMetadataProvider;
-- import edu.uci.ics.asterix.metadata.entities.Dataset;
-- import edu.uci.ics.asterix.metadata.entities.Datatype;
--@@ -112,6 +115,7 @@
--     private final PrintWriter out;
--     private final SessionConfig sessionConfig;
--     private final DisplayFormat pdf;
--+    private final ReadWriteLock cacheLatch;
--     private Dataverse activeDefaultDataverse;
--     private List<FunctionDecl> declaredFunctions;
-+         } catch (Exception e) {
-+             e.printStackTrace();
-+-            throw new ACIDException(context, "Thread: " + Thread.currentThread().getName()
-++            throw new ACIDException(txnCtx, "Thread: " + Thread.currentThread().getName()
-+                     + " logger encountered exception", e);
-+         } finally {
-+-            /*
-+-             * If an exception was encountered and we did not release ownership
-+-             */
-+             if (!decremented) {
-+                 logPageOwnerCount[pageIndex].decrementAndGet();
-+             }
-+@@ -667,9 +532,6 @@
-  
--@@ -121,6 +125,7 @@
--         this.out = out;
--         this.sessionConfig = pc;
--         this.pdf = pdf;
--+        this.cacheLatch = new ReentrantReadWriteLock(true);
--         declaredFunctions = getDeclaredFunctions(aqlStatements);
-+         logPages[pageIndex].reset(filePath, LogUtil.getFileOffset(this, nextWritePosition),
-+                 logManagerProperties.getLogPageSize());
-+-
-+-        //TODO Check if this is necessary
-+-        //Arrays.fill(logPages[pageIndex].getArray(), (byte) 0);
-      }
-  
--@@ -143,8 +148,7 @@
-+     @Override
-+@@ -747,16 +609,13 @@
-+             //minimize memory allocation overhead. current code allocates the log page size per reading a log record.
-  
--         for (Statement stmt : aqlStatements) {
--             validateOperation(activeDefaultDataverse, stmt);
---            MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
---            AqlMetadataProvider metadataProvider = new AqlMetadataProvider(mdTxnCtx, activeDefaultDataverse);
--+            AqlMetadataProvider metadataProvider = new AqlMetadataProvider(activeDefaultDataverse);
--             metadataProvider.setWriterFactory(writerFactory);
--             metadataProvider.setOutputFile(outputFile);
--             metadataProvider.setConfig(config);
--@@ -253,15 +257,9 @@
--                     }
-+             byte[] pageContent = new byte[logManagerProperties.getLogPageSize()];
-+-            // take a lock on the log page so that the page is not flushed to
-+-            // disk interim
-++
-++            // take a lock on the log page so that the page is not flushed to disk interim
-+             synchronized (logPages[pageIndex]) {
-+-                if (lsnValue > getLastFlushedLsn().get()) { // need to check
-+-                    // again
-+-                    // (this
-+-                    // thread may have got
-+-                    // de-scheduled and must
-+-                    // refresh!)
-  
--                 }
---                MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--             } catch (Exception e) {
---                MetadataManager.INSTANCE.abortTransaction(mdTxnCtx);
--                 throw new AlgebricksException(e);
-++                // need to check again (this thread may have got de-scheduled and must refresh!)
-++                if (lsnValue > getLastFlushedLsn().get()) {
-++
-+                     // get the log record length
-+                     logPages[pageIndex].getBytes(pageContent, 0, pageContent.length);
-+                     byte logType = pageContent[pageOffset + 4];
-+@@ -765,9 +624,7 @@
-+                     int logRecordSize = logHeaderSize + logBodySize + logRecordHelper.getLogChecksumSize();
-+                     logRecord = new byte[logRecordSize];
-+ 
-+-                    /*
-+-                     * copy the log record content
-+-                     */
-++                    // copy the log record content
-+                     System.arraycopy(pageContent, pageOffset, logRecord, 0, logRecordSize);
-+                     MemBasedBuffer memBuffer = new MemBasedBuffer(logRecord);
-+                     if (logicalLogLocator == null) {
-+@@ -790,9 +647,7 @@
-              }
---            // Following jobs are run under a separate transaction, that is committed/aborted by the JobEventListener
---            for (JobSpecification jobspec : jobsToExecute) {
---                runJob(hcc, jobspec);
---            }
-          }
--         return executionResult;
-+ 
-+-        /*
-+-         * the log record is residing on the disk, read it from there.
-+-         */
-++        // the log record is residing on the disk, read it from there.
-+         readDiskLog(lsnValue, logicalLogLocator);
-      }
--@@ -289,398 +287,802 @@
-  
--     private Dataverse handleUseDataverseStatement(AqlMetadataProvider metadataProvider, Statement stmt,
--             List<JobSpecification> jobsToExecute) throws MetadataException, RemoteException, ACIDException {
---        DataverseDecl dvd = (DataverseDecl) stmt;
---        String dvName = dvd.getDataverseName().getValue();
---        Dataverse dv = MetadataManager.INSTANCE.getDataverse(metadataProvider.getMetadataTxnContext(), dvName);
---        if (dv == null) {
---            throw new MetadataException("Unknown dataverse " + dvName);
--+
--+        MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+        metadataProvider.setMetadataTxnContext(mdTxnCtx);
--+        acquireReadLatch();
--+
--+        try {
--+            DataverseDecl dvd = (DataverseDecl) stmt;
--+            String dvName = dvd.getDataverseName().getValue();
--+            Dataverse dv = MetadataManager.INSTANCE.getDataverse(metadataProvider.getMetadataTxnContext(), dvName);
--+            if (dv == null) {
--+                throw new MetadataException("Unknown dataverse " + dvName);
--+            }
--+            MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+            return dv;
--+        } catch (Exception e) {
--+            MetadataManager.INSTANCE.abortTransaction(mdTxnCtx);
--+            throw new MetadataException(e);
--+        } finally {
--+            releaseReadLatch();
--         }
---        return dv;
-+@@ -860,30 +715,40 @@
-+         return logPageOwnerCount[pageIndex];
-      }
-  
--     private void handleCreateDataverseStatement(AqlMetadataProvider metadataProvider, Statement stmt,
--             List<JobSpecification> jobsToExecute) throws MetadataException, AlgebricksException, RemoteException,
--             ACIDException {
---        CreateDataverseStatement stmtCreateDataverse = (CreateDataverseStatement) stmt;
---        String dvName = stmtCreateDataverse.getDataverseName().getValue();
---        Dataverse dv = MetadataManager.INSTANCE.getDataverse(metadataProvider.getMetadataTxnContext(), dvName);
---        if (dv != null && !stmtCreateDataverse.getIfNotExists()) {
---            throw new AlgebricksException("A dataverse with this name " + dvName + " already exists.");
--+
--+        MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+        metadataProvider.setMetadataTxnContext(mdTxnCtx);
--+        acquireWriteLatch();
--+
--+        try {
--+            CreateDataverseStatement stmtCreateDataverse = (CreateDataverseStatement) stmt;
--+            String dvName = stmtCreateDataverse.getDataverseName().getValue();
--+            Dataverse dv = MetadataManager.INSTANCE.getDataverse(metadataProvider.getMetadataTxnContext(), dvName);
--+            if (dv != null && !stmtCreateDataverse.getIfNotExists()) {
--+                throw new AlgebricksException("A dataverse with this name " + dvName + " already exists.");
--+            }
--+            MetadataManager.INSTANCE.addDataverse(metadataProvider.getMetadataTxnContext(), new Dataverse(dvName,
--+                    stmtCreateDataverse.getFormat(), IMetadataEntity.PENDING_NO_OP));
--+            MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+        } catch (Exception e) {
--+            MetadataManager.INSTANCE.abortTransaction(mdTxnCtx);
--+            throw new AlgebricksException(e);
--+        } finally {
--+            releaseWriteLatch();
--         }
---        MetadataManager.INSTANCE.addDataverse(metadataProvider.getMetadataTxnContext(), new Dataverse(dvName,
---                stmtCreateDataverse.getFormat()));
-+-    public ICommitResolver getCommitResolver() {
-+-        return commitResolver;
-+-    }
-+-
-+-    public CommitRequestStatistics getCommitRequestStatistics() {
-+-        return commitRequestStatistics;
-+-    }
-+-
-+     public IFileBasedBuffer[] getLogPages() {
-+         return logPages;
-      }
-  
--     private void handleCreateDatasetStatement(AqlMetadataProvider metadataProvider, Statement stmt,
--             IHyracksClientConnection hcc, List<JobSpecification> jobsToExecute) throws AsterixException, Exception {
---        DatasetDecl dd = (DatasetDecl) stmt;
---        String dataverseName = dd.getDataverse() != null ? dd.getDataverse().getValue()
---                : activeDefaultDataverse != null ? activeDefaultDataverse.getDataverseName() : null;
---        if (dataverseName == null) {
---            throw new AlgebricksException(" dataverse not specified ");
---        }
---        String datasetName = dd.getName().getValue();
---        DatasetType dsType = dd.getDatasetType();
---        String itemTypeName = dd.getItemTypeName().getValue();
-- 
---        IDatasetDetails datasetDetails = null;
---        Dataset ds = MetadataManager.INSTANCE.getDataset(metadataProvider.getMetadataTxnContext(), dataverseName,
---                datasetName);
---        if (ds != null) {
---            if (dd.getIfNotExists()) {
---                return;
---            } else {
---                throw new AlgebricksException("A dataset with this name " + datasetName + " already exists.");
--+        MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+        boolean bActiveTxn = true;
--+        metadataProvider.setMetadataTxnContext(mdTxnCtx);
--+        acquireWriteLatch();
-+-    public int getLastFlushedPage() {
-+-        return lastFlushedPage.get();
-+-    }
-+-
-+-    public void setLastFlushedPage(int lastFlushedPage) {
-+-        this.lastFlushedPage.set(lastFlushedPage);
-+-    }
-+-
-+     @Override
-+     public TransactionSubsystem getTransactionSubsystem() {
-+         return provider;
-+     }
- +
--+        try {
--+            DatasetDecl dd = (DatasetDecl) stmt;
--+            String dataverseName = dd.getDataverse() != null ? dd.getDataverse().getValue()
--+                    : activeDefaultDataverse != null ? activeDefaultDataverse.getDataverseName() : null;
--+            if (dataverseName == null) {
--+                throw new AlgebricksException(" dataverse not specified ");
--             }
---        }
---        Datatype dt = MetadataManager.INSTANCE.getDatatype(metadataProvider.getMetadataTxnContext(), dataverseName,
---                itemTypeName);
---        if (dt == null) {
---            throw new AlgebricksException(": type " + itemTypeName + " could not be found.");
---        }
---        switch (dd.getDatasetType()) {
---            case INTERNAL: {
---                IAType itemType = dt.getDatatype();
---                if (itemType.getTypeTag() != ATypeTag.RECORD) {
---                    throw new AlgebricksException("Can only partition ARecord's.");
--+            String datasetName = dd.getName().getValue();
--+            DatasetType dsType = dd.getDatasetType();
--+            String itemTypeName = dd.getItemTypeName().getValue();
-++    public void decrementActiveTxnCountOnIndexes(int pageIndex) throws HyracksDataException {
-++        TransactionContext ctx = null;
-++        int count = 0;
-++        int i = 0;
- +
--+            IDatasetDetails datasetDetails = null;
--+            Dataset ds = MetadataManager.INSTANCE.getDataset(metadataProvider.getMetadataTxnContext(), dataverseName,
--+                    datasetName);
--+            if (ds != null) {
--+                if (dd.getIfNotExists()) {
--+                    MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+                    return;
--+                } else {
--+                    throw new AlgebricksException("A dataset with this name " + datasetName + " already exists.");
--                 }
---                List<String> partitioningExprs = ((InternalDetailsDecl) dd.getDatasetDetailsDecl())
---                        .getPartitioningExprs();
---                String ngName = ((InternalDetailsDecl) dd.getDatasetDetailsDecl()).getNodegroupName().getValue();
---                datasetDetails = new InternalDatasetDetails(InternalDatasetDetails.FileStructure.BTREE,
---                        InternalDatasetDetails.PartitioningStrategy.HASH, partitioningExprs, partitioningExprs, ngName);
---                break;
--             }
---            case EXTERNAL: {
---                String adapter = ((ExternalDetailsDecl) dd.getDatasetDetailsDecl()).getAdapter();
---                Map<String, String> properties = ((ExternalDetailsDecl) dd.getDatasetDetailsDecl()).getProperties();
---                datasetDetails = new ExternalDatasetDetails(adapter, properties);
---                break;
--+            Datatype dt = MetadataManager.INSTANCE.getDatatype(metadataProvider.getMetadataTxnContext(), dataverseName,
--+                    itemTypeName);
--+            if (dt == null) {
--+                throw new AlgebricksException(": type " + itemTypeName + " could not be found.");
--             }
---            case FEED: {
---                IAType itemType = dt.getDatatype();
---                if (itemType.getTypeTag() != ATypeTag.RECORD) {
---                    throw new AlgebricksException("Can only partition ARecord's.");
--+            switch (dd.getDatasetType()) {
--+                case INTERNAL: {
--+                    IAType itemType = dt.getDatatype();
--+                    if (itemType.getTypeTag() != ATypeTag.RECORD) {
--+                        throw new AlgebricksException("Can only partition ARecord's.");
-++        HashMap<TransactionContext, Integer> map = activeTxnCountMaps.get(pageIndex);
-++        Set<Map.Entry<TransactionContext, Integer>> entrySet = map.entrySet();
-++        if (entrySet != null) {
-++            for (Map.Entry<TransactionContext, Integer> entry : entrySet) {
-++                if (entry != null) {
-++                    if (entry.getValue() != null) {
-++                        count = entry.getValue();
- +                    }
--+                    List<String> partitioningExprs = ((InternalDetailsDecl) dd.getDatasetDetailsDecl())
--+                            .getPartitioningExprs();
--+                    String ngName = ((InternalDetailsDecl) dd.getDatasetDetailsDecl()).getNodegroupName().getValue();
--+                    datasetDetails = new InternalDatasetDetails(InternalDatasetDetails.FileStructure.BTREE,
--+                            InternalDatasetDetails.PartitioningStrategy.HASH, partitioningExprs, partitioningExprs,
--+                            ngName);
--+                    break;
--                 }
---                List<String> partitioningExprs = ((FeedDetailsDecl) dd.getDatasetDetailsDecl()).getPartitioningExprs();
---                String ngName = ((FeedDetailsDecl) dd.getDatasetDetailsDecl()).getNodegroupName().getValue();
---                String adapter = ((FeedDetailsDecl) dd.getDatasetDetailsDecl()).getAdapterFactoryClassname();
---                Map<String, String> configuration = ((FeedDetailsDecl) dd.getDatasetDetailsDecl()).getConfiguration();
---                FunctionSignature signature = ((FeedDetailsDecl) dd.getDatasetDetailsDecl()).getFunctionSignature();
---                datasetDetails = new FeedDatasetDetails(InternalDatasetDetails.FileStructure.BTREE,
---                        InternalDatasetDetails.PartitioningStrategy.HASH, partitioningExprs, partitioningExprs, ngName,
---                        adapter, configuration, signature, FeedDatasetDetails.FeedState.INACTIVE.toString());
---                break;
--+                case EXTERNAL: {
--+                    String adapter = ((ExternalDetailsDecl) dd.getDatasetDetailsDecl()).getAdapter();
--+                    Map<String, String> properties = ((ExternalDetailsDecl) dd.getDatasetDetailsDecl()).getProperties();
--+                    datasetDetails = new ExternalDatasetDetails(adapter, properties);
--+                    break;
--+                }
--+                case FEED: {
--+                    IAType itemType = dt.getDatatype();
--+                    if (itemType.getTypeTag() != ATypeTag.RECORD) {
--+                        throw new AlgebricksException("Can only partition ARecord's.");
-++                    if (count > 0) {
-++                        ctx = entry.getKey();
-++                        for (i = 0; i < count; i++) {
-++                            ctx.decreaseActiveTransactionCountOnIndexes();
-++                        }
- +                    }
--+                    List<String> partitioningExprs = ((FeedDetailsDecl) dd.getDatasetDetailsDecl())
--+                            .getPartitioningExprs();
--+                    String ngName = ((FeedDetailsDecl) dd.getDatasetDetailsDecl()).getNodegroupName().getValue();
--+                    String adapter = ((FeedDetailsDecl) dd.getDatasetDetailsDecl()).getAdapterFactoryClassname();
--+                    Map<String, String> configuration = ((FeedDetailsDecl) dd.getDatasetDetailsDecl())
--+                            .getConfiguration();
--+                    FunctionSignature signature = ((FeedDetailsDecl) dd.getDatasetDetailsDecl()).getFunctionSignature();
--+                    datasetDetails = new FeedDatasetDetails(InternalDatasetDetails.FileStructure.BTREE,
--+                            InternalDatasetDetails.PartitioningStrategy.HASH, partitioningExprs, partitioningExprs,
--+                            ngName, adapter, configuration, signature, FeedDatasetDetails.FeedState.INACTIVE.toString());
--+                    break;
- +                }
--             }
--+
--+            //#. add a new dataset with PendingAddOp
--+            Dataset dataset = new Dataset(dataverseName, datasetName, itemTypeName, datasetDetails, dsType,
--+                    DatasetIdFactory.generateDatasetId(), IMetadataEntity.PENDING_ADD_OP);
--+            MetadataManager.INSTANCE.addDataset(metadataProvider.getMetadataTxnContext(), dataset);
--+
--+            if (dd.getDatasetType() == DatasetType.INTERNAL || dd.getDatasetType() == DatasetType.FEED) {
--+                Dataverse dataverse = MetadataManager.INSTANCE.getDataverse(metadataProvider.getMetadataTxnContext(),
--+                        dataverseName);
--+                JobSpecification jobSpec = DatasetOperations.createDatasetJobSpec(dataverse, datasetName,
--+                        metadataProvider);
--+
--+                //#. make metadataTxn commit before calling runJob.
--+                MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+                bActiveTxn = false;
--+
--+                //#. runJob
--+                runJob(hcc, jobSpec);
--+
--+                //#. begin new metadataTxn
--+                mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+                bActiveTxn = true;
--+                metadataProvider.setMetadataTxnContext(mdTxnCtx);
- +            }
-++        }
- +
--+            //#. add a new dataset with PendingNoOp after deleting the dataset with PendingAddOp
--+            MetadataManager.INSTANCE.dropDataset(metadataProvider.getMetadataTxnContext(), dataverseName, datasetName);
--+            MetadataManager.INSTANCE.addDataset(metadataProvider.getMetadataTxnContext(), new Dataset(dataverseName,
--+                    datasetName, itemTypeName, datasetDetails, dsType, dataset.getDatasetId(),
--+                    IMetadataEntity.PENDING_NO_OP));
--+            MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+        } catch (Exception e) {
--+            if (bActiveTxn) {
--+                MetadataManager.INSTANCE.abortTransaction(mdTxnCtx);
--+            }
--+            throw new AlgebricksException(e);
--+        } finally {
--+            releaseWriteLatch();
--         }
---        MetadataManager.INSTANCE.addDataset(metadataProvider.getMetadataTxnContext(), new Dataset(dataverseName,
---                datasetName, itemTypeName, datasetDetails, dsType, DatasetIdFactory.generateDatasetId()));
---        if (dd.getDatasetType() == DatasetType.INTERNAL || dd.getDatasetType() == DatasetType.FEED) {
---            Dataverse dataverse = MetadataManager.INSTANCE.getDataverse(metadataProvider.getMetadataTxnContext(),
---                    dataverseName);
---            runJob(hcc, DatasetOperations.createDatasetJobSpec(dataverse, datasetName, metadataProvider));
---        }
--     }
-++        map.clear();
-++    }
-+ }
-  
--     private void handleCreateIndexStatement(AqlMetadataProvider metadataProvider, Statement stmt,
--             IHyracksClientConnection hcc, List<JobSpecification> jobsToExecute) throws Exception {
---        CreateIndexStatement stmtCreateIndex = (CreateIndexStatement) stmt;
---        String dataverseName = stmtCreateIndex.getDataverseName() == null ? activeDefaultDataverse == null ? null
---                : activeDefaultDataverse.getDataverseName() : stmtCreateIndex.getDataverseName().getValue();
---        if (dataverseName == null) {
---            throw new AlgebricksException(" dataverse not specified ");
---        }
---        String datasetName = stmtCreateIndex.getDatasetName().getValue();
---        Dataset ds = MetadataManager.INSTANCE.getDataset(metadataProvider.getMetadataTxnContext(), dataverseName,
---                datasetName);
---        if (ds == null) {
---            throw new AlgebricksException("There is no dataset with this name " + datasetName + " in dataverse "
---                    + dataverseName);
---        }
---        String indexName = stmtCreateIndex.getIndexName().getValue();
---        Index idx = MetadataManager.INSTANCE.getIndex(metadataProvider.getMetadataTxnContext(), dataverseName,
---                datasetName, indexName);
---        if (idx != null) {
---            if (!stmtCreateIndex.getIfNotExists()) {
---                throw new AlgebricksException("An index with this name " + indexName + " already exists.");
---            } else {
---                stmtCreateIndex.setNeedToCreate(false);
--+
--+        MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+        boolean bActiveTxn = true;
--+        metadataProvider.setMetadataTxnContext(mdTxnCtx);
--+        acquireWriteLatch();
--+
--+        try {
--+            CreateIndexStatement stmtCreateIndex = (CreateIndexStatement) stmt;
--+            String dataverseName = stmtCreateIndex.getDataverseName() == null ? activeDefaultDataverse == null ? null
--+                    : activeDefaultDataverse.getDataverseName() : stmtCreateIndex.getDataverseName().getValue();
--+            if (dataverseName == null) {
--+                throw new AlgebricksException(" dataverse not specified ");
--             }
---        } else {
--+            String datasetName = stmtCreateIndex.getDatasetName().getValue();
--+
--+            Dataset ds = MetadataManager.INSTANCE.getDataset(metadataProvider.getMetadataTxnContext(), dataverseName,
--+                    datasetName);
--+            if (ds == null) {
--+                throw new AlgebricksException("There is no dataset with this name " + datasetName + " in dataverse "
--+                        + dataverseName);
--+            }
--+
--+            String indexName = stmtCreateIndex.getIndexName().getValue();
--+            Index idx = MetadataManager.INSTANCE.getIndex(metadataProvider.getMetadataTxnContext(), dataverseName,
--+                    datasetName, indexName);
--+
--+            if (idx != null) {
--+                if (!stmtCreateIndex.getIfNotExists()) {
--+                    throw new AlgebricksException("An index with this name " + indexName + " already exists.");
--+                } else {
--+                    stmtCreateIndex.setNeedToCreate(false);
--+                    MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+                    return;
--+                }
--+            }
--+
--+            //#. add a new index with PendingAddOp
--             Index index = new Index(dataverseName, datasetName, indexName, stmtCreateIndex.getIndexType(),
---                    stmtCreateIndex.getFieldExprs(), stmtCreateIndex.getGramLength(), false);
--+                    stmtCreateIndex.getFieldExprs(), stmtCreateIndex.getGramLength(), false,
--+                    IMetadataEntity.PENDING_ADD_OP);
--             MetadataManager.INSTANCE.addIndex(metadataProvider.getMetadataTxnContext(), index);
---            runCreateIndexJob(hcc, stmtCreateIndex, metadataProvider);
-+ /*
-+@@ -895,36 +760,82 @@
-+ class LogPageFlushThread extends Thread {
-  
--+            //#. create the index artifact in NC.
--             CompiledCreateIndexStatement cis = new CompiledCreateIndexStatement(index.getIndexName(), dataverseName,
--                     index.getDatasetName(), index.getKeyFieldNames(), index.getGramLength(), index.getIndexType());
---            JobSpecification loadIndexJobSpec = IndexOperations
---                    .buildSecondaryIndexLoadingJobSpec(cis, metadataProvider);
---            runJob(hcc, loadIndexJobSpec);
--+            JobSpecification spec = IndexOperations.buildSecondaryIndexCreationJobSpec(cis, metadataProvider);
--+            if (spec == null) {
--+                throw new AsterixException("Failed to create job spec for creating index '"
--+                        + stmtCreateIndex.getDatasetName() + "." + stmtCreateIndex.getIndexName() + "'");
--+            }
--+            MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+            bActiveTxn = false;
--+
--+            runJob(hcc, spec);
--+
--+            mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+            bActiveTxn = true;
--+            metadataProvider.setMetadataTxnContext(mdTxnCtx);
--+
--+            //#. load data into the index in NC.
--+            cis = new CompiledCreateIndexStatement(index.getIndexName(), dataverseName, index.getDatasetName(),
--+                    index.getKeyFieldNames(), index.getGramLength(), index.getIndexType());
--+            spec = IndexOperations.buildSecondaryIndexLoadingJobSpec(cis, metadataProvider);
--+            MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+            bActiveTxn = false;
--+
--+            runJob(hcc, spec);
--+
--+            //#. begin new metadataTxn
--+            mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+            bActiveTxn = true;
--+            metadataProvider.setMetadataTxnContext(mdTxnCtx);
--+
--+            //#. add another new index with PendingNoOp after deleting the index with PendingAddOp
--+            MetadataManager.INSTANCE.dropIndex(metadataProvider.getMetadataTxnContext(), dataverseName, datasetName,
--+                    indexName);
--+            index = new Index(dataverseName, datasetName, indexName, stmtCreateIndex.getIndexType(),
--+                    stmtCreateIndex.getFieldExprs(), stmtCreateIndex.getGramLength(), false,
--+                    IMetadataEntity.PENDING_NO_OP);
--+            MetadataManager.INSTANCE.addIndex(metadataProvider.getMetadataTxnContext(), index);
--+            MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+
--+        } catch (Exception e) {
--+            if (bActiveTxn) {
--+                MetadataManager.INSTANCE.abortTransaction(mdTxnCtx);
--+            }
--+            throw new AlgebricksException(e);
--+        } finally {
--+            releaseWriteLatch();
--         }
--     }
-+     private LogManager logManager;
-++    /*
-++     * pendingFlushRequests is a map with key as Integer denoting the page
-++     * index. When a (transaction) thread discovers the need to flush a page, it
-++     * puts its Thread object into the corresponding value that is a
-++     * LinkedBlockingQueue. The LogManager has a LogFlusher thread that scans
-++     * this map in order of page index (and circling around). The flusher thread
-++     * needs to flush pages in order and waits for a thread to deposit an object
-++     * in the blocking queue corresponding to the next page in order. A request
-++     * to flush a page is conveyed to the flush thread by simply depositing an
-++     * object in to corresponding blocking queue. It is blocking in the sense
-++     * that the flusher thread will continue to wait for an object to arrive in
-++     * the queue. The object itself is ignored by the fliusher and just acts as
-++     * a signal/event that a page needs to be flushed.
-++     */
-++    private final LinkedBlockingQueue<Object>[] flushRequestQueue;
-++    private final Object[] flushRequests;
-++    private int lastFlushedPageIndex;
-++    private final long groupCommitWaitPeriod;
-  
--     private void handleCreateTypeStatement(AqlMetadataProvider metadataProvider, Statement stmt,
--             List<JobSpecification> jobsToExecute) throws AlgebricksException, RemoteException, ACIDException,
--             MetadataException {
---        MetadataTransactionContext mdTxnCtx = metadataProvider.getMetadataTxnContext();
---        TypeDecl stmtCreateType = (TypeDecl) stmt;
---        String dataverseName = stmtCreateType.getDataverseName() == null ? activeDefaultDataverse == null ? null
---                : activeDefaultDataverse.getDataverseName() : stmtCreateType.getDataverseName().getValue();
---        if (dataverseName == null) {
---            throw new AlgebricksException(" dataverse not specified ");
---        }
---        String typeName = stmtCreateType.getIdent().getValue();
---        Dataverse dv = MetadataManager.INSTANCE.getDataverse(mdTxnCtx, dataverseName);
---        if (dv == null) {
---            throw new AlgebricksException("Unknonw dataverse " + dataverseName);
---        }
---        Datatype dt = MetadataManager.INSTANCE.getDatatype(mdTxnCtx, dataverseName, typeName);
---        if (dt != null) {
---            if (!stmtCreateType.getIfNotExists())
---                throw new AlgebricksException("A datatype with this name " + typeName + " already exists.");
---        } else {
---            if (builtinTypeMap.get(typeName) != null) {
---                throw new AlgebricksException("Cannot redefine builtin type " + typeName + ".");
--+
--+        MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+        metadataProvider.setMetadataTxnContext(mdTxnCtx);
--+        acquireWriteLatch();
--+
--+        try {
--+            TypeDecl stmtCreateType = (TypeDecl) stmt;
--+            String dataverseName = stmtCreateType.getDataverseName() == null ? activeDefaultDataverse == null ? null
--+                    : activeDefaultDataverse.getDataverseName() : stmtCreateType.getDataverseName().getValue();
--+            if (dataverseName == null) {
--+                throw new AlgebricksException(" dataverse not specified ");
--+            }
--+            String typeName = stmtCreateType.getIdent().getValue();
--+            Dataverse dv = MetadataManager.INSTANCE.getDataverse(mdTxnCtx, dataverseName);
--+            if (dv == null) {
--+                throw new AlgebricksException("Unknonw dataverse " + dataverseName);
--+            }
--+            Datatype dt = MetadataManager.INSTANCE.getDatatype(mdTxnCtx, dataverseName, typeName);
--+            if (dt != null) {
--+                if (!stmtCreateType.getIfNotExists()) {
--+                    throw new AlgebricksException("A datatype with this name " + typeName + " already exists.");
--+                }
--             } else {
---                Map<TypeSignature, IAType> typeMap = TypeTranslator.computeTypes(mdTxnCtx, (TypeDecl) stmt,
---                        dataverseName);
---                TypeSignature typeSignature = new TypeSignature(dataverseName, typeName);
---                IAType type = typeMap.get(typeSignature);
---                MetadataManager.INSTANCE.addDatatype(mdTxnCtx, new Datatype(dataverseName, typeName, type, false));
--+                if (builtinTypeMap.get(typeName) != null) {
--+                    throw new AlgebricksException("Cannot redefine builtin type " + typeName + ".");
--+                } else {
--+                    Map<TypeSignature, IAType> typeMap = TypeTranslator.computeTypes(mdTxnCtx, (TypeDecl) stmt,
--+                            dataverseName);
--+                    TypeSignature typeSignature = new TypeSignature(dataverseName, typeName);
--+                    IAType type = typeMap.get(typeSignature);
--+                    MetadataManager.INSTANCE.addDatatype(mdTxnCtx, new Datatype(dataverseName, typeName, type, false));
--+                }
--             }
--+            MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+        } catch (Exception e) {
--+            MetadataManager.INSTANCE.abortTransaction(mdTxnCtx);
--+            throw new AlgebricksException(e);
--+        } finally {
--+            releaseWriteLatch();
--         }
-+     public LogPageFlushThread(LogManager logManager) {
-+         this.logManager = logManager;
-+         setName("Flusher");
-++        int numLogPages = logManager.getLogManagerProperties().getNumLogPages();
-++        this.flushRequestQueue = new LinkedBlockingQueue[numLogPages];
-++        this.flushRequests = new Object[numLogPages];
-++        for (int i = 0; i < numLogPages; i++) {
-++            flushRequestQueue[i] = new LinkedBlockingQueue<Object>(1);
-++            flushRequests[i] = new Object();
-++        }
-++        this.lastFlushedPageIndex = -1;
-++        groupCommitWaitPeriod = logManager.getLogManagerProperties().getGroupCommitWaitPeriod();
-      }
-  
--     private void handleDataverseDropStatement(AqlMetadataProvider metadataProvider, Statement stmt,
--             IHyracksClientConnection hcc, List<JobSpecification> jobsToExecute) throws Exception {
---        MetadataTransactionContext mdTxnCtx = metadataProvider.getMetadataTxnContext();
---        DataverseDropStatement stmtDelete = (DataverseDropStatement) stmt;
---        String dvName = stmtDelete.getDataverseName().getValue();
-- 
---        Dataverse dv = MetadataManager.INSTANCE.getDataverse(mdTxnCtx, dvName);
---        if (dv == null) {
---            if (!stmtDelete.getIfExists()) {
---                throw new AlgebricksException("There is no dataverse with this name " + dvName + ".");
--+        MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+        boolean bActiveTxn = true;
--+        metadataProvider.setMetadataTxnContext(mdTxnCtx);
--+        acquireWriteLatch();
--+
--+        try {
--+            DataverseDropStatement stmtDelete = (DataverseDropStatement) stmt;
--+            String dvName = stmtDelete.getDataverseName().getValue();
--+
--+            Dataverse dv = MetadataManager.INSTANCE.getDataverse(mdTxnCtx, dvName);
--+            if (dv == null) {
--+                if (!stmtDelete.getIfExists()) {
--+                    throw new AlgebricksException("There is no dataverse with this name " + dvName + ".");
--+                }
--+                MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
-++    public void requestFlush(int pageIndex, long lsn, boolean isSynchronous) {
-++        synchronized (logManager.getLogPage(pageIndex)) {
-++            //return if flushedLSN >= lsn
-++            if (logManager.getLastFlushedLsn().get() >= lsn) {
- +                return;
--             }
---        } else {
--+
--+            //#. prepare jobs which will drop corresponding datasets with indexes. 
--             List<Dataset> datasets = MetadataManager.INSTANCE.getDataverseDatasets(mdTxnCtx, dvName);
--             for (int j = 0; j < datasets.size(); j++) {
--                 String datasetName = datasets.get(j).getDatasetName();
--                 DatasetType dsType = datasets.get(j).getDatasetType();
--                 if (dsType == DatasetType.INTERNAL || dsType == DatasetType.FEED) {
--+
--                     List<Index> indexes = MetadataManager.INSTANCE.getDatasetIndexes(mdTxnCtx, dvName, datasetName);
--                     for (int k = 0; k < indexes.size(); k++) {
--                         if (indexes.get(k).isSecondaryIndex()) {
---                            compileIndexDropStatement(hcc, dvName, datasetName, indexes.get(k).getIndexName(),
---                                    metadataProvider);
--+                            CompiledIndexDropStatement cds = new CompiledIndexDropStatement(dvName, datasetName,
--+                                    indexes.get(k).getIndexName());
--+                            jobsToExecute.add(IndexOperations.buildDropSecondaryIndexJobSpec(cds, metadataProvider));
--                         }
--                     }
--+
--+                    CompiledDatasetDropStatement cds = new CompiledDatasetDropStatement(dvName, datasetName);
--+                    jobsToExecute.add(DatasetOperations.createDropDatasetJobSpec(cds, metadataProvider));
--                 }
---                compileDatasetDropStatement(hcc, dvName, datasetName, metadataProvider);
--             }
-- 
--+            //#. mark PendingDropOp on the dataverse record by 
--+            //   first, deleting the dataverse record from the DATAVERSE_DATASET
--+            //   second, inserting the dataverse record with the PendingDropOp value into the DATAVERSE_DATASET
--             MetadataManager.INSTANCE.dropDataverse(mdTxnCtx, dvName);
--+            MetadataManager.INSTANCE.addDataverse(mdTxnCtx, new Dataverse(dvName, dv.getDataFormat(),
--+                    IMetadataEntity.PENDING_DROP_OP));
--+
--+            MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+            bActiveTxn = false;
--+
--+            for (JobSpecification jobSpec : jobsToExecute) {
--+                runJob(hcc, jobSpec);
- +            }
- +
--+            mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+            bActiveTxn = true;
--+            metadataProvider.setMetadataTxnContext(mdTxnCtx);
-++            //put a new request to the queue only if the request on the page is not in the queue.
-++            flushRequestQueue[pageIndex].offer(flushRequests[pageIndex]);
- +
--+            //#. finally, delete the dataverse.
--+            MetadataManager.INSTANCE.dropDataverse(mdTxnCtx, dvName);
--             if (activeDefaultDataverse != null && activeDefaultDataverse.getDataverseName() == dvName) {
--                 activeDefaultDataverse = null;
--             }
--+
--+            MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+        } catch (Exception e) {
--+            if (bActiveTxn) {
--+                MetadataManager.INSTANCE.abortTransaction(mdTxnCtx);
-++            //return if the request is asynchronous
-++            if (!isSynchronous) {
-++                return;
- +            }
--+            throw new AlgebricksException(e);
--+        } finally {
--+            releaseWriteLatch();
--         }
--     }
-- 
--     private void handleDatasetDropStatement(AqlMetadataProvider metadataProvider, Statement stmt,
--             IHyracksClientConnection hcc, List<JobSpecification> jobsToExecute) throws Exception {
---        MetadataTransactionContext mdTxnCtx = metadataProvider.getMetadataTxnContext();
---        DropStatement stmtDelete = (DropStatement) stmt;
---        String dataverseName = stmtDelete.getDataverseName() == null ? activeDefaultDataverse == null ? null
---                : activeDefaultDataverse.getDataverseName() : stmtDelete.getDataverseName().getValue();
---        if (dataverseName == null) {
---            throw new AlgebricksException(" dataverse not specified ");
---        }
---        String datasetName = stmtDelete.getDatasetName().getValue();
---        Dataset ds = MetadataManager.INSTANCE.getDataset(mdTxnCtx, dataverseName, datasetName);
---        if (ds == null) {
---            if (!stmtDelete.getIfExists())
---                throw new AlgebricksException("There is no dataset with this name " + datasetName + " in dataverse "
---                        + dataverseName + ".");
---        } else {
- +
--+        MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+        boolean bActiveTxn = true;
--+        metadataProvider.setMetadataTxnContext(mdTxnCtx);
--+        acquireWriteLatch();
--+
--+        try {
--+            DropStatement stmtDelete = (DropStatement) stmt;
--+            String dataverseName = stmtDelete.getDataverseName() == null ? activeDefaultDataverse == null ? null
--+                    : activeDefaultDataverse.getDataverseName() : stmtDelete.getDataverseName().getValue();
--+            if (dataverseName == null) {
--+                throw new AlgebricksException(" dataverse not specified ");
--+            }
--+            String datasetName = stmtDelete.getDatasetName().getValue();
--+
--+            Dataset ds = MetadataManager.INSTANCE.getDataset(mdTxnCtx, dataverseName, datasetName);
--+            if (ds == null) {
--+                if (!stmtDelete.getIfExists()) {
--+                    throw new AlgebricksException("There is no dataset with this name " + datasetName
--+                            + " in dataverse " + dataverseName + ".");
-++            //wait until there is flush.
-++            boolean isNotified = false;
-++            while (!isNotified) {
-++                try {
-++                    logManager.getLogPage(pageIndex).wait();
-++                    isNotified = true;
-++                } catch (InterruptedException e) {
-++                    e.printStackTrace();
- +                }
--+                MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+                return;
- +            }
-++        }
-++    }
- +
--             if (ds.getDatasetType() == DatasetType.INTERNAL || ds.getDatasetType() == DatasetType.FEED) {
--+
--+                //#. prepare jobs to drop the datatset and the indexes in NC
--                 List<Index> indexes = MetadataManager.INSTANCE.getDatasetIndexes(mdTxnCtx, dataverseName, datasetName);
--                 for (int j = 0; j < indexes.size(); j++) {
---                    if (indexes.get(j).isPrimaryIndex()) {
---                        compileIndexDropStatement(hcc, dataverseName, datasetName, indexes.get(j).getIndexName(),
---                                metadataProvider);
--+                    if (indexes.get(j).isSecondaryIndex()) {
--+                        CompiledIndexDropStatement cds = new CompiledIndexDropStatement(dataverseName, datasetName,
--+                                indexes.get(j).getIndexName());
--+                        jobsToExecute.add(IndexOperations.buildDropSecondaryIndexJobSpec(cds, metadataProvider));
-+     @Override
-+     public void run() {
-+         while (true) {
-+             try {
-+-                int pageToFlush = logManager.getNextPageInSequence(logManager.getLastFlushedPage());
-++                int pageToFlush = logManager.getNextPageInSequence(lastFlushedPageIndex);
-+ 
-+-                /*
-+-                 * A wait call on the linkedBLockingQueue. The flusher thread is
-+-                 * notified when an object is added to the queue. Please note
-+-                 * that each page has an associated blocking queue.
-+-                 */
-+-                logManager.getPendingFlushRequests(pageToFlush).take();
-++                // A wait call on the linkedBLockingQueue. The flusher thread is
-++                // notified when an object is added to the queue. Please note
-++                // that each page has an associated blocking queue.
-++                flushRequestQueue[pageToFlush].take();
-+ 
-+-                /*
-+-                 * The LogFlusher was waiting for a page to be marked as a
-+-                 * candidate for flushing. Now that has happened. The thread
-+-                 * shall proceed to take a lock on the log page
-+-                 */
-+-                synchronized (logManager.getLogPages()[pageToFlush]) {
-++                synchronized (logManager.getLogPage(pageToFlush)) {
-+ 
-+-                    /*
-+-                     * lock the internal state of the log manager and create a
-+-                     * log file if necessary.
-+-                     */
-++                    // lock the internal state of the log manager and create a
-++                    // log file if necessary.
-+                     int prevLogFileId = logManager.getLogFileId(logManager.getLastFlushedLsn().get());
-+                     int nextLogFileId = logManager.getLogFileId(logManager.getLastFlushedLsn().get()
-+                             + logManager.getLogManagerProperties().getLogPageSize());
-+@@ -936,198 +847,60 @@
-+                                 logManager.getLogManagerProperties().getLogPageSize());
-                      }
--                 }
--+                CompiledDatasetDropStatement cds = new CompiledDatasetDropStatement(dataverseName, datasetName);
--+                jobsToExecute.add(DatasetOperations.createDropDatasetJobSpec(cds, metadataProvider));
--+
--+                //#. mark the existing dataset as PendingDropOp
--+                MetadataManager.INSTANCE.dropDataset(mdTxnCtx, dataverseName, datasetName);
--+                MetadataManager.INSTANCE.addDataset(
--+                        mdTxnCtx,
--+                        new Dataset(dataverseName, datasetName, ds.getItemTypeName(), ds.getDatasetDetails(), ds
--+                                .getDatasetType(), ds.getDatasetId(), IMetadataEntity.PENDING_DROP_OP));
--+
--+                MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+                bActiveTxn = false;
--+
--+                //#. run the jobs
--+                for (JobSpecification jobSpec : jobsToExecute) {
--+                    runJob(hcc, jobSpec);
--+                }
--+
--+                mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+                bActiveTxn = true;
--+                metadataProvider.setMetadataTxnContext(mdTxnCtx);
--             }
---            compileDatasetDropStatement(hcc, dataverseName, datasetName, metadataProvider);
--+
--+            //#. finally, delete the dataset.
--+            MetadataManager.INSTANCE.dropDataset(mdTxnCtx, dataverseName, datasetName);
--+
--+            MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+        } catch (Exception e) {
--+            if (bActiveTxn) {
--+                MetadataManager.INSTANCE.abortTransaction(mdTxnCtx);
--+            }
--+            throw new AlgebricksException(e);
--+        } finally {
--+            releaseWriteLatch();
--         }
--     }
-  
--     private void handleIndexDropStatement(AqlMetadataProvider metadataProvider, Statement stmt,
--             IHyracksClientConnection hcc, List<JobSpecification> jobsToExecute) throws Exception {
---        MetadataTransactionContext mdTxnCtx = metadataProvider.getMetadataTxnContext();
---        IndexDropStatement stmtIndexDrop = (IndexDropStatement) stmt;
---        String datasetName = stmtIndexDrop.getDatasetName().getValue();
---        String dataverseName = stmtIndexDrop.getDataverseName() == null ? activeDefaultDataverse == null ? null
---                : activeDefaultDataverse.getDataverseName() : stmtIndexDrop.getDataverseName().getValue();
---        if (dataverseName == null) {
---            throw new AlgebricksException(" dataverse not specified ");
--+
--+        MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+        boolean bActiveTxn = true;
--+        metadataProvider.setMetadataTxnContext(mdTxnCtx);
--+        acquireWriteLatch();
--+
--+        try {
--+            IndexDropStatement stmtIndexDrop = (IndexDropStatement) stmt;
--+            String datasetName = stmtIndexDrop.getDatasetName().getValue();
--+            String dataverseName = stmtIndexDrop.getDataverseName() == null ? activeDefaultDataverse == null ? null
--+                    : activeDefaultDataverse.getDataverseName() : stmtIndexDrop.getDataverseName().getValue();
--+            if (dataverseName == null) {
--+                throw new AlgebricksException(" dataverse not specified ");
--+            }
--+
--+            Dataset ds = MetadataManager.INSTANCE.getDataset(mdTxnCtx, dataverseName, datasetName);
--+            if (ds == null) {
--+                throw new AlgebricksException("There is no dataset with this name " + datasetName + " in dataverse "
--+                        + dataverseName);
--+            }
--+
--+            if (ds.getDatasetType() == DatasetType.INTERNAL || ds.getDatasetType() == DatasetType.FEED) {
--+                String indexName = stmtIndexDrop.getIndexName().getValue();
--+                Index index = MetadataManager.INSTANCE.getIndex(mdTxnCtx, dataverseName, datasetName, indexName);
--+                if (index == null) {
--+                    if (!stmtIndexDrop.getIfExists()) {
--+                        throw new AlgebricksException("There is no index with this name " + indexName + ".");
--+                    }
--+                } else {
--+                    //#. prepare a job to drop the index in NC.
--+                    CompiledIndexDropStatement cds = new CompiledIndexDropStatement(dataverseName, datasetName,
--+                            indexName);
--+                    jobsToExecute.add(IndexOperations.buildDropSecondaryIndexJobSpec(cds, metadataProvider));
--+
--+                    //#. mark PendingDropOp on the existing index
--+                    MetadataManager.INSTANCE.dropIndex(mdTxnCtx, dataverseName, datasetName, indexName);
--+                    MetadataManager.INSTANCE.addIndex(
--+                            mdTxnCtx,
--+                            new Index(dataverseName, datasetName, indexName, index.getIndexType(), index
--+                                    .getKeyFieldNames(), index.isPrimaryIndex(), IMetadataEntity.PENDING_DROP_OP));
--+
--+                    //#. commit the existing transaction before calling runJob. 
--+                    MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+                    bActiveTxn = false;
--+
--+                    for (JobSpecification jobSpec : jobsToExecute) {
--+                        runJob(hcc, jobSpec);
--+                    }
--+
--+                    //#. begin a new transaction
--+                    mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+                    bActiveTxn = true;
--+                    metadataProvider.setMetadataTxnContext(mdTxnCtx);
--+
--+                    //#. finally, delete the existing index
--+                    MetadataManager.INSTANCE.dropIndex(mdTxnCtx, dataverseName, datasetName, indexName);
--+                }
--+            } else {
--+                throw new AlgebricksException(datasetName
--+                        + " is an external dataset. Indexes are not maintained for external datasets.");
--+            }
--+            MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+
--+        } catch (Exception e) {
--+            if (bActiveTxn) {
--+                MetadataManager.INSTANCE.abortTransaction(mdTxnCtx);
--+            }
--+            throw new AlgebricksException(e);
--+
--+        } finally {
--+            releaseWriteLatch();
--         }
---        Dataset ds = MetadataManager.INSTANCE.getDataset(mdTxnCtx, dataverseName, datasetName);
---        if (ds == null)
---            throw new AlgebricksException("There is no dataset with this name " + datasetName + " in dataverse "
---                    + dataverseName);
---        if (ds.getDatasetType() == DatasetType.INTERNAL || ds.getDatasetType() == DatasetType.FEED) {
---            String indexName = stmtIndexDrop.getIndexName().getValue();
---            Index idx = MetadataManager.INSTANCE.getIndex(mdTxnCtx, dataverseName, datasetName, indexName);
---            if (idx == null) {
---                if (!stmtIndexDrop.getIfExists())
---                    throw new AlgebricksException("There is no index with this name " + indexName + ".");
---            } else
---                compileIndexDropStatement(hcc, dataverseName, datasetName, indexName, metadataProvider);
---        } else {
---            throw new AlgebricksException(datasetName
---                    + " is an external dataset. Indexes are not maintained for external datasets.");
---        }
--     }
-+-                    logManager.getLogPage(pageToFlush).flush(); // put the
-+-                    // content to
-+-                    // disk, the
-+-                    // thread still
-+-                    // has a lock on
-+-                    // the log page
-++                    //#. sleep during the groupCommitWaitTime
-++                    sleep(groupCommitWaitPeriod);
-  
--     private void handleTypeDropStatement(AqlMetadataProvider metadataProvider, Statement stmt,
--             List<JobSpecification> jobsToExecute) throws AlgebricksException, MetadataException, RemoteException,
--             ACIDException {
---        MetadataTransactionContext mdTxnCtx = metadataProvider.getMetadataTxnContext();
---        TypeDropStatement stmtTypeDrop = (TypeDropStatement) stmt;
---        String dataverseName = stmtTypeDrop.getDataverseName() == null ? (activeDefaultDataverse == null ? null
---                : activeDefaultDataverse.getDataverseName()) : stmtTypeDrop.getDataverseName().getValue();
---        if (dataverseName == null) {
---            throw new AlgebricksException(" dataverse not specified ");
--+
--+        MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+        metadataProvider.setMetadataTxnContext(mdTxnCtx);
--+        acquireWriteLatch();
--+
--+        try {
--+            TypeDropStatement stmtTypeDrop = (TypeDropStatement) stmt;
--+            String dataverseName = stmtTypeDrop.getDataverseName() == null ? (activeDefaultDataverse == null ? null
--+                    : activeDefaultDataverse.getDataverseName()) : stmtTypeDrop.getDataverseName().getValue();
--+            if (dataverseName == null) {
--+                throw new AlgebricksException(" dataverse not specified ");
--+            }
--+            String typeName = stmtTypeDrop.getTypeName().getValue();
--+            Datatype dt = MetadataManager.INSTANCE.getDatatype(mdTxnCtx, dataverseName, typeName);
--+            if (dt == null) {
--+                if (!stmtTypeDrop.getIfExists())
--+                    throw new AlgebricksException("There is no datatype with this name " + typeName + ".");
--+            } else {
--+                MetadataManager.INSTANCE.dropDatatype(mdTxnCtx, dataverseName, typeName);
--+            }
--+            MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+        } catch (Exception e) {
--+            MetadataManager.INSTANCE.abortTransaction(mdTxnCtx);
--+            throw new AlgebricksException(e);
--+        } finally {
--+            releaseWriteLatch();
--         }
---        String typeName = stmtTypeDrop.getTypeName().getValue();
---        Datatype dt = MetadataManager.INSTANCE.getDatatype(mdTxnCtx, dataverseName, typeName);
---        if (dt == null) {
---            if (!stmtTypeDrop.getIfExists())
---                throw new AlgebricksException("There is no datatype with this name " + typeName + ".");
---        } else {
---            MetadataManager.INSTANCE.dropDatatype(mdTxnCtx, dataverseName, typeName);
---        }
--     }
-+-                    /*
-+-                     * acquire lock on the log manager as we need to update the
-+-                     * internal bookkeeping data.
-+-                     */
-++                    //#. set the logPageStatus to INACTIVE in order to prevent other txns from writing on this page.
-++                    logManager.getLogPageStatus(pageToFlush).set(PageState.INACTIVE);
-  
--     private void handleNodegroupDropStatement(AqlMetadataProvider metadataProvider, Statement stmt,
--             List<JobSpecification> jobsToExecute) throws MetadataException, AlgebricksException, RemoteException,
--             ACIDException {
---        MetadataTransactionContext mdTxnCtx = metadataProvider.getMetadataTxnContext();
---        NodeGroupDropStatement stmtDelete = (NodeGroupDropStatement) stmt;
---        String nodegroupName = stmtDelete.getNodeGroupName().getValue();
---        NodeGroup ng = MetadataManager.INSTANCE.getNodegroup(mdTxnCtx, nodegroupName);
---        if (ng == null) {
---            if (!stmtDelete.getIfExists())
---                throw new AlgebricksException("There is no nodegroup with this name " + nodegroupName + ".");
---        } else {
---            MetadataManager.INSTANCE.dropNodegroup(mdTxnCtx, nodegroupName);
--+
--+        MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+        metadataProvider.setMetadataTxnContext(mdTxnCtx);
--+        acquireWriteLatch();
--+
--+        try {
--+            NodeGroupDropStatement stmtDelete = (NodeGroupDropStatement) stmt;
--+            String nodegroupName = stmtDelete.getNodeGroupName().getValue();
--+            NodeGroup ng = MetadataManager.INSTANCE.getNodegroup(mdTxnCtx, nodegroupName);
--+            if (ng == null) {
--+                if (!stmtDelete.getIfExists())
--+                    throw new AlgebricksException("There is no nodegroup with this name " + nodegroupName + ".");
--+            } else {
--+                MetadataManager.INSTANCE.dropNodegroup(mdTxnCtx, nodegroupName);
--+            }
--+
--+            MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+        } catch (Exception e) {
--+            MetadataManager.INSTANCE.abortTransaction(mdTxnCtx);
--+            throw new AlgebricksException(e);
--+        } finally {
--+            releaseWriteLatch();
--         }
--     }
-+-                    // increment the last flushed lsn.
-+-                    long lastFlushedLsn = logManager.incrementLastFlushedLsn(logManager.getLogManagerProperties()
-+-                            .getLogPageSize());
-++                    //#. need to wait until the logPageOwnerCount reaches 1 (LOG_WRITER) 
-++                    //   meaning every one has finished writing logs on this page.
-++                    while (logManager.getLogPageOwnershipCount(pageToFlush).get() != PageOwnershipStatus.LOG_WRITER) {
-++                        sleep(0);
-++                    }
-  
--     private void handleCreateFunctionStatement(AqlMetadataProvider metadataProvider, Statement stmt,
--             List<JobSpecification> jobsToExecute) throws AlgebricksException, MetadataException, RemoteException,
--             ACIDException {
---        MetadataTransactionContext mdTxnCtx = metadataProvider.getMetadataTxnContext();
---        CreateFunctionStatement cfs = (CreateFunctionStatement) stmt;
---        String dataverse = cfs.getSignature().getNamespace() == null ? activeDefaultDataverse == null ? null
---                : activeDefaultDataverse.getDataverseName() : cfs.getSignature().getNamespace();
---        if (dataverse == null) {
---            throw new AlgebricksException(" dataverse not specified ");
--+        MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+        metadataProvider.setMetadataTxnContext(mdTxnCtx);
--+        acquireWriteLatch();
--+
--+        try {
--+            CreateFunctionStatement cfs = (CreateFunctionStatement) stmt;
--+            String dataverse = cfs.getSignature().getNamespace() == null ? activeDefaultDataverse == null ? null
--+                    : activeDefaultDataverse.getDataverseName() : cfs.getSignature().getNamespace();
--+            if (dataverse == null) {
--+                throw new AlgebricksException(" dataverse not specified ");
--+            }
--+            Dataverse dv = MetadataManager.INSTANCE.getDataverse(mdTxnCtx, dataverse);
--+            if (dv == null) {
--+                throw new AlgebricksException("There is no dataverse with this name " + dataverse + ".");
--+            }
--+            Function function = new Function(dataverse, cfs.getaAterixFunction().getName(), cfs.getaAterixFunction()
--+                    .getArity(), cfs.getParamList(), Function.RETURNTYPE_VOID, cfs.getFunctionBody(),
--+                    Function.LANGUAGE_AQL, FunctionKind.SCALAR.toString());
--+            MetadataManager.INSTANCE.addFunction(mdTxnCtx, function);
--+
--+            MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+        } catch (Exception e) {
--+            MetadataManager.INSTANCE.abortTransaction(mdTxnCtx);
--+            throw new AlgebricksException(e);
--+        } finally {
--+            releaseWriteLatch();
--         }
---        Dataverse dv = MetadataManager.INSTANCE.getDataverse(mdTxnCtx, dataverse);
---        if (dv == null) {
---            throw new AlgebricksException("There is no dataverse with this name " + dataverse + ".");
---        }
---        Function function = new Function(dataverse, cfs.getaAterixFunction().getName(), cfs.getaAterixFunction()
---                .getArity(), cfs.getParamList(), Function.RETURNTYPE_VOID, cfs.getFunctionBody(),
---                Function.LANGUAGE_AQL, FunctionKind.SCALAR.toString());
---        MetadataManager.INSTANCE.addFunction(mdTxnCtx, function);
--     }
-+-                    /*
-+-                     * the log manager gains back ownership of the page. this is
-+-                     * reflected by incrementing the owner count of the page.
-+-                     * recall that when the page is begin flushed the owner
-+-                     * count is actually 0 Value of zero implicitly indicates
-+-                     * that the page is operated upon by the log flusher thread.
-+-                     */
-+-                    logManager.getLogPageOwnershipCount(pageToFlush).incrementAndGet();
-++                    //#. set the logPageOwnerCount to 0 (LOG_FLUSHER)
-++                    //   meaning it is flushing. 
-++                    logManager.getLogPageOwnershipCount(pageToFlush).set(PageOwnershipStatus.LOG_FLUSHER);
-  
--     private void handleFunctionDropStatement(AqlMetadataProvider metadataProvider, Statement stmt,
--             List<JobSpecification> jobsToExecute) throws MetadataException, RemoteException, ACIDException,
--             AlgebricksException {
---        MetadataTransactionContext mdTxnCtx = metadataProvider.getMetadataTxnContext();
---        FunctionDropStatement stmtDropFunction = (FunctionDropStatement) stmt;
---        FunctionSignature signature = stmtDropFunction.getFunctionSignature();
---        Function function = MetadataManager.INSTANCE.getFunction(mdTxnCtx, signature);
---        if (function == null) {
---            if (!stmtDropFunction.getIfExists())
---                throw new AlgebricksException("Unknonw function " + signature);
---        } else {
---            MetadataManager.INSTANCE.dropFunction(mdTxnCtx, signature);
--+        MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+        metadataProvider.setMetadataTxnContext(mdTxnCtx);
--+        acquireWriteLatch();
--+
--+        try {
--+            FunctionDropStatement stmtDropFunction = (FunctionDropStatement) stmt;
--+            FunctionSignature signature = stmtDropFunction.getFunctionSignature();
--+            Function function = MetadataManager.INSTANCE.getFunction(mdTxnCtx, signature);
--+            if (function == null) {
--+                if (!stmtDropFunction.getIfExists())
--+                    throw new AlgebricksException("Unknonw function " + signature);
--+            } else {
--+                MetadataManager.INSTANCE.dropFunction(mdTxnCtx, signature);
--+            }
--+            MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+        } catch (Exception e) {
--+            MetadataManager.INSTANCE.abortTransaction(mdTxnCtx);
--+            throw new AlgebricksException(e);
--+        } finally {
--+            releaseWriteLatch();
--         }
--     }
-+-                    /*
-+-                     * get the number of log buffers that have been written so
-+-                     * far. A log buffer = number of log pages * size of a log
-+-                     * page
-+-                     */
-+-                    int numCycles = (int) lastFlushedLsn / logManager.getLogManagerProperties().getLogBufferSize();
-+-                    if (lastFlushedLsn % logManager.getLogManagerProperties().getLogBufferSize() == 0) {
-+-                        numCycles--;
-+-                    }
-++                    // put the content to disk (the thread still has a lock on the log page)
-++                    logManager.getLogPage(pageToFlush).flush();
-  
--     private void handleLoadFromFileStatement(AqlMetadataProvider metadataProvider, Statement stmt,
--             IHyracksClientConnection hcc, List<JobSpecification> jobsToExecute) throws Exception {
---        MetadataTransactionContext mdTxnCtx = metadataProvider.getMetadataTxnContext();
---        LoadFromFileStatement loadStmt = (LoadFromFileStatement) stmt;
---        String dataverseName = loadStmt.getDataverseName() == null ? activeDefaultDataverse == null ? null
---                : activeDefaultDataverse.getDataverseName() : loadStmt.getDataverseName().getValue();
---        CompiledLoadFromFileStatement cls = new CompiledLoadFromFileStatement(dataverseName, loadStmt.getDatasetName()
---                .getValue(), loadStmt.getAdapter(), loadStmt.getProperties(), loadStmt.dataIsAlreadySorted());
-+-                    /*
-+-                     * Map the log page to a new region in the log file.
-+-                     */
-++                    // increment the last flushed lsn and lastFlushedPage
-++                    logManager.incrementLastFlushedLsn(logManager.getLogManagerProperties().getLogPageSize());
-++                    lastFlushedPageIndex = pageToFlush;
-  
---        IDataFormat format = getDataFormat(metadataProvider.getMetadataTxnContext(), dataverseName);
---        Job job = DatasetOperations.createLoadDatasetJobSpec(metadataProvider, cls, format);
---        jobsToExecute.add(job.getJobSpec());
---        // Also load the dataset's secondary indexes.
---        List<Index> datasetIndexes = MetadataManager.INSTANCE.getDatasetIndexes(mdTxnCtx, dataverseName, loadStmt
---                .getDatasetName().getValue());
---        for (Index index : datasetIndexes) {
---            if (!index.isSecondaryIndex()) {
---                continue;
--+        MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+        boolean bActiveTxn = true;
--+        metadataProvider.setMetadataTxnContext(mdTxnCtx);
--+        acquireReadLatch();
-++                    // decrement activeTxnCountOnIndexes
-++                    logManager.decrementActiveTxnCountOnIndexes(pageToFlush);
- +
--+        try {
--+            LoadFromFileStatement loadStmt = (LoadFromFileStatement) stmt;
--+            String dataverseName = loadStmt.getDataverseName() == null ? activeDefaultDataverse == null ? null
--+                    : activeDefaultDataverse.getDataverseName() : loadStmt.getDataverseName().getValue();
--+            CompiledLoadFromFileStatement cls = new CompiledLoadFromFileStatement(dataverseName, loadStmt
--+                    .getDatasetName().getValue(), loadStmt.getAdapter(), loadStmt.getProperties(),
--+                    loadStmt.dataIsAlreadySorted());
-++                    // reset the count to 1
-++                    logManager.getLogPageOwnershipCount(pageToFlush).set(PageOwnershipStatus.LOG_WRITER);
- +
--+            IDataFormat format = getDataFormat(metadataProvider.getMetadataTxnContext(), dataverseName);
--+            Job job = DatasetOperations.createLoadDatasetJobSpec(metadataProvider, cls, format);
--+            jobsToExecute.add(job.getJobSpec());
--+            // Also load the dataset's secondary indexes.
--+            List<Index> datasetIndexes = MetadataManager.INSTANCE.getDatasetIndexes(mdTxnCtx, dataverseName, loadStmt
--+                    .getDatasetName().getValue());
--+            for (Index index : datasetIndexes) {
--+                if (!index.isSecondaryIndex()) {
--+                    continue;
--+                }
--+                // Create CompiledCreateIndexStatement from metadata entity 'index'.
--+                CompiledCreateIndexStatement cis = new CompiledCreateIndexStatement(index.getIndexName(),
--+                        dataverseName, index.getDatasetName(), index.getKeyFieldNames(), index.getGramLength(),
--+                        index.getIndexType());
--+                jobsToExecute.add(IndexOperations.buildSecondaryIndexLoadingJobSpec(cis, metadataProvider));
--             }
---            // Create CompiledCreateIndexStatement from metadata entity 'index'.
---            CompiledCreateIndexStatement cis = new CompiledCreateIndexStatement(index.getIndexName(), dataverseName,
---                    index.getDatasetName(), index.getKeyFieldNames(), index.getGramLength(), index.getIndexType());
---            jobsToExecute.add(IndexOperations.buildSecondaryIndexLoadingJobSpec(cis, metadataProvider));
--+            MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+            bActiveTxn = false;
--+
--+            for (JobSpecification jobspec : jobsToExecute) {
--+                runJob(hcc, jobspec);
--+            }
--+        } catch (Exception e) {
--+            if (bActiveTxn) {
--+                MetadataManager.INSTANCE.abortTransaction(mdTxnCtx);
--+            }
--+            throw new AlgebricksException(e);
--+        } finally {
--+            releaseReadLatch();
--         }
--     }
-++                    // Map the log page to a new region in the log file.
-+                     long nextWritePosition = logManager.getLogPages()[pageToFlush].getNextWritePosition()
-+                             + logManager.getLogManagerProperties().getLogBufferSize();
-  
--     private void handleWriteFromQueryResultStatement(AqlMetadataProvider metadataProvider, Statement stmt,
--             IHyracksClientConnection hcc, List<JobSpecification> jobsToExecute) throws Exception {
---        metadataProvider.setWriteTransaction(true);
---        WriteFromQueryResultStatement st1 = (WriteFromQueryResultStatement) stmt;
---        String dataverseName = st1.getDataverseName() == null ? activeDefaultDataverse == null ? null
---                : activeDefaultDataverse.getDataverseName() : st1.getDataverseName().getValue();
---        CompiledWriteFromQueryResultStatement clfrqs = new CompiledWriteFromQueryResultStatement(dataverseName, st1
---                .getDatasetName().getValue(), st1.getQuery(), st1.getVarCounter());
-+-                    /*
-+-                     * long nextPos = (numCycles + 1)
-+-                     * logManager.getLogManagerProperties() .getLogBufferSize()
-+-                     * + pageToFlush logManager.getLogManagerProperties()
-+-                     * .getLogPageSize();
-+-                     */
-+                     logManager.resetLogPage(nextWritePosition, pageToFlush);
-  
---        Pair<JobSpecification, FileSplit> compiled = rewriteCompileQuery(metadataProvider, clfrqs.getQuery(), clfrqs);
---        if (compiled.first != null) {
---            jobsToExecute.add(compiled.first);
--+        MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+        boolean bActiveTxn = true;
--+        metadataProvider.setMetadataTxnContext(mdTxnCtx);
--+        acquireReadLatch();
--+
--+        try {
--+            metadataProvider.setWriteTransaction(true);
--+            WriteFromQueryResultStatement st1 = (WriteFromQueryResultStatement) stmt;
--+            String dataverseName = st1.getDataverseName() == null ? activeDefaultDataverse == null ? null
--+                    : activeDefaultDataverse.getDataverseName() : st1.getDataverseName().getValue();
--+            CompiledWriteFromQueryResultStatement clfrqs = new CompiledWriteFromQueryResultStatement(dataverseName, st1
--+                    .getDatasetName().getValue(), st1.getQuery(), st1.getVarCounter());
--+
--+            Pair<JobSpecification, FileSplit> compiled = rewriteCompileQuery(metadataProvider, clfrqs.getQuery(),
--+                    clfrqs);
--+            MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+            bActiveTxn = false;
--+            if (compiled.first != null) {
--+                runJob(hcc, compiled.first);
--+            }
--+        } catch (Exception e) {
--+            if (bActiveTxn) {
--+                MetadataManager.INSTANCE.abortTransaction(mdTxnCtx);
--+            }
--+            throw new AlgebricksException(e);
--+        } finally {
--+            releaseReadLatch();
--         }
--     }
-+                     // mark the page as ACTIVE
-+                     logManager.getLogPageStatus(pageToFlush).set(LogManager.PageState.ACTIVE);
-  
--     private void handleInsertStatement(AqlMetadataProvider metadataProvider, Statement stmt,
--             IHyracksClientConnection hcc, List<JobSpecification> jobsToExecute) throws Exception {
---        metadataProvider.setWriteTransaction(true);
---        InsertStatement stmtInsert = (InsertStatement) stmt;
---        String dataverseName = stmtInsert.getDataverseName() == null ? activeDefaultDataverse == null ? null
---                : activeDefaultDataverse.getDataverseName() : stmtInsert.getDataverseName().getValue();
---        CompiledInsertStatement clfrqs = new CompiledInsertStatement(dataverseName, stmtInsert.getDatasetName()
---                .getValue(), stmtInsert.getQuery(), stmtInsert.getVarCounter());
---        Pair<JobSpecification, FileSplit> compiled = rewriteCompileQuery(metadataProvider, clfrqs.getQuery(), clfrqs);
---        if (compiled.first != null) {
---            jobsToExecute.add(compiled.first);
--+
--+        MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+        boolean bActiveTxn = true;
--+        metadataProvider.setMetadataTxnContext(mdTxnCtx);
--+        acquireReadLatch();
--+
--+        try {
--+            metadataProvider.setWriteTransaction(true);
--+            InsertStatement stmtInsert = (InsertStatement) stmt;
--+            String dataverseName = stmtInsert.getDataverseName() == null ? activeDefaultDataverse == null ? null
--+                    : activeDefaultDataverse.getDataverseName() : stmtInsert.getDataverseName().getValue();
--+            CompiledInsertStatement clfrqs = new CompiledInsertStatement(dataverseName, stmtInsert.getDatasetName()
--+                    .getValue(), stmtInsert.getQuery(), stmtInsert.getVarCounter());
--+            Pair<JobSpecification, FileSplit> compiled = rewriteCompileQuery(metadataProvider, clfrqs.getQuery(),
--+                    clfrqs);
--+
--+            MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+            bActiveTxn = false;
--+
--+            if (compiled.first != null) {
--+                runJob(hcc, compiled.first);
--+            }
--+
--+        } catch (Exception e) {
--+            if (bActiveTxn) {
--+                MetadataManager.INSTANCE.abortTransaction(mdTxnCtx);
--+            }
--+            throw new AlgebricksException(e);
--+        } finally {
--+            releaseReadLatch();
--         }
--     }
-+-                    // notify all waiting (transaction) threads.
-+-                    // Transaction thread may be waiting for the page to be
-+-                    // available or may have a commit log record on the page
-+-                    // that got flushed.
-+-                    logManager.getLogPages()[pageToFlush].notifyAll();
-+-                    logManager.setLastFlushedPage(pageToFlush);
-++                    //#. checks the queue whether there is another flush request on the same log buffer
-++                    //   If there is another request, then simply remove it.
-++                    if (flushRequestQueue[pageToFlush].peek() != null) {
-++                        flushRequestQueue[pageToFlush].take();
-++                    }
-  
--     private void handleDeleteStatement(AqlMetadataProvider metadataProvider, Statement stmt,
--             IHyracksClientConnection hcc, List<JobSpecification> jobsToExecute) throws Exception {
---        metadataProvider.setWriteTransaction(true);
---        DeleteStatement stmtDelete = (DeleteStatement) stmt;
---        String dataverseName = stmtDelete.getDataverseName() == null ? activeDefaultDataverse == null ? null
---                : activeDefaultDataverse.getDataverseName() : stmtDelete.getDataverseName().getValue();
---        CompiledDeleteStatement clfrqs = new CompiledDeleteStatement(stmtDelete.getVariableExpr(), dataverseName,
---                stmtDelete.getDatasetName().getValue(), stmtDelete.getCondition(), stmtDelete.getDieClause(),
---                stmtDelete.getVarCounter(), metadataProvider);
---        Pair<JobSpecification, FileSplit> compiled = rewriteCompileQuery(metadataProvider, clfrqs.getQuery(), clfrqs);
---        if (compiled.first != null) {
---            jobsToExecute.add(compiled.first);
--+
--+        MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+        boolean bActiveTxn = true;
--+        metadataProvider.setMetadataTxnContext(mdTxnCtx);
--+        acquireReadLatch();
--+
--+        try {
--+            metadataProvider.setWriteTransaction(true);
--+            DeleteStatement stmtDelete = (DeleteStatement) stmt;
--+            String dataverseName = stmtDelete.getDataverseName() == null ? activeDefaultDataverse == null ? null
--+                    : activeDefaultDataverse.getDataverseName() : stmtDelete.getDataverseName().getValue();
--+            CompiledDeleteStatement clfrqs = new CompiledDeleteStatement(stmtDelete.getVariableExpr(), dataverseName,
--+                    stmtDelete.getDatasetName().getValue(), stmtDelete.getCondition(), stmtDelete.getDieClause(),
--+                    stmtDelete.getVarCounter(), metadataProvider);
--+            Pair<JobSpecification, FileSplit> compiled = rewriteCompileQuery(metadataProvider, clfrqs.getQuery(),
--+                    clfrqs);
--+
--+            MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+            bActiveTxn = false;
--+
--+            if (compiled.first != null) {
--+                runJob(hcc, compiled.first);
--+            }
--+
--+        } catch (Exception e) {
--+            if (bActiveTxn) {
--+                MetadataManager.INSTANCE.abortTransaction(mdTxnCtx);
--+            }
--+            throw new AlgebricksException(e);
--+        } finally {
--+            releaseReadLatch();
-++                    // notify all waiting (transaction) threads.
-++                    logManager.getLogPage(pageToFlush).notifyAll();
-+                 }
-+             } catch (IOException ioe) {
-+                 ioe.printStackTrace();
-+                 throw new Error(" exception in flushing log page", ioe);
-+             } catch (InterruptedException e) {
-+                 e.printStackTrace();
-+-                break; // must break from the loop as the exception indicates
-+-                // some thing horrendous has happened elsewhere
-++                break; 
-+             }
-          }
-      }
-+-}
-+-
-+-/*
-+- * TODO: By default the commit policy is to commit at each request and not have
-+- * a group commit. The following code needs to change to support group commit.
-+- * The code for group commit has not been tested thoroughly and is under
-+- * development.
-+- */
-+-class BasicCommitResolver implements ICommitResolver {
-+-
-+-    public boolean shouldCommitPage(int pageIndex, LogManager logManager,
-+-            CommitRequestStatistics commitRequestStatistics) {
-+-        return true;
-+-    }
-+-
-+-    public void init(LogManager logManager) {
-+-    }
-+-}
-+-
-+-class GroupCommitResolver implements ICommitResolver {
-+-
-+-    public boolean shouldCommitPage(int pageIndex, LogManager logManager,
-+-            CommitRequestStatistics commitRequestStatistics) {
-+-        long maxCommitWait = logManager.getLogManagerProperties().getGroupCommitWaitPeriod();
-+-        long timestamp = commitRequestStatistics.getPageLevelLastCommitRequestTimestamp(pageIndex);
-+-        if (timestamp == -1) {
-+-            if (maxCommitWait == 0) {
-+-                return true;
-+-            } else {
-+-                timestamp = System.currentTimeMillis();
-+-            }
-+-        }
-+-        long currenTime = System.currentTimeMillis();
-+-        if (currenTime - timestamp > maxCommitWait) {
-+-            return true;
-+-        }
-+-        return false;
-+-    }
-+-
-+-    public void init(LogManager logManager) {
-+-        GroupCommitHandlerThread groupCommitHandler = new GroupCommitHandlerThread(logManager);
-+-        groupCommitHandler.setDaemon(true);
-+-        groupCommitHandler.start();
-+-    }
-+-
-+-    class GroupCommitHandlerThread extends Thread {
-+-
-+-        private LogManager logManager;
-+-
-+-        public GroupCommitHandlerThread(LogManager logManager) {
-+-            this.logManager = logManager;
-+-            setName("Group Commit Handler");
-+-        }
-+-
-+-        @Override
-+-        public void run() {
-+-            int pageIndex = -1;
-+-            while (true) {
-+-                pageIndex = logManager.getNextPageInSequence(pageIndex);
-+-                long lastCommitRequeestTimestamp = logManager.getCommitRequestStatistics()
-+-                        .getPageLevelLastCommitRequestTimestamp(pageIndex);
-+-                if (lastCommitRequeestTimestamp != -1
-+-                        && System.currentTimeMillis() - lastCommitRequeestTimestamp > logManager
-+-                                .getLogManagerProperties().getGroupCommitWaitPeriod()) {
-+-                    int dirtyCount = logManager.getLogPageOwnershipCount(pageIndex).decrementAndGet();
-+-                    if (dirtyCount == 0) {
-+-                        try {
-+-                            logManager.getLogPageStatus(pageIndex).set(LogManager.PageState.INACTIVE);
-+-                            logManager.getPendingFlushRequests(pageIndex).put(Thread.currentThread());
-+-                        } catch (InterruptedException e) {
-+-                            e.printStackTrace();
-+-                            break;
-+-                        }
-+-                        logManager.getCommitRequestStatistics().committedPage(pageIndex);
-+-                    }
-+-                }
-+-            }
-+-        }
-+-    }
-+-
-+-}
-+-
-+-interface ICommitResolver {
-+-    public boolean shouldCommitPage(int pageIndex, LogManager logManager,
-+-            CommitRequestStatistics commitRequestStatistics);
-+-
-+-    public void init(LogManager logManager);
-+-}
-+-
-+-/**
-+- * Represents a collection of all commit requests by transactions for each log
-+- * page. The requests are accumulated until the commit policy triggers a flush
-+- * of the corresponding log page. Upon a flush of a page, all commit requests
-+- * for the page are cleared.
-+- */
-+-class CommitRequestStatistics {
-+-
-+-    AtomicInteger[] pageLevelCommitRequestCount;
-+-    AtomicLong[] pageLevelLastCommitRequestTimestamp;
-+-
-+-    public CommitRequestStatistics(int numPages) {
-+-        pageLevelCommitRequestCount = new AtomicInteger[numPages];
-+-        pageLevelLastCommitRequestTimestamp = new AtomicLong[numPages];
-+-        for (int i = 0; i < numPages; i++) {
-+-            pageLevelCommitRequestCount[i] = new AtomicInteger(0);
-+-            pageLevelLastCommitRequestTimestamp[i] = new AtomicLong(-1L);
-+-        }
-+-    }
-+-
-+-    public void registerCommitRequest(int pageIndex) {
-+-        pageLevelCommitRequestCount[pageIndex].incrementAndGet();
-+-        pageLevelLastCommitRequestTimestamp[pageIndex].set(System.currentTimeMillis());
-+-    }
-+-
-+-    public long getPageLevelLastCommitRequestTimestamp(int pageIndex) {
-+-        return pageLevelLastCommitRequestTimestamp[pageIndex].get();
-+-    }
-+-
-+-    public void committedPage(int pageIndex) {
-+-        pageLevelCommitRequestCount[pageIndex].set(0);
-+-        pageLevelLastCommitRequestTimestamp[pageIndex].set(-1L);
-+-    }
-+-
-+-}
-++}
-+\ No newline at end of file
-+Index: asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/LogRecordHelper.java
-+===================================================================
-+--- asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/LogRecordHelper.java	(revision 1194)
-++++ asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/LogRecordHelper.java	(working copy)
-+@@ -152,6 +152,9 @@
-+             case LogType.UPDATE:
-+                 logTypeDisplay = "UPDATE";
-+                 break;
-++            case LogType.ENTITY_COMMIT:
-++                logTypeDisplay = "ENTITY_COMMIT";
-++                break;
-+         }
-+         builder.append(" LSN : ").append(logicalLogLocator.getLsn());
-+         builder.append(" Log Type : ").append(logTypeDisplay);
-+Index: asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/LogType.java
-+===================================================================
-+--- asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/LogType.java	(revision 1194)
-++++ asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/LogType.java	(working copy)
-+@@ -18,5 +18,6 @@
-  
--@@ -704,46 +1106,109 @@
-+     public static final byte UPDATE = 0;
-+     public static final byte COMMIT = 1;
-++    public static final byte ENTITY_COMMIT = 2;
-  
--     private void handleBeginFeedStatement(AqlMetadataProvider metadataProvider, Statement stmt,
--             IHyracksClientConnection hcc, List<JobSpecification> jobsToExecute) throws Exception {
---        BeginFeedStatement bfs = (BeginFeedStatement) stmt;
---        String dataverseName = bfs.getDataverseName() == null ? activeDefaultDataverse == null ? null
---                : activeDefaultDataverse.getDataverseName() : bfs.getDatasetName().getValue();
-+ }
-+Index: asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/LogManagerProperties.java
-+===================================================================
-+--- asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/LogManagerProperties.java	(revision 1194)
-++++ asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/LogManagerProperties.java	(working copy)
-+@@ -1,5 +1,5 @@
-+ /*
-+- * Copyright 2009-2010 by The Regents of the University of California
-++ * Copyright 2009-2012 by The Regents of the University of California
-+  * Licensed under the Apache License, Version 2.0 (the "License");
-+  * you may not use this file except in compliance with the License.
-+  * you may obtain a copy of the License from
-+@@ -41,7 +41,7 @@
-+     private int logPageSize = 128 * 1024; // 128 KB
-+     private int numLogPages = 8; // number of log pages in the log buffer.
-  
---        CompiledBeginFeedStatement cbfs = new CompiledBeginFeedStatement(dataverseName,
---                bfs.getDatasetName().getValue(), bfs.getQuery(), bfs.getVarCounter());
--+        MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+        boolean bActiveTxn = true;
--+        metadataProvider.setMetadataTxnContext(mdTxnCtx);
--+        acquireReadLatch();
-+-    private long groupCommitWaitPeriod = 0; // time in milliseconds for which a
-++    private long groupCommitWaitPeriod = 1; // time in milliseconds for which a
-+     // commit record will wait before
-+     // the housing page is marked for
-+     // flushing.
-+Index: asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/recovery/RecoveryManager.java
-+===================================================================
-+--- asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/recovery/RecoveryManager.java	(revision 1194)
-++++ asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/recovery/RecoveryManager.java	(working copy)
-+@@ -184,6 +184,7 @@
-+                     break;
-  
---        Dataset dataset;
---        dataset = MetadataManager.INSTANCE.getDataset(metadataProvider.getMetadataTxnContext(), dataverseName, bfs
---                .getDatasetName().getValue());
---        IDatasetDetails datasetDetails = dataset.getDatasetDetails();
---        if (datasetDetails.getDatasetType() != DatasetType.FEED) {
---            throw new IllegalArgumentException("Dataset " + bfs.getDatasetName().getValue() + " is not a feed dataset");
--+        try {
--+            BeginFeedStatement bfs = (BeginFeedStatement) stmt;
--+            String dataverseName = bfs.getDataverseName() == null ? activeDefaultDataverse == null ? null
--+                    : activeDefaultDataverse.getDataverseName() : bfs.getDatasetName().getValue();
--+
--+            CompiledBeginFeedStatement cbfs = new CompiledBeginFeedStatement(dataverseName, bfs.getDatasetName()
--+                    .getValue(), bfs.getQuery(), bfs.getVarCounter());
--+
--+            Dataset dataset;
--+            dataset = MetadataManager.INSTANCE.getDataset(metadataProvider.getMetadataTxnContext(), dataverseName, bfs
--+                    .getDatasetName().getValue());
--+            IDatasetDetails datasetDetails = dataset.getDatasetDetails();
--+            if (datasetDetails.getDatasetType() != DatasetType.FEED) {
--+                throw new IllegalArgumentException("Dataset " + bfs.getDatasetName().getValue()
--+                        + " is not a feed dataset");
--+            }
--+            bfs.initialize(metadataProvider.getMetadataTxnContext(), dataset);
--+            cbfs.setQuery(bfs.getQuery());
--+            Pair<JobSpecification, FileSplit> compiled = rewriteCompileQuery(metadataProvider, bfs.getQuery(), cbfs);
--+
--+            MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+            bActiveTxn = false;
--+
--+            if (compiled.first != null) {
--+                runJob(hcc, compiled.first);
--+            }
--+
--+        } catch (Exception e) {
--+            if (bActiveTxn) {
--+                MetadataManager.INSTANCE.abortTransaction(mdTxnCtx);
--+            }
--+            throw new AlgebricksException(e);
--+        } finally {
--+            releaseReadLatch();
--         }
---        bfs.initialize(metadataProvider.getMetadataTxnContext(), dataset);
---        cbfs.setQuery(bfs.getQuery());
---        Pair<JobSpecification, FileSplit> compiled = rewriteCompileQuery(metadataProvider, bfs.getQuery(), cbfs);
---        if (compiled.first != null) {
---            jobsToExecute.add(compiled.first);
---        }
--     }
-+                 case LogType.COMMIT:
-++                case LogType.ENTITY_COMMIT:
-+                     tempKeyTxnId.setTxnId(logRecordHelper.getJobId(currentLogLocator),
-+                             logRecordHelper.getDatasetId(currentLogLocator),
-+                             logRecordHelper.getPKHashValue(currentLogLocator));
-+@@ -218,6 +219,7 @@
-+         IIndex index = null;
-+         LocalResource localResource = null;
-+         ILocalResourceMetadata localResourceMetadata = null;
-++        List<Long> resourceIdList = new ArrayList<Long>();
-  
--     private void handleControlFeedStatement(AqlMetadataProvider metadataProvider, Statement stmt,
--             IHyracksClientConnection hcc, List<JobSpecification> jobsToExecute) throws Exception {
---        ControlFeedStatement cfs = (ControlFeedStatement) stmt;
---        String dataverseName = cfs.getDataverseName() == null ? activeDefaultDataverse == null ? null
---                : activeDefaultDataverse.getDataverseName() : cfs.getDatasetName().getValue();
---        CompiledControlFeedStatement clcfs = new CompiledControlFeedStatement(cfs.getOperationType(), dataverseName,
---                cfs.getDatasetName().getValue(), cfs.getAlterAdapterConfParams());
---        jobsToExecute.add(FeedOperations.buildControlFeedJobSpec(clcfs, metadataProvider));
--+
--+        MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+        boolean bActiveTxn = true;
--+        metadataProvider.setMetadataTxnContext(mdTxnCtx);
--+        acquireReadLatch();
--+
--+        try {
--+            ControlFeedStatement cfs = (ControlFeedStatement) stmt;
--+            String dataverseName = cfs.getDataverseName() == null ? activeDefaultDataverse == null ? null
--+                    : activeDefaultDataverse.getDataverseName() : cfs.getDatasetName().getValue();
--+            CompiledControlFeedStatement clcfs = new CompiledControlFeedStatement(cfs.getOperationType(),
--+                    dataverseName, cfs.getDatasetName().getValue(), cfs.getAlterAdapterConfParams());
--+            JobSpecification jobSpec = FeedOperations.buildControlFeedJobSpec(clcfs, metadataProvider);
--+
--+            MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+            bActiveTxn = false;
--+
--+            runJob(hcc, jobSpec);
--+
--+        } catch (Exception e) {
--+            if (bActiveTxn) {
--+                MetadataManager.INSTANCE.abortTransaction(mdTxnCtx);
--+            }
--+            throw new AlgebricksException(e);
--+        } finally {
--+            releaseReadLatch();
--+        }
--     }
-+         //#. get indexLifeCycleManager 
-+         IAsterixAppRuntimeContextProvider appRuntimeContext = txnSubsystem.getAsterixAppRuntimeContextProvider();
-+@@ -272,6 +274,8 @@
-+                             index = localResourceMetadata.createIndexInstance(appRuntimeContext,
-+                                     localResource.getResourceName(), localResource.getPartition());
-+                             indexLifecycleManager.register(resourceId, index);
-++                            indexLifecycleManager.open(resourceId);
-++                            resourceIdList.add(resourceId);
-+                         }
-  
--     private QueryResult handleQuery(AqlMetadataProvider metadataProvider, Query query, IHyracksClientConnection hcc,
--             List<JobSpecification> jobsToExecute) throws Exception {
---        Pair<JobSpecification, FileSplit> compiled = rewriteCompileQuery(metadataProvider, query, null);
---        if (compiled.first != null) {
---            GlobalConfig.ASTERIX_LOGGER.info(compiled.first.toJSON().toString(1));
---            jobsToExecute.add(compiled.first);
--+
--+        MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+        boolean bActiveTxn = true;
--+        metadataProvider.setMetadataTxnContext(mdTxnCtx);
--+        acquireReadLatch();
--+
--+        try {
--+            Pair<JobSpecification, FileSplit> compiled = rewriteCompileQuery(metadataProvider, query, null);
--+
--+            QueryResult queryResult = new QueryResult(query, compiled.second.getLocalFile().getFile().getAbsolutePath());
--+            MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+            bActiveTxn = false;
--+
--+            if (compiled.first != null) {
--+                GlobalConfig.ASTERIX_LOGGER.info(compiled.first.toJSON().toString(1));
--+                runJob(hcc, compiled.first);
--+            }
--+
--+            return queryResult;
--+        } catch (Exception e) {
--+            if (bActiveTxn) {
--+                MetadataManager.INSTANCE.abortTransaction(mdTxnCtx);
--+            }
--+            throw new AlgebricksException(e);
--+        } finally {
--+            releaseReadLatch();
--         }
---        return new QueryResult(query, compiled.second.getLocalFile().getFile().getAbsolutePath());
--     }
-+                         /***************************************************/
-+@@ -300,6 +304,7 @@
-+                     break;
-  
--     private void runCreateIndexJob(IHyracksClientConnection hcc, CreateIndexStatement stmtCreateIndex,
--@@ -768,20 +1233,32 @@
--     private void handleCreateNodeGroupStatement(AqlMetadataProvider metadataProvider, Statement stmt,
--             List<JobSpecification> jobsToExecute) throws MetadataException, AlgebricksException, RemoteException,
--             ACIDException {
---        MetadataTransactionContext mdTxnCtx = metadataProvider.getMetadataTxnContext();
---        NodegroupDecl stmtCreateNodegroup = (NodegroupDecl) stmt;
---        String ngName = stmtCreateNodegroup.getNodegroupName().getValue();
---        NodeGroup ng = MetadataManager.INSTANCE.getNodegroup(mdTxnCtx, ngName);
---        if (ng != null) {
---            if (!stmtCreateNodegroup.getIfNotExists())
---                throw new AlgebricksException("A nodegroup with this name " + ngName + " already exists.");
---        } else {
---            List<Identifier> ncIdentifiers = stmtCreateNodegroup.getNodeControllerNames();
---            List<String> ncNames = new ArrayList<String>(ncIdentifiers.size());
---            for (Identifier id : ncIdentifiers) {
---                ncNames.add(id.getValue());
--+
--+        MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+        metadataProvider.setMetadataTxnContext(mdTxnCtx);
--+        acquireWriteLatch();
--+
--+        try {
--+            NodegroupDecl stmtCreateNodegroup = (NodegroupDecl) stmt;
--+            String ngName = stmtCreateNodegroup.getNodegroupName().getValue();
--+            NodeGroup ng = MetadataManager.INSTANCE.getNodegroup(mdTxnCtx, ngName);
--+            if (ng != null) {
--+                if (!stmtCreateNodegroup.getIfNotExists())
--+                    throw new AlgebricksException("A nodegroup with this name " + ngName + " already exists.");
--+            } else {
--+                List<Identifier> ncIdentifiers = stmtCreateNodegroup.getNodeControllerNames();
--+                List<String> ncNames = new ArrayList<String>(ncIdentifiers.size());
--+                for (Identifier id : ncIdentifiers) {
--+                    ncNames.add(id.getValue());
--+                }
--+                MetadataManager.INSTANCE.addNodegroup(mdTxnCtx, new NodeGroup(ngName, ncNames));
-+                 case LogType.COMMIT:
-++                case LogType.ENTITY_COMMIT:
-+                     //do nothing
-+                     break;
-+ 
-+@@ -308,6 +313,11 @@
-              }
---            MetadataManager.INSTANCE.addNodegroup(mdTxnCtx, new NodeGroup(ngName, ncNames));
--+            MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+        } catch (Exception e) {
--+            MetadataManager.INSTANCE.abortTransaction(mdTxnCtx);
--+            throw new AlgebricksException(e);
--+        } finally {
--+            releaseWriteLatch();
-          }
--     }
-- 
--@@ -791,10 +1268,37 @@
-- 
--     private void compileIndexDropStatement(IHyracksClientConnection hcc, String dataverseName, String datasetName,
--             String indexName, AqlMetadataProvider metadataProvider) throws Exception {
--+        MetadataTransactionContext mdTxnCtx = metadataProvider.getMetadataTxnContext();
--+        Index index = MetadataManager.INSTANCE.getIndex(mdTxnCtx, dataverseName, datasetName, indexName);
--+
--+        //#. mark PendingDropOp on the existing index
--+        MetadataManager.INSTANCE.dropIndex(mdTxnCtx, dataverseName, datasetName, indexName);
--+        MetadataManager.INSTANCE.addIndex(
--+                mdTxnCtx,
--+                new Index(dataverseName, datasetName, indexName, index.getIndexType(), index.getKeyFieldNames(), index
--+                        .isPrimaryIndex(), IMetadataEntity.PENDING_DROP_OP));
--         CompiledIndexDropStatement cds = new CompiledIndexDropStatement(dataverseName, datasetName, indexName);
---        runJob(hcc, IndexOperations.buildDropSecondaryIndexJobSpec(cds, metadataProvider));
---        MetadataManager.INSTANCE.dropIndex(metadataProvider.getMetadataTxnContext(), dataverseName, datasetName,
---                indexName);
--+        JobSpecification jobSpec = IndexOperations.buildDropSecondaryIndexJobSpec(cds, metadataProvider);
--+
--+        //#. commit the existing transaction before calling runJob. 
--+        //   the caller should begin the transaction before calling this function.
--+        MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+
--+        try {
--+            runJob(hcc, jobSpec);
--+        } catch (Exception e) {
--+            //need to create the mdTxnCtx to be aborted by caller properly
--+            mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+            metadataProvider.setMetadataTxnContext(mdTxnCtx);
--+            throw e;
-+         
-++        //close all indexes
-++        for (long r : resourceIdList) {
-++            indexLifecycleManager.close(r);
- +        }
--+
--+        //#. begin a new transaction
--+        mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+        metadataProvider.setMetadataTxnContext(mdTxnCtx);
--+
--+        //#. finally, delete the existing index
--+        MetadataManager.INSTANCE.dropIndex(mdTxnCtx, dataverseName, datasetName, indexName);
-++        
-+         JobIdFactory.initJobId(maxJobId);
-      }
-  
--     private void compileDatasetDropStatement(IHyracksClientConnection hcc, String dataverseName, String datasetName,
--@@ -803,10 +1307,32 @@
--         CompiledDatasetDropStatement cds = new CompiledDatasetDropStatement(dataverseName, datasetName);
--         Dataset ds = MetadataManager.INSTANCE.getDataset(mdTxnCtx, dataverseName, datasetName);
--         if (ds.getDatasetType() == DatasetType.INTERNAL || ds.getDatasetType() == DatasetType.FEED) {
---            JobSpecification[] jobSpecs = DatasetOperations.createDropDatasetJobSpec(cds, metadataProvider);
---            for (JobSpecification spec : jobSpecs)
---                runJob(hcc, spec);
--+            JobSpecification jobSpec = DatasetOperations.createDropDatasetJobSpec(cds, metadataProvider);
--+
--+            //#. mark PendingDropOp on the existing dataset 
--+            MetadataManager.INSTANCE.dropDataset(mdTxnCtx, dataverseName, datasetName);
--+            MetadataManager.INSTANCE.addDataset(mdTxnCtx, new Dataset(dataverseName, datasetName, ds.getItemTypeName(),
--+                    ds.getDatasetDetails(), ds.getDatasetType(), ds.getDatasetId(), IMetadataEntity.PENDING_DROP_OP));
--+
--+            //#. commit the transaction
--+            MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+
--+            //#. run the job
--+            try {
--+                runJob(hcc, jobSpec);
--+            } catch (Exception e) {
--+                //need to create the mdTxnCtx to be aborted by caller properly
--+                mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+                metadataProvider.setMetadataTxnContext(mdTxnCtx);
--+                throw e;
-+@@ -539,6 +549,7 @@
-+                     break;
-+ 
-+                 case LogType.COMMIT:
-++                case LogType.ENTITY_COMMIT:
-+                     undoLSNSet = loserTxnTable.get(tempKeyTxnId);
-+                     if (undoLSNSet != null) {
-+                         loserTxnTable.remove(tempKeyTxnId);
-+Index: asterix-app/src/test/java/edu/uci/ics/asterix/test/metadata/MetadataTest.java
-+===================================================================
-+--- asterix-app/src/test/java/edu/uci/ics/asterix/test/metadata/MetadataTest.java	(revision 1194)
-++++ asterix-app/src/test/java/edu/uci/ics/asterix/test/metadata/MetadataTest.java	(working copy)
-+@@ -42,6 +42,16 @@
-+         List<CompilationUnit> cUnits = tcCtx.getTestCase().getCompilationUnit();
-+         for (CompilationUnit cUnit : cUnits) {
-+             File testFile = tcCtx.getTestFile(cUnit);
-++            
-++            /*****************
-++            if (!testFile.getAbsolutePath().contains("meta09.aql")) {
-++                System.out.println(testFile.getAbsolutePath());
-++                continue;
- +            }
--+
--+            //#. start a new transaction
--+            mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+            metadataProvider.setMetadataTxnContext(mdTxnCtx);
--         }
--+
--+        //#. finally, delete the existing dataset. 
--         MetadataManager.INSTANCE.dropDataset(mdTxnCtx, dataverseName, datasetName);
--     }
-++            System.out.println(testFile.getAbsolutePath());
-++            *****************/
-++            
-++            
-+             File expectedResultFile = tcCtx.getExpectedResultFile(cUnit);
-+             File actualFile = new File(PATH_ACTUAL + File.separator
-+                     + tcCtx.getTestCase().getFilePath().replace(File.separator, "_") + "_" + cUnit.getName() + ".adm");
-+Index: asterix-app/src/test/java/edu/uci/ics/asterix/test/runtime/ExecutionTest.java
-+===================================================================
-+--- asterix-app/src/test/java/edu/uci/ics/asterix/test/runtime/ExecutionTest.java	(revision 1194)
-++++ asterix-app/src/test/java/edu/uci/ics/asterix/test/runtime/ExecutionTest.java	(working copy)
-+@@ -95,9 +95,10 @@
-+             File testFile = tcCtx.getTestFile(cUnit);
-  
--@@ -831,4 +1357,20 @@
--         }
--         return format;
--     }
--+
--+    private void acquireWriteLatch() {
--+        cacheLatch.writeLock().lock();
--+    }
--+
--+    private void releaseWriteLatch() {
--+        cacheLatch.writeLock().unlock();
--+    }
--+
--+    private void acquireReadLatch() {
--+        cacheLatch.readLock().lock();
--+    }
--+
--+    private void releaseReadLatch() {
--+        cacheLatch.readLock().unlock();
--+    }
-- }
-+             /*************** to avoid run failure cases ****************
-+-            if (!testFile.getAbsolutePath().contains("index-selection/")) {
-++            if (!testFile.getAbsolutePath().contains("query-issue205.aql")) {
-+                 continue;
-+             }
-++            System.out.println(testFile.getAbsolutePath());
-+             ************************************************************/
-+             
-+             File expectedResultFile = tcCtx.getExpectedResultFile(cUnit);
