[Commits] e637355156c: MDEV-21610 Different query results from 10.4.11 to 10.4.12
by psergey 20 Feb '20
by psergey 20 Feb '20
20 Feb '20
revision-id: e637355156cb28388a291b0e3a5e9ee863b2854d (mariadb-10.4.11-86-ge637355156c)
parent(s): adcfea710ff0dcd8d223d41440225ebf6e64f796
author: Sergei Petrunia
committer: Sergei Petrunia
timestamp: 2020-02-20 13:35:19 +0300
message:
MDEV-21610 Different query results from 10.4.11 to 10.4.12
Part#2: cleanup:
In the part 1 of the fix, DS-MRR implementation would peek into
the JOIN_TAB to get the rowid filter from
table->reginfo.join_tab->rowid_filter
This doesn't look good from code isolation standpoint (why should a
storage engine assume it is used through a JOIN_TAB?).
Fixed this by storing the 'un-pushed' rowid_filter in the DsMrr_impl
structure. The filter survives across multi_range_read_init() calls.
It is discarded when somebody calls index_end() or rnd_end() and cleans
up the DsMrr_impl.
---
sql/multi_range_read.cc | 9 +++++++--
sql/multi_range_read.h | 11 +++++++++--
2 files changed, 16 insertions(+), 4 deletions(-)
diff --git a/sql/multi_range_read.cc b/sql/multi_range_read.cc
index 51c3dc7a205..c000187626f 100644
--- a/sql/multi_range_read.cc
+++ b/sql/multi_range_read.cc
@@ -1015,6 +1015,7 @@ int DsMrr_impl::dsmrr_init(handler *h_arg, RANGE_SEQ_IF *seq_funcs,
primary key. Use the rowid filter outside the engine code (see
Mrr_ordered_rndpos_reader::refill_from_index_reader).
*/
+ rowid_filter= h_arg->pushed_rowid_filter;
h_arg->cancel_pushed_rowid_filter();
}
}
@@ -1096,15 +1097,18 @@ int DsMrr_impl::dsmrr_init(handler *h_arg, RANGE_SEQ_IF *seq_funcs,
goto use_default_impl;
}
+ // setup_two_handlers() will call dsmrr_close() will clears the filter.
+ // Save its value and restore afterwards.
+ Rowid_filter *tmp = rowid_filter;
if ((res= setup_two_handlers()))
goto error;
+ rowid_filter= tmp;
if ((res= index_strategy->init(secondary_file, seq_funcs, seq_init_param,
n_ranges, mode, &keypar, key_buffer,
&buf_manager)) ||
(res= disk_strategy->init(primary_file, index_strategy, mode,
- &rowid_buffer,
- table->reginfo.join_tab->rowid_filter)))
+ &rowid_buffer, rowid_filter)))
{
goto error;
}
@@ -1286,6 +1290,7 @@ void DsMrr_impl::close_second_handler()
void DsMrr_impl::dsmrr_close()
{
DBUG_ENTER("DsMrr_impl::dsmrr_close");
+ rowid_filter= NULL;
close_second_handler();
strategy= NULL;
DBUG_VOID_RETURN;
diff --git a/sql/multi_range_read.h b/sql/multi_range_read.h
index 6be95371bb2..37a00e3086f 100644
--- a/sql/multi_range_read.h
+++ b/sql/multi_range_read.h
@@ -557,7 +557,8 @@ class DsMrr_impl
typedef void (handler::*range_check_toggle_func_t)(bool on);
DsMrr_impl()
- : secondary_file(NULL) {};
+ : secondary_file(NULL),
+ rowid_filter(NULL) {};
void init(handler *h_arg, TABLE *table_arg)
{
@@ -594,7 +595,13 @@ class DsMrr_impl
to run both index scan and rnd_pos() scan at the same time)
*/
handler *secondary_file;
-
+
+ /*
+ The rowid filter that DS-MRR has "unpushed" from the storage engine.
+ If it's present, DS-MRR will use it.
+ */
+ Rowid_filter *rowid_filter;
+
uint keyno; /* index we're running the scan on */
/* TRUE <=> need range association, buffers hold {rowid, range_id} pairs */
bool is_mrr_assoc;
1
0
[Commits] affe7fabc7b: MDEV-21628: Index condition pushdown condition ... not used with BKA
by psergey 19 Feb '20
by psergey 19 Feb '20
19 Feb '20
revision-id: affe7fabc7baa36083e7632eb6c3611578d74b48 (mariadb-10.3.21-46-gaffe7fabc7b)
parent(s): 85d4a45d15078512562d84273f489e8d225c1da7
author: Sergei Petrunia
committer: Sergei Petrunia
timestamp: 2020-02-19 21:29:49 +0300
message:
MDEV-21628: Index condition pushdown condition ... not used with BKA
(Backport to 10.3)
Partitioning storage now supports MRR but doesn't support Index Condition
Pushdown (aka ICP). This causes counter-intuitive query plans for queries
that use BKA and conditions that depend on index fields:
- If the condition refers to other tables, BKA's variant of ICP is used
to handle it.
- If the condition depends on this table only, the optimizer will try to
use regular ICP for it, which will fail because the storage engine
doesn't support ICP.
Make the optimizer be smarter in the second case: if we were not able to
use regular ICP, use BKA's variant of ICP..
---
mysql-test/main/partition_mrr_myisam.result | 59 +++++++++++++++++++++++++++++
mysql-test/main/partition_mrr_myisam.test | 59 +++++++++++++++++++++++++++++
sql/opt_index_cond_pushdown.cc | 15 ++++++++
3 files changed, 133 insertions(+)
diff --git a/mysql-test/main/partition_mrr_myisam.result b/mysql-test/main/partition_mrr_myisam.result
index 1f1cea8e9d6..d989536324c 100644
--- a/mysql-test/main/partition_mrr_myisam.result
+++ b/mysql-test/main/partition_mrr_myisam.result
@@ -77,3 +77,62 @@ ID part_id key_col col2
28 8 2 123456
29 9 2 123456
drop table t1,t3;
+#
+# MDEV-21628: Index condition pushdown for a simple condition over
+# index fields is not used for ref access of partitioned tables when employing BKA
+#
+create table t0 (
+tp int, a int, b int, c varchar(12), index idx (a,b)
+);
+insert into t0 values
+(1,3,30,'yyzy'), (1,3,30,'yxxyy'), (1,3,30,'yyxy'), (1,3,30,'xxyy'),
+(1,3,30,'yyxz'), (1,3,30,'yyzz'), (1,3,30,'xxyzy'), (1,3,30,'yyyy'),
+(1,3,30,'yzzy'), (1,93,30,'zzzy'),
+(2,3,40,'yxx'), (2,4,40,'xx'), (2,3,10,'zxz'),
+(2,3,40,'yyx'), (2,4,40,'xxx'), (2,3,10,'zyyz'),
+(2,3,40,'xzzzz'), (2,4,40,'yyyxx'), (2,3,10,'zyz'),
+(2,3,40,'xxx'), (2,4,40,'xx'), (2,3,10,'zzz'),
+(2,3,40,'yyxzx'), (2,4,40,'xyx'), (2,3,10,'xzz'),
+(2,3,40,'xxxzz'), (2,4,40,'xxz'), (2,3,10,'zzzy'),
+(2,3,40,'zzxxx'), (2,4,40,'zxx'), (2,3,10,'yzzz'),
+(2,3,40,'xyyxx'), (2,4,40,'xzzzx'), (2,3,10,'zzxxz'),
+(2,3,40,'yzxxx'), (2,4,40,'xxzy'), (2,3,10,'zzzyx'),
+(2,93,40,'xzx'), (2,94,40,'xz'), (2,93,10,'zyyyz'),
+(3,4,30,'yx'), (3,4,30,'yyxxx'), (3,4,30,'zzyy'), (3,4,30,'zxyy'),
+(3,4,30,'xxyy'), (3,4,30,'yyzx'), (3,4,30,'zyyy'), (3,4,30,'yzy'),
+(3,4,30,'zzzyy'), (3,94,30,'yyz');
+create table t1 (
+tp int, a int, b int, c varchar(12), index idx (a,b)
+) engine=myisam
+partition by list (tp)
+( partition p1 values in (1),
+partition p2 values in (2),
+partition p3 values in (3));
+insert into t1 select * from t0;
+create table t2 (a int, index idx(a)) engine=myisam;
+insert into t2 values (1), (2), (3), (4), (5);
+insert into t2 select a+10 from t2;
+insert into t2 select a+20 from t2;
+analyze table t0,t1,t2;
+Table Op Msg_type Msg_text
+test.t0 analyze status Engine-independent statistics collected
+test.t0 analyze status OK
+test.t1 analyze status Engine-independent statistics collected
+test.t1 analyze status OK
+test.t2 analyze status Engine-independent statistics collected
+test.t2 analyze status OK
+set @tmp1=@@join_cache_level, @tmp2=@@optimizer_switch;
+set join_cache_level=6, optimizer_switch='mrr=on';
+explain
+select * from t0,t2 where t2.a in (3,4) and t0.a=t2.a and (t0.b / 10) = 4;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 range idx idx 5 NULL 2 Using where; Using index
+1 SIMPLE t0 ref idx idx 5 test.t2.a 12 Using index condition; Using join buffer (flat, BKA join); Rowid-ordered scan
+# This will use "Using index condition(BKA)"
+explain
+select * from t1,t2 where t2.a in (3,4) and t1.a=t2.a and (t1.b / 10) = 4;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 range idx idx 5 NULL 2 Using where; Using index
+1 SIMPLE t1 ref idx idx 5 test.t2.a 12 Using index condition(BKA); Using join buffer (flat, BKA join); Rowid-ordered scan
+set join_cache_level=@tmp1, optimizer_switch=@tmp2;
+drop table t0,t1,t2;
diff --git a/mysql-test/main/partition_mrr_myisam.test b/mysql-test/main/partition_mrr_myisam.test
index d67a37ab3d2..eb30319d81f 100644
--- a/mysql-test/main/partition_mrr_myisam.test
+++ b/mysql-test/main/partition_mrr_myisam.test
@@ -1,3 +1,62 @@
let $engine_type= myisam;
--source include/partition_mrr.inc
+
+--echo #
+--echo # MDEV-21628: Index condition pushdown for a simple condition over
+--echo # index fields is not used for ref access of partitioned tables when employing BKA
+--echo #
+
+create table t0 (
+tp int, a int, b int, c varchar(12), index idx (a,b)
+);
+
+insert into t0 values
+(1,3,30,'yyzy'), (1,3,30,'yxxyy'), (1,3,30,'yyxy'), (1,3,30,'xxyy'),
+(1,3,30,'yyxz'), (1,3,30,'yyzz'), (1,3,30,'xxyzy'), (1,3,30,'yyyy'),
+(1,3,30,'yzzy'), (1,93,30,'zzzy'),
+(2,3,40,'yxx'), (2,4,40,'xx'), (2,3,10,'zxz'),
+(2,3,40,'yyx'), (2,4,40,'xxx'), (2,3,10,'zyyz'),
+(2,3,40,'xzzzz'), (2,4,40,'yyyxx'), (2,3,10,'zyz'),
+(2,3,40,'xxx'), (2,4,40,'xx'), (2,3,10,'zzz'),
+(2,3,40,'yyxzx'), (2,4,40,'xyx'), (2,3,10,'xzz'),
+(2,3,40,'xxxzz'), (2,4,40,'xxz'), (2,3,10,'zzzy'),
+(2,3,40,'zzxxx'), (2,4,40,'zxx'), (2,3,10,'yzzz'),
+(2,3,40,'xyyxx'), (2,4,40,'xzzzx'), (2,3,10,'zzxxz'),
+(2,3,40,'yzxxx'), (2,4,40,'xxzy'), (2,3,10,'zzzyx'),
+(2,93,40,'xzx'), (2,94,40,'xz'), (2,93,10,'zyyyz'),
+(3,4,30,'yx'), (3,4,30,'yyxxx'), (3,4,30,'zzyy'), (3,4,30,'zxyy'),
+(3,4,30,'xxyy'), (3,4,30,'yyzx'), (3,4,30,'zyyy'), (3,4,30,'yzy'),
+(3,4,30,'zzzyy'), (3,94,30,'yyz');
+
+create table t1 (
+tp int, a int, b int, c varchar(12), index idx (a,b)
+) engine=myisam
+partition by list (tp)
+( partition p1 values in (1),
+ partition p2 values in (2),
+ partition p3 values in (3));
+insert into t1 select * from t0;
+
+create table t2 (a int, index idx(a)) engine=myisam;
+insert into t2 values (1), (2), (3), (4), (5);
+insert into t2 select a+10 from t2;
+insert into t2 select a+20 from t2;
+
+analyze table t0,t1,t2;
+
+set @tmp1=@@join_cache_level, @tmp2=@@optimizer_switch;
+set join_cache_level=6, optimizer_switch='mrr=on';
+
+explain
+select * from t0,t2 where t2.a in (3,4) and t0.a=t2.a and (t0.b / 10) = 4;
+
+--echo # This will use "Using index condition(BKA)"
+explain
+select * from t1,t2 where t2.a in (3,4) and t1.a=t2.a and (t1.b / 10) = 4;
+
+set join_cache_level=@tmp1, optimizer_switch=@tmp2;
+
+drop table t0,t1,t2;
+
+
diff --git a/sql/opt_index_cond_pushdown.cc b/sql/opt_index_cond_pushdown.cc
index 8f3f9cdac72..af6a75cdef2 100644
--- a/sql/opt_index_cond_pushdown.cc
+++ b/sql/opt_index_cond_pushdown.cc
@@ -393,8 +393,23 @@ void push_index_cond(JOIN_TAB *tab, uint keyno)
~(tab->table->map | tab->join->const_table_map)))
tab->cache_idx_cond= idx_cond;
else
+ {
idx_remainder_cond= tab->table->file->idx_cond_push(keyno, idx_cond);
+ /*
+ If (1) there is an index condition that we couldn't push using ICP,
+ (2) we are using Join Buffering
+ (3) and we are using BKA
+ then use BKA's Index Condition Pushdown mechanism to check it.
+ */
+ if (idx_remainder_cond && tab->use_join_cache && // (1) && (2)
+ tab->icp_other_tables_ok) // (3)
+ {
+ tab->cache_idx_cond= idx_remainder_cond;
+ idx_remainder_cond= NULL;
+ }
+ }
+
/*
Disable eq_ref's "lookup cache" if we've pushed down an index
condition.
1
0
[Commits] 444325cfa5b: MDEV-21628: Index condition pushdown condition ... not used with BKA
by psergey 19 Feb '20
by psergey 19 Feb '20
19 Feb '20
revision-id: 444325cfa5bdd7943ed0f05f0a59a82e3cd3ecaa (mariadb-10.3.21-46-g444325cfa5b)
parent(s): 85d4a45d15078512562d84273f489e8d225c1da7
author: Sergei Petrunia
committer: Sergei Petrunia
timestamp: 2020-02-19 21:27:38 +0300
message:
MDEV-21628: Index condition pushdown condition ... not used with BKA
Partitioning storage now supports MRR but doesn't support Index Condition
Pushdown (aka ICP). This causes counter-intuitive query plans for queries
that use BKA and conditions that depend on index fields:
- If the condition refers to other tables, BKA's variant of ICP is used
to handle it.
- If the condition depends on this table only, the optimizer will try to
use regular ICP for it, which will fail because the storage engine
doesn't support ICP.
Make the optimizer be smarter in the second case: if we were not able to
use regular ICP, use BKA's variant of ICP..
---
mysql-test/main/partition_mrr_myisam.result | 59 +++++++++++++++++++++++++++++
mysql-test/main/partition_mrr_myisam.test | 59 +++++++++++++++++++++++++++++
sql/opt_index_cond_pushdown.cc | 15 ++++++++
3 files changed, 133 insertions(+)
diff --git a/mysql-test/main/partition_mrr_myisam.result b/mysql-test/main/partition_mrr_myisam.result
index 1f1cea8e9d6..d989536324c 100644
--- a/mysql-test/main/partition_mrr_myisam.result
+++ b/mysql-test/main/partition_mrr_myisam.result
@@ -77,3 +77,62 @@ ID part_id key_col col2
28 8 2 123456
29 9 2 123456
drop table t1,t3;
+#
+# MDEV-21628: Index condition pushdown for a simple condition over
+# index fields is not used for ref access of partitioned tables when employing BKA
+#
+create table t0 (
+tp int, a int, b int, c varchar(12), index idx (a,b)
+);
+insert into t0 values
+(1,3,30,'yyzy'), (1,3,30,'yxxyy'), (1,3,30,'yyxy'), (1,3,30,'xxyy'),
+(1,3,30,'yyxz'), (1,3,30,'yyzz'), (1,3,30,'xxyzy'), (1,3,30,'yyyy'),
+(1,3,30,'yzzy'), (1,93,30,'zzzy'),
+(2,3,40,'yxx'), (2,4,40,'xx'), (2,3,10,'zxz'),
+(2,3,40,'yyx'), (2,4,40,'xxx'), (2,3,10,'zyyz'),
+(2,3,40,'xzzzz'), (2,4,40,'yyyxx'), (2,3,10,'zyz'),
+(2,3,40,'xxx'), (2,4,40,'xx'), (2,3,10,'zzz'),
+(2,3,40,'yyxzx'), (2,4,40,'xyx'), (2,3,10,'xzz'),
+(2,3,40,'xxxzz'), (2,4,40,'xxz'), (2,3,10,'zzzy'),
+(2,3,40,'zzxxx'), (2,4,40,'zxx'), (2,3,10,'yzzz'),
+(2,3,40,'xyyxx'), (2,4,40,'xzzzx'), (2,3,10,'zzxxz'),
+(2,3,40,'yzxxx'), (2,4,40,'xxzy'), (2,3,10,'zzzyx'),
+(2,93,40,'xzx'), (2,94,40,'xz'), (2,93,10,'zyyyz'),
+(3,4,30,'yx'), (3,4,30,'yyxxx'), (3,4,30,'zzyy'), (3,4,30,'zxyy'),
+(3,4,30,'xxyy'), (3,4,30,'yyzx'), (3,4,30,'zyyy'), (3,4,30,'yzy'),
+(3,4,30,'zzzyy'), (3,94,30,'yyz');
+create table t1 (
+tp int, a int, b int, c varchar(12), index idx (a,b)
+) engine=myisam
+partition by list (tp)
+( partition p1 values in (1),
+partition p2 values in (2),
+partition p3 values in (3));
+insert into t1 select * from t0;
+create table t2 (a int, index idx(a)) engine=myisam;
+insert into t2 values (1), (2), (3), (4), (5);
+insert into t2 select a+10 from t2;
+insert into t2 select a+20 from t2;
+analyze table t0,t1,t2;
+Table Op Msg_type Msg_text
+test.t0 analyze status Engine-independent statistics collected
+test.t0 analyze status OK
+test.t1 analyze status Engine-independent statistics collected
+test.t1 analyze status OK
+test.t2 analyze status Engine-independent statistics collected
+test.t2 analyze status OK
+set @tmp1=@@join_cache_level, @tmp2=@@optimizer_switch;
+set join_cache_level=6, optimizer_switch='mrr=on';
+explain
+select * from t0,t2 where t2.a in (3,4) and t0.a=t2.a and (t0.b / 10) = 4;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 range idx idx 5 NULL 2 Using where; Using index
+1 SIMPLE t0 ref idx idx 5 test.t2.a 12 Using index condition; Using join buffer (flat, BKA join); Rowid-ordered scan
+# This will use "Using index condition(BKA)"
+explain
+select * from t1,t2 where t2.a in (3,4) and t1.a=t2.a and (t1.b / 10) = 4;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 range idx idx 5 NULL 2 Using where; Using index
+1 SIMPLE t1 ref idx idx 5 test.t2.a 12 Using index condition(BKA); Using join buffer (flat, BKA join); Rowid-ordered scan
+set join_cache_level=@tmp1, optimizer_switch=@tmp2;
+drop table t0,t1,t2;
diff --git a/mysql-test/main/partition_mrr_myisam.test b/mysql-test/main/partition_mrr_myisam.test
index d67a37ab3d2..eb30319d81f 100644
--- a/mysql-test/main/partition_mrr_myisam.test
+++ b/mysql-test/main/partition_mrr_myisam.test
@@ -1,3 +1,62 @@
let $engine_type= myisam;
--source include/partition_mrr.inc
+
+--echo #
+--echo # MDEV-21628: Index condition pushdown for a simple condition over
+--echo # index fields is not used for ref access of partitioned tables when employing BKA
+--echo #
+
+create table t0 (
+tp int, a int, b int, c varchar(12), index idx (a,b)
+);
+
+insert into t0 values
+(1,3,30,'yyzy'), (1,3,30,'yxxyy'), (1,3,30,'yyxy'), (1,3,30,'xxyy'),
+(1,3,30,'yyxz'), (1,3,30,'yyzz'), (1,3,30,'xxyzy'), (1,3,30,'yyyy'),
+(1,3,30,'yzzy'), (1,93,30,'zzzy'),
+(2,3,40,'yxx'), (2,4,40,'xx'), (2,3,10,'zxz'),
+(2,3,40,'yyx'), (2,4,40,'xxx'), (2,3,10,'zyyz'),
+(2,3,40,'xzzzz'), (2,4,40,'yyyxx'), (2,3,10,'zyz'),
+(2,3,40,'xxx'), (2,4,40,'xx'), (2,3,10,'zzz'),
+(2,3,40,'yyxzx'), (2,4,40,'xyx'), (2,3,10,'xzz'),
+(2,3,40,'xxxzz'), (2,4,40,'xxz'), (2,3,10,'zzzy'),
+(2,3,40,'zzxxx'), (2,4,40,'zxx'), (2,3,10,'yzzz'),
+(2,3,40,'xyyxx'), (2,4,40,'xzzzx'), (2,3,10,'zzxxz'),
+(2,3,40,'yzxxx'), (2,4,40,'xxzy'), (2,3,10,'zzzyx'),
+(2,93,40,'xzx'), (2,94,40,'xz'), (2,93,10,'zyyyz'),
+(3,4,30,'yx'), (3,4,30,'yyxxx'), (3,4,30,'zzyy'), (3,4,30,'zxyy'),
+(3,4,30,'xxyy'), (3,4,30,'yyzx'), (3,4,30,'zyyy'), (3,4,30,'yzy'),
+(3,4,30,'zzzyy'), (3,94,30,'yyz');
+
+create table t1 (
+tp int, a int, b int, c varchar(12), index idx (a,b)
+) engine=myisam
+partition by list (tp)
+( partition p1 values in (1),
+ partition p2 values in (2),
+ partition p3 values in (3));
+insert into t1 select * from t0;
+
+create table t2 (a int, index idx(a)) engine=myisam;
+insert into t2 values (1), (2), (3), (4), (5);
+insert into t2 select a+10 from t2;
+insert into t2 select a+20 from t2;
+
+analyze table t0,t1,t2;
+
+set @tmp1=@@join_cache_level, @tmp2=@@optimizer_switch;
+set join_cache_level=6, optimizer_switch='mrr=on';
+
+explain
+select * from t0,t2 where t2.a in (3,4) and t0.a=t2.a and (t0.b / 10) = 4;
+
+--echo # This will use "Using index condition(BKA)"
+explain
+select * from t1,t2 where t2.a in (3,4) and t1.a=t2.a and (t1.b / 10) = 4;
+
+set join_cache_level=@tmp1, optimizer_switch=@tmp2;
+
+drop table t0,t1,t2;
+
+
diff --git a/sql/opt_index_cond_pushdown.cc b/sql/opt_index_cond_pushdown.cc
index 8f3f9cdac72..af6a75cdef2 100644
--- a/sql/opt_index_cond_pushdown.cc
+++ b/sql/opt_index_cond_pushdown.cc
@@ -393,8 +393,23 @@ void push_index_cond(JOIN_TAB *tab, uint keyno)
~(tab->table->map | tab->join->const_table_map)))
tab->cache_idx_cond= idx_cond;
else
+ {
idx_remainder_cond= tab->table->file->idx_cond_push(keyno, idx_cond);
+ /*
+ If (1) there is an index condition that we couldn't push using ICP,
+ (2) we are using Join Buffering
+ (3) and we are using BKA
+ then use BKA's Index Condition Pushdown mechanism to check it.
+ */
+ if (idx_remainder_cond && tab->use_join_cache && // (1) && (2)
+ tab->icp_other_tables_ok) // (3)
+ {
+ tab->cache_idx_cond= idx_remainder_cond;
+ idx_remainder_cond= NULL;
+ }
+ }
+
/*
Disable eq_ref's "lookup cache" if we've pushed down an index
condition.
1
0
[Commits] adcfea710ff: Fix compile failure, compare_key_parts in handler shadowed by MyRocks
by psergey 19 Feb '20
by psergey 19 Feb '20
19 Feb '20
revision-id: adcfea710ff0dcd8d223d41440225ebf6e64f796 (mariadb-10.4.11-85-gadcfea710ff)
parent(s): 2fb881df1d89b27521ac50a6f6f5c1426536e70b
author: Sergei Petrunia
committer: Sergei Petrunia
timestamp: 2020-02-19 14:57:47 +0300
message:
Fix compile failure, compare_key_parts in handler shadowed by MyRocks
The two functions have different signature.
Use "using ..." to prevent shadowing
---
storage/rocksdb/ha_rocksdb.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/storage/rocksdb/ha_rocksdb.h b/storage/rocksdb/ha_rocksdb.h
index 1abdc345527..448900c5a91 100644
--- a/storage/rocksdb/ha_rocksdb.h
+++ b/storage/rocksdb/ha_rocksdb.h
@@ -739,6 +739,7 @@ class ha_rocksdb : public my_core::handler {
const TABLE *old_table_arg, const Rdb_tbl_def *old_tbl_def_arg) const
MY_ATTRIBUTE((__nonnull__));
+ using handler::compare_key_parts;
int compare_key_parts(const KEY *const old_key,
const KEY *const new_key) const
MY_ATTRIBUTE((__nonnull__, __warn_unused_result__));
1
0
[Commits] eb010f9: MDEV-21610 Different query results from 10.4.11 to 10.4.12
by IgorBabaev 19 Feb '20
by IgorBabaev 19 Feb '20
19 Feb '20
revision-id: eb010f9199320e8eb6908782b8c2eca62042cdd9 (mariadb-10.4.11-38-geb010f9)
parent(s): 7ea413ac2d80c7f03d1dbad90ac30ecddd8b2835
author: Igor Babaev
committer: Igor Babaev
timestamp: 2020-02-18 22:49:42 -0800
message:
MDEV-21610 Different query results from 10.4.11 to 10.4.12
This patch fixes the following defects/bugs.
1. If BKA[H] algorithm was used to join a table for which the optimizer
had decided to employ a rowid filter the filter actually was not built.
2. The patch for the bug MDEV-21356 that added the code canceling pushing
rowid filter into an engine for the table joined with employment of
BKA[H] and MRR was not quite correct for Innodb engine because this
cancellation was done after InnoDB code had already bound the the pushed
filter to internal InnoDB structures.
---
mysql-test/main/rowid_filter_innodb.result | 333 +++++++++++++++++++++++++++++
mysql-test/main/rowid_filter_innodb.test | 153 +++++++++++++
sql/multi_range_read.cc | 41 ++--
sql/multi_range_read.h | 5 +-
sql/opt_range.cc | 3 +-
sql/sql_join_cache.cc | 2 +
6 files changed, 516 insertions(+), 21 deletions(-)
diff --git a/mysql-test/main/rowid_filter_innodb.result b/mysql-test/main/rowid_filter_innodb.result
index c59b95b..9423fb1 100644
--- a/mysql-test/main/rowid_filter_innodb.result
+++ b/mysql-test/main/rowid_filter_innodb.result
@@ -2522,3 +2522,336 @@ id select_type table type possible_keys key key_len ref rows r_rows filtered r_f
1 SIMPLE t1 index a,b PRIMARY 4 NULL 3008 3008.00 1.36 0.00 Using where
DROP TABLE t1;
SET global innodb_stats_persistent= @stats.save;
+#
+# MDEV-21610: Using rowid filter with BKA+MRR
+#
+set @stats.save= @@innodb_stats_persistent;
+set global innodb_stats_persistent=on;
+CREATE TABLE acli (
+id bigint(20) NOT NULL,
+rid varchar(255) NOT NULL,
+tp smallint(6) NOT NULL DEFAULT 0,
+PRIMARY KEY (id),
+KEY acli_rid (rid),
+KEY acli_tp (tp)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+insert into acli(id,rid,tp) values
+(184929059698905997,'ABABABABABABABABAB',103),
+(184929059698905998,'ABABABABABABABABAB',121),
+(283586039035985921,'00000000000000000000000000000000',103),
+(2216474704108064678,'020BED6D07B741CE9B10AB2200FEF1DF',103),
+(2216474704108064679,'020BED6D07B741CE9B10AB2200FEF1DF',121),
+(3080602882609775593,'B5FCC8C7111E4E3CBC21AAF5012F59C2',103),
+(3080602882609775594,'B5FCC8C7111E4E3CBC21AAF5012F59C2',121),
+(3080602882609776594,'B5FCC8C7111E4E3CBC21AAF5012F59C2',121),
+(3080602882609777595,'B5FCC8C7111E4E3CBC21AAF5012F59C2',121),
+(4269412446747236214,'SCSCSCSCSCSCSCSC',103),
+(4269412446747236215,'SCSCSCSCSCSCSCSC',121),
+(6341490487802728356,'6072D47E513F4A4794BBAB2200FDB67D',103),
+(6341490487802728357,'6072D47E513F4A4794BBAB2200FDB67D',121);
+CREATE TABLE acei (
+id bigint(20) NOT NULL,
+aclid bigint(20) NOT NULL DEFAULT 0,
+atp smallint(6) NOT NULL DEFAULT 0,
+clus smallint(6) NOT NULL DEFAULT 0,
+PRIMARY KEY (id),
+KEY acei_aclid (aclid),
+KEY acei_clus (clus)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+insert into acei(id,aclid,atp,clus) values
+(184929059698905999,184929059698905997,0,1),
+(184929059698906000,184929059698905997,0,1),
+(184929059698906001,184929059698905997,1,1),
+(184929059698906002,184929059698905998,1,1),
+(283586039035985922,283586039035985921,1,1),
+(2216474704108064684,2216474704108064678,0,1),
+(2216474704108064685,2216474704108064678,0,1),
+(2216474704108064686,2216474704108064678,1,1),
+(2216474704108064687,2216474704108064679,1,1),
+(3080602882609775595,3080602882609775593,0,1),
+(3080602882609775596,3080602882609775593,0,1),
+(3080602882609775597,3080602882609775593,1,1),
+(3080602882609775598,3080602882609775594,1,1),
+(3080602882609776595,3080602882609776594,1,1),
+(3080602882609777596,3080602882609777595,1,1),
+(4269412446747236216,4269412446747236214,0,1),
+(4269412446747236217,4269412446747236214,0,1),
+(4269412446747236218,4269412446747236214,1,1),
+(4269412446747236219,4269412446747236215,1,1),
+(6341490487802728358,6341490487802728356,0,1),
+(6341490487802728359,6341490487802728356,0,1),
+(6341490487802728360,6341490487802728356,1,1),
+(6341490487802728361,6341490487802728357,1,1);
+CREATE TABLE filt (
+id bigint(20) NOT NULL,
+aceid bigint(20) NOT NULL DEFAULT 0,
+clid smallint(6) NOT NULL DEFAULT 0,
+fh bigint(20) NOT NULL DEFAULT 0,
+PRIMARY KEY (id),
+KEY filt_aceid (aceid),
+KEY filt_clid (clid),
+KEY filt_fh (fh)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+insert into filt(id,aceid,clid,fh) values
+(184929059698905999,184929059698905999,1,8948400944397203540),
+(184929059698906000,184929059698906000,1,-3516039679025944536),
+(184929059698906001,184929059698906001,1,-3516039679025944536),
+(184929059698906002,184929059698906001,1,2965370193075218252),
+(184929059698906003,184929059698906001,1,8948400944397203540),
+(184929059698906004,184929059698906002,1,2478709353550777738),
+(283586039035985922,283586039035985922,1,5902600816362013271),
+(2216474704108064686,2216474704108064684,1,8948400944397203540),
+(2216474704108064687,2216474704108064685,1,-7244708939311117030),
+(2216474704108064688,2216474704108064686,1,-7244708939311117030),
+(2216474704108064689,2216474704108064686,1,7489060986210282479),
+(2216474704108064690,2216474704108064686,1,8948400944397203540),
+(2216474704108064691,2216474704108064687,1,-3575268945274980038),
+(3080602882609775595,3080602882609775595,1,8948400944397203540),
+(3080602882609775596,3080602882609775596,1,-5420422472375069774),
+(3080602882609775597,3080602882609775597,1,-5420422472375069774),
+(3080602882609775598,3080602882609775597,1,8518228073041491534),
+(3080602882609775599,3080602882609775597,1,8948400944397203540),
+(3080602882609775600,3080602882609775598,1,6311439873746261694),
+(3080602882609775601,3080602882609775598,1,6311439873746261694),
+(3080602882609776595,3080602882609776595,1,-661101805245999843),
+(3080602882609777596,3080602882609777596,1,-661101805245999843),
+(3080602882609777597,3080602882609777596,1,2216865386202464067),
+(4269412446747236216,4269412446747236216,1,8948400944397203540),
+(4269412446747236217,4269412446747236217,1,-1143096194892676000),
+(4269412446747236218,4269412446747236218,1,-1143096194892676000),
+(4269412446747236219,4269412446747236218,1,5313391811364818290),
+(4269412446747236220,4269412446747236218,1,8948400944397203540),
+(4269412446747236221,4269412446747236219,1,7624499822621753835),
+(6341490487802728358,6341490487802728358,1,8948400944397203540),
+(6341490487802728359,6341490487802728359,1,8141092449587136068),
+(6341490487802728360,6341490487802728360,1,8141092449587136068),
+(6341490487802728361,6341490487802728360,1,1291319099896431785),
+(6341490487802728362,6341490487802728360,1,8948400944397203540),
+(6341490487802728363,6341490487802728361,1,6701841652906431497);
+analyze table filt, acei, acli;
+Table Op Msg_type Msg_text
+test.filt analyze status Engine-independent statistics collected
+test.filt analyze status OK
+test.acei analyze status Engine-independent statistics collected
+test.acei analyze status OK
+test.acli analyze status Engine-independent statistics collected
+test.acli analyze status OK
+set @save_optimizer_switch=@@optimizer_switch;
+set @save_join_cache_level=@@join_cache_level;
+set optimizer_switch='mrr=off';
+set join_cache_level=2;
+set statement optimizer_switch='rowid_filter=off' for explain extended select t.id, fi.*
+from (acli t inner join acei a on a.aclid = t.id)
+inner join filt fi on a.id = fi.aceid
+where
+t.rid = 'B5FCC8C7111E4E3CBC21AAF5012F59C2' and
+t.tp = 121 and
+a.atp = 1 and
+fi.fh in (6311439873746261694,-397087483897438286,
+8518228073041491534,-5420422472375069774);
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t index_merge PRIMARY,acli_rid,acli_tp acli_tp,acli_rid 2,767 NULL 2 100.00 Using intersect(acli_tp,acli_rid); Using where; Using index
+1 SIMPLE a ref PRIMARY,acei_aclid acei_aclid 8 test.t.id 1 100.00 Using where
+1 SIMPLE fi ref filt_aceid,filt_fh filt_aceid 8 test.a.id 1 17.14 Using where
+Warnings:
+Note 1003 select `test`.`t`.`id` AS `id`,`test`.`fi`.`id` AS `id`,`test`.`fi`.`aceid` AS `aceid`,`test`.`fi`.`clid` AS `clid`,`test`.`fi`.`fh` AS `fh` from `test`.`acli` `t` join `test`.`acei` `a` join `test`.`filt` `fi` where `test`.`t`.`tp` = 121 and `test`.`a`.`atp` = 1 and `test`.`fi`.`aceid` = `test`.`a`.`id` and `test`.`a`.`aclid` = `test`.`t`.`id` and `test`.`t`.`rid` = 'B5FCC8C7111E4E3CBC21AAF5012F59C2' and `test`.`fi`.`fh` in (6311439873746261694,-397087483897438286,8518228073041491534,-5420422472375069774)
+set statement optimizer_switch='rowid_filter=off' for select t.id, fi.*
+from (acli t inner join acei a on a.aclid = t.id)
+inner join filt fi on a.id = fi.aceid
+where
+t.rid = 'B5FCC8C7111E4E3CBC21AAF5012F59C2' and
+t.tp = 121 and
+a.atp = 1 and
+fi.fh in (6311439873746261694,-397087483897438286,
+8518228073041491534,-5420422472375069774);
+id id aceid clid fh
+3080602882609775594 3080602882609775600 3080602882609775598 1 6311439873746261694
+3080602882609775594 3080602882609775601 3080602882609775598 1 6311439873746261694
+set statement optimizer_switch='rowid_filter=on' for explain extended select t.id, fi.*
+from (acli t inner join acei a on a.aclid = t.id)
+inner join filt fi on a.id = fi.aceid
+where
+t.rid = 'B5FCC8C7111E4E3CBC21AAF5012F59C2' and
+t.tp = 121 and
+a.atp = 1 and
+fi.fh in (6311439873746261694,-397087483897438286,
+8518228073041491534,-5420422472375069774);
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t index_merge PRIMARY,acli_rid,acli_tp acli_tp,acli_rid 2,767 NULL 2 100.00 Using intersect(acli_tp,acli_rid); Using where; Using index
+1 SIMPLE a ref PRIMARY,acei_aclid acei_aclid 8 test.t.id 1 100.00 Using where
+1 SIMPLE fi ref|filter filt_aceid,filt_fh filt_aceid|filt_fh 8|8 test.a.id 1 (17%) 17.14 Using where; Using rowid filter
+Warnings:
+Note 1003 select `test`.`t`.`id` AS `id`,`test`.`fi`.`id` AS `id`,`test`.`fi`.`aceid` AS `aceid`,`test`.`fi`.`clid` AS `clid`,`test`.`fi`.`fh` AS `fh` from `test`.`acli` `t` join `test`.`acei` `a` join `test`.`filt` `fi` where `test`.`t`.`tp` = 121 and `test`.`a`.`atp` = 1 and `test`.`fi`.`aceid` = `test`.`a`.`id` and `test`.`a`.`aclid` = `test`.`t`.`id` and `test`.`t`.`rid` = 'B5FCC8C7111E4E3CBC21AAF5012F59C2' and `test`.`fi`.`fh` in (6311439873746261694,-397087483897438286,8518228073041491534,-5420422472375069774)
+set statement optimizer_switch='rowid_filter=on' for select t.id, fi.*
+from (acli t inner join acei a on a.aclid = t.id)
+inner join filt fi on a.id = fi.aceid
+where
+t.rid = 'B5FCC8C7111E4E3CBC21AAF5012F59C2' and
+t.tp = 121 and
+a.atp = 1 and
+fi.fh in (6311439873746261694,-397087483897438286,
+8518228073041491534,-5420422472375069774);
+id id aceid clid fh
+3080602882609775594 3080602882609775600 3080602882609775598 1 6311439873746261694
+3080602882609775594 3080602882609775601 3080602882609775598 1 6311439873746261694
+set optimizer_switch='mrr=on';
+set join_cache_level=6;
+set statement optimizer_switch='rowid_filter=off' for explain extended select t.id, fi.*
+from (acli t inner join acei a on a.aclid = t.id)
+inner join filt fi on a.id = fi.aceid
+where
+t.rid = 'B5FCC8C7111E4E3CBC21AAF5012F59C2' and
+t.tp = 121 and
+a.atp = 1 and
+fi.fh in (6311439873746261694,-397087483897438286,
+8518228073041491534,-5420422472375069774);
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t index_merge PRIMARY,acli_rid,acli_tp acli_tp,acli_rid 2,767 NULL 2 100.00 Using intersect(acli_tp,acli_rid); Using where; Using index
+1 SIMPLE a ref PRIMARY,acei_aclid acei_aclid 8 test.t.id 1 100.00 Using where; Using join buffer (flat, BKA join); Rowid-ordered scan
+1 SIMPLE fi ref filt_aceid,filt_fh filt_aceid 8 test.a.id 1 17.14 Using where; Using join buffer (incremental, BKA join); Rowid-ordered scan
+Warnings:
+Note 1003 select `test`.`t`.`id` AS `id`,`test`.`fi`.`id` AS `id`,`test`.`fi`.`aceid` AS `aceid`,`test`.`fi`.`clid` AS `clid`,`test`.`fi`.`fh` AS `fh` from `test`.`acli` `t` join `test`.`acei` `a` join `test`.`filt` `fi` where `test`.`t`.`tp` = 121 and `test`.`a`.`atp` = 1 and `test`.`fi`.`aceid` = `test`.`a`.`id` and `test`.`a`.`aclid` = `test`.`t`.`id` and `test`.`t`.`rid` = 'B5FCC8C7111E4E3CBC21AAF5012F59C2' and `test`.`fi`.`fh` in (6311439873746261694,-397087483897438286,8518228073041491534,-5420422472375069774)
+set statement optimizer_switch='rowid_filter=off' for select t.id, fi.*
+from (acli t inner join acei a on a.aclid = t.id)
+inner join filt fi on a.id = fi.aceid
+where
+t.rid = 'B5FCC8C7111E4E3CBC21AAF5012F59C2' and
+t.tp = 121 and
+a.atp = 1 and
+fi.fh in (6311439873746261694,-397087483897438286,
+8518228073041491534,-5420422472375069774);
+id id aceid clid fh
+3080602882609775594 3080602882609775600 3080602882609775598 1 6311439873746261694
+3080602882609775594 3080602882609775601 3080602882609775598 1 6311439873746261694
+set statement optimizer_switch='rowid_filter=on' for explain extended select t.id, fi.*
+from (acli t inner join acei a on a.aclid = t.id)
+inner join filt fi on a.id = fi.aceid
+where
+t.rid = 'B5FCC8C7111E4E3CBC21AAF5012F59C2' and
+t.tp = 121 and
+a.atp = 1 and
+fi.fh in (6311439873746261694,-397087483897438286,
+8518228073041491534,-5420422472375069774);
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t index_merge PRIMARY,acli_rid,acli_tp acli_tp,acli_rid 2,767 NULL 2 100.00 Using intersect(acli_tp,acli_rid); Using where; Using index
+1 SIMPLE a ref PRIMARY,acei_aclid acei_aclid 8 test.t.id 1 100.00 Using where; Using join buffer (flat, BKA join); Rowid-ordered scan
+1 SIMPLE fi ref|filter filt_aceid,filt_fh filt_aceid|filt_fh 8|8 test.a.id 1 (17%) 17.14 Using where; Using join buffer (incremental, BKA join); Rowid-ordered scan; Using rowid filter
+Warnings:
+Note 1003 select `test`.`t`.`id` AS `id`,`test`.`fi`.`id` AS `id`,`test`.`fi`.`aceid` AS `aceid`,`test`.`fi`.`clid` AS `clid`,`test`.`fi`.`fh` AS `fh` from `test`.`acli` `t` join `test`.`acei` `a` join `test`.`filt` `fi` where `test`.`t`.`tp` = 121 and `test`.`a`.`atp` = 1 and `test`.`fi`.`aceid` = `test`.`a`.`id` and `test`.`a`.`aclid` = `test`.`t`.`id` and `test`.`t`.`rid` = 'B5FCC8C7111E4E3CBC21AAF5012F59C2' and `test`.`fi`.`fh` in (6311439873746261694,-397087483897438286,8518228073041491534,-5420422472375069774)
+set statement optimizer_switch='rowid_filter=on' for select t.id, fi.*
+from (acli t inner join acei a on a.aclid = t.id)
+inner join filt fi on a.id = fi.aceid
+where
+t.rid = 'B5FCC8C7111E4E3CBC21AAF5012F59C2' and
+t.tp = 121 and
+a.atp = 1 and
+fi.fh in (6311439873746261694,-397087483897438286,
+8518228073041491534,-5420422472375069774);
+id id aceid clid fh
+3080602882609775594 3080602882609775600 3080602882609775598 1 6311439873746261694
+3080602882609775594 3080602882609775601 3080602882609775598 1 6311439873746261694
+set statement optimizer_switch='rowid_filter=on' for analyze format=json select t.id, fi.*
+from (acli t inner join acei a on a.aclid = t.id)
+inner join filt fi on a.id = fi.aceid
+where
+t.rid = 'B5FCC8C7111E4E3CBC21AAF5012F59C2' and
+t.tp = 121 and
+a.atp = 1 and
+fi.fh in (6311439873746261694,-397087483897438286,
+8518228073041491534,-5420422472375069774);
+ANALYZE
+{
+ "query_block": {
+ "select_id": 1,
+ "r_loops": 1,
+ "r_total_time_ms": "REPLACED",
+ "table": {
+ "table_name": "t",
+ "access_type": "index_merge",
+ "possible_keys": ["PRIMARY", "acli_rid", "acli_tp"],
+ "key_length": "2,767",
+ "index_merge": {
+ "intersect": {
+ "range": {
+ "key": "acli_tp",
+ "used_key_parts": ["tp"]
+ },
+ "range": {
+ "key": "acli_rid",
+ "used_key_parts": ["rid"]
+ }
+ }
+ },
+ "r_loops": 1,
+ "rows": 2,
+ "r_rows": 3,
+ "r_total_time_ms": "REPLACED",
+ "filtered": 100,
+ "r_filtered": 100,
+ "attached_condition": "t.tp = 121 and t.rid = 'B5FCC8C7111E4E3CBC21AAF5012F59C2'",
+ "using_index": true
+ },
+ "block-nl-join": {
+ "table": {
+ "table_name": "a",
+ "access_type": "ref",
+ "possible_keys": ["PRIMARY", "acei_aclid"],
+ "key": "acei_aclid",
+ "key_length": "8",
+ "used_key_parts": ["aclid"],
+ "ref": ["test.t.id"],
+ "r_loops": 1,
+ "rows": 1,
+ "r_rows": 3,
+ "r_total_time_ms": "REPLACED",
+ "filtered": 100,
+ "r_filtered": 100
+ },
+ "buffer_type": "flat",
+ "buffer_size": "8Kb",
+ "join_type": "BKA",
+ "mrr_type": "Rowid-ordered scan",
+ "attached_condition": "a.atp = 1",
+ "r_filtered": 100
+ },
+ "block-nl-join": {
+ "table": {
+ "table_name": "fi",
+ "access_type": "ref",
+ "possible_keys": ["filt_aceid", "filt_fh"],
+ "key": "filt_aceid",
+ "key_length": "8",
+ "used_key_parts": ["aceid"],
+ "ref": ["test.a.id"],
+ "rowid_filter": {
+ "range": {
+ "key": "filt_fh",
+ "used_key_parts": ["fh"]
+ },
+ "rows": 6,
+ "selectivity_pct": 17.143,
+ "r_rows": 5,
+ "r_selectivity_pct": 40,
+ "r_buffer_size": "REPLACED",
+ "r_filling_time_ms": "REPLACED"
+ },
+ "r_loops": 1,
+ "rows": 1,
+ "r_rows": 2,
+ "r_total_time_ms": "REPLACED",
+ "filtered": 17.143,
+ "r_filtered": 100
+ },
+ "buffer_type": "incremental",
+ "buffer_size": "603",
+ "join_type": "BKA",
+ "mrr_type": "Rowid-ordered scan",
+ "attached_condition": "fi.fh in (6311439873746261694,-397087483897438286,8518228073041491534,-5420422472375069774)",
+ "r_filtered": 100
+ }
+ }
+}
+set optimizer_switch=@save_optimizer_switch;
+set join_cache_level=@save_join_cache_level;
+drop table filt, acei, acli;
+set global innodb_stats_persistent= @stats.save;
diff --git a/mysql-test/main/rowid_filter_innodb.test b/mysql-test/main/rowid_filter_innodb.test
index 30e0ede..74349b8 100644
--- a/mysql-test/main/rowid_filter_innodb.test
+++ b/mysql-test/main/rowid_filter_innodb.test
@@ -381,3 +381,156 @@ ORDER BY pk LIMIT 1;
DROP TABLE t1;
SET global innodb_stats_persistent= @stats.save;
+
+--echo #
+--echo # MDEV-21610: Using rowid filter with BKA+MRR
+--echo #
+
+set @stats.save= @@innodb_stats_persistent;
+set global innodb_stats_persistent=on;
+
+CREATE TABLE acli (
+ id bigint(20) NOT NULL,
+ rid varchar(255) NOT NULL,
+ tp smallint(6) NOT NULL DEFAULT 0,
+ PRIMARY KEY (id),
+ KEY acli_rid (rid),
+ KEY acli_tp (tp)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+insert into acli(id,rid,tp) values
+(184929059698905997,'ABABABABABABABABAB',103),
+(184929059698905998,'ABABABABABABABABAB',121),
+(283586039035985921,'00000000000000000000000000000000',103),
+(2216474704108064678,'020BED6D07B741CE9B10AB2200FEF1DF',103),
+(2216474704108064679,'020BED6D07B741CE9B10AB2200FEF1DF',121),
+(3080602882609775593,'B5FCC8C7111E4E3CBC21AAF5012F59C2',103),
+(3080602882609775594,'B5FCC8C7111E4E3CBC21AAF5012F59C2',121),
+(3080602882609776594,'B5FCC8C7111E4E3CBC21AAF5012F59C2',121),
+(3080602882609777595,'B5FCC8C7111E4E3CBC21AAF5012F59C2',121),
+(4269412446747236214,'SCSCSCSCSCSCSCSC',103),
+(4269412446747236215,'SCSCSCSCSCSCSCSC',121),
+(6341490487802728356,'6072D47E513F4A4794BBAB2200FDB67D',103),
+(6341490487802728357,'6072D47E513F4A4794BBAB2200FDB67D',121);
+
+CREATE TABLE acei (
+ id bigint(20) NOT NULL,
+ aclid bigint(20) NOT NULL DEFAULT 0,
+ atp smallint(6) NOT NULL DEFAULT 0,
+ clus smallint(6) NOT NULL DEFAULT 0,
+ PRIMARY KEY (id),
+ KEY acei_aclid (aclid),
+ KEY acei_clus (clus)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+insert into acei(id,aclid,atp,clus) values
+(184929059698905999,184929059698905997,0,1),
+(184929059698906000,184929059698905997,0,1),
+(184929059698906001,184929059698905997,1,1),
+(184929059698906002,184929059698905998,1,1),
+(283586039035985922,283586039035985921,1,1),
+(2216474704108064684,2216474704108064678,0,1),
+(2216474704108064685,2216474704108064678,0,1),
+(2216474704108064686,2216474704108064678,1,1),
+(2216474704108064687,2216474704108064679,1,1),
+(3080602882609775595,3080602882609775593,0,1),
+(3080602882609775596,3080602882609775593,0,1),
+(3080602882609775597,3080602882609775593,1,1),
+(3080602882609775598,3080602882609775594,1,1),
+(3080602882609776595,3080602882609776594,1,1),
+(3080602882609777596,3080602882609777595,1,1),
+(4269412446747236216,4269412446747236214,0,1),
+(4269412446747236217,4269412446747236214,0,1),
+(4269412446747236218,4269412446747236214,1,1),
+(4269412446747236219,4269412446747236215,1,1),
+(6341490487802728358,6341490487802728356,0,1),
+(6341490487802728359,6341490487802728356,0,1),
+(6341490487802728360,6341490487802728356,1,1),
+(6341490487802728361,6341490487802728357,1,1);
+
+CREATE TABLE filt (
+ id bigint(20) NOT NULL,
+ aceid bigint(20) NOT NULL DEFAULT 0,
+ clid smallint(6) NOT NULL DEFAULT 0,
+ fh bigint(20) NOT NULL DEFAULT 0,
+ PRIMARY KEY (id),
+ KEY filt_aceid (aceid),
+ KEY filt_clid (clid),
+ KEY filt_fh (fh)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+insert into filt(id,aceid,clid,fh) values
+(184929059698905999,184929059698905999,1,8948400944397203540),
+(184929059698906000,184929059698906000,1,-3516039679025944536),
+(184929059698906001,184929059698906001,1,-3516039679025944536),
+(184929059698906002,184929059698906001,1,2965370193075218252),
+(184929059698906003,184929059698906001,1,8948400944397203540),
+(184929059698906004,184929059698906002,1,2478709353550777738),
+(283586039035985922,283586039035985922,1,5902600816362013271),
+(2216474704108064686,2216474704108064684,1,8948400944397203540),
+(2216474704108064687,2216474704108064685,1,-7244708939311117030),
+(2216474704108064688,2216474704108064686,1,-7244708939311117030),
+(2216474704108064689,2216474704108064686,1,7489060986210282479),
+(2216474704108064690,2216474704108064686,1,8948400944397203540),
+(2216474704108064691,2216474704108064687,1,-3575268945274980038),
+(3080602882609775595,3080602882609775595,1,8948400944397203540),
+(3080602882609775596,3080602882609775596,1,-5420422472375069774),
+(3080602882609775597,3080602882609775597,1,-5420422472375069774),
+(3080602882609775598,3080602882609775597,1,8518228073041491534),
+(3080602882609775599,3080602882609775597,1,8948400944397203540),
+(3080602882609775600,3080602882609775598,1,6311439873746261694),
+(3080602882609775601,3080602882609775598,1,6311439873746261694),
+(3080602882609776595,3080602882609776595,1,-661101805245999843),
+(3080602882609777596,3080602882609777596,1,-661101805245999843),
+(3080602882609777597,3080602882609777596,1,2216865386202464067),
+(4269412446747236216,4269412446747236216,1,8948400944397203540),
+(4269412446747236217,4269412446747236217,1,-1143096194892676000),
+(4269412446747236218,4269412446747236218,1,-1143096194892676000),
+(4269412446747236219,4269412446747236218,1,5313391811364818290),
+(4269412446747236220,4269412446747236218,1,8948400944397203540),
+(4269412446747236221,4269412446747236219,1,7624499822621753835),
+(6341490487802728358,6341490487802728358,1,8948400944397203540),
+(6341490487802728359,6341490487802728359,1,8141092449587136068),
+(6341490487802728360,6341490487802728360,1,8141092449587136068),
+(6341490487802728361,6341490487802728360,1,1291319099896431785),
+(6341490487802728362,6341490487802728360,1,8948400944397203540),
+(6341490487802728363,6341490487802728361,1,6701841652906431497);
+
+analyze table filt, acei, acli;
+
+let $q=
+select t.id, fi.*
+from (acli t inner join acei a on a.aclid = t.id)
+ inner join filt fi on a.id = fi.aceid
+ where
+ t.rid = 'B5FCC8C7111E4E3CBC21AAF5012F59C2' and
+ t.tp = 121 and
+ a.atp = 1 and
+ fi.fh in (6311439873746261694,-397087483897438286,
+ 8518228073041491534,-5420422472375069774);
+
+set @save_optimizer_switch=@@optimizer_switch;
+set @save_join_cache_level=@@join_cache_level;
+
+set optimizer_switch='mrr=off';
+set join_cache_level=2;
+eval $without_filter explain extended $q;
+eval $without_filter $q;
+eval $with_filter explain extended $q;
+eval $with_filter $q;
+
+set optimizer_switch='mrr=on';
+set join_cache_level=6;
+eval $without_filter explain extended $q;
+eval $without_filter $q;
+eval $with_filter explain extended $q;
+eval $with_filter $q;
+--source include/analyze-format.inc
+eval $with_filter analyze format=json $q;
+
+set optimizer_switch=@save_optimizer_switch;
+set join_cache_level=@save_join_cache_level;
+
+drop table filt, acei, acli;
+
+set global innodb_stats_persistent= @stats.save;
diff --git a/sql/multi_range_read.cc b/sql/multi_range_read.cc
index 7e4c2ed..51c3dc7 100644
--- a/sql/multi_range_read.cc
+++ b/sql/multi_range_read.cc
@@ -702,7 +702,8 @@ static int rowid_cmp_reverse(void *file, uchar *a, uchar *b)
int Mrr_ordered_rndpos_reader::init(handler *h_arg,
Mrr_index_reader *index_reader_arg,
uint mode,
- Lifo_buffer *buf)
+ Lifo_buffer *buf,
+ Rowid_filter *filter)
{
file= h_arg;
index_reader= index_reader_arg;
@@ -710,19 +711,7 @@ int Mrr_ordered_rndpos_reader::init(handler *h_arg,
is_mrr_assoc= !MY_TEST(mode & HA_MRR_NO_ASSOCIATION);
index_reader_exhausted= FALSE;
index_reader_needs_refill= TRUE;
-
- /*
- Currently usage of a rowid filter within InnoDB engine is not supported
- if the table is accessed by the primary key.
- With optimizer switches ''mrr' and 'mrr_sort_keys' are both enabled
- any access by a secondary index is converted to the rndpos access. In
- InnoDB the rndpos access is always uses the primary key.
- Do not use pushed rowid filter if the table is accessed actually by the
- primary key. Use the rowid filter outside the engine code (see
- Mrr_ordered_rndpos_reader::refill_from_index_reader).
- */
- if (file->pushed_rowid_filter && file->primary_key_is_clustered())
- file->cancel_pushed_rowid_filter();
+ rowid_filter= filter;
return 0;
}
@@ -817,10 +806,8 @@ int Mrr_ordered_rndpos_reader::refill_from_index_reader()
index_reader->position();
/*
- If the built rowid filter cannot be used at the engine level use it here.
+ If the built rowid filter cannot be used at the engine level, use it here.
*/
- Rowid_filter *rowid_filter=
- file->get_table()->reginfo.join_tab->rowid_filter;
if (rowid_filter && !file->pushed_rowid_filter &&
!rowid_filter->check((char *)index_rowid))
continue;
@@ -960,7 +947,8 @@ int DsMrr_impl::dsmrr_init(handler *h_arg, RANGE_SEQ_IF *seq_funcs,
void *seq_init_param, uint n_ranges, uint mode,
HANDLER_BUFFER *buf)
{
- THD *thd= h_arg->get_table()->in_use;
+ TABLE *table= h_arg->get_table();
+ THD *thd= table->in_use;
int res;
Key_parameters keypar;
uint UNINIT_VAR(key_buff_elem_size); /* set/used when do_sort_keys==TRUE */
@@ -1015,6 +1003,20 @@ int DsMrr_impl::dsmrr_init(handler *h_arg, RANGE_SEQ_IF *seq_funcs,
if (!(keyno == table->s->primary_key && h_idx->primary_key_is_clustered()))
{
strategy= disk_strategy= &reader_factory.ordered_rndpos_reader;
+ if (h_arg->pushed_rowid_filter)
+ {
+ /*
+ Currently usage of a rowid filter within InnoDB engine is not supported
+ if the table is accessed by the primary key.
+ With optimizer switches ''mrr' and 'mrr_sort_keys' are both enabled
+ any access by a secondary index is converted to the rndpos access. In
+ InnoDB the rndpos access is always uses the primary key.
+ Do not use pushed rowid filter if the table is accessed actually by the
+ primary key. Use the rowid filter outside the engine code (see
+ Mrr_ordered_rndpos_reader::refill_from_index_reader).
+ */
+ h_arg->cancel_pushed_rowid_filter();
+ }
}
full_buf= buf->buffer;
@@ -1101,7 +1103,8 @@ int DsMrr_impl::dsmrr_init(handler *h_arg, RANGE_SEQ_IF *seq_funcs,
n_ranges, mode, &keypar, key_buffer,
&buf_manager)) ||
(res= disk_strategy->init(primary_file, index_strategy, mode,
- &rowid_buffer)))
+ &rowid_buffer,
+ table->reginfo.join_tab->rowid_filter)))
{
goto error;
}
diff --git a/sql/multi_range_read.h b/sql/multi_range_read.h
index 0473fef..6be9537 100644
--- a/sql/multi_range_read.h
+++ b/sql/multi_range_read.h
@@ -364,7 +364,7 @@ class Mrr_ordered_rndpos_reader : public Mrr_reader
{
public:
int init(handler *file, Mrr_index_reader *index_reader, uint mode,
- Lifo_buffer *buf);
+ Lifo_buffer *buf, Rowid_filter *filter);
int get_next(range_id_t *range_info);
int refill_buffer(bool initial);
private:
@@ -399,6 +399,9 @@ class Mrr_ordered_rndpos_reader : public Mrr_reader
/* Buffer to store (rowid, range_id) pairs */
Lifo_buffer *rowid_buffer;
+ /* Rowid filter to be checked against (if any) */
+ Rowid_filter *rowid_filter;
+
int refill_from_index_reader();
};
diff --git a/sql/opt_range.cc b/sql/opt_range.cc
index c47da28..5f034c6 100644
--- a/sql/opt_range.cc
+++ b/sql/opt_range.cc
@@ -2902,7 +2902,8 @@ int SQL_SELECT::test_quick_select(THD *thd, key_map keys_to_use,
remove_nonrange_trees(¶m, tree);
/* Get best 'range' plan and prepare data for making other plans */
- if ((range_trp= get_key_scans_params(¶m, tree, FALSE, TRUE,
+ if ((range_trp= get_key_scans_params(¶m, tree,
+ only_single_index_range_scan, TRUE,
best_read_time)))
{
best_trp= range_trp;
diff --git a/sql/sql_join_cache.cc b/sql/sql_join_cache.cc
index 3a509b3..e9ad538 100644
--- a/sql/sql_join_cache.cc
+++ b/sql/sql_join_cache.cc
@@ -2248,6 +2248,8 @@ enum_nested_loop_state JOIN_CACHE::join_matching_records(bool skip_last)
if ((rc= join_tab_execution_startup(join_tab)) < 0)
goto finish2;
+ join_tab->build_range_rowid_filter_if_needed();
+
/* Prepare to retrieve all records of the joined table */
if (unlikely((error= join_tab_scan->open())))
{
1
0
[Commits] f6806d9e4ac: MDEV-21713: LIMIT optimization and selectivity: pessimistic estimates cause optimistic plans
by psergey 16 Feb '20
by psergey 16 Feb '20
16 Feb '20
revision-id: f6806d9e4acbe260cd4ffc4996a058288e711d6a (mariadb-10.4.4-379-gf6806d9e4ac)
parent(s): 276c6d571252f2d23c8a449391eca3a3bf4f350d
author: Sergei Petrunia
committer: Sergei Petrunia
timestamp: 2020-02-16 20:46:38 +0300
message:
MDEV-21713: LIMIT optimization and selectivity: pessimistic estimates cause optimistic plans
Don't use LIMIT-based query plans if we don't have an accurate estimate
of join output cardinality (the primary reason for that is lack of
data about condition selectivity).
---
sql/item.cc | 2 +
sql/item.h | 2 +
sql/item_cmpfunc.h | 4 ++
sql/opt_range.cc | 11 +++++
sql/opt_range.h | 2 +
sql/sql_select.cc | 134 +++++++++++++++++++++++++++++++++++++++++++++++++++--
sql/sql_select.h | 3 ++
7 files changed, 155 insertions(+), 3 deletions(-)
diff --git a/sql/item.cc b/sql/item.cc
index f92390105c1..f97ed3fa45a 100644
--- a/sql/item.cc
+++ b/sql/item.cc
@@ -402,6 +402,7 @@ int Item::save_str_value_in_field(Field *field, String *result)
Item::Item(THD *thd):
+ n_selectivity_estimates(0),
is_expensive_cache(-1), rsize(0), name(null_clex_str), orig_name(0),
is_autogenerated_name(TRUE)
{
@@ -451,6 +452,7 @@ const TABLE_SHARE *Item::field_table_or_null()
Item::Item(THD *thd, Item *item):
Type_all_attributes(*item),
join_tab_idx(item->join_tab_idx),
+ n_selectivity_estimates(0),
is_expensive_cache(-1),
rsize(0),
str_value(item->str_value),
diff --git a/sql/item.h b/sql/item.h
index 7fd32b134b4..0b5c961d8d5 100644
--- a/sql/item.h
+++ b/sql/item.h
@@ -734,6 +734,8 @@ class Item: public Value_source,
static void *operator new(size_t size);
public:
+ int n_selectivity_estimates;
+
static void *operator new(size_t size, MEM_ROOT *mem_root) throw ()
{ return alloc_root(mem_root, size); }
static void operator delete(void *ptr,size_t size) { TRASH_FREE(ptr, size); }
diff --git a/sql/item_cmpfunc.h b/sql/item_cmpfunc.h
index dda4c29dba3..c91673d9da3 100644
--- a/sql/item_cmpfunc.h
+++ b/sql/item_cmpfunc.h
@@ -444,6 +444,7 @@ class Item_bool_func2 :public Item_bool_func
}
};
+bool sel_tree_non_empty(SEL_TREE *tree);
/**
A class for functions and operators that can use the range optimizer and
@@ -502,6 +503,8 @@ class Item_bool_func2_with_rev :public Item_bool_func2
if (!(ftree= get_full_func_mm_tree_for_args(param, args[0], args[1])) &&
!(ftree= get_full_func_mm_tree_for_args(param, args[1], args[0])))
ftree= Item_func::get_mm_tree(param, cond_ptr);
+ if (sel_tree_non_empty(ftree))
+ n_selectivity_estimates++;
DBUG_RETURN(ftree);
}
};
@@ -3158,6 +3161,7 @@ class Item_equal: public Item_bool_func
const Type_handler *m_compare_handler;
CHARSET_INFO *m_compare_collation;
+
public:
COND_EQUAL *upper_levels; /* multiple equalities of upper and levels */
diff --git a/sql/opt_range.cc b/sql/opt_range.cc
index 8dae20fc30f..baba33ca60d 100644
--- a/sql/opt_range.cc
+++ b/sql/opt_range.cc
@@ -8371,6 +8371,10 @@ Item_func_between::get_mm_tree(RANGE_OPT_PARAM *param, Item **cond_ptr)
}
ftree= tree_and(param, ftree, tree);
+
+ if (sel_tree_non_empty(ftree))
+ n_selectivity_estimates++;
+
DBUG_RETURN(ftree);
}
@@ -8425,10 +8429,17 @@ SEL_TREE *Item_equal::get_mm_tree(RANGE_OPT_PARAM *param, Item **cond_ptr)
ftree= !ftree ? tree : tree_and(param, ftree, tree);
}
}
+ // psergey
+ if (sel_tree_non_empty(ftree))
+ n_selectivity_estimates++;
DBUG_RETURN(ftree);
}
+bool sel_tree_non_empty(SEL_TREE *tree)
+{
+ return (tree && !tree->keys_map.is_clear_all());
+}
SEL_TREE *
Item_bool_func::get_mm_parts(RANGE_OPT_PARAM *param, Field *field,
diff --git a/sql/opt_range.h b/sql/opt_range.h
index 73def7bde92..9dbeb66afe2 100644
--- a/sql/opt_range.h
+++ b/sql/opt_range.h
@@ -1741,6 +1741,8 @@ void store_key_image_to_rec(Field *field, uchar *ptr, uint len);
extern String null_string;
+
+bool sel_tree_non_empty(SEL_TREE *tree);
/* check this number of rows (default value) */
#define SELECTIVITY_SAMPLING_LIMIT 100
/* but no more then this part of table (10%) */
diff --git a/sql/sql_select.cc b/sql/sql_select.cc
index 886f33b1662..45af16bbe95 100644
--- a/sql/sql_select.cc
+++ b/sql/sql_select.cc
@@ -7247,7 +7247,8 @@ best_access_path(JOIN *join,
THD *thd= join->thd;
uint use_cond_selectivity= thd->variables.optimizer_use_condition_selectivity;
KEYUSE *best_key= 0;
- uint best_max_key_part= 0;
+ uint best_max_key_part= 0; // this has ~0 for fully-used unique keys
+ uint best_n_key_parts= 0; // this is actual best # key parts used.
my_bool found_constraint= 0;
double best= DBL_MAX;
double best_time= DBL_MAX;
@@ -7819,6 +7820,7 @@ best_access_path(JOIN *join,
best_records= records;
best_key= start_key;
best_max_key_part= max_key_part;
+ best_n_key_parts= max_part_bit(found_part);
best_ref_depends_map= found_ref;
best_filter= filter;
best_type= type;
@@ -8162,6 +8164,9 @@ best_access_path(JOIN *join,
pos->sort_nest_operation_here= FALSE;
pos->index_no= index_picked;
+ if (best_key)
+ pos->key_parts = best_n_key_parts;
+
loose_scan_opt.save_to_position(s, loose_scan_pos);
trace_paths.end();
@@ -8282,6 +8287,114 @@ static void choose_initial_table_order(JOIN *join)
}
+/* See comments to MDEV-21713 for explanation of why this works */
+bool
+check_if_refs_cover_item_equal(JOIN *join, bool use_best_pos, uint prefix_size,
+ Item_equal *item_eq)
+{
+ uint n_covered= 0;
+ // walk through the join prefix and check if used ref access guarantees
+ // selectivity of the condition.
+
+ for (uint i= 0; i < prefix_size; i++)
+ {
+ POSITION *pos= use_best_pos? &join->best_positions[i] : &join->positions[i];
+ KEYUSE *keyuse= pos->key;
+ if (keyuse && keyuse->keypart != FT_KEYPART &&
+ !is_hash_join_key_no(keyuse->key))
+ {
+ uint key= keyuse->key;
+ // For each key part
+ for (uint kp= 0; kp < pos->key_parts; kp++) {
+ Field *field= pos->table->table->key_info[key].key_part[kp].field;
+ // Find the field in the Item_equal
+ if (item_eq->contains(field))
+ n_covered++;
+ }
+ }
+ }
+
+ return n_covered >= item_eq->elements_count() - 1;
+}
+
+
+bool is_item_selectivity_covered(JOIN *join, bool use_best_pos, uint prefix_size, Item *item)
+{
+ if (item->type() == Item::FUNC_ITEM &&
+ ((Item_func*)item)->functype() == Item_func::MULT_EQUAL_FUNC)
+ {
+ // multiple equality... it must be "covered" by estimates for all
+ // pair-wise equalities.
+ if (check_if_refs_cover_item_equal(join, use_best_pos, prefix_size, (Item_equal*)item))
+ {
+ return true;
+ }
+ }
+ else
+ {
+ // not a multiple equality.
+ if (item->n_selectivity_estimates)
+ return true; // EITS or range analyzer have provided the estimates.
+ }
+
+ // This is something that we don't have selectivity for
+ return false;
+}
+
+
+/*
+ @brief Check if a Join plan accounts for all parts of the WHERE condition
+
+ @param use_best_pos TRUE - The plan is in join->best_positions,
+ FALSE - The plan is in join->positions
+ @param prefix_size Size of join prefix to examine (TODO: currently we
+ examime only full join orders, examining a prefix will
+ typically produce "false" (as selectivities on tables
+ not in the prefix will not be accounted for)
+ @detail
+ The analysis is done as follows: we require that the WHERE clause has form
+
+ simple_pred1 AND ... AND simple_predN
+
+ Where each simple_pred{i} is either
+ - a comparison e.g. "col < const" for which range and/or EITS analyzer
+ produced a range.
+ - A multiple equality: col1=col2=col3= ...
+ Multiple equality must be "covered" by equalities that are implied by the
+ used ref accesses.
+*/
+
+bool all_selectivity_accounted_for(JOIN *join, bool use_best_pos, uint prefix_size)
+{
+ // TODO: also check for outer joins and their ON expressions.
+ Item *cond= join->conds;
+
+ // Walk the WHERE clause:
+ // Items that are not multiple equalities must have '1'
+ // Multiple equalities must have more.
+
+ if (!cond)
+ return true;
+ else if (cond->type() == Item::COND_ITEM &&
+ (((Item_cond*) cond)->functype() == Item_func::COND_AND_FUNC))
+ {
+ List_iterator<Item> li(*((Item_cond*) cond)->argument_list());
+ Item *item;
+ while ((item= li++))
+ {
+ if (!is_item_selectivity_covered(join, use_best_pos, prefix_size, item))
+ return false;
+ }
+ }
+ else
+ {
+ if (!is_item_selectivity_covered(join, use_best_pos, prefix_size, cond))
+ return false;
+ }
+
+ return true;
+}
+
/**
Selects and invokes a search strategy for an optimal query plan.
@@ -8366,7 +8479,7 @@ choose_plan(JOIN *join, table_map join_tables)
/* Automatically determine a reasonable value for 'search_depth' */
search_depth= determine_search_depth(join);
- if (join->sort_nest_possible &&
+ if (join->sort_nest_possible && !join->emb_sjm_nest &&
join->estimate_cardinality_for_join(join_tables))
DBUG_RETURN(TRUE);
@@ -9861,8 +9974,16 @@ best_extension_by_limited_search(JOIN *join,
}
trace_one_table.add("estimated_join_cardinality",
partial_join_cardinality);
+ /*
+ SelectivityAccuracyCheck-2: Check if our estimate of join output size
+ is is accurate. If it's not, we are likely to be overly optimistic
+ about this LIMIT-based query plan, so we discard it.
+ */
+ bool disallow_plan= false;
+ if (nest_created && !all_selectivity_accounted_for(join, false, idx+1))
+ disallow_plan= true;
- if (current_read_time < join->best_read)
+ if (current_read_time < join->best_read && !disallow_plan)
{
memcpy((uchar*) join->best_positions, (uchar*) join->positions,
sizeof(POSITION) * (idx + 1));
@@ -29268,6 +29389,13 @@ bool JOIN::estimate_cardinality_for_join(table_map joined_tables)
use_cond_selectivity))
return TRUE;
+ /*
+ SelectivityAccuracyCheck-1: Check if the obtained estimate of total join
+ cardinality is accurate (or at least is not obviously inaccurate)
+ */
+ if (!all_selectivity_accounted_for(this, true, table_count))
+ sort_nest_possible= false;
+
set_if_bigger(join_record_count, 1);
cardinality_estimate= join_record_count;
diff --git a/sql/sql_select.h b/sql/sql_select.h
index 7f598ca116a..2f26759516a 100644
--- a/sql/sql_select.h
+++ b/sql/sql_select.h
@@ -965,6 +965,9 @@ typedef struct st_position
*/
KEYUSE *key;
+ // Number of key parts used
+ uint key_parts;
+
/* If ref-based access is used: bitmap of tables this table depends on */
table_map ref_depend_map;
1
0
16 Feb '20
revision-id: 0d53db20043086ff544c49e40887b93d7fdf31b5 (mariadb-10.5.0-225-g0d53db20043)
parent(s): 2c34315df6ef30aeed59b9ba55da8868433ff094
author: Varun Gupta
committer: Varun Gupta
timestamp: 2020-02-16 16:29:55 +0530
message:
MDEV-21580: Allow packed sort keys in sort buffer
---
mysql-test/main/mdev21580.result | 6426 +++++++++++++++++++++++++++++++++++++
mysql-test/main/mdev21580.test | 26 +
plugin/type_inet/sql_type_inet.cc | 34 +-
plugin/type_inet/sql_type_inet.h | 7 +-
sql/field.cc | 211 +-
sql/field.h | 71 +-
sql/filesort.cc | 875 ++++-
sql/filesort.h | 28 +-
sql/filesort_utils.cc | 12 +-
sql/filesort_utils.h | 4 +
sql/records.cc | 22 +-
sql/sql_class.h | 4 +-
sql/sql_sort.h | 155 +-
sql/sql_type.h | 118 +-
14 files changed, 7761 insertions(+), 232 deletions(-)
diff --git a/mysql-test/main/mdev21580.result b/mysql-test/main/mdev21580.result
new file mode 100644
index 00000000000..5e758ddfa09
--- /dev/null
+++ b/mysql-test/main/mdev21580.result
@@ -0,0 +1,6426 @@
+create table t1(a int);
+insert into t1 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
+create table t2 (b int,
+col1 varchar(255),
+col2 varchar(255)
+) character set utf8;
+insert into t2 select
+A.a+10*B.a,
+concat('wow-wow-col1-value-', A.a+10*B.a+100*C.a),
+concat('wow-wow-col2-value-', A.a+10*B.a+100*C.a)
+from
+t1 A, t1 B, t1 C where C.a < 8;
+select distinct A.col1 as XX, B.col1 as YY
+from
+t2 A, t2 B
+where A.b = B.b
+order by A.col2, B.col2;
+XX YY
+wow-wow-col1-value-0 wow-wow-col1-value-0
+wow-wow-col1-value-0 wow-wow-col1-value-100
+wow-wow-col1-value-0 wow-wow-col1-value-200
+wow-wow-col1-value-0 wow-wow-col1-value-300
+wow-wow-col1-value-0 wow-wow-col1-value-400
+wow-wow-col1-value-0 wow-wow-col1-value-500
+wow-wow-col1-value-0 wow-wow-col1-value-600
+wow-wow-col1-value-0 wow-wow-col1-value-700
+wow-wow-col1-value-1 wow-wow-col1-value-1
+wow-wow-col1-value-1 wow-wow-col1-value-101
+wow-wow-col1-value-1 wow-wow-col1-value-201
+wow-wow-col1-value-1 wow-wow-col1-value-301
+wow-wow-col1-value-1 wow-wow-col1-value-401
+wow-wow-col1-value-1 wow-wow-col1-value-501
+wow-wow-col1-value-1 wow-wow-col1-value-601
+wow-wow-col1-value-1 wow-wow-col1-value-701
+wow-wow-col1-value-10 wow-wow-col1-value-10
+wow-wow-col1-value-10 wow-wow-col1-value-110
+wow-wow-col1-value-10 wow-wow-col1-value-210
+wow-wow-col1-value-10 wow-wow-col1-value-310
+wow-wow-col1-value-10 wow-wow-col1-value-410
+wow-wow-col1-value-10 wow-wow-col1-value-510
+wow-wow-col1-value-10 wow-wow-col1-value-610
+wow-wow-col1-value-10 wow-wow-col1-value-710
+wow-wow-col1-value-100 wow-wow-col1-value-0
+wow-wow-col1-value-100 wow-wow-col1-value-100
+wow-wow-col1-value-100 wow-wow-col1-value-200
+wow-wow-col1-value-100 wow-wow-col1-value-300
+wow-wow-col1-value-100 wow-wow-col1-value-400
+wow-wow-col1-value-100 wow-wow-col1-value-500
+wow-wow-col1-value-100 wow-wow-col1-value-600
+wow-wow-col1-value-100 wow-wow-col1-value-700
+wow-wow-col1-value-101 wow-wow-col1-value-1
+wow-wow-col1-value-101 wow-wow-col1-value-101
+wow-wow-col1-value-101 wow-wow-col1-value-201
+wow-wow-col1-value-101 wow-wow-col1-value-301
+wow-wow-col1-value-101 wow-wow-col1-value-401
+wow-wow-col1-value-101 wow-wow-col1-value-501
+wow-wow-col1-value-101 wow-wow-col1-value-601
+wow-wow-col1-value-101 wow-wow-col1-value-701
+wow-wow-col1-value-102 wow-wow-col1-value-102
+wow-wow-col1-value-102 wow-wow-col1-value-2
+wow-wow-col1-value-102 wow-wow-col1-value-202
+wow-wow-col1-value-102 wow-wow-col1-value-302
+wow-wow-col1-value-102 wow-wow-col1-value-402
+wow-wow-col1-value-102 wow-wow-col1-value-502
+wow-wow-col1-value-102 wow-wow-col1-value-602
+wow-wow-col1-value-102 wow-wow-col1-value-702
+wow-wow-col1-value-103 wow-wow-col1-value-103
+wow-wow-col1-value-103 wow-wow-col1-value-203
+wow-wow-col1-value-103 wow-wow-col1-value-3
+wow-wow-col1-value-103 wow-wow-col1-value-303
+wow-wow-col1-value-103 wow-wow-col1-value-403
+wow-wow-col1-value-103 wow-wow-col1-value-503
+wow-wow-col1-value-103 wow-wow-col1-value-603
+wow-wow-col1-value-103 wow-wow-col1-value-703
+wow-wow-col1-value-104 wow-wow-col1-value-104
+wow-wow-col1-value-104 wow-wow-col1-value-204
+wow-wow-col1-value-104 wow-wow-col1-value-304
+wow-wow-col1-value-104 wow-wow-col1-value-4
+wow-wow-col1-value-104 wow-wow-col1-value-404
+wow-wow-col1-value-104 wow-wow-col1-value-504
+wow-wow-col1-value-104 wow-wow-col1-value-604
+wow-wow-col1-value-104 wow-wow-col1-value-704
+wow-wow-col1-value-105 wow-wow-col1-value-105
+wow-wow-col1-value-105 wow-wow-col1-value-205
+wow-wow-col1-value-105 wow-wow-col1-value-305
+wow-wow-col1-value-105 wow-wow-col1-value-405
+wow-wow-col1-value-105 wow-wow-col1-value-5
+wow-wow-col1-value-105 wow-wow-col1-value-505
+wow-wow-col1-value-105 wow-wow-col1-value-605
+wow-wow-col1-value-105 wow-wow-col1-value-705
+wow-wow-col1-value-106 wow-wow-col1-value-106
+wow-wow-col1-value-106 wow-wow-col1-value-206
+wow-wow-col1-value-106 wow-wow-col1-value-306
+wow-wow-col1-value-106 wow-wow-col1-value-406
+wow-wow-col1-value-106 wow-wow-col1-value-506
+wow-wow-col1-value-106 wow-wow-col1-value-6
+wow-wow-col1-value-106 wow-wow-col1-value-606
+wow-wow-col1-value-106 wow-wow-col1-value-706
+wow-wow-col1-value-107 wow-wow-col1-value-107
+wow-wow-col1-value-107 wow-wow-col1-value-207
+wow-wow-col1-value-107 wow-wow-col1-value-307
+wow-wow-col1-value-107 wow-wow-col1-value-407
+wow-wow-col1-value-107 wow-wow-col1-value-507
+wow-wow-col1-value-107 wow-wow-col1-value-607
+wow-wow-col1-value-107 wow-wow-col1-value-7
+wow-wow-col1-value-107 wow-wow-col1-value-707
+wow-wow-col1-value-108 wow-wow-col1-value-108
+wow-wow-col1-value-108 wow-wow-col1-value-208
+wow-wow-col1-value-108 wow-wow-col1-value-308
+wow-wow-col1-value-108 wow-wow-col1-value-408
+wow-wow-col1-value-108 wow-wow-col1-value-508
+wow-wow-col1-value-108 wow-wow-col1-value-608
+wow-wow-col1-value-108 wow-wow-col1-value-708
+wow-wow-col1-value-108 wow-wow-col1-value-8
+wow-wow-col1-value-109 wow-wow-col1-value-109
+wow-wow-col1-value-109 wow-wow-col1-value-209
+wow-wow-col1-value-109 wow-wow-col1-value-309
+wow-wow-col1-value-109 wow-wow-col1-value-409
+wow-wow-col1-value-109 wow-wow-col1-value-509
+wow-wow-col1-value-109 wow-wow-col1-value-609
+wow-wow-col1-value-109 wow-wow-col1-value-709
+wow-wow-col1-value-109 wow-wow-col1-value-9
+wow-wow-col1-value-11 wow-wow-col1-value-11
+wow-wow-col1-value-11 wow-wow-col1-value-111
+wow-wow-col1-value-11 wow-wow-col1-value-211
+wow-wow-col1-value-11 wow-wow-col1-value-311
+wow-wow-col1-value-11 wow-wow-col1-value-411
+wow-wow-col1-value-11 wow-wow-col1-value-511
+wow-wow-col1-value-11 wow-wow-col1-value-611
+wow-wow-col1-value-11 wow-wow-col1-value-711
+wow-wow-col1-value-110 wow-wow-col1-value-10
+wow-wow-col1-value-110 wow-wow-col1-value-110
+wow-wow-col1-value-110 wow-wow-col1-value-210
+wow-wow-col1-value-110 wow-wow-col1-value-310
+wow-wow-col1-value-110 wow-wow-col1-value-410
+wow-wow-col1-value-110 wow-wow-col1-value-510
+wow-wow-col1-value-110 wow-wow-col1-value-610
+wow-wow-col1-value-110 wow-wow-col1-value-710
+wow-wow-col1-value-111 wow-wow-col1-value-11
+wow-wow-col1-value-111 wow-wow-col1-value-111
+wow-wow-col1-value-111 wow-wow-col1-value-211
+wow-wow-col1-value-111 wow-wow-col1-value-311
+wow-wow-col1-value-111 wow-wow-col1-value-411
+wow-wow-col1-value-111 wow-wow-col1-value-511
+wow-wow-col1-value-111 wow-wow-col1-value-611
+wow-wow-col1-value-111 wow-wow-col1-value-711
+wow-wow-col1-value-112 wow-wow-col1-value-112
+wow-wow-col1-value-112 wow-wow-col1-value-12
+wow-wow-col1-value-112 wow-wow-col1-value-212
+wow-wow-col1-value-112 wow-wow-col1-value-312
+wow-wow-col1-value-112 wow-wow-col1-value-412
+wow-wow-col1-value-112 wow-wow-col1-value-512
+wow-wow-col1-value-112 wow-wow-col1-value-612
+wow-wow-col1-value-112 wow-wow-col1-value-712
+wow-wow-col1-value-113 wow-wow-col1-value-113
+wow-wow-col1-value-113 wow-wow-col1-value-13
+wow-wow-col1-value-113 wow-wow-col1-value-213
+wow-wow-col1-value-113 wow-wow-col1-value-313
+wow-wow-col1-value-113 wow-wow-col1-value-413
+wow-wow-col1-value-113 wow-wow-col1-value-513
+wow-wow-col1-value-113 wow-wow-col1-value-613
+wow-wow-col1-value-113 wow-wow-col1-value-713
+wow-wow-col1-value-114 wow-wow-col1-value-114
+wow-wow-col1-value-114 wow-wow-col1-value-14
+wow-wow-col1-value-114 wow-wow-col1-value-214
+wow-wow-col1-value-114 wow-wow-col1-value-314
+wow-wow-col1-value-114 wow-wow-col1-value-414
+wow-wow-col1-value-114 wow-wow-col1-value-514
+wow-wow-col1-value-114 wow-wow-col1-value-614
+wow-wow-col1-value-114 wow-wow-col1-value-714
+wow-wow-col1-value-115 wow-wow-col1-value-115
+wow-wow-col1-value-115 wow-wow-col1-value-15
+wow-wow-col1-value-115 wow-wow-col1-value-215
+wow-wow-col1-value-115 wow-wow-col1-value-315
+wow-wow-col1-value-115 wow-wow-col1-value-415
+wow-wow-col1-value-115 wow-wow-col1-value-515
+wow-wow-col1-value-115 wow-wow-col1-value-615
+wow-wow-col1-value-115 wow-wow-col1-value-715
+wow-wow-col1-value-116 wow-wow-col1-value-116
+wow-wow-col1-value-116 wow-wow-col1-value-16
+wow-wow-col1-value-116 wow-wow-col1-value-216
+wow-wow-col1-value-116 wow-wow-col1-value-316
+wow-wow-col1-value-116 wow-wow-col1-value-416
+wow-wow-col1-value-116 wow-wow-col1-value-516
+wow-wow-col1-value-116 wow-wow-col1-value-616
+wow-wow-col1-value-116 wow-wow-col1-value-716
+wow-wow-col1-value-117 wow-wow-col1-value-117
+wow-wow-col1-value-117 wow-wow-col1-value-17
+wow-wow-col1-value-117 wow-wow-col1-value-217
+wow-wow-col1-value-117 wow-wow-col1-value-317
+wow-wow-col1-value-117 wow-wow-col1-value-417
+wow-wow-col1-value-117 wow-wow-col1-value-517
+wow-wow-col1-value-117 wow-wow-col1-value-617
+wow-wow-col1-value-117 wow-wow-col1-value-717
+wow-wow-col1-value-118 wow-wow-col1-value-118
+wow-wow-col1-value-118 wow-wow-col1-value-18
+wow-wow-col1-value-118 wow-wow-col1-value-218
+wow-wow-col1-value-118 wow-wow-col1-value-318
+wow-wow-col1-value-118 wow-wow-col1-value-418
+wow-wow-col1-value-118 wow-wow-col1-value-518
+wow-wow-col1-value-118 wow-wow-col1-value-618
+wow-wow-col1-value-118 wow-wow-col1-value-718
+wow-wow-col1-value-119 wow-wow-col1-value-119
+wow-wow-col1-value-119 wow-wow-col1-value-19
+wow-wow-col1-value-119 wow-wow-col1-value-219
+wow-wow-col1-value-119 wow-wow-col1-value-319
+wow-wow-col1-value-119 wow-wow-col1-value-419
+wow-wow-col1-value-119 wow-wow-col1-value-519
+wow-wow-col1-value-119 wow-wow-col1-value-619
+wow-wow-col1-value-119 wow-wow-col1-value-719
+wow-wow-col1-value-12 wow-wow-col1-value-112
+wow-wow-col1-value-12 wow-wow-col1-value-12
+wow-wow-col1-value-12 wow-wow-col1-value-212
+wow-wow-col1-value-12 wow-wow-col1-value-312
+wow-wow-col1-value-12 wow-wow-col1-value-412
+wow-wow-col1-value-12 wow-wow-col1-value-512
+wow-wow-col1-value-12 wow-wow-col1-value-612
+wow-wow-col1-value-12 wow-wow-col1-value-712
+wow-wow-col1-value-120 wow-wow-col1-value-120
+wow-wow-col1-value-120 wow-wow-col1-value-20
+wow-wow-col1-value-120 wow-wow-col1-value-220
+wow-wow-col1-value-120 wow-wow-col1-value-320
+wow-wow-col1-value-120 wow-wow-col1-value-420
+wow-wow-col1-value-120 wow-wow-col1-value-520
+wow-wow-col1-value-120 wow-wow-col1-value-620
+wow-wow-col1-value-120 wow-wow-col1-value-720
+wow-wow-col1-value-121 wow-wow-col1-value-121
+wow-wow-col1-value-121 wow-wow-col1-value-21
+wow-wow-col1-value-121 wow-wow-col1-value-221
+wow-wow-col1-value-121 wow-wow-col1-value-321
+wow-wow-col1-value-121 wow-wow-col1-value-421
+wow-wow-col1-value-121 wow-wow-col1-value-521
+wow-wow-col1-value-121 wow-wow-col1-value-621
+wow-wow-col1-value-121 wow-wow-col1-value-721
+wow-wow-col1-value-122 wow-wow-col1-value-122
+wow-wow-col1-value-122 wow-wow-col1-value-22
+wow-wow-col1-value-122 wow-wow-col1-value-222
+wow-wow-col1-value-122 wow-wow-col1-value-322
+wow-wow-col1-value-122 wow-wow-col1-value-422
+wow-wow-col1-value-122 wow-wow-col1-value-522
+wow-wow-col1-value-122 wow-wow-col1-value-622
+wow-wow-col1-value-122 wow-wow-col1-value-722
+wow-wow-col1-value-123 wow-wow-col1-value-123
+wow-wow-col1-value-123 wow-wow-col1-value-223
+wow-wow-col1-value-123 wow-wow-col1-value-23
+wow-wow-col1-value-123 wow-wow-col1-value-323
+wow-wow-col1-value-123 wow-wow-col1-value-423
+wow-wow-col1-value-123 wow-wow-col1-value-523
+wow-wow-col1-value-123 wow-wow-col1-value-623
+wow-wow-col1-value-123 wow-wow-col1-value-723
+wow-wow-col1-value-124 wow-wow-col1-value-124
+wow-wow-col1-value-124 wow-wow-col1-value-224
+wow-wow-col1-value-124 wow-wow-col1-value-24
+wow-wow-col1-value-124 wow-wow-col1-value-324
+wow-wow-col1-value-124 wow-wow-col1-value-424
+wow-wow-col1-value-124 wow-wow-col1-value-524
+wow-wow-col1-value-124 wow-wow-col1-value-624
+wow-wow-col1-value-124 wow-wow-col1-value-724
+wow-wow-col1-value-125 wow-wow-col1-value-125
+wow-wow-col1-value-125 wow-wow-col1-value-225
+wow-wow-col1-value-125 wow-wow-col1-value-25
+wow-wow-col1-value-125 wow-wow-col1-value-325
+wow-wow-col1-value-125 wow-wow-col1-value-425
+wow-wow-col1-value-125 wow-wow-col1-value-525
+wow-wow-col1-value-125 wow-wow-col1-value-625
+wow-wow-col1-value-125 wow-wow-col1-value-725
+wow-wow-col1-value-126 wow-wow-col1-value-126
+wow-wow-col1-value-126 wow-wow-col1-value-226
+wow-wow-col1-value-126 wow-wow-col1-value-26
+wow-wow-col1-value-126 wow-wow-col1-value-326
+wow-wow-col1-value-126 wow-wow-col1-value-426
+wow-wow-col1-value-126 wow-wow-col1-value-526
+wow-wow-col1-value-126 wow-wow-col1-value-626
+wow-wow-col1-value-126 wow-wow-col1-value-726
+wow-wow-col1-value-127 wow-wow-col1-value-127
+wow-wow-col1-value-127 wow-wow-col1-value-227
+wow-wow-col1-value-127 wow-wow-col1-value-27
+wow-wow-col1-value-127 wow-wow-col1-value-327
+wow-wow-col1-value-127 wow-wow-col1-value-427
+wow-wow-col1-value-127 wow-wow-col1-value-527
+wow-wow-col1-value-127 wow-wow-col1-value-627
+wow-wow-col1-value-127 wow-wow-col1-value-727
+wow-wow-col1-value-128 wow-wow-col1-value-128
+wow-wow-col1-value-128 wow-wow-col1-value-228
+wow-wow-col1-value-128 wow-wow-col1-value-28
+wow-wow-col1-value-128 wow-wow-col1-value-328
+wow-wow-col1-value-128 wow-wow-col1-value-428
+wow-wow-col1-value-128 wow-wow-col1-value-528
+wow-wow-col1-value-128 wow-wow-col1-value-628
+wow-wow-col1-value-128 wow-wow-col1-value-728
+wow-wow-col1-value-129 wow-wow-col1-value-129
+wow-wow-col1-value-129 wow-wow-col1-value-229
+wow-wow-col1-value-129 wow-wow-col1-value-29
+wow-wow-col1-value-129 wow-wow-col1-value-329
+wow-wow-col1-value-129 wow-wow-col1-value-429
+wow-wow-col1-value-129 wow-wow-col1-value-529
+wow-wow-col1-value-129 wow-wow-col1-value-629
+wow-wow-col1-value-129 wow-wow-col1-value-729
+wow-wow-col1-value-13 wow-wow-col1-value-113
+wow-wow-col1-value-13 wow-wow-col1-value-13
+wow-wow-col1-value-13 wow-wow-col1-value-213
+wow-wow-col1-value-13 wow-wow-col1-value-313
+wow-wow-col1-value-13 wow-wow-col1-value-413
+wow-wow-col1-value-13 wow-wow-col1-value-513
+wow-wow-col1-value-13 wow-wow-col1-value-613
+wow-wow-col1-value-13 wow-wow-col1-value-713
+wow-wow-col1-value-130 wow-wow-col1-value-130
+wow-wow-col1-value-130 wow-wow-col1-value-230
+wow-wow-col1-value-130 wow-wow-col1-value-30
+wow-wow-col1-value-130 wow-wow-col1-value-330
+wow-wow-col1-value-130 wow-wow-col1-value-430
+wow-wow-col1-value-130 wow-wow-col1-value-530
+wow-wow-col1-value-130 wow-wow-col1-value-630
+wow-wow-col1-value-130 wow-wow-col1-value-730
+wow-wow-col1-value-131 wow-wow-col1-value-131
+wow-wow-col1-value-131 wow-wow-col1-value-231
+wow-wow-col1-value-131 wow-wow-col1-value-31
+wow-wow-col1-value-131 wow-wow-col1-value-331
+wow-wow-col1-value-131 wow-wow-col1-value-431
+wow-wow-col1-value-131 wow-wow-col1-value-531
+wow-wow-col1-value-131 wow-wow-col1-value-631
+wow-wow-col1-value-131 wow-wow-col1-value-731
+wow-wow-col1-value-132 wow-wow-col1-value-132
+wow-wow-col1-value-132 wow-wow-col1-value-232
+wow-wow-col1-value-132 wow-wow-col1-value-32
+wow-wow-col1-value-132 wow-wow-col1-value-332
+wow-wow-col1-value-132 wow-wow-col1-value-432
+wow-wow-col1-value-132 wow-wow-col1-value-532
+wow-wow-col1-value-132 wow-wow-col1-value-632
+wow-wow-col1-value-132 wow-wow-col1-value-732
+wow-wow-col1-value-133 wow-wow-col1-value-133
+wow-wow-col1-value-133 wow-wow-col1-value-233
+wow-wow-col1-value-133 wow-wow-col1-value-33
+wow-wow-col1-value-133 wow-wow-col1-value-333
+wow-wow-col1-value-133 wow-wow-col1-value-433
+wow-wow-col1-value-133 wow-wow-col1-value-533
+wow-wow-col1-value-133 wow-wow-col1-value-633
+wow-wow-col1-value-133 wow-wow-col1-value-733
+wow-wow-col1-value-134 wow-wow-col1-value-134
+wow-wow-col1-value-134 wow-wow-col1-value-234
+wow-wow-col1-value-134 wow-wow-col1-value-334
+wow-wow-col1-value-134 wow-wow-col1-value-34
+wow-wow-col1-value-134 wow-wow-col1-value-434
+wow-wow-col1-value-134 wow-wow-col1-value-534
+wow-wow-col1-value-134 wow-wow-col1-value-634
+wow-wow-col1-value-134 wow-wow-col1-value-734
+wow-wow-col1-value-135 wow-wow-col1-value-135
+wow-wow-col1-value-135 wow-wow-col1-value-235
+wow-wow-col1-value-135 wow-wow-col1-value-335
+wow-wow-col1-value-135 wow-wow-col1-value-35
+wow-wow-col1-value-135 wow-wow-col1-value-435
+wow-wow-col1-value-135 wow-wow-col1-value-535
+wow-wow-col1-value-135 wow-wow-col1-value-635
+wow-wow-col1-value-135 wow-wow-col1-value-735
+wow-wow-col1-value-136 wow-wow-col1-value-136
+wow-wow-col1-value-136 wow-wow-col1-value-236
+wow-wow-col1-value-136 wow-wow-col1-value-336
+wow-wow-col1-value-136 wow-wow-col1-value-36
+wow-wow-col1-value-136 wow-wow-col1-value-436
+wow-wow-col1-value-136 wow-wow-col1-value-536
+wow-wow-col1-value-136 wow-wow-col1-value-636
+wow-wow-col1-value-136 wow-wow-col1-value-736
+wow-wow-col1-value-137 wow-wow-col1-value-137
+wow-wow-col1-value-137 wow-wow-col1-value-237
+wow-wow-col1-value-137 wow-wow-col1-value-337
+wow-wow-col1-value-137 wow-wow-col1-value-37
+wow-wow-col1-value-137 wow-wow-col1-value-437
+wow-wow-col1-value-137 wow-wow-col1-value-537
+wow-wow-col1-value-137 wow-wow-col1-value-637
+wow-wow-col1-value-137 wow-wow-col1-value-737
+wow-wow-col1-value-138 wow-wow-col1-value-138
+wow-wow-col1-value-138 wow-wow-col1-value-238
+wow-wow-col1-value-138 wow-wow-col1-value-338
+wow-wow-col1-value-138 wow-wow-col1-value-38
+wow-wow-col1-value-138 wow-wow-col1-value-438
+wow-wow-col1-value-138 wow-wow-col1-value-538
+wow-wow-col1-value-138 wow-wow-col1-value-638
+wow-wow-col1-value-138 wow-wow-col1-value-738
+wow-wow-col1-value-139 wow-wow-col1-value-139
+wow-wow-col1-value-139 wow-wow-col1-value-239
+wow-wow-col1-value-139 wow-wow-col1-value-339
+wow-wow-col1-value-139 wow-wow-col1-value-39
+wow-wow-col1-value-139 wow-wow-col1-value-439
+wow-wow-col1-value-139 wow-wow-col1-value-539
+wow-wow-col1-value-139 wow-wow-col1-value-639
+wow-wow-col1-value-139 wow-wow-col1-value-739
+wow-wow-col1-value-14 wow-wow-col1-value-114
+wow-wow-col1-value-14 wow-wow-col1-value-14
+wow-wow-col1-value-14 wow-wow-col1-value-214
+wow-wow-col1-value-14 wow-wow-col1-value-314
+wow-wow-col1-value-14 wow-wow-col1-value-414
+wow-wow-col1-value-14 wow-wow-col1-value-514
+wow-wow-col1-value-14 wow-wow-col1-value-614
+wow-wow-col1-value-14 wow-wow-col1-value-714
+wow-wow-col1-value-140 wow-wow-col1-value-140
+wow-wow-col1-value-140 wow-wow-col1-value-240
+wow-wow-col1-value-140 wow-wow-col1-value-340
+wow-wow-col1-value-140 wow-wow-col1-value-40
+wow-wow-col1-value-140 wow-wow-col1-value-440
+wow-wow-col1-value-140 wow-wow-col1-value-540
+wow-wow-col1-value-140 wow-wow-col1-value-640
+wow-wow-col1-value-140 wow-wow-col1-value-740
+wow-wow-col1-value-141 wow-wow-col1-value-141
+wow-wow-col1-value-141 wow-wow-col1-value-241
+wow-wow-col1-value-141 wow-wow-col1-value-341
+wow-wow-col1-value-141 wow-wow-col1-value-41
+wow-wow-col1-value-141 wow-wow-col1-value-441
+wow-wow-col1-value-141 wow-wow-col1-value-541
+wow-wow-col1-value-141 wow-wow-col1-value-641
+wow-wow-col1-value-141 wow-wow-col1-value-741
+wow-wow-col1-value-142 wow-wow-col1-value-142
+wow-wow-col1-value-142 wow-wow-col1-value-242
+wow-wow-col1-value-142 wow-wow-col1-value-342
+wow-wow-col1-value-142 wow-wow-col1-value-42
+wow-wow-col1-value-142 wow-wow-col1-value-442
+wow-wow-col1-value-142 wow-wow-col1-value-542
+wow-wow-col1-value-142 wow-wow-col1-value-642
+wow-wow-col1-value-142 wow-wow-col1-value-742
+wow-wow-col1-value-143 wow-wow-col1-value-143
+wow-wow-col1-value-143 wow-wow-col1-value-243
+wow-wow-col1-value-143 wow-wow-col1-value-343
+wow-wow-col1-value-143 wow-wow-col1-value-43
+wow-wow-col1-value-143 wow-wow-col1-value-443
+wow-wow-col1-value-143 wow-wow-col1-value-543
+wow-wow-col1-value-143 wow-wow-col1-value-643
+wow-wow-col1-value-143 wow-wow-col1-value-743
+wow-wow-col1-value-144 wow-wow-col1-value-144
+wow-wow-col1-value-144 wow-wow-col1-value-244
+wow-wow-col1-value-144 wow-wow-col1-value-344
+wow-wow-col1-value-144 wow-wow-col1-value-44
+wow-wow-col1-value-144 wow-wow-col1-value-444
+wow-wow-col1-value-144 wow-wow-col1-value-544
+wow-wow-col1-value-144 wow-wow-col1-value-644
+wow-wow-col1-value-144 wow-wow-col1-value-744
+wow-wow-col1-value-145 wow-wow-col1-value-145
+wow-wow-col1-value-145 wow-wow-col1-value-245
+wow-wow-col1-value-145 wow-wow-col1-value-345
+wow-wow-col1-value-145 wow-wow-col1-value-445
+wow-wow-col1-value-145 wow-wow-col1-value-45
+wow-wow-col1-value-145 wow-wow-col1-value-545
+wow-wow-col1-value-145 wow-wow-col1-value-645
+wow-wow-col1-value-145 wow-wow-col1-value-745
+wow-wow-col1-value-146 wow-wow-col1-value-146
+wow-wow-col1-value-146 wow-wow-col1-value-246
+wow-wow-col1-value-146 wow-wow-col1-value-346
+wow-wow-col1-value-146 wow-wow-col1-value-446
+wow-wow-col1-value-146 wow-wow-col1-value-46
+wow-wow-col1-value-146 wow-wow-col1-value-546
+wow-wow-col1-value-146 wow-wow-col1-value-646
+wow-wow-col1-value-146 wow-wow-col1-value-746
+wow-wow-col1-value-147 wow-wow-col1-value-147
+wow-wow-col1-value-147 wow-wow-col1-value-247
+wow-wow-col1-value-147 wow-wow-col1-value-347
+wow-wow-col1-value-147 wow-wow-col1-value-447
+wow-wow-col1-value-147 wow-wow-col1-value-47
+wow-wow-col1-value-147 wow-wow-col1-value-547
+wow-wow-col1-value-147 wow-wow-col1-value-647
+wow-wow-col1-value-147 wow-wow-col1-value-747
+wow-wow-col1-value-148 wow-wow-col1-value-148
+wow-wow-col1-value-148 wow-wow-col1-value-248
+wow-wow-col1-value-148 wow-wow-col1-value-348
+wow-wow-col1-value-148 wow-wow-col1-value-448
+wow-wow-col1-value-148 wow-wow-col1-value-48
+wow-wow-col1-value-148 wow-wow-col1-value-548
+wow-wow-col1-value-148 wow-wow-col1-value-648
+wow-wow-col1-value-148 wow-wow-col1-value-748
+wow-wow-col1-value-149 wow-wow-col1-value-149
+wow-wow-col1-value-149 wow-wow-col1-value-249
+wow-wow-col1-value-149 wow-wow-col1-value-349
+wow-wow-col1-value-149 wow-wow-col1-value-449
+wow-wow-col1-value-149 wow-wow-col1-value-49
+wow-wow-col1-value-149 wow-wow-col1-value-549
+wow-wow-col1-value-149 wow-wow-col1-value-649
+wow-wow-col1-value-149 wow-wow-col1-value-749
+wow-wow-col1-value-15 wow-wow-col1-value-115
+wow-wow-col1-value-15 wow-wow-col1-value-15
+wow-wow-col1-value-15 wow-wow-col1-value-215
+wow-wow-col1-value-15 wow-wow-col1-value-315
+wow-wow-col1-value-15 wow-wow-col1-value-415
+wow-wow-col1-value-15 wow-wow-col1-value-515
+wow-wow-col1-value-15 wow-wow-col1-value-615
+wow-wow-col1-value-15 wow-wow-col1-value-715
+wow-wow-col1-value-150 wow-wow-col1-value-150
+wow-wow-col1-value-150 wow-wow-col1-value-250
+wow-wow-col1-value-150 wow-wow-col1-value-350
+wow-wow-col1-value-150 wow-wow-col1-value-450
+wow-wow-col1-value-150 wow-wow-col1-value-50
+wow-wow-col1-value-150 wow-wow-col1-value-550
+wow-wow-col1-value-150 wow-wow-col1-value-650
+wow-wow-col1-value-150 wow-wow-col1-value-750
+wow-wow-col1-value-151 wow-wow-col1-value-151
+wow-wow-col1-value-151 wow-wow-col1-value-251
+wow-wow-col1-value-151 wow-wow-col1-value-351
+wow-wow-col1-value-151 wow-wow-col1-value-451
+wow-wow-col1-value-151 wow-wow-col1-value-51
+wow-wow-col1-value-151 wow-wow-col1-value-551
+wow-wow-col1-value-151 wow-wow-col1-value-651
+wow-wow-col1-value-151 wow-wow-col1-value-751
+wow-wow-col1-value-152 wow-wow-col1-value-152
+wow-wow-col1-value-152 wow-wow-col1-value-252
+wow-wow-col1-value-152 wow-wow-col1-value-352
+wow-wow-col1-value-152 wow-wow-col1-value-452
+wow-wow-col1-value-152 wow-wow-col1-value-52
+wow-wow-col1-value-152 wow-wow-col1-value-552
+wow-wow-col1-value-152 wow-wow-col1-value-652
+wow-wow-col1-value-152 wow-wow-col1-value-752
+wow-wow-col1-value-153 wow-wow-col1-value-153
+wow-wow-col1-value-153 wow-wow-col1-value-253
+wow-wow-col1-value-153 wow-wow-col1-value-353
+wow-wow-col1-value-153 wow-wow-col1-value-453
+wow-wow-col1-value-153 wow-wow-col1-value-53
+wow-wow-col1-value-153 wow-wow-col1-value-553
+wow-wow-col1-value-153 wow-wow-col1-value-653
+wow-wow-col1-value-153 wow-wow-col1-value-753
+wow-wow-col1-value-154 wow-wow-col1-value-154
+wow-wow-col1-value-154 wow-wow-col1-value-254
+wow-wow-col1-value-154 wow-wow-col1-value-354
+wow-wow-col1-value-154 wow-wow-col1-value-454
+wow-wow-col1-value-154 wow-wow-col1-value-54
+wow-wow-col1-value-154 wow-wow-col1-value-554
+wow-wow-col1-value-154 wow-wow-col1-value-654
+wow-wow-col1-value-154 wow-wow-col1-value-754
+wow-wow-col1-value-155 wow-wow-col1-value-155
+wow-wow-col1-value-155 wow-wow-col1-value-255
+wow-wow-col1-value-155 wow-wow-col1-value-355
+wow-wow-col1-value-155 wow-wow-col1-value-455
+wow-wow-col1-value-155 wow-wow-col1-value-55
+wow-wow-col1-value-155 wow-wow-col1-value-555
+wow-wow-col1-value-155 wow-wow-col1-value-655
+wow-wow-col1-value-155 wow-wow-col1-value-755
+wow-wow-col1-value-156 wow-wow-col1-value-156
+wow-wow-col1-value-156 wow-wow-col1-value-256
+wow-wow-col1-value-156 wow-wow-col1-value-356
+wow-wow-col1-value-156 wow-wow-col1-value-456
+wow-wow-col1-value-156 wow-wow-col1-value-556
+wow-wow-col1-value-156 wow-wow-col1-value-56
+wow-wow-col1-value-156 wow-wow-col1-value-656
+wow-wow-col1-value-156 wow-wow-col1-value-756
+wow-wow-col1-value-157 wow-wow-col1-value-157
+wow-wow-col1-value-157 wow-wow-col1-value-257
+wow-wow-col1-value-157 wow-wow-col1-value-357
+wow-wow-col1-value-157 wow-wow-col1-value-457
+wow-wow-col1-value-157 wow-wow-col1-value-557
+wow-wow-col1-value-157 wow-wow-col1-value-57
+wow-wow-col1-value-157 wow-wow-col1-value-657
+wow-wow-col1-value-157 wow-wow-col1-value-757
+wow-wow-col1-value-158 wow-wow-col1-value-158
+wow-wow-col1-value-158 wow-wow-col1-value-258
+wow-wow-col1-value-158 wow-wow-col1-value-358
+wow-wow-col1-value-158 wow-wow-col1-value-458
+wow-wow-col1-value-158 wow-wow-col1-value-558
+wow-wow-col1-value-158 wow-wow-col1-value-58
+wow-wow-col1-value-158 wow-wow-col1-value-658
+wow-wow-col1-value-158 wow-wow-col1-value-758
+wow-wow-col1-value-159 wow-wow-col1-value-159
+wow-wow-col1-value-159 wow-wow-col1-value-259
+wow-wow-col1-value-159 wow-wow-col1-value-359
+wow-wow-col1-value-159 wow-wow-col1-value-459
+wow-wow-col1-value-159 wow-wow-col1-value-559
+wow-wow-col1-value-159 wow-wow-col1-value-59
+wow-wow-col1-value-159 wow-wow-col1-value-659
+wow-wow-col1-value-159 wow-wow-col1-value-759
+wow-wow-col1-value-16 wow-wow-col1-value-116
+wow-wow-col1-value-16 wow-wow-col1-value-16
+wow-wow-col1-value-16 wow-wow-col1-value-216
+wow-wow-col1-value-16 wow-wow-col1-value-316
+wow-wow-col1-value-16 wow-wow-col1-value-416
+wow-wow-col1-value-16 wow-wow-col1-value-516
+wow-wow-col1-value-16 wow-wow-col1-value-616
+wow-wow-col1-value-16 wow-wow-col1-value-716
+wow-wow-col1-value-160 wow-wow-col1-value-160
+wow-wow-col1-value-160 wow-wow-col1-value-260
+wow-wow-col1-value-160 wow-wow-col1-value-360
+wow-wow-col1-value-160 wow-wow-col1-value-460
+wow-wow-col1-value-160 wow-wow-col1-value-560
+wow-wow-col1-value-160 wow-wow-col1-value-60
+wow-wow-col1-value-160 wow-wow-col1-value-660
+wow-wow-col1-value-160 wow-wow-col1-value-760
+wow-wow-col1-value-161 wow-wow-col1-value-161
+wow-wow-col1-value-161 wow-wow-col1-value-261
+wow-wow-col1-value-161 wow-wow-col1-value-361
+wow-wow-col1-value-161 wow-wow-col1-value-461
+wow-wow-col1-value-161 wow-wow-col1-value-561
+wow-wow-col1-value-161 wow-wow-col1-value-61
+wow-wow-col1-value-161 wow-wow-col1-value-661
+wow-wow-col1-value-161 wow-wow-col1-value-761
+wow-wow-col1-value-162 wow-wow-col1-value-162
+wow-wow-col1-value-162 wow-wow-col1-value-262
+wow-wow-col1-value-162 wow-wow-col1-value-362
+wow-wow-col1-value-162 wow-wow-col1-value-462
+wow-wow-col1-value-162 wow-wow-col1-value-562
+wow-wow-col1-value-162 wow-wow-col1-value-62
+wow-wow-col1-value-162 wow-wow-col1-value-662
+wow-wow-col1-value-162 wow-wow-col1-value-762
+wow-wow-col1-value-163 wow-wow-col1-value-163
+wow-wow-col1-value-163 wow-wow-col1-value-263
+wow-wow-col1-value-163 wow-wow-col1-value-363
+wow-wow-col1-value-163 wow-wow-col1-value-463
+wow-wow-col1-value-163 wow-wow-col1-value-563
+wow-wow-col1-value-163 wow-wow-col1-value-63
+wow-wow-col1-value-163 wow-wow-col1-value-663
+wow-wow-col1-value-163 wow-wow-col1-value-763
+wow-wow-col1-value-164 wow-wow-col1-value-164
+wow-wow-col1-value-164 wow-wow-col1-value-264
+wow-wow-col1-value-164 wow-wow-col1-value-364
+wow-wow-col1-value-164 wow-wow-col1-value-464
+wow-wow-col1-value-164 wow-wow-col1-value-564
+wow-wow-col1-value-164 wow-wow-col1-value-64
+wow-wow-col1-value-164 wow-wow-col1-value-664
+wow-wow-col1-value-164 wow-wow-col1-value-764
+wow-wow-col1-value-165 wow-wow-col1-value-165
+wow-wow-col1-value-165 wow-wow-col1-value-265
+wow-wow-col1-value-165 wow-wow-col1-value-365
+wow-wow-col1-value-165 wow-wow-col1-value-465
+wow-wow-col1-value-165 wow-wow-col1-value-565
+wow-wow-col1-value-165 wow-wow-col1-value-65
+wow-wow-col1-value-165 wow-wow-col1-value-665
+wow-wow-col1-value-165 wow-wow-col1-value-765
+wow-wow-col1-value-166 wow-wow-col1-value-166
+wow-wow-col1-value-166 wow-wow-col1-value-266
+wow-wow-col1-value-166 wow-wow-col1-value-366
+wow-wow-col1-value-166 wow-wow-col1-value-466
+wow-wow-col1-value-166 wow-wow-col1-value-566
+wow-wow-col1-value-166 wow-wow-col1-value-66
+wow-wow-col1-value-166 wow-wow-col1-value-666
+wow-wow-col1-value-166 wow-wow-col1-value-766
+wow-wow-col1-value-167 wow-wow-col1-value-167
+wow-wow-col1-value-167 wow-wow-col1-value-267
+wow-wow-col1-value-167 wow-wow-col1-value-367
+wow-wow-col1-value-167 wow-wow-col1-value-467
+wow-wow-col1-value-167 wow-wow-col1-value-567
+wow-wow-col1-value-167 wow-wow-col1-value-667
+wow-wow-col1-value-167 wow-wow-col1-value-67
+wow-wow-col1-value-167 wow-wow-col1-value-767
+wow-wow-col1-value-168 wow-wow-col1-value-168
+wow-wow-col1-value-168 wow-wow-col1-value-268
+wow-wow-col1-value-168 wow-wow-col1-value-368
+wow-wow-col1-value-168 wow-wow-col1-value-468
+wow-wow-col1-value-168 wow-wow-col1-value-568
+wow-wow-col1-value-168 wow-wow-col1-value-668
+wow-wow-col1-value-168 wow-wow-col1-value-68
+wow-wow-col1-value-168 wow-wow-col1-value-768
+wow-wow-col1-value-169 wow-wow-col1-value-169
+wow-wow-col1-value-169 wow-wow-col1-value-269
+wow-wow-col1-value-169 wow-wow-col1-value-369
+wow-wow-col1-value-169 wow-wow-col1-value-469
+wow-wow-col1-value-169 wow-wow-col1-value-569
+wow-wow-col1-value-169 wow-wow-col1-value-669
+wow-wow-col1-value-169 wow-wow-col1-value-69
+wow-wow-col1-value-169 wow-wow-col1-value-769
+wow-wow-col1-value-17 wow-wow-col1-value-117
+wow-wow-col1-value-17 wow-wow-col1-value-17
+wow-wow-col1-value-17 wow-wow-col1-value-217
+wow-wow-col1-value-17 wow-wow-col1-value-317
+wow-wow-col1-value-17 wow-wow-col1-value-417
+wow-wow-col1-value-17 wow-wow-col1-value-517
+wow-wow-col1-value-17 wow-wow-col1-value-617
+wow-wow-col1-value-17 wow-wow-col1-value-717
+wow-wow-col1-value-170 wow-wow-col1-value-170
+wow-wow-col1-value-170 wow-wow-col1-value-270
+wow-wow-col1-value-170 wow-wow-col1-value-370
+wow-wow-col1-value-170 wow-wow-col1-value-470
+wow-wow-col1-value-170 wow-wow-col1-value-570
+wow-wow-col1-value-170 wow-wow-col1-value-670
+wow-wow-col1-value-170 wow-wow-col1-value-70
+wow-wow-col1-value-170 wow-wow-col1-value-770
+wow-wow-col1-value-171 wow-wow-col1-value-171
+wow-wow-col1-value-171 wow-wow-col1-value-271
+wow-wow-col1-value-171 wow-wow-col1-value-371
+wow-wow-col1-value-171 wow-wow-col1-value-471
+wow-wow-col1-value-171 wow-wow-col1-value-571
+wow-wow-col1-value-171 wow-wow-col1-value-671
+wow-wow-col1-value-171 wow-wow-col1-value-71
+wow-wow-col1-value-171 wow-wow-col1-value-771
+wow-wow-col1-value-172 wow-wow-col1-value-172
+wow-wow-col1-value-172 wow-wow-col1-value-272
+wow-wow-col1-value-172 wow-wow-col1-value-372
+wow-wow-col1-value-172 wow-wow-col1-value-472
+wow-wow-col1-value-172 wow-wow-col1-value-572
+wow-wow-col1-value-172 wow-wow-col1-value-672
+wow-wow-col1-value-172 wow-wow-col1-value-72
+wow-wow-col1-value-172 wow-wow-col1-value-772
+wow-wow-col1-value-173 wow-wow-col1-value-173
+wow-wow-col1-value-173 wow-wow-col1-value-273
+wow-wow-col1-value-173 wow-wow-col1-value-373
+wow-wow-col1-value-173 wow-wow-col1-value-473
+wow-wow-col1-value-173 wow-wow-col1-value-573
+wow-wow-col1-value-173 wow-wow-col1-value-673
+wow-wow-col1-value-173 wow-wow-col1-value-73
+wow-wow-col1-value-173 wow-wow-col1-value-773
+wow-wow-col1-value-174 wow-wow-col1-value-174
+wow-wow-col1-value-174 wow-wow-col1-value-274
+wow-wow-col1-value-174 wow-wow-col1-value-374
+wow-wow-col1-value-174 wow-wow-col1-value-474
+wow-wow-col1-value-174 wow-wow-col1-value-574
+wow-wow-col1-value-174 wow-wow-col1-value-674
+wow-wow-col1-value-174 wow-wow-col1-value-74
+wow-wow-col1-value-174 wow-wow-col1-value-774
+wow-wow-col1-value-175 wow-wow-col1-value-175
+wow-wow-col1-value-175 wow-wow-col1-value-275
+wow-wow-col1-value-175 wow-wow-col1-value-375
+wow-wow-col1-value-175 wow-wow-col1-value-475
+wow-wow-col1-value-175 wow-wow-col1-value-575
+wow-wow-col1-value-175 wow-wow-col1-value-675
+wow-wow-col1-value-175 wow-wow-col1-value-75
+wow-wow-col1-value-175 wow-wow-col1-value-775
+wow-wow-col1-value-176 wow-wow-col1-value-176
+wow-wow-col1-value-176 wow-wow-col1-value-276
+wow-wow-col1-value-176 wow-wow-col1-value-376
+wow-wow-col1-value-176 wow-wow-col1-value-476
+wow-wow-col1-value-176 wow-wow-col1-value-576
+wow-wow-col1-value-176 wow-wow-col1-value-676
+wow-wow-col1-value-176 wow-wow-col1-value-76
+wow-wow-col1-value-176 wow-wow-col1-value-776
+wow-wow-col1-value-177 wow-wow-col1-value-177
+wow-wow-col1-value-177 wow-wow-col1-value-277
+wow-wow-col1-value-177 wow-wow-col1-value-377
+wow-wow-col1-value-177 wow-wow-col1-value-477
+wow-wow-col1-value-177 wow-wow-col1-value-577
+wow-wow-col1-value-177 wow-wow-col1-value-677
+wow-wow-col1-value-177 wow-wow-col1-value-77
+wow-wow-col1-value-177 wow-wow-col1-value-777
+wow-wow-col1-value-178 wow-wow-col1-value-178
+wow-wow-col1-value-178 wow-wow-col1-value-278
+wow-wow-col1-value-178 wow-wow-col1-value-378
+wow-wow-col1-value-178 wow-wow-col1-value-478
+wow-wow-col1-value-178 wow-wow-col1-value-578
+wow-wow-col1-value-178 wow-wow-col1-value-678
+wow-wow-col1-value-178 wow-wow-col1-value-778
+wow-wow-col1-value-178 wow-wow-col1-value-78
+wow-wow-col1-value-179 wow-wow-col1-value-179
+wow-wow-col1-value-179 wow-wow-col1-value-279
+wow-wow-col1-value-179 wow-wow-col1-value-379
+wow-wow-col1-value-179 wow-wow-col1-value-479
+wow-wow-col1-value-179 wow-wow-col1-value-579
+wow-wow-col1-value-179 wow-wow-col1-value-679
+wow-wow-col1-value-179 wow-wow-col1-value-779
+wow-wow-col1-value-179 wow-wow-col1-value-79
+wow-wow-col1-value-18 wow-wow-col1-value-118
+wow-wow-col1-value-18 wow-wow-col1-value-18
+wow-wow-col1-value-18 wow-wow-col1-value-218
+wow-wow-col1-value-18 wow-wow-col1-value-318
+wow-wow-col1-value-18 wow-wow-col1-value-418
+wow-wow-col1-value-18 wow-wow-col1-value-518
+wow-wow-col1-value-18 wow-wow-col1-value-618
+wow-wow-col1-value-18 wow-wow-col1-value-718
+wow-wow-col1-value-180 wow-wow-col1-value-180
+wow-wow-col1-value-180 wow-wow-col1-value-280
+wow-wow-col1-value-180 wow-wow-col1-value-380
+wow-wow-col1-value-180 wow-wow-col1-value-480
+wow-wow-col1-value-180 wow-wow-col1-value-580
+wow-wow-col1-value-180 wow-wow-col1-value-680
+wow-wow-col1-value-180 wow-wow-col1-value-780
+wow-wow-col1-value-180 wow-wow-col1-value-80
+wow-wow-col1-value-181 wow-wow-col1-value-181
+wow-wow-col1-value-181 wow-wow-col1-value-281
+wow-wow-col1-value-181 wow-wow-col1-value-381
+wow-wow-col1-value-181 wow-wow-col1-value-481
+wow-wow-col1-value-181 wow-wow-col1-value-581
+wow-wow-col1-value-181 wow-wow-col1-value-681
+wow-wow-col1-value-181 wow-wow-col1-value-781
+wow-wow-col1-value-181 wow-wow-col1-value-81
+wow-wow-col1-value-182 wow-wow-col1-value-182
+wow-wow-col1-value-182 wow-wow-col1-value-282
+wow-wow-col1-value-182 wow-wow-col1-value-382
+wow-wow-col1-value-182 wow-wow-col1-value-482
+wow-wow-col1-value-182 wow-wow-col1-value-582
+wow-wow-col1-value-182 wow-wow-col1-value-682
+wow-wow-col1-value-182 wow-wow-col1-value-782
+wow-wow-col1-value-182 wow-wow-col1-value-82
+wow-wow-col1-value-183 wow-wow-col1-value-183
+wow-wow-col1-value-183 wow-wow-col1-value-283
+wow-wow-col1-value-183 wow-wow-col1-value-383
+wow-wow-col1-value-183 wow-wow-col1-value-483
+wow-wow-col1-value-183 wow-wow-col1-value-583
+wow-wow-col1-value-183 wow-wow-col1-value-683
+wow-wow-col1-value-183 wow-wow-col1-value-783
+wow-wow-col1-value-183 wow-wow-col1-value-83
+wow-wow-col1-value-184 wow-wow-col1-value-184
+wow-wow-col1-value-184 wow-wow-col1-value-284
+wow-wow-col1-value-184 wow-wow-col1-value-384
+wow-wow-col1-value-184 wow-wow-col1-value-484
+wow-wow-col1-value-184 wow-wow-col1-value-584
+wow-wow-col1-value-184 wow-wow-col1-value-684
+wow-wow-col1-value-184 wow-wow-col1-value-784
+wow-wow-col1-value-184 wow-wow-col1-value-84
+wow-wow-col1-value-185 wow-wow-col1-value-185
+wow-wow-col1-value-185 wow-wow-col1-value-285
+wow-wow-col1-value-185 wow-wow-col1-value-385
+wow-wow-col1-value-185 wow-wow-col1-value-485
+wow-wow-col1-value-185 wow-wow-col1-value-585
+wow-wow-col1-value-185 wow-wow-col1-value-685
+wow-wow-col1-value-185 wow-wow-col1-value-785
+wow-wow-col1-value-185 wow-wow-col1-value-85
+wow-wow-col1-value-186 wow-wow-col1-value-186
+wow-wow-col1-value-186 wow-wow-col1-value-286
+wow-wow-col1-value-186 wow-wow-col1-value-386
+wow-wow-col1-value-186 wow-wow-col1-value-486
+wow-wow-col1-value-186 wow-wow-col1-value-586
+wow-wow-col1-value-186 wow-wow-col1-value-686
+wow-wow-col1-value-186 wow-wow-col1-value-786
+wow-wow-col1-value-186 wow-wow-col1-value-86
+wow-wow-col1-value-187 wow-wow-col1-value-187
+wow-wow-col1-value-187 wow-wow-col1-value-287
+wow-wow-col1-value-187 wow-wow-col1-value-387
+wow-wow-col1-value-187 wow-wow-col1-value-487
+wow-wow-col1-value-187 wow-wow-col1-value-587
+wow-wow-col1-value-187 wow-wow-col1-value-687
+wow-wow-col1-value-187 wow-wow-col1-value-787
+wow-wow-col1-value-187 wow-wow-col1-value-87
+wow-wow-col1-value-188 wow-wow-col1-value-188
+wow-wow-col1-value-188 wow-wow-col1-value-288
+wow-wow-col1-value-188 wow-wow-col1-value-388
+wow-wow-col1-value-188 wow-wow-col1-value-488
+wow-wow-col1-value-188 wow-wow-col1-value-588
+wow-wow-col1-value-188 wow-wow-col1-value-688
+wow-wow-col1-value-188 wow-wow-col1-value-788
+wow-wow-col1-value-188 wow-wow-col1-value-88
+wow-wow-col1-value-189 wow-wow-col1-value-189
+wow-wow-col1-value-189 wow-wow-col1-value-289
+wow-wow-col1-value-189 wow-wow-col1-value-389
+wow-wow-col1-value-189 wow-wow-col1-value-489
+wow-wow-col1-value-189 wow-wow-col1-value-589
+wow-wow-col1-value-189 wow-wow-col1-value-689
+wow-wow-col1-value-189 wow-wow-col1-value-789
+wow-wow-col1-value-189 wow-wow-col1-value-89
+wow-wow-col1-value-19 wow-wow-col1-value-119
+wow-wow-col1-value-19 wow-wow-col1-value-19
+wow-wow-col1-value-19 wow-wow-col1-value-219
+wow-wow-col1-value-19 wow-wow-col1-value-319
+wow-wow-col1-value-19 wow-wow-col1-value-419
+wow-wow-col1-value-19 wow-wow-col1-value-519
+wow-wow-col1-value-19 wow-wow-col1-value-619
+wow-wow-col1-value-19 wow-wow-col1-value-719
+wow-wow-col1-value-190 wow-wow-col1-value-190
+wow-wow-col1-value-190 wow-wow-col1-value-290
+wow-wow-col1-value-190 wow-wow-col1-value-390
+wow-wow-col1-value-190 wow-wow-col1-value-490
+wow-wow-col1-value-190 wow-wow-col1-value-590
+wow-wow-col1-value-190 wow-wow-col1-value-690
+wow-wow-col1-value-190 wow-wow-col1-value-790
+wow-wow-col1-value-190 wow-wow-col1-value-90
+wow-wow-col1-value-191 wow-wow-col1-value-191
+wow-wow-col1-value-191 wow-wow-col1-value-291
+wow-wow-col1-value-191 wow-wow-col1-value-391
+wow-wow-col1-value-191 wow-wow-col1-value-491
+wow-wow-col1-value-191 wow-wow-col1-value-591
+wow-wow-col1-value-191 wow-wow-col1-value-691
+wow-wow-col1-value-191 wow-wow-col1-value-791
+wow-wow-col1-value-191 wow-wow-col1-value-91
+wow-wow-col1-value-192 wow-wow-col1-value-192
+wow-wow-col1-value-192 wow-wow-col1-value-292
+wow-wow-col1-value-192 wow-wow-col1-value-392
+wow-wow-col1-value-192 wow-wow-col1-value-492
+wow-wow-col1-value-192 wow-wow-col1-value-592
+wow-wow-col1-value-192 wow-wow-col1-value-692
+wow-wow-col1-value-192 wow-wow-col1-value-792
+wow-wow-col1-value-192 wow-wow-col1-value-92
+wow-wow-col1-value-193 wow-wow-col1-value-193
+wow-wow-col1-value-193 wow-wow-col1-value-293
+wow-wow-col1-value-193 wow-wow-col1-value-393
+wow-wow-col1-value-193 wow-wow-col1-value-493
+wow-wow-col1-value-193 wow-wow-col1-value-593
+wow-wow-col1-value-193 wow-wow-col1-value-693
+wow-wow-col1-value-193 wow-wow-col1-value-793
+wow-wow-col1-value-193 wow-wow-col1-value-93
+wow-wow-col1-value-194 wow-wow-col1-value-194
+wow-wow-col1-value-194 wow-wow-col1-value-294
+wow-wow-col1-value-194 wow-wow-col1-value-394
+wow-wow-col1-value-194 wow-wow-col1-value-494
+wow-wow-col1-value-194 wow-wow-col1-value-594
+wow-wow-col1-value-194 wow-wow-col1-value-694
+wow-wow-col1-value-194 wow-wow-col1-value-794
+wow-wow-col1-value-194 wow-wow-col1-value-94
+wow-wow-col1-value-195 wow-wow-col1-value-195
+wow-wow-col1-value-195 wow-wow-col1-value-295
+wow-wow-col1-value-195 wow-wow-col1-value-395
+wow-wow-col1-value-195 wow-wow-col1-value-495
+wow-wow-col1-value-195 wow-wow-col1-value-595
+wow-wow-col1-value-195 wow-wow-col1-value-695
+wow-wow-col1-value-195 wow-wow-col1-value-795
+wow-wow-col1-value-195 wow-wow-col1-value-95
+wow-wow-col1-value-196 wow-wow-col1-value-196
+wow-wow-col1-value-196 wow-wow-col1-value-296
+wow-wow-col1-value-196 wow-wow-col1-value-396
+wow-wow-col1-value-196 wow-wow-col1-value-496
+wow-wow-col1-value-196 wow-wow-col1-value-596
+wow-wow-col1-value-196 wow-wow-col1-value-696
+wow-wow-col1-value-196 wow-wow-col1-value-796
+wow-wow-col1-value-196 wow-wow-col1-value-96
+wow-wow-col1-value-197 wow-wow-col1-value-197
+wow-wow-col1-value-197 wow-wow-col1-value-297
+wow-wow-col1-value-197 wow-wow-col1-value-397
+wow-wow-col1-value-197 wow-wow-col1-value-497
+wow-wow-col1-value-197 wow-wow-col1-value-597
+wow-wow-col1-value-197 wow-wow-col1-value-697
+wow-wow-col1-value-197 wow-wow-col1-value-797
+wow-wow-col1-value-197 wow-wow-col1-value-97
+wow-wow-col1-value-198 wow-wow-col1-value-198
+wow-wow-col1-value-198 wow-wow-col1-value-298
+wow-wow-col1-value-198 wow-wow-col1-value-398
+wow-wow-col1-value-198 wow-wow-col1-value-498
+wow-wow-col1-value-198 wow-wow-col1-value-598
+wow-wow-col1-value-198 wow-wow-col1-value-698
+wow-wow-col1-value-198 wow-wow-col1-value-798
+wow-wow-col1-value-198 wow-wow-col1-value-98
+wow-wow-col1-value-199 wow-wow-col1-value-199
+wow-wow-col1-value-199 wow-wow-col1-value-299
+wow-wow-col1-value-199 wow-wow-col1-value-399
+wow-wow-col1-value-199 wow-wow-col1-value-499
+wow-wow-col1-value-199 wow-wow-col1-value-599
+wow-wow-col1-value-199 wow-wow-col1-value-699
+wow-wow-col1-value-199 wow-wow-col1-value-799
+wow-wow-col1-value-199 wow-wow-col1-value-99
+wow-wow-col1-value-2 wow-wow-col1-value-102
+wow-wow-col1-value-2 wow-wow-col1-value-2
+wow-wow-col1-value-2 wow-wow-col1-value-202
+wow-wow-col1-value-2 wow-wow-col1-value-302
+wow-wow-col1-value-2 wow-wow-col1-value-402
+wow-wow-col1-value-2 wow-wow-col1-value-502
+wow-wow-col1-value-2 wow-wow-col1-value-602
+wow-wow-col1-value-2 wow-wow-col1-value-702
+wow-wow-col1-value-20 wow-wow-col1-value-120
+wow-wow-col1-value-20 wow-wow-col1-value-20
+wow-wow-col1-value-20 wow-wow-col1-value-220
+wow-wow-col1-value-20 wow-wow-col1-value-320
+wow-wow-col1-value-20 wow-wow-col1-value-420
+wow-wow-col1-value-20 wow-wow-col1-value-520
+wow-wow-col1-value-20 wow-wow-col1-value-620
+wow-wow-col1-value-20 wow-wow-col1-value-720
+wow-wow-col1-value-200 wow-wow-col1-value-0
+wow-wow-col1-value-200 wow-wow-col1-value-100
+wow-wow-col1-value-200 wow-wow-col1-value-200
+wow-wow-col1-value-200 wow-wow-col1-value-300
+wow-wow-col1-value-200 wow-wow-col1-value-400
+wow-wow-col1-value-200 wow-wow-col1-value-500
+wow-wow-col1-value-200 wow-wow-col1-value-600
+wow-wow-col1-value-200 wow-wow-col1-value-700
+wow-wow-col1-value-201 wow-wow-col1-value-1
+wow-wow-col1-value-201 wow-wow-col1-value-101
+wow-wow-col1-value-201 wow-wow-col1-value-201
+wow-wow-col1-value-201 wow-wow-col1-value-301
+wow-wow-col1-value-201 wow-wow-col1-value-401
+wow-wow-col1-value-201 wow-wow-col1-value-501
+wow-wow-col1-value-201 wow-wow-col1-value-601
+wow-wow-col1-value-201 wow-wow-col1-value-701
+wow-wow-col1-value-202 wow-wow-col1-value-102
+wow-wow-col1-value-202 wow-wow-col1-value-2
+wow-wow-col1-value-202 wow-wow-col1-value-202
+wow-wow-col1-value-202 wow-wow-col1-value-302
+wow-wow-col1-value-202 wow-wow-col1-value-402
+wow-wow-col1-value-202 wow-wow-col1-value-502
+wow-wow-col1-value-202 wow-wow-col1-value-602
+wow-wow-col1-value-202 wow-wow-col1-value-702
+wow-wow-col1-value-203 wow-wow-col1-value-103
+wow-wow-col1-value-203 wow-wow-col1-value-203
+wow-wow-col1-value-203 wow-wow-col1-value-3
+wow-wow-col1-value-203 wow-wow-col1-value-303
+wow-wow-col1-value-203 wow-wow-col1-value-403
+wow-wow-col1-value-203 wow-wow-col1-value-503
+wow-wow-col1-value-203 wow-wow-col1-value-603
+wow-wow-col1-value-203 wow-wow-col1-value-703
+wow-wow-col1-value-204 wow-wow-col1-value-104
+wow-wow-col1-value-204 wow-wow-col1-value-204
+wow-wow-col1-value-204 wow-wow-col1-value-304
+wow-wow-col1-value-204 wow-wow-col1-value-4
+wow-wow-col1-value-204 wow-wow-col1-value-404
+wow-wow-col1-value-204 wow-wow-col1-value-504
+wow-wow-col1-value-204 wow-wow-col1-value-604
+wow-wow-col1-value-204 wow-wow-col1-value-704
+wow-wow-col1-value-205 wow-wow-col1-value-105
+wow-wow-col1-value-205 wow-wow-col1-value-205
+wow-wow-col1-value-205 wow-wow-col1-value-305
+wow-wow-col1-value-205 wow-wow-col1-value-405
+wow-wow-col1-value-205 wow-wow-col1-value-5
+wow-wow-col1-value-205 wow-wow-col1-value-505
+wow-wow-col1-value-205 wow-wow-col1-value-605
+wow-wow-col1-value-205 wow-wow-col1-value-705
+wow-wow-col1-value-206 wow-wow-col1-value-106
+wow-wow-col1-value-206 wow-wow-col1-value-206
+wow-wow-col1-value-206 wow-wow-col1-value-306
+wow-wow-col1-value-206 wow-wow-col1-value-406
+wow-wow-col1-value-206 wow-wow-col1-value-506
+wow-wow-col1-value-206 wow-wow-col1-value-6
+wow-wow-col1-value-206 wow-wow-col1-value-606
+wow-wow-col1-value-206 wow-wow-col1-value-706
+wow-wow-col1-value-207 wow-wow-col1-value-107
+wow-wow-col1-value-207 wow-wow-col1-value-207
+wow-wow-col1-value-207 wow-wow-col1-value-307
+wow-wow-col1-value-207 wow-wow-col1-value-407
+wow-wow-col1-value-207 wow-wow-col1-value-507
+wow-wow-col1-value-207 wow-wow-col1-value-607
+wow-wow-col1-value-207 wow-wow-col1-value-7
+wow-wow-col1-value-207 wow-wow-col1-value-707
+wow-wow-col1-value-208 wow-wow-col1-value-108
+wow-wow-col1-value-208 wow-wow-col1-value-208
+wow-wow-col1-value-208 wow-wow-col1-value-308
+wow-wow-col1-value-208 wow-wow-col1-value-408
+wow-wow-col1-value-208 wow-wow-col1-value-508
+wow-wow-col1-value-208 wow-wow-col1-value-608
+wow-wow-col1-value-208 wow-wow-col1-value-708
+wow-wow-col1-value-208 wow-wow-col1-value-8
+wow-wow-col1-value-209 wow-wow-col1-value-109
+wow-wow-col1-value-209 wow-wow-col1-value-209
+wow-wow-col1-value-209 wow-wow-col1-value-309
+wow-wow-col1-value-209 wow-wow-col1-value-409
+wow-wow-col1-value-209 wow-wow-col1-value-509
+wow-wow-col1-value-209 wow-wow-col1-value-609
+wow-wow-col1-value-209 wow-wow-col1-value-709
+wow-wow-col1-value-209 wow-wow-col1-value-9
+wow-wow-col1-value-21 wow-wow-col1-value-121
+wow-wow-col1-value-21 wow-wow-col1-value-21
+wow-wow-col1-value-21 wow-wow-col1-value-221
+wow-wow-col1-value-21 wow-wow-col1-value-321
+wow-wow-col1-value-21 wow-wow-col1-value-421
+wow-wow-col1-value-21 wow-wow-col1-value-521
+wow-wow-col1-value-21 wow-wow-col1-value-621
+wow-wow-col1-value-21 wow-wow-col1-value-721
+wow-wow-col1-value-210 wow-wow-col1-value-10
+wow-wow-col1-value-210 wow-wow-col1-value-110
+wow-wow-col1-value-210 wow-wow-col1-value-210
+wow-wow-col1-value-210 wow-wow-col1-value-310
+wow-wow-col1-value-210 wow-wow-col1-value-410
+wow-wow-col1-value-210 wow-wow-col1-value-510
+wow-wow-col1-value-210 wow-wow-col1-value-610
+wow-wow-col1-value-210 wow-wow-col1-value-710
+wow-wow-col1-value-211 wow-wow-col1-value-11
+wow-wow-col1-value-211 wow-wow-col1-value-111
+wow-wow-col1-value-211 wow-wow-col1-value-211
+wow-wow-col1-value-211 wow-wow-col1-value-311
+wow-wow-col1-value-211 wow-wow-col1-value-411
+wow-wow-col1-value-211 wow-wow-col1-value-511
+wow-wow-col1-value-211 wow-wow-col1-value-611
+wow-wow-col1-value-211 wow-wow-col1-value-711
+wow-wow-col1-value-212 wow-wow-col1-value-112
+wow-wow-col1-value-212 wow-wow-col1-value-12
+wow-wow-col1-value-212 wow-wow-col1-value-212
+wow-wow-col1-value-212 wow-wow-col1-value-312
+wow-wow-col1-value-212 wow-wow-col1-value-412
+wow-wow-col1-value-212 wow-wow-col1-value-512
+wow-wow-col1-value-212 wow-wow-col1-value-612
+wow-wow-col1-value-212 wow-wow-col1-value-712
+wow-wow-col1-value-213 wow-wow-col1-value-113
+wow-wow-col1-value-213 wow-wow-col1-value-13
+wow-wow-col1-value-213 wow-wow-col1-value-213
+wow-wow-col1-value-213 wow-wow-col1-value-313
+wow-wow-col1-value-213 wow-wow-col1-value-413
+wow-wow-col1-value-213 wow-wow-col1-value-513
+wow-wow-col1-value-213 wow-wow-col1-value-613
+wow-wow-col1-value-213 wow-wow-col1-value-713
+wow-wow-col1-value-214 wow-wow-col1-value-114
+wow-wow-col1-value-214 wow-wow-col1-value-14
+wow-wow-col1-value-214 wow-wow-col1-value-214
+wow-wow-col1-value-214 wow-wow-col1-value-314
+wow-wow-col1-value-214 wow-wow-col1-value-414
+wow-wow-col1-value-214 wow-wow-col1-value-514
+wow-wow-col1-value-214 wow-wow-col1-value-614
+wow-wow-col1-value-214 wow-wow-col1-value-714
+wow-wow-col1-value-215 wow-wow-col1-value-115
+wow-wow-col1-value-215 wow-wow-col1-value-15
+wow-wow-col1-value-215 wow-wow-col1-value-215
+wow-wow-col1-value-215 wow-wow-col1-value-315
+wow-wow-col1-value-215 wow-wow-col1-value-415
+wow-wow-col1-value-215 wow-wow-col1-value-515
+wow-wow-col1-value-215 wow-wow-col1-value-615
+wow-wow-col1-value-215 wow-wow-col1-value-715
+wow-wow-col1-value-216 wow-wow-col1-value-116
+wow-wow-col1-value-216 wow-wow-col1-value-16
+wow-wow-col1-value-216 wow-wow-col1-value-216
+wow-wow-col1-value-216 wow-wow-col1-value-316
+wow-wow-col1-value-216 wow-wow-col1-value-416
+wow-wow-col1-value-216 wow-wow-col1-value-516
+wow-wow-col1-value-216 wow-wow-col1-value-616
+wow-wow-col1-value-216 wow-wow-col1-value-716
+wow-wow-col1-value-217 wow-wow-col1-value-117
+wow-wow-col1-value-217 wow-wow-col1-value-17
+wow-wow-col1-value-217 wow-wow-col1-value-217
+wow-wow-col1-value-217 wow-wow-col1-value-317
+wow-wow-col1-value-217 wow-wow-col1-value-417
+wow-wow-col1-value-217 wow-wow-col1-value-517
+wow-wow-col1-value-217 wow-wow-col1-value-617
+wow-wow-col1-value-217 wow-wow-col1-value-717
+wow-wow-col1-value-218 wow-wow-col1-value-118
+wow-wow-col1-value-218 wow-wow-col1-value-18
+wow-wow-col1-value-218 wow-wow-col1-value-218
+wow-wow-col1-value-218 wow-wow-col1-value-318
+wow-wow-col1-value-218 wow-wow-col1-value-418
+wow-wow-col1-value-218 wow-wow-col1-value-518
+wow-wow-col1-value-218 wow-wow-col1-value-618
+wow-wow-col1-value-218 wow-wow-col1-value-718
+wow-wow-col1-value-219 wow-wow-col1-value-119
+wow-wow-col1-value-219 wow-wow-col1-value-19
+wow-wow-col1-value-219 wow-wow-col1-value-219
+wow-wow-col1-value-219 wow-wow-col1-value-319
+wow-wow-col1-value-219 wow-wow-col1-value-419
+wow-wow-col1-value-219 wow-wow-col1-value-519
+wow-wow-col1-value-219 wow-wow-col1-value-619
+wow-wow-col1-value-219 wow-wow-col1-value-719
+wow-wow-col1-value-22 wow-wow-col1-value-122
+wow-wow-col1-value-22 wow-wow-col1-value-22
+wow-wow-col1-value-22 wow-wow-col1-value-222
+wow-wow-col1-value-22 wow-wow-col1-value-322
+wow-wow-col1-value-22 wow-wow-col1-value-422
+wow-wow-col1-value-22 wow-wow-col1-value-522
+wow-wow-col1-value-22 wow-wow-col1-value-622
+wow-wow-col1-value-22 wow-wow-col1-value-722
+wow-wow-col1-value-220 wow-wow-col1-value-120
+wow-wow-col1-value-220 wow-wow-col1-value-20
+wow-wow-col1-value-220 wow-wow-col1-value-220
+wow-wow-col1-value-220 wow-wow-col1-value-320
+wow-wow-col1-value-220 wow-wow-col1-value-420
+wow-wow-col1-value-220 wow-wow-col1-value-520
+wow-wow-col1-value-220 wow-wow-col1-value-620
+wow-wow-col1-value-220 wow-wow-col1-value-720
+wow-wow-col1-value-221 wow-wow-col1-value-121
+wow-wow-col1-value-221 wow-wow-col1-value-21
+wow-wow-col1-value-221 wow-wow-col1-value-221
+wow-wow-col1-value-221 wow-wow-col1-value-321
+wow-wow-col1-value-221 wow-wow-col1-value-421
+wow-wow-col1-value-221 wow-wow-col1-value-521
+wow-wow-col1-value-221 wow-wow-col1-value-621
+wow-wow-col1-value-221 wow-wow-col1-value-721
+wow-wow-col1-value-222 wow-wow-col1-value-122
+wow-wow-col1-value-222 wow-wow-col1-value-22
+wow-wow-col1-value-222 wow-wow-col1-value-222
+wow-wow-col1-value-222 wow-wow-col1-value-322
+wow-wow-col1-value-222 wow-wow-col1-value-422
+wow-wow-col1-value-222 wow-wow-col1-value-522
+wow-wow-col1-value-222 wow-wow-col1-value-622
+wow-wow-col1-value-222 wow-wow-col1-value-722
+wow-wow-col1-value-223 wow-wow-col1-value-123
+wow-wow-col1-value-223 wow-wow-col1-value-223
+wow-wow-col1-value-223 wow-wow-col1-value-23
+wow-wow-col1-value-223 wow-wow-col1-value-323
+wow-wow-col1-value-223 wow-wow-col1-value-423
+wow-wow-col1-value-223 wow-wow-col1-value-523
+wow-wow-col1-value-223 wow-wow-col1-value-623
+wow-wow-col1-value-223 wow-wow-col1-value-723
+wow-wow-col1-value-224 wow-wow-col1-value-124
+wow-wow-col1-value-224 wow-wow-col1-value-224
+wow-wow-col1-value-224 wow-wow-col1-value-24
+wow-wow-col1-value-224 wow-wow-col1-value-324
+wow-wow-col1-value-224 wow-wow-col1-value-424
+wow-wow-col1-value-224 wow-wow-col1-value-524
+wow-wow-col1-value-224 wow-wow-col1-value-624
+wow-wow-col1-value-224 wow-wow-col1-value-724
+wow-wow-col1-value-225 wow-wow-col1-value-125
+wow-wow-col1-value-225 wow-wow-col1-value-225
+wow-wow-col1-value-225 wow-wow-col1-value-25
+wow-wow-col1-value-225 wow-wow-col1-value-325
+wow-wow-col1-value-225 wow-wow-col1-value-425
+wow-wow-col1-value-225 wow-wow-col1-value-525
+wow-wow-col1-value-225 wow-wow-col1-value-625
+wow-wow-col1-value-225 wow-wow-col1-value-725
+wow-wow-col1-value-226 wow-wow-col1-value-126
+wow-wow-col1-value-226 wow-wow-col1-value-226
+wow-wow-col1-value-226 wow-wow-col1-value-26
+wow-wow-col1-value-226 wow-wow-col1-value-326
+wow-wow-col1-value-226 wow-wow-col1-value-426
+wow-wow-col1-value-226 wow-wow-col1-value-526
+wow-wow-col1-value-226 wow-wow-col1-value-626
+wow-wow-col1-value-226 wow-wow-col1-value-726
+wow-wow-col1-value-227 wow-wow-col1-value-127
+wow-wow-col1-value-227 wow-wow-col1-value-227
+wow-wow-col1-value-227 wow-wow-col1-value-27
+wow-wow-col1-value-227 wow-wow-col1-value-327
+wow-wow-col1-value-227 wow-wow-col1-value-427
+wow-wow-col1-value-227 wow-wow-col1-value-527
+wow-wow-col1-value-227 wow-wow-col1-value-627
+wow-wow-col1-value-227 wow-wow-col1-value-727
+wow-wow-col1-value-228 wow-wow-col1-value-128
+wow-wow-col1-value-228 wow-wow-col1-value-228
+wow-wow-col1-value-228 wow-wow-col1-value-28
+wow-wow-col1-value-228 wow-wow-col1-value-328
+wow-wow-col1-value-228 wow-wow-col1-value-428
+wow-wow-col1-value-228 wow-wow-col1-value-528
+wow-wow-col1-value-228 wow-wow-col1-value-628
+wow-wow-col1-value-228 wow-wow-col1-value-728
+wow-wow-col1-value-229 wow-wow-col1-value-129
+wow-wow-col1-value-229 wow-wow-col1-value-229
+wow-wow-col1-value-229 wow-wow-col1-value-29
+wow-wow-col1-value-229 wow-wow-col1-value-329
+wow-wow-col1-value-229 wow-wow-col1-value-429
+wow-wow-col1-value-229 wow-wow-col1-value-529
+wow-wow-col1-value-229 wow-wow-col1-value-629
+wow-wow-col1-value-229 wow-wow-col1-value-729
+wow-wow-col1-value-23 wow-wow-col1-value-123
+wow-wow-col1-value-23 wow-wow-col1-value-223
+wow-wow-col1-value-23 wow-wow-col1-value-23
+wow-wow-col1-value-23 wow-wow-col1-value-323
+wow-wow-col1-value-23 wow-wow-col1-value-423
+wow-wow-col1-value-23 wow-wow-col1-value-523
+wow-wow-col1-value-23 wow-wow-col1-value-623
+wow-wow-col1-value-23 wow-wow-col1-value-723
+wow-wow-col1-value-230 wow-wow-col1-value-130
+wow-wow-col1-value-230 wow-wow-col1-value-230
+wow-wow-col1-value-230 wow-wow-col1-value-30
+wow-wow-col1-value-230 wow-wow-col1-value-330
+wow-wow-col1-value-230 wow-wow-col1-value-430
+wow-wow-col1-value-230 wow-wow-col1-value-530
+wow-wow-col1-value-230 wow-wow-col1-value-630
+wow-wow-col1-value-230 wow-wow-col1-value-730
+wow-wow-col1-value-231 wow-wow-col1-value-131
+wow-wow-col1-value-231 wow-wow-col1-value-231
+wow-wow-col1-value-231 wow-wow-col1-value-31
+wow-wow-col1-value-231 wow-wow-col1-value-331
+wow-wow-col1-value-231 wow-wow-col1-value-431
+wow-wow-col1-value-231 wow-wow-col1-value-531
+wow-wow-col1-value-231 wow-wow-col1-value-631
+wow-wow-col1-value-231 wow-wow-col1-value-731
+wow-wow-col1-value-232 wow-wow-col1-value-132
+wow-wow-col1-value-232 wow-wow-col1-value-232
+wow-wow-col1-value-232 wow-wow-col1-value-32
+wow-wow-col1-value-232 wow-wow-col1-value-332
+wow-wow-col1-value-232 wow-wow-col1-value-432
+wow-wow-col1-value-232 wow-wow-col1-value-532
+wow-wow-col1-value-232 wow-wow-col1-value-632
+wow-wow-col1-value-232 wow-wow-col1-value-732
+wow-wow-col1-value-233 wow-wow-col1-value-133
+wow-wow-col1-value-233 wow-wow-col1-value-233
+wow-wow-col1-value-233 wow-wow-col1-value-33
+wow-wow-col1-value-233 wow-wow-col1-value-333
+wow-wow-col1-value-233 wow-wow-col1-value-433
+wow-wow-col1-value-233 wow-wow-col1-value-533
+wow-wow-col1-value-233 wow-wow-col1-value-633
+wow-wow-col1-value-233 wow-wow-col1-value-733
+wow-wow-col1-value-234 wow-wow-col1-value-134
+wow-wow-col1-value-234 wow-wow-col1-value-234
+wow-wow-col1-value-234 wow-wow-col1-value-334
+wow-wow-col1-value-234 wow-wow-col1-value-34
+wow-wow-col1-value-234 wow-wow-col1-value-434
+wow-wow-col1-value-234 wow-wow-col1-value-534
+wow-wow-col1-value-234 wow-wow-col1-value-634
+wow-wow-col1-value-234 wow-wow-col1-value-734
+wow-wow-col1-value-235 wow-wow-col1-value-135
+wow-wow-col1-value-235 wow-wow-col1-value-235
+wow-wow-col1-value-235 wow-wow-col1-value-335
+wow-wow-col1-value-235 wow-wow-col1-value-35
+wow-wow-col1-value-235 wow-wow-col1-value-435
+wow-wow-col1-value-235 wow-wow-col1-value-535
+wow-wow-col1-value-235 wow-wow-col1-value-635
+wow-wow-col1-value-235 wow-wow-col1-value-735
+wow-wow-col1-value-236 wow-wow-col1-value-136
+wow-wow-col1-value-236 wow-wow-col1-value-236
+wow-wow-col1-value-236 wow-wow-col1-value-336
+wow-wow-col1-value-236 wow-wow-col1-value-36
+wow-wow-col1-value-236 wow-wow-col1-value-436
+wow-wow-col1-value-236 wow-wow-col1-value-536
+wow-wow-col1-value-236 wow-wow-col1-value-636
+wow-wow-col1-value-236 wow-wow-col1-value-736
+wow-wow-col1-value-237 wow-wow-col1-value-137
+wow-wow-col1-value-237 wow-wow-col1-value-237
+wow-wow-col1-value-237 wow-wow-col1-value-337
+wow-wow-col1-value-237 wow-wow-col1-value-37
+wow-wow-col1-value-237 wow-wow-col1-value-437
+wow-wow-col1-value-237 wow-wow-col1-value-537
+wow-wow-col1-value-237 wow-wow-col1-value-637
+wow-wow-col1-value-237 wow-wow-col1-value-737
+wow-wow-col1-value-238 wow-wow-col1-value-138
+wow-wow-col1-value-238 wow-wow-col1-value-238
+wow-wow-col1-value-238 wow-wow-col1-value-338
+wow-wow-col1-value-238 wow-wow-col1-value-38
+wow-wow-col1-value-238 wow-wow-col1-value-438
+wow-wow-col1-value-238 wow-wow-col1-value-538
+wow-wow-col1-value-238 wow-wow-col1-value-638
+wow-wow-col1-value-238 wow-wow-col1-value-738
+wow-wow-col1-value-239 wow-wow-col1-value-139
+wow-wow-col1-value-239 wow-wow-col1-value-239
+wow-wow-col1-value-239 wow-wow-col1-value-339
+wow-wow-col1-value-239 wow-wow-col1-value-39
+wow-wow-col1-value-239 wow-wow-col1-value-439
+wow-wow-col1-value-239 wow-wow-col1-value-539
+wow-wow-col1-value-239 wow-wow-col1-value-639
+wow-wow-col1-value-239 wow-wow-col1-value-739
+wow-wow-col1-value-24 wow-wow-col1-value-124
+wow-wow-col1-value-24 wow-wow-col1-value-224
+wow-wow-col1-value-24 wow-wow-col1-value-24
+wow-wow-col1-value-24 wow-wow-col1-value-324
+wow-wow-col1-value-24 wow-wow-col1-value-424
+wow-wow-col1-value-24 wow-wow-col1-value-524
+wow-wow-col1-value-24 wow-wow-col1-value-624
+wow-wow-col1-value-24 wow-wow-col1-value-724
+wow-wow-col1-value-240 wow-wow-col1-value-140
+wow-wow-col1-value-240 wow-wow-col1-value-240
+wow-wow-col1-value-240 wow-wow-col1-value-340
+wow-wow-col1-value-240 wow-wow-col1-value-40
+wow-wow-col1-value-240 wow-wow-col1-value-440
+wow-wow-col1-value-240 wow-wow-col1-value-540
+wow-wow-col1-value-240 wow-wow-col1-value-640
+wow-wow-col1-value-240 wow-wow-col1-value-740
+wow-wow-col1-value-241 wow-wow-col1-value-141
+wow-wow-col1-value-241 wow-wow-col1-value-241
+wow-wow-col1-value-241 wow-wow-col1-value-341
+wow-wow-col1-value-241 wow-wow-col1-value-41
+wow-wow-col1-value-241 wow-wow-col1-value-441
+wow-wow-col1-value-241 wow-wow-col1-value-541
+wow-wow-col1-value-241 wow-wow-col1-value-641
+wow-wow-col1-value-241 wow-wow-col1-value-741
+wow-wow-col1-value-242 wow-wow-col1-value-142
+wow-wow-col1-value-242 wow-wow-col1-value-242
+wow-wow-col1-value-242 wow-wow-col1-value-342
+wow-wow-col1-value-242 wow-wow-col1-value-42
+wow-wow-col1-value-242 wow-wow-col1-value-442
+wow-wow-col1-value-242 wow-wow-col1-value-542
+wow-wow-col1-value-242 wow-wow-col1-value-642
+wow-wow-col1-value-242 wow-wow-col1-value-742
+wow-wow-col1-value-243 wow-wow-col1-value-143
+wow-wow-col1-value-243 wow-wow-col1-value-243
+wow-wow-col1-value-243 wow-wow-col1-value-343
+wow-wow-col1-value-243 wow-wow-col1-value-43
+wow-wow-col1-value-243 wow-wow-col1-value-443
+wow-wow-col1-value-243 wow-wow-col1-value-543
+wow-wow-col1-value-243 wow-wow-col1-value-643
+wow-wow-col1-value-243 wow-wow-col1-value-743
+wow-wow-col1-value-244 wow-wow-col1-value-144
+wow-wow-col1-value-244 wow-wow-col1-value-244
+wow-wow-col1-value-244 wow-wow-col1-value-344
+wow-wow-col1-value-244 wow-wow-col1-value-44
+wow-wow-col1-value-244 wow-wow-col1-value-444
+wow-wow-col1-value-244 wow-wow-col1-value-544
+wow-wow-col1-value-244 wow-wow-col1-value-644
+wow-wow-col1-value-244 wow-wow-col1-value-744
+wow-wow-col1-value-245 wow-wow-col1-value-145
+wow-wow-col1-value-245 wow-wow-col1-value-245
+wow-wow-col1-value-245 wow-wow-col1-value-345
+wow-wow-col1-value-245 wow-wow-col1-value-445
+wow-wow-col1-value-245 wow-wow-col1-value-45
+wow-wow-col1-value-245 wow-wow-col1-value-545
+wow-wow-col1-value-245 wow-wow-col1-value-645
+wow-wow-col1-value-245 wow-wow-col1-value-745
+wow-wow-col1-value-246 wow-wow-col1-value-146
+wow-wow-col1-value-246 wow-wow-col1-value-246
+wow-wow-col1-value-246 wow-wow-col1-value-346
+wow-wow-col1-value-246 wow-wow-col1-value-446
+wow-wow-col1-value-246 wow-wow-col1-value-46
+wow-wow-col1-value-246 wow-wow-col1-value-546
+wow-wow-col1-value-246 wow-wow-col1-value-646
+wow-wow-col1-value-246 wow-wow-col1-value-746
+wow-wow-col1-value-247 wow-wow-col1-value-147
+wow-wow-col1-value-247 wow-wow-col1-value-247
+wow-wow-col1-value-247 wow-wow-col1-value-347
+wow-wow-col1-value-247 wow-wow-col1-value-447
+wow-wow-col1-value-247 wow-wow-col1-value-47
+wow-wow-col1-value-247 wow-wow-col1-value-547
+wow-wow-col1-value-247 wow-wow-col1-value-647
+wow-wow-col1-value-247 wow-wow-col1-value-747
+wow-wow-col1-value-248 wow-wow-col1-value-148
+wow-wow-col1-value-248 wow-wow-col1-value-248
+wow-wow-col1-value-248 wow-wow-col1-value-348
+wow-wow-col1-value-248 wow-wow-col1-value-448
+wow-wow-col1-value-248 wow-wow-col1-value-48
+wow-wow-col1-value-248 wow-wow-col1-value-548
+wow-wow-col1-value-248 wow-wow-col1-value-648
+wow-wow-col1-value-248 wow-wow-col1-value-748
+wow-wow-col1-value-249 wow-wow-col1-value-149
+wow-wow-col1-value-249 wow-wow-col1-value-249
+wow-wow-col1-value-249 wow-wow-col1-value-349
+wow-wow-col1-value-249 wow-wow-col1-value-449
+wow-wow-col1-value-249 wow-wow-col1-value-49
+wow-wow-col1-value-249 wow-wow-col1-value-549
+wow-wow-col1-value-249 wow-wow-col1-value-649
+wow-wow-col1-value-249 wow-wow-col1-value-749
+wow-wow-col1-value-25 wow-wow-col1-value-125
+wow-wow-col1-value-25 wow-wow-col1-value-225
+wow-wow-col1-value-25 wow-wow-col1-value-25
+wow-wow-col1-value-25 wow-wow-col1-value-325
+wow-wow-col1-value-25 wow-wow-col1-value-425
+wow-wow-col1-value-25 wow-wow-col1-value-525
+wow-wow-col1-value-25 wow-wow-col1-value-625
+wow-wow-col1-value-25 wow-wow-col1-value-725
+wow-wow-col1-value-250 wow-wow-col1-value-150
+wow-wow-col1-value-250 wow-wow-col1-value-250
+wow-wow-col1-value-250 wow-wow-col1-value-350
+wow-wow-col1-value-250 wow-wow-col1-value-450
+wow-wow-col1-value-250 wow-wow-col1-value-50
+wow-wow-col1-value-250 wow-wow-col1-value-550
+wow-wow-col1-value-250 wow-wow-col1-value-650
+wow-wow-col1-value-250 wow-wow-col1-value-750
+wow-wow-col1-value-251 wow-wow-col1-value-151
+wow-wow-col1-value-251 wow-wow-col1-value-251
+wow-wow-col1-value-251 wow-wow-col1-value-351
+wow-wow-col1-value-251 wow-wow-col1-value-451
+wow-wow-col1-value-251 wow-wow-col1-value-51
+wow-wow-col1-value-251 wow-wow-col1-value-551
+wow-wow-col1-value-251 wow-wow-col1-value-651
+wow-wow-col1-value-251 wow-wow-col1-value-751
+wow-wow-col1-value-252 wow-wow-col1-value-152
+wow-wow-col1-value-252 wow-wow-col1-value-252
+wow-wow-col1-value-252 wow-wow-col1-value-352
+wow-wow-col1-value-252 wow-wow-col1-value-452
+wow-wow-col1-value-252 wow-wow-col1-value-52
+wow-wow-col1-value-252 wow-wow-col1-value-552
+wow-wow-col1-value-252 wow-wow-col1-value-652
+wow-wow-col1-value-252 wow-wow-col1-value-752
+wow-wow-col1-value-253 wow-wow-col1-value-153
+wow-wow-col1-value-253 wow-wow-col1-value-253
+wow-wow-col1-value-253 wow-wow-col1-value-353
+wow-wow-col1-value-253 wow-wow-col1-value-453
+wow-wow-col1-value-253 wow-wow-col1-value-53
+wow-wow-col1-value-253 wow-wow-col1-value-553
+wow-wow-col1-value-253 wow-wow-col1-value-653
+wow-wow-col1-value-253 wow-wow-col1-value-753
+wow-wow-col1-value-254 wow-wow-col1-value-154
+wow-wow-col1-value-254 wow-wow-col1-value-254
+wow-wow-col1-value-254 wow-wow-col1-value-354
+wow-wow-col1-value-254 wow-wow-col1-value-454
+wow-wow-col1-value-254 wow-wow-col1-value-54
+wow-wow-col1-value-254 wow-wow-col1-value-554
+wow-wow-col1-value-254 wow-wow-col1-value-654
+wow-wow-col1-value-254 wow-wow-col1-value-754
+wow-wow-col1-value-255 wow-wow-col1-value-155
+wow-wow-col1-value-255 wow-wow-col1-value-255
+wow-wow-col1-value-255 wow-wow-col1-value-355
+wow-wow-col1-value-255 wow-wow-col1-value-455
+wow-wow-col1-value-255 wow-wow-col1-value-55
+wow-wow-col1-value-255 wow-wow-col1-value-555
+wow-wow-col1-value-255 wow-wow-col1-value-655
+wow-wow-col1-value-255 wow-wow-col1-value-755
+wow-wow-col1-value-256 wow-wow-col1-value-156
+wow-wow-col1-value-256 wow-wow-col1-value-256
+wow-wow-col1-value-256 wow-wow-col1-value-356
+wow-wow-col1-value-256 wow-wow-col1-value-456
+wow-wow-col1-value-256 wow-wow-col1-value-556
+wow-wow-col1-value-256 wow-wow-col1-value-56
+wow-wow-col1-value-256 wow-wow-col1-value-656
+wow-wow-col1-value-256 wow-wow-col1-value-756
+wow-wow-col1-value-257 wow-wow-col1-value-157
+wow-wow-col1-value-257 wow-wow-col1-value-257
+wow-wow-col1-value-257 wow-wow-col1-value-357
+wow-wow-col1-value-257 wow-wow-col1-value-457
+wow-wow-col1-value-257 wow-wow-col1-value-557
+wow-wow-col1-value-257 wow-wow-col1-value-57
+wow-wow-col1-value-257 wow-wow-col1-value-657
+wow-wow-col1-value-257 wow-wow-col1-value-757
+wow-wow-col1-value-258 wow-wow-col1-value-158
+wow-wow-col1-value-258 wow-wow-col1-value-258
+wow-wow-col1-value-258 wow-wow-col1-value-358
+wow-wow-col1-value-258 wow-wow-col1-value-458
+wow-wow-col1-value-258 wow-wow-col1-value-558
+wow-wow-col1-value-258 wow-wow-col1-value-58
+wow-wow-col1-value-258 wow-wow-col1-value-658
+wow-wow-col1-value-258 wow-wow-col1-value-758
+wow-wow-col1-value-259 wow-wow-col1-value-159
+wow-wow-col1-value-259 wow-wow-col1-value-259
+wow-wow-col1-value-259 wow-wow-col1-value-359
+wow-wow-col1-value-259 wow-wow-col1-value-459
+wow-wow-col1-value-259 wow-wow-col1-value-559
+wow-wow-col1-value-259 wow-wow-col1-value-59
+wow-wow-col1-value-259 wow-wow-col1-value-659
+wow-wow-col1-value-259 wow-wow-col1-value-759
+wow-wow-col1-value-26 wow-wow-col1-value-126
+wow-wow-col1-value-26 wow-wow-col1-value-226
+wow-wow-col1-value-26 wow-wow-col1-value-26
+wow-wow-col1-value-26 wow-wow-col1-value-326
+wow-wow-col1-value-26 wow-wow-col1-value-426
+wow-wow-col1-value-26 wow-wow-col1-value-526
+wow-wow-col1-value-26 wow-wow-col1-value-626
+wow-wow-col1-value-26 wow-wow-col1-value-726
+wow-wow-col1-value-260 wow-wow-col1-value-160
+wow-wow-col1-value-260 wow-wow-col1-value-260
+wow-wow-col1-value-260 wow-wow-col1-value-360
+wow-wow-col1-value-260 wow-wow-col1-value-460
+wow-wow-col1-value-260 wow-wow-col1-value-560
+wow-wow-col1-value-260 wow-wow-col1-value-60
+wow-wow-col1-value-260 wow-wow-col1-value-660
+wow-wow-col1-value-260 wow-wow-col1-value-760
+wow-wow-col1-value-261 wow-wow-col1-value-161
+wow-wow-col1-value-261 wow-wow-col1-value-261
+wow-wow-col1-value-261 wow-wow-col1-value-361
+wow-wow-col1-value-261 wow-wow-col1-value-461
+wow-wow-col1-value-261 wow-wow-col1-value-561
+wow-wow-col1-value-261 wow-wow-col1-value-61
+wow-wow-col1-value-261 wow-wow-col1-value-661
+wow-wow-col1-value-261 wow-wow-col1-value-761
+wow-wow-col1-value-262 wow-wow-col1-value-162
+wow-wow-col1-value-262 wow-wow-col1-value-262
+wow-wow-col1-value-262 wow-wow-col1-value-362
+wow-wow-col1-value-262 wow-wow-col1-value-462
+wow-wow-col1-value-262 wow-wow-col1-value-562
+wow-wow-col1-value-262 wow-wow-col1-value-62
+wow-wow-col1-value-262 wow-wow-col1-value-662
+wow-wow-col1-value-262 wow-wow-col1-value-762
+wow-wow-col1-value-263 wow-wow-col1-value-163
+wow-wow-col1-value-263 wow-wow-col1-value-263
+wow-wow-col1-value-263 wow-wow-col1-value-363
+wow-wow-col1-value-263 wow-wow-col1-value-463
+wow-wow-col1-value-263 wow-wow-col1-value-563
+wow-wow-col1-value-263 wow-wow-col1-value-63
+wow-wow-col1-value-263 wow-wow-col1-value-663
+wow-wow-col1-value-263 wow-wow-col1-value-763
+wow-wow-col1-value-264 wow-wow-col1-value-164
+wow-wow-col1-value-264 wow-wow-col1-value-264
+wow-wow-col1-value-264 wow-wow-col1-value-364
+wow-wow-col1-value-264 wow-wow-col1-value-464
+wow-wow-col1-value-264 wow-wow-col1-value-564
+wow-wow-col1-value-264 wow-wow-col1-value-64
+wow-wow-col1-value-264 wow-wow-col1-value-664
+wow-wow-col1-value-264 wow-wow-col1-value-764
+wow-wow-col1-value-265 wow-wow-col1-value-165
+wow-wow-col1-value-265 wow-wow-col1-value-265
+wow-wow-col1-value-265 wow-wow-col1-value-365
+wow-wow-col1-value-265 wow-wow-col1-value-465
+wow-wow-col1-value-265 wow-wow-col1-value-565
+wow-wow-col1-value-265 wow-wow-col1-value-65
+wow-wow-col1-value-265 wow-wow-col1-value-665
+wow-wow-col1-value-265 wow-wow-col1-value-765
+wow-wow-col1-value-266 wow-wow-col1-value-166
+wow-wow-col1-value-266 wow-wow-col1-value-266
+wow-wow-col1-value-266 wow-wow-col1-value-366
+wow-wow-col1-value-266 wow-wow-col1-value-466
+wow-wow-col1-value-266 wow-wow-col1-value-566
+wow-wow-col1-value-266 wow-wow-col1-value-66
+wow-wow-col1-value-266 wow-wow-col1-value-666
+wow-wow-col1-value-266 wow-wow-col1-value-766
+wow-wow-col1-value-267 wow-wow-col1-value-167
+wow-wow-col1-value-267 wow-wow-col1-value-267
+wow-wow-col1-value-267 wow-wow-col1-value-367
+wow-wow-col1-value-267 wow-wow-col1-value-467
+wow-wow-col1-value-267 wow-wow-col1-value-567
+wow-wow-col1-value-267 wow-wow-col1-value-667
+wow-wow-col1-value-267 wow-wow-col1-value-67
+wow-wow-col1-value-267 wow-wow-col1-value-767
+wow-wow-col1-value-268 wow-wow-col1-value-168
+wow-wow-col1-value-268 wow-wow-col1-value-268
+wow-wow-col1-value-268 wow-wow-col1-value-368
+wow-wow-col1-value-268 wow-wow-col1-value-468
+wow-wow-col1-value-268 wow-wow-col1-value-568
+wow-wow-col1-value-268 wow-wow-col1-value-668
+wow-wow-col1-value-268 wow-wow-col1-value-68
+wow-wow-col1-value-268 wow-wow-col1-value-768
+wow-wow-col1-value-269 wow-wow-col1-value-169
+wow-wow-col1-value-269 wow-wow-col1-value-269
+wow-wow-col1-value-269 wow-wow-col1-value-369
+wow-wow-col1-value-269 wow-wow-col1-value-469
+wow-wow-col1-value-269 wow-wow-col1-value-569
+wow-wow-col1-value-269 wow-wow-col1-value-669
+wow-wow-col1-value-269 wow-wow-col1-value-69
+wow-wow-col1-value-269 wow-wow-col1-value-769
+wow-wow-col1-value-27 wow-wow-col1-value-127
+wow-wow-col1-value-27 wow-wow-col1-value-227
+wow-wow-col1-value-27 wow-wow-col1-value-27
+wow-wow-col1-value-27 wow-wow-col1-value-327
+wow-wow-col1-value-27 wow-wow-col1-value-427
+wow-wow-col1-value-27 wow-wow-col1-value-527
+wow-wow-col1-value-27 wow-wow-col1-value-627
+wow-wow-col1-value-27 wow-wow-col1-value-727
+wow-wow-col1-value-270 wow-wow-col1-value-170
+wow-wow-col1-value-270 wow-wow-col1-value-270
+wow-wow-col1-value-270 wow-wow-col1-value-370
+wow-wow-col1-value-270 wow-wow-col1-value-470
+wow-wow-col1-value-270 wow-wow-col1-value-570
+wow-wow-col1-value-270 wow-wow-col1-value-670
+wow-wow-col1-value-270 wow-wow-col1-value-70
+wow-wow-col1-value-270 wow-wow-col1-value-770
+wow-wow-col1-value-271 wow-wow-col1-value-171
+wow-wow-col1-value-271 wow-wow-col1-value-271
+wow-wow-col1-value-271 wow-wow-col1-value-371
+wow-wow-col1-value-271 wow-wow-col1-value-471
+wow-wow-col1-value-271 wow-wow-col1-value-571
+wow-wow-col1-value-271 wow-wow-col1-value-671
+wow-wow-col1-value-271 wow-wow-col1-value-71
+wow-wow-col1-value-271 wow-wow-col1-value-771
+wow-wow-col1-value-272 wow-wow-col1-value-172
+wow-wow-col1-value-272 wow-wow-col1-value-272
+wow-wow-col1-value-272 wow-wow-col1-value-372
+wow-wow-col1-value-272 wow-wow-col1-value-472
+wow-wow-col1-value-272 wow-wow-col1-value-572
+wow-wow-col1-value-272 wow-wow-col1-value-672
+wow-wow-col1-value-272 wow-wow-col1-value-72
+wow-wow-col1-value-272 wow-wow-col1-value-772
+wow-wow-col1-value-273 wow-wow-col1-value-173
+wow-wow-col1-value-273 wow-wow-col1-value-273
+wow-wow-col1-value-273 wow-wow-col1-value-373
+wow-wow-col1-value-273 wow-wow-col1-value-473
+wow-wow-col1-value-273 wow-wow-col1-value-573
+wow-wow-col1-value-273 wow-wow-col1-value-673
+wow-wow-col1-value-273 wow-wow-col1-value-73
+wow-wow-col1-value-273 wow-wow-col1-value-773
+wow-wow-col1-value-274 wow-wow-col1-value-174
+wow-wow-col1-value-274 wow-wow-col1-value-274
+wow-wow-col1-value-274 wow-wow-col1-value-374
+wow-wow-col1-value-274 wow-wow-col1-value-474
+wow-wow-col1-value-274 wow-wow-col1-value-574
+wow-wow-col1-value-274 wow-wow-col1-value-674
+wow-wow-col1-value-274 wow-wow-col1-value-74
+wow-wow-col1-value-274 wow-wow-col1-value-774
+wow-wow-col1-value-275 wow-wow-col1-value-175
+wow-wow-col1-value-275 wow-wow-col1-value-275
+wow-wow-col1-value-275 wow-wow-col1-value-375
+wow-wow-col1-value-275 wow-wow-col1-value-475
+wow-wow-col1-value-275 wow-wow-col1-value-575
+wow-wow-col1-value-275 wow-wow-col1-value-675
+wow-wow-col1-value-275 wow-wow-col1-value-75
+wow-wow-col1-value-275 wow-wow-col1-value-775
+wow-wow-col1-value-276 wow-wow-col1-value-176
+wow-wow-col1-value-276 wow-wow-col1-value-276
+wow-wow-col1-value-276 wow-wow-col1-value-376
+wow-wow-col1-value-276 wow-wow-col1-value-476
+wow-wow-col1-value-276 wow-wow-col1-value-576
+wow-wow-col1-value-276 wow-wow-col1-value-676
+wow-wow-col1-value-276 wow-wow-col1-value-76
+wow-wow-col1-value-276 wow-wow-col1-value-776
+wow-wow-col1-value-277 wow-wow-col1-value-177
+wow-wow-col1-value-277 wow-wow-col1-value-277
+wow-wow-col1-value-277 wow-wow-col1-value-377
+wow-wow-col1-value-277 wow-wow-col1-value-477
+wow-wow-col1-value-277 wow-wow-col1-value-577
+wow-wow-col1-value-277 wow-wow-col1-value-677
+wow-wow-col1-value-277 wow-wow-col1-value-77
+wow-wow-col1-value-277 wow-wow-col1-value-777
+wow-wow-col1-value-278 wow-wow-col1-value-178
+wow-wow-col1-value-278 wow-wow-col1-value-278
+wow-wow-col1-value-278 wow-wow-col1-value-378
+wow-wow-col1-value-278 wow-wow-col1-value-478
+wow-wow-col1-value-278 wow-wow-col1-value-578
+wow-wow-col1-value-278 wow-wow-col1-value-678
+wow-wow-col1-value-278 wow-wow-col1-value-778
+wow-wow-col1-value-278 wow-wow-col1-value-78
+wow-wow-col1-value-279 wow-wow-col1-value-179
+wow-wow-col1-value-279 wow-wow-col1-value-279
+wow-wow-col1-value-279 wow-wow-col1-value-379
+wow-wow-col1-value-279 wow-wow-col1-value-479
+wow-wow-col1-value-279 wow-wow-col1-value-579
+wow-wow-col1-value-279 wow-wow-col1-value-679
+wow-wow-col1-value-279 wow-wow-col1-value-779
+wow-wow-col1-value-279 wow-wow-col1-value-79
+wow-wow-col1-value-28 wow-wow-col1-value-128
+wow-wow-col1-value-28 wow-wow-col1-value-228
+wow-wow-col1-value-28 wow-wow-col1-value-28
+wow-wow-col1-value-28 wow-wow-col1-value-328
+wow-wow-col1-value-28 wow-wow-col1-value-428
+wow-wow-col1-value-28 wow-wow-col1-value-528
+wow-wow-col1-value-28 wow-wow-col1-value-628
+wow-wow-col1-value-28 wow-wow-col1-value-728
+wow-wow-col1-value-280 wow-wow-col1-value-180
+wow-wow-col1-value-280 wow-wow-col1-value-280
+wow-wow-col1-value-280 wow-wow-col1-value-380
+wow-wow-col1-value-280 wow-wow-col1-value-480
+wow-wow-col1-value-280 wow-wow-col1-value-580
+wow-wow-col1-value-280 wow-wow-col1-value-680
+wow-wow-col1-value-280 wow-wow-col1-value-780
+wow-wow-col1-value-280 wow-wow-col1-value-80
+wow-wow-col1-value-281 wow-wow-col1-value-181
+wow-wow-col1-value-281 wow-wow-col1-value-281
+wow-wow-col1-value-281 wow-wow-col1-value-381
+wow-wow-col1-value-281 wow-wow-col1-value-481
+wow-wow-col1-value-281 wow-wow-col1-value-581
+wow-wow-col1-value-281 wow-wow-col1-value-681
+wow-wow-col1-value-281 wow-wow-col1-value-781
+wow-wow-col1-value-281 wow-wow-col1-value-81
+wow-wow-col1-value-282 wow-wow-col1-value-182
+wow-wow-col1-value-282 wow-wow-col1-value-282
+wow-wow-col1-value-282 wow-wow-col1-value-382
+wow-wow-col1-value-282 wow-wow-col1-value-482
+wow-wow-col1-value-282 wow-wow-col1-value-582
+wow-wow-col1-value-282 wow-wow-col1-value-682
+wow-wow-col1-value-282 wow-wow-col1-value-782
+wow-wow-col1-value-282 wow-wow-col1-value-82
+wow-wow-col1-value-283 wow-wow-col1-value-183
+wow-wow-col1-value-283 wow-wow-col1-value-283
+wow-wow-col1-value-283 wow-wow-col1-value-383
+wow-wow-col1-value-283 wow-wow-col1-value-483
+wow-wow-col1-value-283 wow-wow-col1-value-583
+wow-wow-col1-value-283 wow-wow-col1-value-683
+wow-wow-col1-value-283 wow-wow-col1-value-783
+wow-wow-col1-value-283 wow-wow-col1-value-83
+wow-wow-col1-value-284 wow-wow-col1-value-184
+wow-wow-col1-value-284 wow-wow-col1-value-284
+wow-wow-col1-value-284 wow-wow-col1-value-384
+wow-wow-col1-value-284 wow-wow-col1-value-484
+wow-wow-col1-value-284 wow-wow-col1-value-584
+wow-wow-col1-value-284 wow-wow-col1-value-684
+wow-wow-col1-value-284 wow-wow-col1-value-784
+wow-wow-col1-value-284 wow-wow-col1-value-84
+wow-wow-col1-value-285 wow-wow-col1-value-185
+wow-wow-col1-value-285 wow-wow-col1-value-285
+wow-wow-col1-value-285 wow-wow-col1-value-385
+wow-wow-col1-value-285 wow-wow-col1-value-485
+wow-wow-col1-value-285 wow-wow-col1-value-585
+wow-wow-col1-value-285 wow-wow-col1-value-685
+wow-wow-col1-value-285 wow-wow-col1-value-785
+wow-wow-col1-value-285 wow-wow-col1-value-85
+wow-wow-col1-value-286 wow-wow-col1-value-186
+wow-wow-col1-value-286 wow-wow-col1-value-286
+wow-wow-col1-value-286 wow-wow-col1-value-386
+wow-wow-col1-value-286 wow-wow-col1-value-486
+wow-wow-col1-value-286 wow-wow-col1-value-586
+wow-wow-col1-value-286 wow-wow-col1-value-686
+wow-wow-col1-value-286 wow-wow-col1-value-786
+wow-wow-col1-value-286 wow-wow-col1-value-86
+wow-wow-col1-value-287 wow-wow-col1-value-187
+wow-wow-col1-value-287 wow-wow-col1-value-287
+wow-wow-col1-value-287 wow-wow-col1-value-387
+wow-wow-col1-value-287 wow-wow-col1-value-487
+wow-wow-col1-value-287 wow-wow-col1-value-587
+wow-wow-col1-value-287 wow-wow-col1-value-687
+wow-wow-col1-value-287 wow-wow-col1-value-787
+wow-wow-col1-value-287 wow-wow-col1-value-87
+wow-wow-col1-value-288 wow-wow-col1-value-188
+wow-wow-col1-value-288 wow-wow-col1-value-288
+wow-wow-col1-value-288 wow-wow-col1-value-388
+wow-wow-col1-value-288 wow-wow-col1-value-488
+wow-wow-col1-value-288 wow-wow-col1-value-588
+wow-wow-col1-value-288 wow-wow-col1-value-688
+wow-wow-col1-value-288 wow-wow-col1-value-788
+wow-wow-col1-value-288 wow-wow-col1-value-88
+wow-wow-col1-value-289 wow-wow-col1-value-189
+wow-wow-col1-value-289 wow-wow-col1-value-289
+wow-wow-col1-value-289 wow-wow-col1-value-389
+wow-wow-col1-value-289 wow-wow-col1-value-489
+wow-wow-col1-value-289 wow-wow-col1-value-589
+wow-wow-col1-value-289 wow-wow-col1-value-689
+wow-wow-col1-value-289 wow-wow-col1-value-789
+wow-wow-col1-value-289 wow-wow-col1-value-89
+wow-wow-col1-value-29 wow-wow-col1-value-129
+wow-wow-col1-value-29 wow-wow-col1-value-229
+wow-wow-col1-value-29 wow-wow-col1-value-29
+wow-wow-col1-value-29 wow-wow-col1-value-329
+wow-wow-col1-value-29 wow-wow-col1-value-429
+wow-wow-col1-value-29 wow-wow-col1-value-529
+wow-wow-col1-value-29 wow-wow-col1-value-629
+wow-wow-col1-value-29 wow-wow-col1-value-729
+wow-wow-col1-value-290 wow-wow-col1-value-190
+wow-wow-col1-value-290 wow-wow-col1-value-290
+wow-wow-col1-value-290 wow-wow-col1-value-390
+wow-wow-col1-value-290 wow-wow-col1-value-490
+wow-wow-col1-value-290 wow-wow-col1-value-590
+wow-wow-col1-value-290 wow-wow-col1-value-690
+wow-wow-col1-value-290 wow-wow-col1-value-790
+wow-wow-col1-value-290 wow-wow-col1-value-90
+wow-wow-col1-value-291 wow-wow-col1-value-191
+wow-wow-col1-value-291 wow-wow-col1-value-291
+wow-wow-col1-value-291 wow-wow-col1-value-391
+wow-wow-col1-value-291 wow-wow-col1-value-491
+wow-wow-col1-value-291 wow-wow-col1-value-591
+wow-wow-col1-value-291 wow-wow-col1-value-691
+wow-wow-col1-value-291 wow-wow-col1-value-791
+wow-wow-col1-value-291 wow-wow-col1-value-91
+wow-wow-col1-value-292 wow-wow-col1-value-192
+wow-wow-col1-value-292 wow-wow-col1-value-292
+wow-wow-col1-value-292 wow-wow-col1-value-392
+wow-wow-col1-value-292 wow-wow-col1-value-492
+wow-wow-col1-value-292 wow-wow-col1-value-592
+wow-wow-col1-value-292 wow-wow-col1-value-692
+wow-wow-col1-value-292 wow-wow-col1-value-792
+wow-wow-col1-value-292 wow-wow-col1-value-92
+wow-wow-col1-value-293 wow-wow-col1-value-193
+wow-wow-col1-value-293 wow-wow-col1-value-293
+wow-wow-col1-value-293 wow-wow-col1-value-393
+wow-wow-col1-value-293 wow-wow-col1-value-493
+wow-wow-col1-value-293 wow-wow-col1-value-593
+wow-wow-col1-value-293 wow-wow-col1-value-693
+wow-wow-col1-value-293 wow-wow-col1-value-793
+wow-wow-col1-value-293 wow-wow-col1-value-93
+wow-wow-col1-value-294 wow-wow-col1-value-194
+wow-wow-col1-value-294 wow-wow-col1-value-294
+wow-wow-col1-value-294 wow-wow-col1-value-394
+wow-wow-col1-value-294 wow-wow-col1-value-494
+wow-wow-col1-value-294 wow-wow-col1-value-594
+wow-wow-col1-value-294 wow-wow-col1-value-694
+wow-wow-col1-value-294 wow-wow-col1-value-794
+wow-wow-col1-value-294 wow-wow-col1-value-94
+wow-wow-col1-value-295 wow-wow-col1-value-195
+wow-wow-col1-value-295 wow-wow-col1-value-295
+wow-wow-col1-value-295 wow-wow-col1-value-395
+wow-wow-col1-value-295 wow-wow-col1-value-495
+wow-wow-col1-value-295 wow-wow-col1-value-595
+wow-wow-col1-value-295 wow-wow-col1-value-695
+wow-wow-col1-value-295 wow-wow-col1-value-795
+wow-wow-col1-value-295 wow-wow-col1-value-95
+wow-wow-col1-value-296 wow-wow-col1-value-196
+wow-wow-col1-value-296 wow-wow-col1-value-296
+wow-wow-col1-value-296 wow-wow-col1-value-396
+wow-wow-col1-value-296 wow-wow-col1-value-496
+wow-wow-col1-value-296 wow-wow-col1-value-596
+wow-wow-col1-value-296 wow-wow-col1-value-696
+wow-wow-col1-value-296 wow-wow-col1-value-796
+wow-wow-col1-value-296 wow-wow-col1-value-96
+wow-wow-col1-value-297 wow-wow-col1-value-197
+wow-wow-col1-value-297 wow-wow-col1-value-297
+wow-wow-col1-value-297 wow-wow-col1-value-397
+wow-wow-col1-value-297 wow-wow-col1-value-497
+wow-wow-col1-value-297 wow-wow-col1-value-597
+wow-wow-col1-value-297 wow-wow-col1-value-697
+wow-wow-col1-value-297 wow-wow-col1-value-797
+wow-wow-col1-value-297 wow-wow-col1-value-97
+wow-wow-col1-value-298 wow-wow-col1-value-198
+wow-wow-col1-value-298 wow-wow-col1-value-298
+wow-wow-col1-value-298 wow-wow-col1-value-398
+wow-wow-col1-value-298 wow-wow-col1-value-498
+wow-wow-col1-value-298 wow-wow-col1-value-598
+wow-wow-col1-value-298 wow-wow-col1-value-698
+wow-wow-col1-value-298 wow-wow-col1-value-798
+wow-wow-col1-value-298 wow-wow-col1-value-98
+wow-wow-col1-value-299 wow-wow-col1-value-199
+wow-wow-col1-value-299 wow-wow-col1-value-299
+wow-wow-col1-value-299 wow-wow-col1-value-399
+wow-wow-col1-value-299 wow-wow-col1-value-499
+wow-wow-col1-value-299 wow-wow-col1-value-599
+wow-wow-col1-value-299 wow-wow-col1-value-699
+wow-wow-col1-value-299 wow-wow-col1-value-799
+wow-wow-col1-value-299 wow-wow-col1-value-99
+wow-wow-col1-value-3 wow-wow-col1-value-103
+wow-wow-col1-value-3 wow-wow-col1-value-203
+wow-wow-col1-value-3 wow-wow-col1-value-3
+wow-wow-col1-value-3 wow-wow-col1-value-303
+wow-wow-col1-value-3 wow-wow-col1-value-403
+wow-wow-col1-value-3 wow-wow-col1-value-503
+wow-wow-col1-value-3 wow-wow-col1-value-603
+wow-wow-col1-value-3 wow-wow-col1-value-703
+wow-wow-col1-value-30 wow-wow-col1-value-130
+wow-wow-col1-value-30 wow-wow-col1-value-230
+wow-wow-col1-value-30 wow-wow-col1-value-30
+wow-wow-col1-value-30 wow-wow-col1-value-330
+wow-wow-col1-value-30 wow-wow-col1-value-430
+wow-wow-col1-value-30 wow-wow-col1-value-530
+wow-wow-col1-value-30 wow-wow-col1-value-630
+wow-wow-col1-value-30 wow-wow-col1-value-730
+wow-wow-col1-value-300 wow-wow-col1-value-0
+wow-wow-col1-value-300 wow-wow-col1-value-100
+wow-wow-col1-value-300 wow-wow-col1-value-200
+wow-wow-col1-value-300 wow-wow-col1-value-300
+wow-wow-col1-value-300 wow-wow-col1-value-400
+wow-wow-col1-value-300 wow-wow-col1-value-500
+wow-wow-col1-value-300 wow-wow-col1-value-600
+wow-wow-col1-value-300 wow-wow-col1-value-700
+wow-wow-col1-value-301 wow-wow-col1-value-1
+wow-wow-col1-value-301 wow-wow-col1-value-101
+wow-wow-col1-value-301 wow-wow-col1-value-201
+wow-wow-col1-value-301 wow-wow-col1-value-301
+wow-wow-col1-value-301 wow-wow-col1-value-401
+wow-wow-col1-value-301 wow-wow-col1-value-501
+wow-wow-col1-value-301 wow-wow-col1-value-601
+wow-wow-col1-value-301 wow-wow-col1-value-701
+wow-wow-col1-value-302 wow-wow-col1-value-102
+wow-wow-col1-value-302 wow-wow-col1-value-2
+wow-wow-col1-value-302 wow-wow-col1-value-202
+wow-wow-col1-value-302 wow-wow-col1-value-302
+wow-wow-col1-value-302 wow-wow-col1-value-402
+wow-wow-col1-value-302 wow-wow-col1-value-502
+wow-wow-col1-value-302 wow-wow-col1-value-602
+wow-wow-col1-value-302 wow-wow-col1-value-702
+wow-wow-col1-value-303 wow-wow-col1-value-103
+wow-wow-col1-value-303 wow-wow-col1-value-203
+wow-wow-col1-value-303 wow-wow-col1-value-3
+wow-wow-col1-value-303 wow-wow-col1-value-303
+wow-wow-col1-value-303 wow-wow-col1-value-403
+wow-wow-col1-value-303 wow-wow-col1-value-503
+wow-wow-col1-value-303 wow-wow-col1-value-603
+wow-wow-col1-value-303 wow-wow-col1-value-703
+wow-wow-col1-value-304 wow-wow-col1-value-104
+wow-wow-col1-value-304 wow-wow-col1-value-204
+wow-wow-col1-value-304 wow-wow-col1-value-304
+wow-wow-col1-value-304 wow-wow-col1-value-4
+wow-wow-col1-value-304 wow-wow-col1-value-404
+wow-wow-col1-value-304 wow-wow-col1-value-504
+wow-wow-col1-value-304 wow-wow-col1-value-604
+wow-wow-col1-value-304 wow-wow-col1-value-704
+wow-wow-col1-value-305 wow-wow-col1-value-105
+wow-wow-col1-value-305 wow-wow-col1-value-205
+wow-wow-col1-value-305 wow-wow-col1-value-305
+wow-wow-col1-value-305 wow-wow-col1-value-405
+wow-wow-col1-value-305 wow-wow-col1-value-5
+wow-wow-col1-value-305 wow-wow-col1-value-505
+wow-wow-col1-value-305 wow-wow-col1-value-605
+wow-wow-col1-value-305 wow-wow-col1-value-705
+wow-wow-col1-value-306 wow-wow-col1-value-106
+wow-wow-col1-value-306 wow-wow-col1-value-206
+wow-wow-col1-value-306 wow-wow-col1-value-306
+wow-wow-col1-value-306 wow-wow-col1-value-406
+wow-wow-col1-value-306 wow-wow-col1-value-506
+wow-wow-col1-value-306 wow-wow-col1-value-6
+wow-wow-col1-value-306 wow-wow-col1-value-606
+wow-wow-col1-value-306 wow-wow-col1-value-706
+wow-wow-col1-value-307 wow-wow-col1-value-107
+wow-wow-col1-value-307 wow-wow-col1-value-207
+wow-wow-col1-value-307 wow-wow-col1-value-307
+wow-wow-col1-value-307 wow-wow-col1-value-407
+wow-wow-col1-value-307 wow-wow-col1-value-507
+wow-wow-col1-value-307 wow-wow-col1-value-607
+wow-wow-col1-value-307 wow-wow-col1-value-7
+wow-wow-col1-value-307 wow-wow-col1-value-707
+wow-wow-col1-value-308 wow-wow-col1-value-108
+wow-wow-col1-value-308 wow-wow-col1-value-208
+wow-wow-col1-value-308 wow-wow-col1-value-308
+wow-wow-col1-value-308 wow-wow-col1-value-408
+wow-wow-col1-value-308 wow-wow-col1-value-508
+wow-wow-col1-value-308 wow-wow-col1-value-608
+wow-wow-col1-value-308 wow-wow-col1-value-708
+wow-wow-col1-value-308 wow-wow-col1-value-8
+wow-wow-col1-value-309 wow-wow-col1-value-109
+wow-wow-col1-value-309 wow-wow-col1-value-209
+wow-wow-col1-value-309 wow-wow-col1-value-309
+wow-wow-col1-value-309 wow-wow-col1-value-409
+wow-wow-col1-value-309 wow-wow-col1-value-509
+wow-wow-col1-value-309 wow-wow-col1-value-609
+wow-wow-col1-value-309 wow-wow-col1-value-709
+wow-wow-col1-value-309 wow-wow-col1-value-9
+wow-wow-col1-value-31 wow-wow-col1-value-131
+wow-wow-col1-value-31 wow-wow-col1-value-231
+wow-wow-col1-value-31 wow-wow-col1-value-31
+wow-wow-col1-value-31 wow-wow-col1-value-331
+wow-wow-col1-value-31 wow-wow-col1-value-431
+wow-wow-col1-value-31 wow-wow-col1-value-531
+wow-wow-col1-value-31 wow-wow-col1-value-631
+wow-wow-col1-value-31 wow-wow-col1-value-731
+wow-wow-col1-value-310 wow-wow-col1-value-10
+wow-wow-col1-value-310 wow-wow-col1-value-110
+wow-wow-col1-value-310 wow-wow-col1-value-210
+wow-wow-col1-value-310 wow-wow-col1-value-310
+wow-wow-col1-value-310 wow-wow-col1-value-410
+wow-wow-col1-value-310 wow-wow-col1-value-510
+wow-wow-col1-value-310 wow-wow-col1-value-610
+wow-wow-col1-value-310 wow-wow-col1-value-710
+wow-wow-col1-value-311 wow-wow-col1-value-11
+wow-wow-col1-value-311 wow-wow-col1-value-111
+wow-wow-col1-value-311 wow-wow-col1-value-211
+wow-wow-col1-value-311 wow-wow-col1-value-311
+wow-wow-col1-value-311 wow-wow-col1-value-411
+wow-wow-col1-value-311 wow-wow-col1-value-511
+wow-wow-col1-value-311 wow-wow-col1-value-611
+wow-wow-col1-value-311 wow-wow-col1-value-711
+wow-wow-col1-value-312 wow-wow-col1-value-112
+wow-wow-col1-value-312 wow-wow-col1-value-12
+wow-wow-col1-value-312 wow-wow-col1-value-212
+wow-wow-col1-value-312 wow-wow-col1-value-312
+wow-wow-col1-value-312 wow-wow-col1-value-412
+wow-wow-col1-value-312 wow-wow-col1-value-512
+wow-wow-col1-value-312 wow-wow-col1-value-612
+wow-wow-col1-value-312 wow-wow-col1-value-712
+wow-wow-col1-value-313 wow-wow-col1-value-113
+wow-wow-col1-value-313 wow-wow-col1-value-13
+wow-wow-col1-value-313 wow-wow-col1-value-213
+wow-wow-col1-value-313 wow-wow-col1-value-313
+wow-wow-col1-value-313 wow-wow-col1-value-413
+wow-wow-col1-value-313 wow-wow-col1-value-513
+wow-wow-col1-value-313 wow-wow-col1-value-613
+wow-wow-col1-value-313 wow-wow-col1-value-713
+wow-wow-col1-value-314 wow-wow-col1-value-114
+wow-wow-col1-value-314 wow-wow-col1-value-14
+wow-wow-col1-value-314 wow-wow-col1-value-214
+wow-wow-col1-value-314 wow-wow-col1-value-314
+wow-wow-col1-value-314 wow-wow-col1-value-414
+wow-wow-col1-value-314 wow-wow-col1-value-514
+wow-wow-col1-value-314 wow-wow-col1-value-614
+wow-wow-col1-value-314 wow-wow-col1-value-714
+wow-wow-col1-value-315 wow-wow-col1-value-115
+wow-wow-col1-value-315 wow-wow-col1-value-15
+wow-wow-col1-value-315 wow-wow-col1-value-215
+wow-wow-col1-value-315 wow-wow-col1-value-315
+wow-wow-col1-value-315 wow-wow-col1-value-415
+wow-wow-col1-value-315 wow-wow-col1-value-515
+wow-wow-col1-value-315 wow-wow-col1-value-615
+wow-wow-col1-value-315 wow-wow-col1-value-715
+wow-wow-col1-value-316 wow-wow-col1-value-116
+wow-wow-col1-value-316 wow-wow-col1-value-16
+wow-wow-col1-value-316 wow-wow-col1-value-216
+wow-wow-col1-value-316 wow-wow-col1-value-316
+wow-wow-col1-value-316 wow-wow-col1-value-416
+wow-wow-col1-value-316 wow-wow-col1-value-516
+wow-wow-col1-value-316 wow-wow-col1-value-616
+wow-wow-col1-value-316 wow-wow-col1-value-716
+wow-wow-col1-value-317 wow-wow-col1-value-117
+wow-wow-col1-value-317 wow-wow-col1-value-17
+wow-wow-col1-value-317 wow-wow-col1-value-217
+wow-wow-col1-value-317 wow-wow-col1-value-317
+wow-wow-col1-value-317 wow-wow-col1-value-417
+wow-wow-col1-value-317 wow-wow-col1-value-517
+wow-wow-col1-value-317 wow-wow-col1-value-617
+wow-wow-col1-value-317 wow-wow-col1-value-717
+wow-wow-col1-value-318 wow-wow-col1-value-118
+wow-wow-col1-value-318 wow-wow-col1-value-18
+wow-wow-col1-value-318 wow-wow-col1-value-218
+wow-wow-col1-value-318 wow-wow-col1-value-318
+wow-wow-col1-value-318 wow-wow-col1-value-418
+wow-wow-col1-value-318 wow-wow-col1-value-518
+wow-wow-col1-value-318 wow-wow-col1-value-618
+wow-wow-col1-value-318 wow-wow-col1-value-718
+wow-wow-col1-value-319 wow-wow-col1-value-119
+wow-wow-col1-value-319 wow-wow-col1-value-19
+wow-wow-col1-value-319 wow-wow-col1-value-219
+wow-wow-col1-value-319 wow-wow-col1-value-319
+wow-wow-col1-value-319 wow-wow-col1-value-419
+wow-wow-col1-value-319 wow-wow-col1-value-519
+wow-wow-col1-value-319 wow-wow-col1-value-619
+wow-wow-col1-value-319 wow-wow-col1-value-719
+wow-wow-col1-value-32 wow-wow-col1-value-132
+wow-wow-col1-value-32 wow-wow-col1-value-232
+wow-wow-col1-value-32 wow-wow-col1-value-32
+wow-wow-col1-value-32 wow-wow-col1-value-332
+wow-wow-col1-value-32 wow-wow-col1-value-432
+wow-wow-col1-value-32 wow-wow-col1-value-532
+wow-wow-col1-value-32 wow-wow-col1-value-632
+wow-wow-col1-value-32 wow-wow-col1-value-732
+wow-wow-col1-value-320 wow-wow-col1-value-120
+wow-wow-col1-value-320 wow-wow-col1-value-20
+wow-wow-col1-value-320 wow-wow-col1-value-220
+wow-wow-col1-value-320 wow-wow-col1-value-320
+wow-wow-col1-value-320 wow-wow-col1-value-420
+wow-wow-col1-value-320 wow-wow-col1-value-520
+wow-wow-col1-value-320 wow-wow-col1-value-620
+wow-wow-col1-value-320 wow-wow-col1-value-720
+wow-wow-col1-value-321 wow-wow-col1-value-121
+wow-wow-col1-value-321 wow-wow-col1-value-21
+wow-wow-col1-value-321 wow-wow-col1-value-221
+wow-wow-col1-value-321 wow-wow-col1-value-321
+wow-wow-col1-value-321 wow-wow-col1-value-421
+wow-wow-col1-value-321 wow-wow-col1-value-521
+wow-wow-col1-value-321 wow-wow-col1-value-621
+wow-wow-col1-value-321 wow-wow-col1-value-721
+wow-wow-col1-value-322 wow-wow-col1-value-122
+wow-wow-col1-value-322 wow-wow-col1-value-22
+wow-wow-col1-value-322 wow-wow-col1-value-222
+wow-wow-col1-value-322 wow-wow-col1-value-322
+wow-wow-col1-value-322 wow-wow-col1-value-422
+wow-wow-col1-value-322 wow-wow-col1-value-522
+wow-wow-col1-value-322 wow-wow-col1-value-622
+wow-wow-col1-value-322 wow-wow-col1-value-722
+wow-wow-col1-value-323 wow-wow-col1-value-123
+wow-wow-col1-value-323 wow-wow-col1-value-223
+wow-wow-col1-value-323 wow-wow-col1-value-23
+wow-wow-col1-value-323 wow-wow-col1-value-323
+wow-wow-col1-value-323 wow-wow-col1-value-423
+wow-wow-col1-value-323 wow-wow-col1-value-523
+wow-wow-col1-value-323 wow-wow-col1-value-623
+wow-wow-col1-value-323 wow-wow-col1-value-723
+wow-wow-col1-value-324 wow-wow-col1-value-124
+wow-wow-col1-value-324 wow-wow-col1-value-224
+wow-wow-col1-value-324 wow-wow-col1-value-24
+wow-wow-col1-value-324 wow-wow-col1-value-324
+wow-wow-col1-value-324 wow-wow-col1-value-424
+wow-wow-col1-value-324 wow-wow-col1-value-524
+wow-wow-col1-value-324 wow-wow-col1-value-624
+wow-wow-col1-value-324 wow-wow-col1-value-724
+wow-wow-col1-value-325 wow-wow-col1-value-125
+wow-wow-col1-value-325 wow-wow-col1-value-225
+wow-wow-col1-value-325 wow-wow-col1-value-25
+wow-wow-col1-value-325 wow-wow-col1-value-325
+wow-wow-col1-value-325 wow-wow-col1-value-425
+wow-wow-col1-value-325 wow-wow-col1-value-525
+wow-wow-col1-value-325 wow-wow-col1-value-625
+wow-wow-col1-value-325 wow-wow-col1-value-725
+wow-wow-col1-value-326 wow-wow-col1-value-126
+wow-wow-col1-value-326 wow-wow-col1-value-226
+wow-wow-col1-value-326 wow-wow-col1-value-26
+wow-wow-col1-value-326 wow-wow-col1-value-326
+wow-wow-col1-value-326 wow-wow-col1-value-426
+wow-wow-col1-value-326 wow-wow-col1-value-526
+wow-wow-col1-value-326 wow-wow-col1-value-626
+wow-wow-col1-value-326 wow-wow-col1-value-726
+wow-wow-col1-value-327 wow-wow-col1-value-127
+wow-wow-col1-value-327 wow-wow-col1-value-227
+wow-wow-col1-value-327 wow-wow-col1-value-27
+wow-wow-col1-value-327 wow-wow-col1-value-327
+wow-wow-col1-value-327 wow-wow-col1-value-427
+wow-wow-col1-value-327 wow-wow-col1-value-527
+wow-wow-col1-value-327 wow-wow-col1-value-627
+wow-wow-col1-value-327 wow-wow-col1-value-727
+wow-wow-col1-value-328 wow-wow-col1-value-128
+wow-wow-col1-value-328 wow-wow-col1-value-228
+wow-wow-col1-value-328 wow-wow-col1-value-28
+wow-wow-col1-value-328 wow-wow-col1-value-328
+wow-wow-col1-value-328 wow-wow-col1-value-428
+wow-wow-col1-value-328 wow-wow-col1-value-528
+wow-wow-col1-value-328 wow-wow-col1-value-628
+wow-wow-col1-value-328 wow-wow-col1-value-728
+wow-wow-col1-value-329 wow-wow-col1-value-129
+wow-wow-col1-value-329 wow-wow-col1-value-229
+wow-wow-col1-value-329 wow-wow-col1-value-29
+wow-wow-col1-value-329 wow-wow-col1-value-329
+wow-wow-col1-value-329 wow-wow-col1-value-429
+wow-wow-col1-value-329 wow-wow-col1-value-529
+wow-wow-col1-value-329 wow-wow-col1-value-629
+wow-wow-col1-value-329 wow-wow-col1-value-729
+wow-wow-col1-value-33 wow-wow-col1-value-133
+wow-wow-col1-value-33 wow-wow-col1-value-233
+wow-wow-col1-value-33 wow-wow-col1-value-33
+wow-wow-col1-value-33 wow-wow-col1-value-333
+wow-wow-col1-value-33 wow-wow-col1-value-433
+wow-wow-col1-value-33 wow-wow-col1-value-533
+wow-wow-col1-value-33 wow-wow-col1-value-633
+wow-wow-col1-value-33 wow-wow-col1-value-733
+wow-wow-col1-value-330 wow-wow-col1-value-130
+wow-wow-col1-value-330 wow-wow-col1-value-230
+wow-wow-col1-value-330 wow-wow-col1-value-30
+wow-wow-col1-value-330 wow-wow-col1-value-330
+wow-wow-col1-value-330 wow-wow-col1-value-430
+wow-wow-col1-value-330 wow-wow-col1-value-530
+wow-wow-col1-value-330 wow-wow-col1-value-630
+wow-wow-col1-value-330 wow-wow-col1-value-730
+wow-wow-col1-value-331 wow-wow-col1-value-131
+wow-wow-col1-value-331 wow-wow-col1-value-231
+wow-wow-col1-value-331 wow-wow-col1-value-31
+wow-wow-col1-value-331 wow-wow-col1-value-331
+wow-wow-col1-value-331 wow-wow-col1-value-431
+wow-wow-col1-value-331 wow-wow-col1-value-531
+wow-wow-col1-value-331 wow-wow-col1-value-631
+wow-wow-col1-value-331 wow-wow-col1-value-731
+wow-wow-col1-value-332 wow-wow-col1-value-132
+wow-wow-col1-value-332 wow-wow-col1-value-232
+wow-wow-col1-value-332 wow-wow-col1-value-32
+wow-wow-col1-value-332 wow-wow-col1-value-332
+wow-wow-col1-value-332 wow-wow-col1-value-432
+wow-wow-col1-value-332 wow-wow-col1-value-532
+wow-wow-col1-value-332 wow-wow-col1-value-632
+wow-wow-col1-value-332 wow-wow-col1-value-732
+wow-wow-col1-value-333 wow-wow-col1-value-133
+wow-wow-col1-value-333 wow-wow-col1-value-233
+wow-wow-col1-value-333 wow-wow-col1-value-33
+wow-wow-col1-value-333 wow-wow-col1-value-333
+wow-wow-col1-value-333 wow-wow-col1-value-433
+wow-wow-col1-value-333 wow-wow-col1-value-533
+wow-wow-col1-value-333 wow-wow-col1-value-633
+wow-wow-col1-value-333 wow-wow-col1-value-733
+wow-wow-col1-value-334 wow-wow-col1-value-134
+wow-wow-col1-value-334 wow-wow-col1-value-234
+wow-wow-col1-value-334 wow-wow-col1-value-334
+wow-wow-col1-value-334 wow-wow-col1-value-34
+wow-wow-col1-value-334 wow-wow-col1-value-434
+wow-wow-col1-value-334 wow-wow-col1-value-534
+wow-wow-col1-value-334 wow-wow-col1-value-634
+wow-wow-col1-value-334 wow-wow-col1-value-734
+wow-wow-col1-value-335 wow-wow-col1-value-135
+wow-wow-col1-value-335 wow-wow-col1-value-235
+wow-wow-col1-value-335 wow-wow-col1-value-335
+wow-wow-col1-value-335 wow-wow-col1-value-35
+wow-wow-col1-value-335 wow-wow-col1-value-435
+wow-wow-col1-value-335 wow-wow-col1-value-535
+wow-wow-col1-value-335 wow-wow-col1-value-635
+wow-wow-col1-value-335 wow-wow-col1-value-735
+wow-wow-col1-value-336 wow-wow-col1-value-136
+wow-wow-col1-value-336 wow-wow-col1-value-236
+wow-wow-col1-value-336 wow-wow-col1-value-336
+wow-wow-col1-value-336 wow-wow-col1-value-36
+wow-wow-col1-value-336 wow-wow-col1-value-436
+wow-wow-col1-value-336 wow-wow-col1-value-536
+wow-wow-col1-value-336 wow-wow-col1-value-636
+wow-wow-col1-value-336 wow-wow-col1-value-736
+wow-wow-col1-value-337 wow-wow-col1-value-137
+wow-wow-col1-value-337 wow-wow-col1-value-237
+wow-wow-col1-value-337 wow-wow-col1-value-337
+wow-wow-col1-value-337 wow-wow-col1-value-37
+wow-wow-col1-value-337 wow-wow-col1-value-437
+wow-wow-col1-value-337 wow-wow-col1-value-537
+wow-wow-col1-value-337 wow-wow-col1-value-637
+wow-wow-col1-value-337 wow-wow-col1-value-737
+wow-wow-col1-value-338 wow-wow-col1-value-138
+wow-wow-col1-value-338 wow-wow-col1-value-238
+wow-wow-col1-value-338 wow-wow-col1-value-338
+wow-wow-col1-value-338 wow-wow-col1-value-38
+wow-wow-col1-value-338 wow-wow-col1-value-438
+wow-wow-col1-value-338 wow-wow-col1-value-538
+wow-wow-col1-value-338 wow-wow-col1-value-638
+wow-wow-col1-value-338 wow-wow-col1-value-738
+wow-wow-col1-value-339 wow-wow-col1-value-139
+wow-wow-col1-value-339 wow-wow-col1-value-239
+wow-wow-col1-value-339 wow-wow-col1-value-339
+wow-wow-col1-value-339 wow-wow-col1-value-39
+wow-wow-col1-value-339 wow-wow-col1-value-439
+wow-wow-col1-value-339 wow-wow-col1-value-539
+wow-wow-col1-value-339 wow-wow-col1-value-639
+wow-wow-col1-value-339 wow-wow-col1-value-739
+wow-wow-col1-value-34 wow-wow-col1-value-134
+wow-wow-col1-value-34 wow-wow-col1-value-234
+wow-wow-col1-value-34 wow-wow-col1-value-334
+wow-wow-col1-value-34 wow-wow-col1-value-34
+wow-wow-col1-value-34 wow-wow-col1-value-434
+wow-wow-col1-value-34 wow-wow-col1-value-534
+wow-wow-col1-value-34 wow-wow-col1-value-634
+wow-wow-col1-value-34 wow-wow-col1-value-734
+wow-wow-col1-value-340 wow-wow-col1-value-140
+wow-wow-col1-value-340 wow-wow-col1-value-240
+wow-wow-col1-value-340 wow-wow-col1-value-340
+wow-wow-col1-value-340 wow-wow-col1-value-40
+wow-wow-col1-value-340 wow-wow-col1-value-440
+wow-wow-col1-value-340 wow-wow-col1-value-540
+wow-wow-col1-value-340 wow-wow-col1-value-640
+wow-wow-col1-value-340 wow-wow-col1-value-740
+wow-wow-col1-value-341 wow-wow-col1-value-141
+wow-wow-col1-value-341 wow-wow-col1-value-241
+wow-wow-col1-value-341 wow-wow-col1-value-341
+wow-wow-col1-value-341 wow-wow-col1-value-41
+wow-wow-col1-value-341 wow-wow-col1-value-441
+wow-wow-col1-value-341 wow-wow-col1-value-541
+wow-wow-col1-value-341 wow-wow-col1-value-641
+wow-wow-col1-value-341 wow-wow-col1-value-741
+wow-wow-col1-value-342 wow-wow-col1-value-142
+wow-wow-col1-value-342 wow-wow-col1-value-242
+wow-wow-col1-value-342 wow-wow-col1-value-342
+wow-wow-col1-value-342 wow-wow-col1-value-42
+wow-wow-col1-value-342 wow-wow-col1-value-442
+wow-wow-col1-value-342 wow-wow-col1-value-542
+wow-wow-col1-value-342 wow-wow-col1-value-642
+wow-wow-col1-value-342 wow-wow-col1-value-742
+wow-wow-col1-value-343 wow-wow-col1-value-143
+wow-wow-col1-value-343 wow-wow-col1-value-243
+wow-wow-col1-value-343 wow-wow-col1-value-343
+wow-wow-col1-value-343 wow-wow-col1-value-43
+wow-wow-col1-value-343 wow-wow-col1-value-443
+wow-wow-col1-value-343 wow-wow-col1-value-543
+wow-wow-col1-value-343 wow-wow-col1-value-643
+wow-wow-col1-value-343 wow-wow-col1-value-743
+wow-wow-col1-value-344 wow-wow-col1-value-144
+wow-wow-col1-value-344 wow-wow-col1-value-244
+wow-wow-col1-value-344 wow-wow-col1-value-344
+wow-wow-col1-value-344 wow-wow-col1-value-44
+wow-wow-col1-value-344 wow-wow-col1-value-444
+wow-wow-col1-value-344 wow-wow-col1-value-544
+wow-wow-col1-value-344 wow-wow-col1-value-644
+wow-wow-col1-value-344 wow-wow-col1-value-744
+wow-wow-col1-value-345 wow-wow-col1-value-145
+wow-wow-col1-value-345 wow-wow-col1-value-245
+wow-wow-col1-value-345 wow-wow-col1-value-345
+wow-wow-col1-value-345 wow-wow-col1-value-445
+wow-wow-col1-value-345 wow-wow-col1-value-45
+wow-wow-col1-value-345 wow-wow-col1-value-545
+wow-wow-col1-value-345 wow-wow-col1-value-645
+wow-wow-col1-value-345 wow-wow-col1-value-745
+wow-wow-col1-value-346 wow-wow-col1-value-146
+wow-wow-col1-value-346 wow-wow-col1-value-246
+wow-wow-col1-value-346 wow-wow-col1-value-346
+wow-wow-col1-value-346 wow-wow-col1-value-446
+wow-wow-col1-value-346 wow-wow-col1-value-46
+wow-wow-col1-value-346 wow-wow-col1-value-546
+wow-wow-col1-value-346 wow-wow-col1-value-646
+wow-wow-col1-value-346 wow-wow-col1-value-746
+wow-wow-col1-value-347 wow-wow-col1-value-147
+wow-wow-col1-value-347 wow-wow-col1-value-247
+wow-wow-col1-value-347 wow-wow-col1-value-347
+wow-wow-col1-value-347 wow-wow-col1-value-447
+wow-wow-col1-value-347 wow-wow-col1-value-47
+wow-wow-col1-value-347 wow-wow-col1-value-547
+wow-wow-col1-value-347 wow-wow-col1-value-647
+wow-wow-col1-value-347 wow-wow-col1-value-747
+wow-wow-col1-value-348 wow-wow-col1-value-148
+wow-wow-col1-value-348 wow-wow-col1-value-248
+wow-wow-col1-value-348 wow-wow-col1-value-348
+wow-wow-col1-value-348 wow-wow-col1-value-448
+wow-wow-col1-value-348 wow-wow-col1-value-48
+wow-wow-col1-value-348 wow-wow-col1-value-548
+wow-wow-col1-value-348 wow-wow-col1-value-648
+wow-wow-col1-value-348 wow-wow-col1-value-748
+wow-wow-col1-value-349 wow-wow-col1-value-149
+wow-wow-col1-value-349 wow-wow-col1-value-249
+wow-wow-col1-value-349 wow-wow-col1-value-349
+wow-wow-col1-value-349 wow-wow-col1-value-449
+wow-wow-col1-value-349 wow-wow-col1-value-49
+wow-wow-col1-value-349 wow-wow-col1-value-549
+wow-wow-col1-value-349 wow-wow-col1-value-649
+wow-wow-col1-value-349 wow-wow-col1-value-749
+wow-wow-col1-value-35 wow-wow-col1-value-135
+wow-wow-col1-value-35 wow-wow-col1-value-235
+wow-wow-col1-value-35 wow-wow-col1-value-335
+wow-wow-col1-value-35 wow-wow-col1-value-35
+wow-wow-col1-value-35 wow-wow-col1-value-435
+wow-wow-col1-value-35 wow-wow-col1-value-535
+wow-wow-col1-value-35 wow-wow-col1-value-635
+wow-wow-col1-value-35 wow-wow-col1-value-735
+wow-wow-col1-value-350 wow-wow-col1-value-150
+wow-wow-col1-value-350 wow-wow-col1-value-250
+wow-wow-col1-value-350 wow-wow-col1-value-350
+wow-wow-col1-value-350 wow-wow-col1-value-450
+wow-wow-col1-value-350 wow-wow-col1-value-50
+wow-wow-col1-value-350 wow-wow-col1-value-550
+wow-wow-col1-value-350 wow-wow-col1-value-650
+wow-wow-col1-value-350 wow-wow-col1-value-750
+wow-wow-col1-value-351 wow-wow-col1-value-151
+wow-wow-col1-value-351 wow-wow-col1-value-251
+wow-wow-col1-value-351 wow-wow-col1-value-351
+wow-wow-col1-value-351 wow-wow-col1-value-451
+wow-wow-col1-value-351 wow-wow-col1-value-51
+wow-wow-col1-value-351 wow-wow-col1-value-551
+wow-wow-col1-value-351 wow-wow-col1-value-651
+wow-wow-col1-value-351 wow-wow-col1-value-751
+wow-wow-col1-value-352 wow-wow-col1-value-152
+wow-wow-col1-value-352 wow-wow-col1-value-252
+wow-wow-col1-value-352 wow-wow-col1-value-352
+wow-wow-col1-value-352 wow-wow-col1-value-452
+wow-wow-col1-value-352 wow-wow-col1-value-52
+wow-wow-col1-value-352 wow-wow-col1-value-552
+wow-wow-col1-value-352 wow-wow-col1-value-652
+wow-wow-col1-value-352 wow-wow-col1-value-752
+wow-wow-col1-value-353 wow-wow-col1-value-153
+wow-wow-col1-value-353 wow-wow-col1-value-253
+wow-wow-col1-value-353 wow-wow-col1-value-353
+wow-wow-col1-value-353 wow-wow-col1-value-453
+wow-wow-col1-value-353 wow-wow-col1-value-53
+wow-wow-col1-value-353 wow-wow-col1-value-553
+wow-wow-col1-value-353 wow-wow-col1-value-653
+wow-wow-col1-value-353 wow-wow-col1-value-753
+wow-wow-col1-value-354 wow-wow-col1-value-154
+wow-wow-col1-value-354 wow-wow-col1-value-254
+wow-wow-col1-value-354 wow-wow-col1-value-354
+wow-wow-col1-value-354 wow-wow-col1-value-454
+wow-wow-col1-value-354 wow-wow-col1-value-54
+wow-wow-col1-value-354 wow-wow-col1-value-554
+wow-wow-col1-value-354 wow-wow-col1-value-654
+wow-wow-col1-value-354 wow-wow-col1-value-754
+wow-wow-col1-value-355 wow-wow-col1-value-155
+wow-wow-col1-value-355 wow-wow-col1-value-255
+wow-wow-col1-value-355 wow-wow-col1-value-355
+wow-wow-col1-value-355 wow-wow-col1-value-455
+wow-wow-col1-value-355 wow-wow-col1-value-55
+wow-wow-col1-value-355 wow-wow-col1-value-555
+wow-wow-col1-value-355 wow-wow-col1-value-655
+wow-wow-col1-value-355 wow-wow-col1-value-755
+wow-wow-col1-value-356 wow-wow-col1-value-156
+wow-wow-col1-value-356 wow-wow-col1-value-256
+wow-wow-col1-value-356 wow-wow-col1-value-356
+wow-wow-col1-value-356 wow-wow-col1-value-456
+wow-wow-col1-value-356 wow-wow-col1-value-556
+wow-wow-col1-value-356 wow-wow-col1-value-56
+wow-wow-col1-value-356 wow-wow-col1-value-656
+wow-wow-col1-value-356 wow-wow-col1-value-756
+wow-wow-col1-value-357 wow-wow-col1-value-157
+wow-wow-col1-value-357 wow-wow-col1-value-257
+wow-wow-col1-value-357 wow-wow-col1-value-357
+wow-wow-col1-value-357 wow-wow-col1-value-457
+wow-wow-col1-value-357 wow-wow-col1-value-557
+wow-wow-col1-value-357 wow-wow-col1-value-57
+wow-wow-col1-value-357 wow-wow-col1-value-657
+wow-wow-col1-value-357 wow-wow-col1-value-757
+wow-wow-col1-value-358 wow-wow-col1-value-158
+wow-wow-col1-value-358 wow-wow-col1-value-258
+wow-wow-col1-value-358 wow-wow-col1-value-358
+wow-wow-col1-value-358 wow-wow-col1-value-458
+wow-wow-col1-value-358 wow-wow-col1-value-558
+wow-wow-col1-value-358 wow-wow-col1-value-58
+wow-wow-col1-value-358 wow-wow-col1-value-658
+wow-wow-col1-value-358 wow-wow-col1-value-758
+wow-wow-col1-value-359 wow-wow-col1-value-159
+wow-wow-col1-value-359 wow-wow-col1-value-259
+wow-wow-col1-value-359 wow-wow-col1-value-359
+wow-wow-col1-value-359 wow-wow-col1-value-459
+wow-wow-col1-value-359 wow-wow-col1-value-559
+wow-wow-col1-value-359 wow-wow-col1-value-59
+wow-wow-col1-value-359 wow-wow-col1-value-659
+wow-wow-col1-value-359 wow-wow-col1-value-759
+wow-wow-col1-value-36 wow-wow-col1-value-136
+wow-wow-col1-value-36 wow-wow-col1-value-236
+wow-wow-col1-value-36 wow-wow-col1-value-336
+wow-wow-col1-value-36 wow-wow-col1-value-36
+wow-wow-col1-value-36 wow-wow-col1-value-436
+wow-wow-col1-value-36 wow-wow-col1-value-536
+wow-wow-col1-value-36 wow-wow-col1-value-636
+wow-wow-col1-value-36 wow-wow-col1-value-736
+wow-wow-col1-value-360 wow-wow-col1-value-160
+wow-wow-col1-value-360 wow-wow-col1-value-260
+wow-wow-col1-value-360 wow-wow-col1-value-360
+wow-wow-col1-value-360 wow-wow-col1-value-460
+wow-wow-col1-value-360 wow-wow-col1-value-560
+wow-wow-col1-value-360 wow-wow-col1-value-60
+wow-wow-col1-value-360 wow-wow-col1-value-660
+wow-wow-col1-value-360 wow-wow-col1-value-760
+wow-wow-col1-value-361 wow-wow-col1-value-161
+wow-wow-col1-value-361 wow-wow-col1-value-261
+wow-wow-col1-value-361 wow-wow-col1-value-361
+wow-wow-col1-value-361 wow-wow-col1-value-461
+wow-wow-col1-value-361 wow-wow-col1-value-561
+wow-wow-col1-value-361 wow-wow-col1-value-61
+wow-wow-col1-value-361 wow-wow-col1-value-661
+wow-wow-col1-value-361 wow-wow-col1-value-761
+wow-wow-col1-value-362 wow-wow-col1-value-162
+wow-wow-col1-value-362 wow-wow-col1-value-262
+wow-wow-col1-value-362 wow-wow-col1-value-362
+wow-wow-col1-value-362 wow-wow-col1-value-462
+wow-wow-col1-value-362 wow-wow-col1-value-562
+wow-wow-col1-value-362 wow-wow-col1-value-62
+wow-wow-col1-value-362 wow-wow-col1-value-662
+wow-wow-col1-value-362 wow-wow-col1-value-762
+wow-wow-col1-value-363 wow-wow-col1-value-163
+wow-wow-col1-value-363 wow-wow-col1-value-263
+wow-wow-col1-value-363 wow-wow-col1-value-363
+wow-wow-col1-value-363 wow-wow-col1-value-463
+wow-wow-col1-value-363 wow-wow-col1-value-563
+wow-wow-col1-value-363 wow-wow-col1-value-63
+wow-wow-col1-value-363 wow-wow-col1-value-663
+wow-wow-col1-value-363 wow-wow-col1-value-763
+wow-wow-col1-value-364 wow-wow-col1-value-164
+wow-wow-col1-value-364 wow-wow-col1-value-264
+wow-wow-col1-value-364 wow-wow-col1-value-364
+wow-wow-col1-value-364 wow-wow-col1-value-464
+wow-wow-col1-value-364 wow-wow-col1-value-564
+wow-wow-col1-value-364 wow-wow-col1-value-64
+wow-wow-col1-value-364 wow-wow-col1-value-664
+wow-wow-col1-value-364 wow-wow-col1-value-764
+wow-wow-col1-value-365 wow-wow-col1-value-165
+wow-wow-col1-value-365 wow-wow-col1-value-265
+wow-wow-col1-value-365 wow-wow-col1-value-365
+wow-wow-col1-value-365 wow-wow-col1-value-465
+wow-wow-col1-value-365 wow-wow-col1-value-565
+wow-wow-col1-value-365 wow-wow-col1-value-65
+wow-wow-col1-value-365 wow-wow-col1-value-665
+wow-wow-col1-value-365 wow-wow-col1-value-765
+wow-wow-col1-value-366 wow-wow-col1-value-166
+wow-wow-col1-value-366 wow-wow-col1-value-266
+wow-wow-col1-value-366 wow-wow-col1-value-366
+wow-wow-col1-value-366 wow-wow-col1-value-466
+wow-wow-col1-value-366 wow-wow-col1-value-566
+wow-wow-col1-value-366 wow-wow-col1-value-66
+wow-wow-col1-value-366 wow-wow-col1-value-666
+wow-wow-col1-value-366 wow-wow-col1-value-766
+wow-wow-col1-value-367 wow-wow-col1-value-167
+wow-wow-col1-value-367 wow-wow-col1-value-267
+wow-wow-col1-value-367 wow-wow-col1-value-367
+wow-wow-col1-value-367 wow-wow-col1-value-467
+wow-wow-col1-value-367 wow-wow-col1-value-567
+wow-wow-col1-value-367 wow-wow-col1-value-667
+wow-wow-col1-value-367 wow-wow-col1-value-67
+wow-wow-col1-value-367 wow-wow-col1-value-767
+wow-wow-col1-value-368 wow-wow-col1-value-168
+wow-wow-col1-value-368 wow-wow-col1-value-268
+wow-wow-col1-value-368 wow-wow-col1-value-368
+wow-wow-col1-value-368 wow-wow-col1-value-468
+wow-wow-col1-value-368 wow-wow-col1-value-568
+wow-wow-col1-value-368 wow-wow-col1-value-668
+wow-wow-col1-value-368 wow-wow-col1-value-68
+wow-wow-col1-value-368 wow-wow-col1-value-768
+wow-wow-col1-value-369 wow-wow-col1-value-169
+wow-wow-col1-value-369 wow-wow-col1-value-269
+wow-wow-col1-value-369 wow-wow-col1-value-369
+wow-wow-col1-value-369 wow-wow-col1-value-469
+wow-wow-col1-value-369 wow-wow-col1-value-569
+wow-wow-col1-value-369 wow-wow-col1-value-669
+wow-wow-col1-value-369 wow-wow-col1-value-69
+wow-wow-col1-value-369 wow-wow-col1-value-769
+wow-wow-col1-value-37 wow-wow-col1-value-137
+wow-wow-col1-value-37 wow-wow-col1-value-237
+wow-wow-col1-value-37 wow-wow-col1-value-337
+wow-wow-col1-value-37 wow-wow-col1-value-37
+wow-wow-col1-value-37 wow-wow-col1-value-437
+wow-wow-col1-value-37 wow-wow-col1-value-537
+wow-wow-col1-value-37 wow-wow-col1-value-637
+wow-wow-col1-value-37 wow-wow-col1-value-737
+wow-wow-col1-value-370 wow-wow-col1-value-170
+wow-wow-col1-value-370 wow-wow-col1-value-270
+wow-wow-col1-value-370 wow-wow-col1-value-370
+wow-wow-col1-value-370 wow-wow-col1-value-470
+wow-wow-col1-value-370 wow-wow-col1-value-570
+wow-wow-col1-value-370 wow-wow-col1-value-670
+wow-wow-col1-value-370 wow-wow-col1-value-70
+wow-wow-col1-value-370 wow-wow-col1-value-770
+wow-wow-col1-value-371 wow-wow-col1-value-171
+wow-wow-col1-value-371 wow-wow-col1-value-271
+wow-wow-col1-value-371 wow-wow-col1-value-371
+wow-wow-col1-value-371 wow-wow-col1-value-471
+wow-wow-col1-value-371 wow-wow-col1-value-571
+wow-wow-col1-value-371 wow-wow-col1-value-671
+wow-wow-col1-value-371 wow-wow-col1-value-71
+wow-wow-col1-value-371 wow-wow-col1-value-771
+wow-wow-col1-value-372 wow-wow-col1-value-172
+wow-wow-col1-value-372 wow-wow-col1-value-272
+wow-wow-col1-value-372 wow-wow-col1-value-372
+wow-wow-col1-value-372 wow-wow-col1-value-472
+wow-wow-col1-value-372 wow-wow-col1-value-572
+wow-wow-col1-value-372 wow-wow-col1-value-672
+wow-wow-col1-value-372 wow-wow-col1-value-72
+wow-wow-col1-value-372 wow-wow-col1-value-772
+wow-wow-col1-value-373 wow-wow-col1-value-173
+wow-wow-col1-value-373 wow-wow-col1-value-273
+wow-wow-col1-value-373 wow-wow-col1-value-373
+wow-wow-col1-value-373 wow-wow-col1-value-473
+wow-wow-col1-value-373 wow-wow-col1-value-573
+wow-wow-col1-value-373 wow-wow-col1-value-673
+wow-wow-col1-value-373 wow-wow-col1-value-73
+wow-wow-col1-value-373 wow-wow-col1-value-773
+wow-wow-col1-value-374 wow-wow-col1-value-174
+wow-wow-col1-value-374 wow-wow-col1-value-274
+wow-wow-col1-value-374 wow-wow-col1-value-374
+wow-wow-col1-value-374 wow-wow-col1-value-474
+wow-wow-col1-value-374 wow-wow-col1-value-574
+wow-wow-col1-value-374 wow-wow-col1-value-674
+wow-wow-col1-value-374 wow-wow-col1-value-74
+wow-wow-col1-value-374 wow-wow-col1-value-774
+wow-wow-col1-value-375 wow-wow-col1-value-175
+wow-wow-col1-value-375 wow-wow-col1-value-275
+wow-wow-col1-value-375 wow-wow-col1-value-375
+wow-wow-col1-value-375 wow-wow-col1-value-475
+wow-wow-col1-value-375 wow-wow-col1-value-575
+wow-wow-col1-value-375 wow-wow-col1-value-675
+wow-wow-col1-value-375 wow-wow-col1-value-75
+wow-wow-col1-value-375 wow-wow-col1-value-775
+wow-wow-col1-value-376 wow-wow-col1-value-176
+wow-wow-col1-value-376 wow-wow-col1-value-276
+wow-wow-col1-value-376 wow-wow-col1-value-376
+wow-wow-col1-value-376 wow-wow-col1-value-476
+wow-wow-col1-value-376 wow-wow-col1-value-576
+wow-wow-col1-value-376 wow-wow-col1-value-676
+wow-wow-col1-value-376 wow-wow-col1-value-76
+wow-wow-col1-value-376 wow-wow-col1-value-776
+wow-wow-col1-value-377 wow-wow-col1-value-177
+wow-wow-col1-value-377 wow-wow-col1-value-277
+wow-wow-col1-value-377 wow-wow-col1-value-377
+wow-wow-col1-value-377 wow-wow-col1-value-477
+wow-wow-col1-value-377 wow-wow-col1-value-577
+wow-wow-col1-value-377 wow-wow-col1-value-677
+wow-wow-col1-value-377 wow-wow-col1-value-77
+wow-wow-col1-value-377 wow-wow-col1-value-777
+wow-wow-col1-value-378 wow-wow-col1-value-178
+wow-wow-col1-value-378 wow-wow-col1-value-278
+wow-wow-col1-value-378 wow-wow-col1-value-378
+wow-wow-col1-value-378 wow-wow-col1-value-478
+wow-wow-col1-value-378 wow-wow-col1-value-578
+wow-wow-col1-value-378 wow-wow-col1-value-678
+wow-wow-col1-value-378 wow-wow-col1-value-778
+wow-wow-col1-value-378 wow-wow-col1-value-78
+wow-wow-col1-value-379 wow-wow-col1-value-179
+wow-wow-col1-value-379 wow-wow-col1-value-279
+wow-wow-col1-value-379 wow-wow-col1-value-379
+wow-wow-col1-value-379 wow-wow-col1-value-479
+wow-wow-col1-value-379 wow-wow-col1-value-579
+wow-wow-col1-value-379 wow-wow-col1-value-679
+wow-wow-col1-value-379 wow-wow-col1-value-779
+wow-wow-col1-value-379 wow-wow-col1-value-79
+wow-wow-col1-value-38 wow-wow-col1-value-138
+wow-wow-col1-value-38 wow-wow-col1-value-238
+wow-wow-col1-value-38 wow-wow-col1-value-338
+wow-wow-col1-value-38 wow-wow-col1-value-38
+wow-wow-col1-value-38 wow-wow-col1-value-438
+wow-wow-col1-value-38 wow-wow-col1-value-538
+wow-wow-col1-value-38 wow-wow-col1-value-638
+wow-wow-col1-value-38 wow-wow-col1-value-738
+wow-wow-col1-value-380 wow-wow-col1-value-180
+wow-wow-col1-value-380 wow-wow-col1-value-280
+wow-wow-col1-value-380 wow-wow-col1-value-380
+wow-wow-col1-value-380 wow-wow-col1-value-480
+wow-wow-col1-value-380 wow-wow-col1-value-580
+wow-wow-col1-value-380 wow-wow-col1-value-680
+wow-wow-col1-value-380 wow-wow-col1-value-780
+wow-wow-col1-value-380 wow-wow-col1-value-80
+wow-wow-col1-value-381 wow-wow-col1-value-181
+wow-wow-col1-value-381 wow-wow-col1-value-281
+wow-wow-col1-value-381 wow-wow-col1-value-381
+wow-wow-col1-value-381 wow-wow-col1-value-481
+wow-wow-col1-value-381 wow-wow-col1-value-581
+wow-wow-col1-value-381 wow-wow-col1-value-681
+wow-wow-col1-value-381 wow-wow-col1-value-781
+wow-wow-col1-value-381 wow-wow-col1-value-81
+wow-wow-col1-value-382 wow-wow-col1-value-182
+wow-wow-col1-value-382 wow-wow-col1-value-282
+wow-wow-col1-value-382 wow-wow-col1-value-382
+wow-wow-col1-value-382 wow-wow-col1-value-482
+wow-wow-col1-value-382 wow-wow-col1-value-582
+wow-wow-col1-value-382 wow-wow-col1-value-682
+wow-wow-col1-value-382 wow-wow-col1-value-782
+wow-wow-col1-value-382 wow-wow-col1-value-82
+wow-wow-col1-value-383 wow-wow-col1-value-183
+wow-wow-col1-value-383 wow-wow-col1-value-283
+wow-wow-col1-value-383 wow-wow-col1-value-383
+wow-wow-col1-value-383 wow-wow-col1-value-483
+wow-wow-col1-value-383 wow-wow-col1-value-583
+wow-wow-col1-value-383 wow-wow-col1-value-683
+wow-wow-col1-value-383 wow-wow-col1-value-783
+wow-wow-col1-value-383 wow-wow-col1-value-83
+wow-wow-col1-value-384 wow-wow-col1-value-184
+wow-wow-col1-value-384 wow-wow-col1-value-284
+wow-wow-col1-value-384 wow-wow-col1-value-384
+wow-wow-col1-value-384 wow-wow-col1-value-484
+wow-wow-col1-value-384 wow-wow-col1-value-584
+wow-wow-col1-value-384 wow-wow-col1-value-684
+wow-wow-col1-value-384 wow-wow-col1-value-784
+wow-wow-col1-value-384 wow-wow-col1-value-84
+wow-wow-col1-value-385 wow-wow-col1-value-185
+wow-wow-col1-value-385 wow-wow-col1-value-285
+wow-wow-col1-value-385 wow-wow-col1-value-385
+wow-wow-col1-value-385 wow-wow-col1-value-485
+wow-wow-col1-value-385 wow-wow-col1-value-585
+wow-wow-col1-value-385 wow-wow-col1-value-685
+wow-wow-col1-value-385 wow-wow-col1-value-785
+wow-wow-col1-value-385 wow-wow-col1-value-85
+wow-wow-col1-value-386 wow-wow-col1-value-186
+wow-wow-col1-value-386 wow-wow-col1-value-286
+wow-wow-col1-value-386 wow-wow-col1-value-386
+wow-wow-col1-value-386 wow-wow-col1-value-486
+wow-wow-col1-value-386 wow-wow-col1-value-586
+wow-wow-col1-value-386 wow-wow-col1-value-686
+wow-wow-col1-value-386 wow-wow-col1-value-786
+wow-wow-col1-value-386 wow-wow-col1-value-86
+wow-wow-col1-value-387 wow-wow-col1-value-187
+wow-wow-col1-value-387 wow-wow-col1-value-287
+wow-wow-col1-value-387 wow-wow-col1-value-387
+wow-wow-col1-value-387 wow-wow-col1-value-487
+wow-wow-col1-value-387 wow-wow-col1-value-587
+wow-wow-col1-value-387 wow-wow-col1-value-687
+wow-wow-col1-value-387 wow-wow-col1-value-787
+wow-wow-col1-value-387 wow-wow-col1-value-87
+wow-wow-col1-value-388 wow-wow-col1-value-188
+wow-wow-col1-value-388 wow-wow-col1-value-288
+wow-wow-col1-value-388 wow-wow-col1-value-388
+wow-wow-col1-value-388 wow-wow-col1-value-488
+wow-wow-col1-value-388 wow-wow-col1-value-588
+wow-wow-col1-value-388 wow-wow-col1-value-688
+wow-wow-col1-value-388 wow-wow-col1-value-788
+wow-wow-col1-value-388 wow-wow-col1-value-88
+wow-wow-col1-value-389 wow-wow-col1-value-189
+wow-wow-col1-value-389 wow-wow-col1-value-289
+wow-wow-col1-value-389 wow-wow-col1-value-389
+wow-wow-col1-value-389 wow-wow-col1-value-489
+wow-wow-col1-value-389 wow-wow-col1-value-589
+wow-wow-col1-value-389 wow-wow-col1-value-689
+wow-wow-col1-value-389 wow-wow-col1-value-789
+wow-wow-col1-value-389 wow-wow-col1-value-89
+wow-wow-col1-value-39 wow-wow-col1-value-139
+wow-wow-col1-value-39 wow-wow-col1-value-239
+wow-wow-col1-value-39 wow-wow-col1-value-339
+wow-wow-col1-value-39 wow-wow-col1-value-39
+wow-wow-col1-value-39 wow-wow-col1-value-439
+wow-wow-col1-value-39 wow-wow-col1-value-539
+wow-wow-col1-value-39 wow-wow-col1-value-639
+wow-wow-col1-value-39 wow-wow-col1-value-739
+wow-wow-col1-value-390 wow-wow-col1-value-190
+wow-wow-col1-value-390 wow-wow-col1-value-290
+wow-wow-col1-value-390 wow-wow-col1-value-390
+wow-wow-col1-value-390 wow-wow-col1-value-490
+wow-wow-col1-value-390 wow-wow-col1-value-590
+wow-wow-col1-value-390 wow-wow-col1-value-690
+wow-wow-col1-value-390 wow-wow-col1-value-790
+wow-wow-col1-value-390 wow-wow-col1-value-90
+wow-wow-col1-value-391 wow-wow-col1-value-191
+wow-wow-col1-value-391 wow-wow-col1-value-291
+wow-wow-col1-value-391 wow-wow-col1-value-391
+wow-wow-col1-value-391 wow-wow-col1-value-491
+wow-wow-col1-value-391 wow-wow-col1-value-591
+wow-wow-col1-value-391 wow-wow-col1-value-691
+wow-wow-col1-value-391 wow-wow-col1-value-791
+wow-wow-col1-value-391 wow-wow-col1-value-91
+wow-wow-col1-value-392 wow-wow-col1-value-192
+wow-wow-col1-value-392 wow-wow-col1-value-292
+wow-wow-col1-value-392 wow-wow-col1-value-392
+wow-wow-col1-value-392 wow-wow-col1-value-492
+wow-wow-col1-value-392 wow-wow-col1-value-592
+wow-wow-col1-value-392 wow-wow-col1-value-692
+wow-wow-col1-value-392 wow-wow-col1-value-792
+wow-wow-col1-value-392 wow-wow-col1-value-92
+wow-wow-col1-value-393 wow-wow-col1-value-193
+wow-wow-col1-value-393 wow-wow-col1-value-293
+wow-wow-col1-value-393 wow-wow-col1-value-393
+wow-wow-col1-value-393 wow-wow-col1-value-493
+wow-wow-col1-value-393 wow-wow-col1-value-593
+wow-wow-col1-value-393 wow-wow-col1-value-693
+wow-wow-col1-value-393 wow-wow-col1-value-793
+wow-wow-col1-value-393 wow-wow-col1-value-93
+wow-wow-col1-value-394 wow-wow-col1-value-194
+wow-wow-col1-value-394 wow-wow-col1-value-294
+wow-wow-col1-value-394 wow-wow-col1-value-394
+wow-wow-col1-value-394 wow-wow-col1-value-494
+wow-wow-col1-value-394 wow-wow-col1-value-594
+wow-wow-col1-value-394 wow-wow-col1-value-694
+wow-wow-col1-value-394 wow-wow-col1-value-794
+wow-wow-col1-value-394 wow-wow-col1-value-94
+wow-wow-col1-value-395 wow-wow-col1-value-195
+wow-wow-col1-value-395 wow-wow-col1-value-295
+wow-wow-col1-value-395 wow-wow-col1-value-395
+wow-wow-col1-value-395 wow-wow-col1-value-495
+wow-wow-col1-value-395 wow-wow-col1-value-595
+wow-wow-col1-value-395 wow-wow-col1-value-695
+wow-wow-col1-value-395 wow-wow-col1-value-795
+wow-wow-col1-value-395 wow-wow-col1-value-95
+wow-wow-col1-value-396 wow-wow-col1-value-196
+wow-wow-col1-value-396 wow-wow-col1-value-296
+wow-wow-col1-value-396 wow-wow-col1-value-396
+wow-wow-col1-value-396 wow-wow-col1-value-496
+wow-wow-col1-value-396 wow-wow-col1-value-596
+wow-wow-col1-value-396 wow-wow-col1-value-696
+wow-wow-col1-value-396 wow-wow-col1-value-796
+wow-wow-col1-value-396 wow-wow-col1-value-96
+wow-wow-col1-value-397 wow-wow-col1-value-197
+wow-wow-col1-value-397 wow-wow-col1-value-297
+wow-wow-col1-value-397 wow-wow-col1-value-397
+wow-wow-col1-value-397 wow-wow-col1-value-497
+wow-wow-col1-value-397 wow-wow-col1-value-597
+wow-wow-col1-value-397 wow-wow-col1-value-697
+wow-wow-col1-value-397 wow-wow-col1-value-797
+wow-wow-col1-value-397 wow-wow-col1-value-97
+wow-wow-col1-value-398 wow-wow-col1-value-198
+wow-wow-col1-value-398 wow-wow-col1-value-298
+wow-wow-col1-value-398 wow-wow-col1-value-398
+wow-wow-col1-value-398 wow-wow-col1-value-498
+wow-wow-col1-value-398 wow-wow-col1-value-598
+wow-wow-col1-value-398 wow-wow-col1-value-698
+wow-wow-col1-value-398 wow-wow-col1-value-798
+wow-wow-col1-value-398 wow-wow-col1-value-98
+wow-wow-col1-value-399 wow-wow-col1-value-199
+wow-wow-col1-value-399 wow-wow-col1-value-299
+wow-wow-col1-value-399 wow-wow-col1-value-399
+wow-wow-col1-value-399 wow-wow-col1-value-499
+wow-wow-col1-value-399 wow-wow-col1-value-599
+wow-wow-col1-value-399 wow-wow-col1-value-699
+wow-wow-col1-value-399 wow-wow-col1-value-799
+wow-wow-col1-value-399 wow-wow-col1-value-99
+wow-wow-col1-value-4 wow-wow-col1-value-104
+wow-wow-col1-value-4 wow-wow-col1-value-204
+wow-wow-col1-value-4 wow-wow-col1-value-304
+wow-wow-col1-value-4 wow-wow-col1-value-4
+wow-wow-col1-value-4 wow-wow-col1-value-404
+wow-wow-col1-value-4 wow-wow-col1-value-504
+wow-wow-col1-value-4 wow-wow-col1-value-604
+wow-wow-col1-value-4 wow-wow-col1-value-704
+wow-wow-col1-value-40 wow-wow-col1-value-140
+wow-wow-col1-value-40 wow-wow-col1-value-240
+wow-wow-col1-value-40 wow-wow-col1-value-340
+wow-wow-col1-value-40 wow-wow-col1-value-40
+wow-wow-col1-value-40 wow-wow-col1-value-440
+wow-wow-col1-value-40 wow-wow-col1-value-540
+wow-wow-col1-value-40 wow-wow-col1-value-640
+wow-wow-col1-value-40 wow-wow-col1-value-740
+wow-wow-col1-value-400 wow-wow-col1-value-0
+wow-wow-col1-value-400 wow-wow-col1-value-100
+wow-wow-col1-value-400 wow-wow-col1-value-200
+wow-wow-col1-value-400 wow-wow-col1-value-300
+wow-wow-col1-value-400 wow-wow-col1-value-400
+wow-wow-col1-value-400 wow-wow-col1-value-500
+wow-wow-col1-value-400 wow-wow-col1-value-600
+wow-wow-col1-value-400 wow-wow-col1-value-700
+wow-wow-col1-value-401 wow-wow-col1-value-1
+wow-wow-col1-value-401 wow-wow-col1-value-101
+wow-wow-col1-value-401 wow-wow-col1-value-201
+wow-wow-col1-value-401 wow-wow-col1-value-301
+wow-wow-col1-value-401 wow-wow-col1-value-401
+wow-wow-col1-value-401 wow-wow-col1-value-501
+wow-wow-col1-value-401 wow-wow-col1-value-601
+wow-wow-col1-value-401 wow-wow-col1-value-701
+wow-wow-col1-value-402 wow-wow-col1-value-102
+wow-wow-col1-value-402 wow-wow-col1-value-2
+wow-wow-col1-value-402 wow-wow-col1-value-202
+wow-wow-col1-value-402 wow-wow-col1-value-302
+wow-wow-col1-value-402 wow-wow-col1-value-402
+wow-wow-col1-value-402 wow-wow-col1-value-502
+wow-wow-col1-value-402 wow-wow-col1-value-602
+wow-wow-col1-value-402 wow-wow-col1-value-702
+wow-wow-col1-value-403 wow-wow-col1-value-103
+wow-wow-col1-value-403 wow-wow-col1-value-203
+wow-wow-col1-value-403 wow-wow-col1-value-3
+wow-wow-col1-value-403 wow-wow-col1-value-303
+wow-wow-col1-value-403 wow-wow-col1-value-403
+wow-wow-col1-value-403 wow-wow-col1-value-503
+wow-wow-col1-value-403 wow-wow-col1-value-603
+wow-wow-col1-value-403 wow-wow-col1-value-703
+wow-wow-col1-value-404 wow-wow-col1-value-104
+wow-wow-col1-value-404 wow-wow-col1-value-204
+wow-wow-col1-value-404 wow-wow-col1-value-304
+wow-wow-col1-value-404 wow-wow-col1-value-4
+wow-wow-col1-value-404 wow-wow-col1-value-404
+wow-wow-col1-value-404 wow-wow-col1-value-504
+wow-wow-col1-value-404 wow-wow-col1-value-604
+wow-wow-col1-value-404 wow-wow-col1-value-704
+wow-wow-col1-value-405 wow-wow-col1-value-105
+wow-wow-col1-value-405 wow-wow-col1-value-205
+wow-wow-col1-value-405 wow-wow-col1-value-305
+wow-wow-col1-value-405 wow-wow-col1-value-405
+wow-wow-col1-value-405 wow-wow-col1-value-5
+wow-wow-col1-value-405 wow-wow-col1-value-505
+wow-wow-col1-value-405 wow-wow-col1-value-605
+wow-wow-col1-value-405 wow-wow-col1-value-705
+wow-wow-col1-value-406 wow-wow-col1-value-106
+wow-wow-col1-value-406 wow-wow-col1-value-206
+wow-wow-col1-value-406 wow-wow-col1-value-306
+wow-wow-col1-value-406 wow-wow-col1-value-406
+wow-wow-col1-value-406 wow-wow-col1-value-506
+wow-wow-col1-value-406 wow-wow-col1-value-6
+wow-wow-col1-value-406 wow-wow-col1-value-606
+wow-wow-col1-value-406 wow-wow-col1-value-706
+wow-wow-col1-value-407 wow-wow-col1-value-107
+wow-wow-col1-value-407 wow-wow-col1-value-207
+wow-wow-col1-value-407 wow-wow-col1-value-307
+wow-wow-col1-value-407 wow-wow-col1-value-407
+wow-wow-col1-value-407 wow-wow-col1-value-507
+wow-wow-col1-value-407 wow-wow-col1-value-607
+wow-wow-col1-value-407 wow-wow-col1-value-7
+wow-wow-col1-value-407 wow-wow-col1-value-707
+wow-wow-col1-value-408 wow-wow-col1-value-108
+wow-wow-col1-value-408 wow-wow-col1-value-208
+wow-wow-col1-value-408 wow-wow-col1-value-308
+wow-wow-col1-value-408 wow-wow-col1-value-408
+wow-wow-col1-value-408 wow-wow-col1-value-508
+wow-wow-col1-value-408 wow-wow-col1-value-608
+wow-wow-col1-value-408 wow-wow-col1-value-708
+wow-wow-col1-value-408 wow-wow-col1-value-8
+wow-wow-col1-value-409 wow-wow-col1-value-109
+wow-wow-col1-value-409 wow-wow-col1-value-209
+wow-wow-col1-value-409 wow-wow-col1-value-309
+wow-wow-col1-value-409 wow-wow-col1-value-409
+wow-wow-col1-value-409 wow-wow-col1-value-509
+wow-wow-col1-value-409 wow-wow-col1-value-609
+wow-wow-col1-value-409 wow-wow-col1-value-709
+wow-wow-col1-value-409 wow-wow-col1-value-9
+wow-wow-col1-value-41 wow-wow-col1-value-141
+wow-wow-col1-value-41 wow-wow-col1-value-241
+wow-wow-col1-value-41 wow-wow-col1-value-341
+wow-wow-col1-value-41 wow-wow-col1-value-41
+wow-wow-col1-value-41 wow-wow-col1-value-441
+wow-wow-col1-value-41 wow-wow-col1-value-541
+wow-wow-col1-value-41 wow-wow-col1-value-641
+wow-wow-col1-value-41 wow-wow-col1-value-741
+wow-wow-col1-value-410 wow-wow-col1-value-10
+wow-wow-col1-value-410 wow-wow-col1-value-110
+wow-wow-col1-value-410 wow-wow-col1-value-210
+wow-wow-col1-value-410 wow-wow-col1-value-310
+wow-wow-col1-value-410 wow-wow-col1-value-410
+wow-wow-col1-value-410 wow-wow-col1-value-510
+wow-wow-col1-value-410 wow-wow-col1-value-610
+wow-wow-col1-value-410 wow-wow-col1-value-710
+wow-wow-col1-value-411 wow-wow-col1-value-11
+wow-wow-col1-value-411 wow-wow-col1-value-111
+wow-wow-col1-value-411 wow-wow-col1-value-211
+wow-wow-col1-value-411 wow-wow-col1-value-311
+wow-wow-col1-value-411 wow-wow-col1-value-411
+wow-wow-col1-value-411 wow-wow-col1-value-511
+wow-wow-col1-value-411 wow-wow-col1-value-611
+wow-wow-col1-value-411 wow-wow-col1-value-711
+wow-wow-col1-value-412 wow-wow-col1-value-112
+wow-wow-col1-value-412 wow-wow-col1-value-12
+wow-wow-col1-value-412 wow-wow-col1-value-212
+wow-wow-col1-value-412 wow-wow-col1-value-312
+wow-wow-col1-value-412 wow-wow-col1-value-412
+wow-wow-col1-value-412 wow-wow-col1-value-512
+wow-wow-col1-value-412 wow-wow-col1-value-612
+wow-wow-col1-value-412 wow-wow-col1-value-712
+wow-wow-col1-value-413 wow-wow-col1-value-113
+wow-wow-col1-value-413 wow-wow-col1-value-13
+wow-wow-col1-value-413 wow-wow-col1-value-213
+wow-wow-col1-value-413 wow-wow-col1-value-313
+wow-wow-col1-value-413 wow-wow-col1-value-413
+wow-wow-col1-value-413 wow-wow-col1-value-513
+wow-wow-col1-value-413 wow-wow-col1-value-613
+wow-wow-col1-value-413 wow-wow-col1-value-713
+wow-wow-col1-value-414 wow-wow-col1-value-114
+wow-wow-col1-value-414 wow-wow-col1-value-14
+wow-wow-col1-value-414 wow-wow-col1-value-214
+wow-wow-col1-value-414 wow-wow-col1-value-314
+wow-wow-col1-value-414 wow-wow-col1-value-414
+wow-wow-col1-value-414 wow-wow-col1-value-514
+wow-wow-col1-value-414 wow-wow-col1-value-614
+wow-wow-col1-value-414 wow-wow-col1-value-714
+wow-wow-col1-value-415 wow-wow-col1-value-115
+wow-wow-col1-value-415 wow-wow-col1-value-15
+wow-wow-col1-value-415 wow-wow-col1-value-215
+wow-wow-col1-value-415 wow-wow-col1-value-315
+wow-wow-col1-value-415 wow-wow-col1-value-415
+wow-wow-col1-value-415 wow-wow-col1-value-515
+wow-wow-col1-value-415 wow-wow-col1-value-615
+wow-wow-col1-value-415 wow-wow-col1-value-715
+wow-wow-col1-value-416 wow-wow-col1-value-116
+wow-wow-col1-value-416 wow-wow-col1-value-16
+wow-wow-col1-value-416 wow-wow-col1-value-216
+wow-wow-col1-value-416 wow-wow-col1-value-316
+wow-wow-col1-value-416 wow-wow-col1-value-416
+wow-wow-col1-value-416 wow-wow-col1-value-516
+wow-wow-col1-value-416 wow-wow-col1-value-616
+wow-wow-col1-value-416 wow-wow-col1-value-716
+wow-wow-col1-value-417 wow-wow-col1-value-117
+wow-wow-col1-value-417 wow-wow-col1-value-17
+wow-wow-col1-value-417 wow-wow-col1-value-217
+wow-wow-col1-value-417 wow-wow-col1-value-317
+wow-wow-col1-value-417 wow-wow-col1-value-417
+wow-wow-col1-value-417 wow-wow-col1-value-517
+wow-wow-col1-value-417 wow-wow-col1-value-617
+wow-wow-col1-value-417 wow-wow-col1-value-717
+wow-wow-col1-value-418 wow-wow-col1-value-118
+wow-wow-col1-value-418 wow-wow-col1-value-18
+wow-wow-col1-value-418 wow-wow-col1-value-218
+wow-wow-col1-value-418 wow-wow-col1-value-318
+wow-wow-col1-value-418 wow-wow-col1-value-418
+wow-wow-col1-value-418 wow-wow-col1-value-518
+wow-wow-col1-value-418 wow-wow-col1-value-618
+wow-wow-col1-value-418 wow-wow-col1-value-718
+wow-wow-col1-value-419 wow-wow-col1-value-119
+wow-wow-col1-value-419 wow-wow-col1-value-19
+wow-wow-col1-value-419 wow-wow-col1-value-219
+wow-wow-col1-value-419 wow-wow-col1-value-319
+wow-wow-col1-value-419 wow-wow-col1-value-419
+wow-wow-col1-value-419 wow-wow-col1-value-519
+wow-wow-col1-value-419 wow-wow-col1-value-619
+wow-wow-col1-value-419 wow-wow-col1-value-719
+wow-wow-col1-value-42 wow-wow-col1-value-142
+wow-wow-col1-value-42 wow-wow-col1-value-242
+wow-wow-col1-value-42 wow-wow-col1-value-342
+wow-wow-col1-value-42 wow-wow-col1-value-42
+wow-wow-col1-value-42 wow-wow-col1-value-442
+wow-wow-col1-value-42 wow-wow-col1-value-542
+wow-wow-col1-value-42 wow-wow-col1-value-642
+wow-wow-col1-value-42 wow-wow-col1-value-742
+wow-wow-col1-value-420 wow-wow-col1-value-120
+wow-wow-col1-value-420 wow-wow-col1-value-20
+wow-wow-col1-value-420 wow-wow-col1-value-220
+wow-wow-col1-value-420 wow-wow-col1-value-320
+wow-wow-col1-value-420 wow-wow-col1-value-420
+wow-wow-col1-value-420 wow-wow-col1-value-520
+wow-wow-col1-value-420 wow-wow-col1-value-620
+wow-wow-col1-value-420 wow-wow-col1-value-720
+wow-wow-col1-value-421 wow-wow-col1-value-121
+wow-wow-col1-value-421 wow-wow-col1-value-21
+wow-wow-col1-value-421 wow-wow-col1-value-221
+wow-wow-col1-value-421 wow-wow-col1-value-321
+wow-wow-col1-value-421 wow-wow-col1-value-421
+wow-wow-col1-value-421 wow-wow-col1-value-521
+wow-wow-col1-value-421 wow-wow-col1-value-621
+wow-wow-col1-value-421 wow-wow-col1-value-721
+wow-wow-col1-value-422 wow-wow-col1-value-122
+wow-wow-col1-value-422 wow-wow-col1-value-22
+wow-wow-col1-value-422 wow-wow-col1-value-222
+wow-wow-col1-value-422 wow-wow-col1-value-322
+wow-wow-col1-value-422 wow-wow-col1-value-422
+wow-wow-col1-value-422 wow-wow-col1-value-522
+wow-wow-col1-value-422 wow-wow-col1-value-622
+wow-wow-col1-value-422 wow-wow-col1-value-722
+wow-wow-col1-value-423 wow-wow-col1-value-123
+wow-wow-col1-value-423 wow-wow-col1-value-223
+wow-wow-col1-value-423 wow-wow-col1-value-23
+wow-wow-col1-value-423 wow-wow-col1-value-323
+wow-wow-col1-value-423 wow-wow-col1-value-423
+wow-wow-col1-value-423 wow-wow-col1-value-523
+wow-wow-col1-value-423 wow-wow-col1-value-623
+wow-wow-col1-value-423 wow-wow-col1-value-723
+wow-wow-col1-value-424 wow-wow-col1-value-124
+wow-wow-col1-value-424 wow-wow-col1-value-224
+wow-wow-col1-value-424 wow-wow-col1-value-24
+wow-wow-col1-value-424 wow-wow-col1-value-324
+wow-wow-col1-value-424 wow-wow-col1-value-424
+wow-wow-col1-value-424 wow-wow-col1-value-524
+wow-wow-col1-value-424 wow-wow-col1-value-624
+wow-wow-col1-value-424 wow-wow-col1-value-724
+wow-wow-col1-value-425 wow-wow-col1-value-125
+wow-wow-col1-value-425 wow-wow-col1-value-225
+wow-wow-col1-value-425 wow-wow-col1-value-25
+wow-wow-col1-value-425 wow-wow-col1-value-325
+wow-wow-col1-value-425 wow-wow-col1-value-425
+wow-wow-col1-value-425 wow-wow-col1-value-525
+wow-wow-col1-value-425 wow-wow-col1-value-625
+wow-wow-col1-value-425 wow-wow-col1-value-725
+wow-wow-col1-value-426 wow-wow-col1-value-126
+wow-wow-col1-value-426 wow-wow-col1-value-226
+wow-wow-col1-value-426 wow-wow-col1-value-26
+wow-wow-col1-value-426 wow-wow-col1-value-326
+wow-wow-col1-value-426 wow-wow-col1-value-426
+wow-wow-col1-value-426 wow-wow-col1-value-526
+wow-wow-col1-value-426 wow-wow-col1-value-626
+wow-wow-col1-value-426 wow-wow-col1-value-726
+wow-wow-col1-value-427 wow-wow-col1-value-127
+wow-wow-col1-value-427 wow-wow-col1-value-227
+wow-wow-col1-value-427 wow-wow-col1-value-27
+wow-wow-col1-value-427 wow-wow-col1-value-327
+wow-wow-col1-value-427 wow-wow-col1-value-427
+wow-wow-col1-value-427 wow-wow-col1-value-527
+wow-wow-col1-value-427 wow-wow-col1-value-627
+wow-wow-col1-value-427 wow-wow-col1-value-727
+wow-wow-col1-value-428 wow-wow-col1-value-128
+wow-wow-col1-value-428 wow-wow-col1-value-228
+wow-wow-col1-value-428 wow-wow-col1-value-28
+wow-wow-col1-value-428 wow-wow-col1-value-328
+wow-wow-col1-value-428 wow-wow-col1-value-428
+wow-wow-col1-value-428 wow-wow-col1-value-528
+wow-wow-col1-value-428 wow-wow-col1-value-628
+wow-wow-col1-value-428 wow-wow-col1-value-728
+wow-wow-col1-value-429 wow-wow-col1-value-129
+wow-wow-col1-value-429 wow-wow-col1-value-229
+wow-wow-col1-value-429 wow-wow-col1-value-29
+wow-wow-col1-value-429 wow-wow-col1-value-329
+wow-wow-col1-value-429 wow-wow-col1-value-429
+wow-wow-col1-value-429 wow-wow-col1-value-529
+wow-wow-col1-value-429 wow-wow-col1-value-629
+wow-wow-col1-value-429 wow-wow-col1-value-729
+wow-wow-col1-value-43 wow-wow-col1-value-143
+wow-wow-col1-value-43 wow-wow-col1-value-243
+wow-wow-col1-value-43 wow-wow-col1-value-343
+wow-wow-col1-value-43 wow-wow-col1-value-43
+wow-wow-col1-value-43 wow-wow-col1-value-443
+wow-wow-col1-value-43 wow-wow-col1-value-543
+wow-wow-col1-value-43 wow-wow-col1-value-643
+wow-wow-col1-value-43 wow-wow-col1-value-743
+wow-wow-col1-value-430 wow-wow-col1-value-130
+wow-wow-col1-value-430 wow-wow-col1-value-230
+wow-wow-col1-value-430 wow-wow-col1-value-30
+wow-wow-col1-value-430 wow-wow-col1-value-330
+wow-wow-col1-value-430 wow-wow-col1-value-430
+wow-wow-col1-value-430 wow-wow-col1-value-530
+wow-wow-col1-value-430 wow-wow-col1-value-630
+wow-wow-col1-value-430 wow-wow-col1-value-730
+wow-wow-col1-value-431 wow-wow-col1-value-131
+wow-wow-col1-value-431 wow-wow-col1-value-231
+wow-wow-col1-value-431 wow-wow-col1-value-31
+wow-wow-col1-value-431 wow-wow-col1-value-331
+wow-wow-col1-value-431 wow-wow-col1-value-431
+wow-wow-col1-value-431 wow-wow-col1-value-531
+wow-wow-col1-value-431 wow-wow-col1-value-631
+wow-wow-col1-value-431 wow-wow-col1-value-731
+wow-wow-col1-value-432 wow-wow-col1-value-132
+wow-wow-col1-value-432 wow-wow-col1-value-232
+wow-wow-col1-value-432 wow-wow-col1-value-32
+wow-wow-col1-value-432 wow-wow-col1-value-332
+wow-wow-col1-value-432 wow-wow-col1-value-432
+wow-wow-col1-value-432 wow-wow-col1-value-532
+wow-wow-col1-value-432 wow-wow-col1-value-632
+wow-wow-col1-value-432 wow-wow-col1-value-732
+wow-wow-col1-value-433 wow-wow-col1-value-133
+wow-wow-col1-value-433 wow-wow-col1-value-233
+wow-wow-col1-value-433 wow-wow-col1-value-33
+wow-wow-col1-value-433 wow-wow-col1-value-333
+wow-wow-col1-value-433 wow-wow-col1-value-433
+wow-wow-col1-value-433 wow-wow-col1-value-533
+wow-wow-col1-value-433 wow-wow-col1-value-633
+wow-wow-col1-value-433 wow-wow-col1-value-733
+wow-wow-col1-value-434 wow-wow-col1-value-134
+wow-wow-col1-value-434 wow-wow-col1-value-234
+wow-wow-col1-value-434 wow-wow-col1-value-334
+wow-wow-col1-value-434 wow-wow-col1-value-34
+wow-wow-col1-value-434 wow-wow-col1-value-434
+wow-wow-col1-value-434 wow-wow-col1-value-534
+wow-wow-col1-value-434 wow-wow-col1-value-634
+wow-wow-col1-value-434 wow-wow-col1-value-734
+wow-wow-col1-value-435 wow-wow-col1-value-135
+wow-wow-col1-value-435 wow-wow-col1-value-235
+wow-wow-col1-value-435 wow-wow-col1-value-335
+wow-wow-col1-value-435 wow-wow-col1-value-35
+wow-wow-col1-value-435 wow-wow-col1-value-435
+wow-wow-col1-value-435 wow-wow-col1-value-535
+wow-wow-col1-value-435 wow-wow-col1-value-635
+wow-wow-col1-value-435 wow-wow-col1-value-735
+wow-wow-col1-value-436 wow-wow-col1-value-136
+wow-wow-col1-value-436 wow-wow-col1-value-236
+wow-wow-col1-value-436 wow-wow-col1-value-336
+wow-wow-col1-value-436 wow-wow-col1-value-36
+wow-wow-col1-value-436 wow-wow-col1-value-436
+wow-wow-col1-value-436 wow-wow-col1-value-536
+wow-wow-col1-value-436 wow-wow-col1-value-636
+wow-wow-col1-value-436 wow-wow-col1-value-736
+wow-wow-col1-value-437 wow-wow-col1-value-137
+wow-wow-col1-value-437 wow-wow-col1-value-237
+wow-wow-col1-value-437 wow-wow-col1-value-337
+wow-wow-col1-value-437 wow-wow-col1-value-37
+wow-wow-col1-value-437 wow-wow-col1-value-437
+wow-wow-col1-value-437 wow-wow-col1-value-537
+wow-wow-col1-value-437 wow-wow-col1-value-637
+wow-wow-col1-value-437 wow-wow-col1-value-737
+wow-wow-col1-value-438 wow-wow-col1-value-138
+wow-wow-col1-value-438 wow-wow-col1-value-238
+wow-wow-col1-value-438 wow-wow-col1-value-338
+wow-wow-col1-value-438 wow-wow-col1-value-38
+wow-wow-col1-value-438 wow-wow-col1-value-438
+wow-wow-col1-value-438 wow-wow-col1-value-538
+wow-wow-col1-value-438 wow-wow-col1-value-638
+wow-wow-col1-value-438 wow-wow-col1-value-738
+wow-wow-col1-value-439 wow-wow-col1-value-139
+wow-wow-col1-value-439 wow-wow-col1-value-239
+wow-wow-col1-value-439 wow-wow-col1-value-339
+wow-wow-col1-value-439 wow-wow-col1-value-39
+wow-wow-col1-value-439 wow-wow-col1-value-439
+wow-wow-col1-value-439 wow-wow-col1-value-539
+wow-wow-col1-value-439 wow-wow-col1-value-639
+wow-wow-col1-value-439 wow-wow-col1-value-739
+wow-wow-col1-value-44 wow-wow-col1-value-144
+wow-wow-col1-value-44 wow-wow-col1-value-244
+wow-wow-col1-value-44 wow-wow-col1-value-344
+wow-wow-col1-value-44 wow-wow-col1-value-44
+wow-wow-col1-value-44 wow-wow-col1-value-444
+wow-wow-col1-value-44 wow-wow-col1-value-544
+wow-wow-col1-value-44 wow-wow-col1-value-644
+wow-wow-col1-value-44 wow-wow-col1-value-744
+wow-wow-col1-value-440 wow-wow-col1-value-140
+wow-wow-col1-value-440 wow-wow-col1-value-240
+wow-wow-col1-value-440 wow-wow-col1-value-340
+wow-wow-col1-value-440 wow-wow-col1-value-40
+wow-wow-col1-value-440 wow-wow-col1-value-440
+wow-wow-col1-value-440 wow-wow-col1-value-540
+wow-wow-col1-value-440 wow-wow-col1-value-640
+wow-wow-col1-value-440 wow-wow-col1-value-740
+wow-wow-col1-value-441 wow-wow-col1-value-141
+wow-wow-col1-value-441 wow-wow-col1-value-241
+wow-wow-col1-value-441 wow-wow-col1-value-341
+wow-wow-col1-value-441 wow-wow-col1-value-41
+wow-wow-col1-value-441 wow-wow-col1-value-441
+wow-wow-col1-value-441 wow-wow-col1-value-541
+wow-wow-col1-value-441 wow-wow-col1-value-641
+wow-wow-col1-value-441 wow-wow-col1-value-741
+wow-wow-col1-value-442 wow-wow-col1-value-142
+wow-wow-col1-value-442 wow-wow-col1-value-242
+wow-wow-col1-value-442 wow-wow-col1-value-342
+wow-wow-col1-value-442 wow-wow-col1-value-42
+wow-wow-col1-value-442 wow-wow-col1-value-442
+wow-wow-col1-value-442 wow-wow-col1-value-542
+wow-wow-col1-value-442 wow-wow-col1-value-642
+wow-wow-col1-value-442 wow-wow-col1-value-742
+wow-wow-col1-value-443 wow-wow-col1-value-143
+wow-wow-col1-value-443 wow-wow-col1-value-243
+wow-wow-col1-value-443 wow-wow-col1-value-343
+wow-wow-col1-value-443 wow-wow-col1-value-43
+wow-wow-col1-value-443 wow-wow-col1-value-443
+wow-wow-col1-value-443 wow-wow-col1-value-543
+wow-wow-col1-value-443 wow-wow-col1-value-643
+wow-wow-col1-value-443 wow-wow-col1-value-743
+wow-wow-col1-value-444 wow-wow-col1-value-144
+wow-wow-col1-value-444 wow-wow-col1-value-244
+wow-wow-col1-value-444 wow-wow-col1-value-344
+wow-wow-col1-value-444 wow-wow-col1-value-44
+wow-wow-col1-value-444 wow-wow-col1-value-444
+wow-wow-col1-value-444 wow-wow-col1-value-544
+wow-wow-col1-value-444 wow-wow-col1-value-644
+wow-wow-col1-value-444 wow-wow-col1-value-744
+wow-wow-col1-value-445 wow-wow-col1-value-145
+wow-wow-col1-value-445 wow-wow-col1-value-245
+wow-wow-col1-value-445 wow-wow-col1-value-345
+wow-wow-col1-value-445 wow-wow-col1-value-445
+wow-wow-col1-value-445 wow-wow-col1-value-45
+wow-wow-col1-value-445 wow-wow-col1-value-545
+wow-wow-col1-value-445 wow-wow-col1-value-645
+wow-wow-col1-value-445 wow-wow-col1-value-745
+wow-wow-col1-value-446 wow-wow-col1-value-146
+wow-wow-col1-value-446 wow-wow-col1-value-246
+wow-wow-col1-value-446 wow-wow-col1-value-346
+wow-wow-col1-value-446 wow-wow-col1-value-446
+wow-wow-col1-value-446 wow-wow-col1-value-46
+wow-wow-col1-value-446 wow-wow-col1-value-546
+wow-wow-col1-value-446 wow-wow-col1-value-646
+wow-wow-col1-value-446 wow-wow-col1-value-746
+wow-wow-col1-value-447 wow-wow-col1-value-147
+wow-wow-col1-value-447 wow-wow-col1-value-247
+wow-wow-col1-value-447 wow-wow-col1-value-347
+wow-wow-col1-value-447 wow-wow-col1-value-447
+wow-wow-col1-value-447 wow-wow-col1-value-47
+wow-wow-col1-value-447 wow-wow-col1-value-547
+wow-wow-col1-value-447 wow-wow-col1-value-647
+wow-wow-col1-value-447 wow-wow-col1-value-747
+wow-wow-col1-value-448 wow-wow-col1-value-148
+wow-wow-col1-value-448 wow-wow-col1-value-248
+wow-wow-col1-value-448 wow-wow-col1-value-348
+wow-wow-col1-value-448 wow-wow-col1-value-448
+wow-wow-col1-value-448 wow-wow-col1-value-48
+wow-wow-col1-value-448 wow-wow-col1-value-548
+wow-wow-col1-value-448 wow-wow-col1-value-648
+wow-wow-col1-value-448 wow-wow-col1-value-748
+wow-wow-col1-value-449 wow-wow-col1-value-149
+wow-wow-col1-value-449 wow-wow-col1-value-249
+wow-wow-col1-value-449 wow-wow-col1-value-349
+wow-wow-col1-value-449 wow-wow-col1-value-449
+wow-wow-col1-value-449 wow-wow-col1-value-49
+wow-wow-col1-value-449 wow-wow-col1-value-549
+wow-wow-col1-value-449 wow-wow-col1-value-649
+wow-wow-col1-value-449 wow-wow-col1-value-749
+wow-wow-col1-value-45 wow-wow-col1-value-145
+wow-wow-col1-value-45 wow-wow-col1-value-245
+wow-wow-col1-value-45 wow-wow-col1-value-345
+wow-wow-col1-value-45 wow-wow-col1-value-445
+wow-wow-col1-value-45 wow-wow-col1-value-45
+wow-wow-col1-value-45 wow-wow-col1-value-545
+wow-wow-col1-value-45 wow-wow-col1-value-645
+wow-wow-col1-value-45 wow-wow-col1-value-745
+wow-wow-col1-value-450 wow-wow-col1-value-150
+wow-wow-col1-value-450 wow-wow-col1-value-250
+wow-wow-col1-value-450 wow-wow-col1-value-350
+wow-wow-col1-value-450 wow-wow-col1-value-450
+wow-wow-col1-value-450 wow-wow-col1-value-50
+wow-wow-col1-value-450 wow-wow-col1-value-550
+wow-wow-col1-value-450 wow-wow-col1-value-650
+wow-wow-col1-value-450 wow-wow-col1-value-750
+wow-wow-col1-value-451 wow-wow-col1-value-151
+wow-wow-col1-value-451 wow-wow-col1-value-251
+wow-wow-col1-value-451 wow-wow-col1-value-351
+wow-wow-col1-value-451 wow-wow-col1-value-451
+wow-wow-col1-value-451 wow-wow-col1-value-51
+wow-wow-col1-value-451 wow-wow-col1-value-551
+wow-wow-col1-value-451 wow-wow-col1-value-651
+wow-wow-col1-value-451 wow-wow-col1-value-751
+wow-wow-col1-value-452 wow-wow-col1-value-152
+wow-wow-col1-value-452 wow-wow-col1-value-252
+wow-wow-col1-value-452 wow-wow-col1-value-352
+wow-wow-col1-value-452 wow-wow-col1-value-452
+wow-wow-col1-value-452 wow-wow-col1-value-52
+wow-wow-col1-value-452 wow-wow-col1-value-552
+wow-wow-col1-value-452 wow-wow-col1-value-652
+wow-wow-col1-value-452 wow-wow-col1-value-752
+wow-wow-col1-value-453 wow-wow-col1-value-153
+wow-wow-col1-value-453 wow-wow-col1-value-253
+wow-wow-col1-value-453 wow-wow-col1-value-353
+wow-wow-col1-value-453 wow-wow-col1-value-453
+wow-wow-col1-value-453 wow-wow-col1-value-53
+wow-wow-col1-value-453 wow-wow-col1-value-553
+wow-wow-col1-value-453 wow-wow-col1-value-653
+wow-wow-col1-value-453 wow-wow-col1-value-753
+wow-wow-col1-value-454 wow-wow-col1-value-154
+wow-wow-col1-value-454 wow-wow-col1-value-254
+wow-wow-col1-value-454 wow-wow-col1-value-354
+wow-wow-col1-value-454 wow-wow-col1-value-454
+wow-wow-col1-value-454 wow-wow-col1-value-54
+wow-wow-col1-value-454 wow-wow-col1-value-554
+wow-wow-col1-value-454 wow-wow-col1-value-654
+wow-wow-col1-value-454 wow-wow-col1-value-754
+wow-wow-col1-value-455 wow-wow-col1-value-155
+wow-wow-col1-value-455 wow-wow-col1-value-255
+wow-wow-col1-value-455 wow-wow-col1-value-355
+wow-wow-col1-value-455 wow-wow-col1-value-455
+wow-wow-col1-value-455 wow-wow-col1-value-55
+wow-wow-col1-value-455 wow-wow-col1-value-555
+wow-wow-col1-value-455 wow-wow-col1-value-655
+wow-wow-col1-value-455 wow-wow-col1-value-755
+wow-wow-col1-value-456 wow-wow-col1-value-156
+wow-wow-col1-value-456 wow-wow-col1-value-256
+wow-wow-col1-value-456 wow-wow-col1-value-356
+wow-wow-col1-value-456 wow-wow-col1-value-456
+wow-wow-col1-value-456 wow-wow-col1-value-556
+wow-wow-col1-value-456 wow-wow-col1-value-56
+wow-wow-col1-value-456 wow-wow-col1-value-656
+wow-wow-col1-value-456 wow-wow-col1-value-756
+wow-wow-col1-value-457 wow-wow-col1-value-157
+wow-wow-col1-value-457 wow-wow-col1-value-257
+wow-wow-col1-value-457 wow-wow-col1-value-357
+wow-wow-col1-value-457 wow-wow-col1-value-457
+wow-wow-col1-value-457 wow-wow-col1-value-557
+wow-wow-col1-value-457 wow-wow-col1-value-57
+wow-wow-col1-value-457 wow-wow-col1-value-657
+wow-wow-col1-value-457 wow-wow-col1-value-757
+wow-wow-col1-value-458 wow-wow-col1-value-158
+wow-wow-col1-value-458 wow-wow-col1-value-258
+wow-wow-col1-value-458 wow-wow-col1-value-358
+wow-wow-col1-value-458 wow-wow-col1-value-458
+wow-wow-col1-value-458 wow-wow-col1-value-558
+wow-wow-col1-value-458 wow-wow-col1-value-58
+wow-wow-col1-value-458 wow-wow-col1-value-658
+wow-wow-col1-value-458 wow-wow-col1-value-758
+wow-wow-col1-value-459 wow-wow-col1-value-159
+wow-wow-col1-value-459 wow-wow-col1-value-259
+wow-wow-col1-value-459 wow-wow-col1-value-359
+wow-wow-col1-value-459 wow-wow-col1-value-459
+wow-wow-col1-value-459 wow-wow-col1-value-559
+wow-wow-col1-value-459 wow-wow-col1-value-59
+wow-wow-col1-value-459 wow-wow-col1-value-659
+wow-wow-col1-value-459 wow-wow-col1-value-759
+wow-wow-col1-value-46 wow-wow-col1-value-146
+wow-wow-col1-value-46 wow-wow-col1-value-246
+wow-wow-col1-value-46 wow-wow-col1-value-346
+wow-wow-col1-value-46 wow-wow-col1-value-446
+wow-wow-col1-value-46 wow-wow-col1-value-46
+wow-wow-col1-value-46 wow-wow-col1-value-546
+wow-wow-col1-value-46 wow-wow-col1-value-646
+wow-wow-col1-value-46 wow-wow-col1-value-746
+wow-wow-col1-value-460 wow-wow-col1-value-160
+wow-wow-col1-value-460 wow-wow-col1-value-260
+wow-wow-col1-value-460 wow-wow-col1-value-360
+wow-wow-col1-value-460 wow-wow-col1-value-460
+wow-wow-col1-value-460 wow-wow-col1-value-560
+wow-wow-col1-value-460 wow-wow-col1-value-60
+wow-wow-col1-value-460 wow-wow-col1-value-660
+wow-wow-col1-value-460 wow-wow-col1-value-760
+wow-wow-col1-value-461 wow-wow-col1-value-161
+wow-wow-col1-value-461 wow-wow-col1-value-261
+wow-wow-col1-value-461 wow-wow-col1-value-361
+wow-wow-col1-value-461 wow-wow-col1-value-461
+wow-wow-col1-value-461 wow-wow-col1-value-561
+wow-wow-col1-value-461 wow-wow-col1-value-61
+wow-wow-col1-value-461 wow-wow-col1-value-661
+wow-wow-col1-value-461 wow-wow-col1-value-761
+wow-wow-col1-value-462 wow-wow-col1-value-162
+wow-wow-col1-value-462 wow-wow-col1-value-262
+wow-wow-col1-value-462 wow-wow-col1-value-362
+wow-wow-col1-value-462 wow-wow-col1-value-462
+wow-wow-col1-value-462 wow-wow-col1-value-562
+wow-wow-col1-value-462 wow-wow-col1-value-62
+wow-wow-col1-value-462 wow-wow-col1-value-662
+wow-wow-col1-value-462 wow-wow-col1-value-762
+wow-wow-col1-value-463 wow-wow-col1-value-163
+wow-wow-col1-value-463 wow-wow-col1-value-263
+wow-wow-col1-value-463 wow-wow-col1-value-363
+wow-wow-col1-value-463 wow-wow-col1-value-463
+wow-wow-col1-value-463 wow-wow-col1-value-563
+wow-wow-col1-value-463 wow-wow-col1-value-63
+wow-wow-col1-value-463 wow-wow-col1-value-663
+wow-wow-col1-value-463 wow-wow-col1-value-763
+wow-wow-col1-value-464 wow-wow-col1-value-164
+wow-wow-col1-value-464 wow-wow-col1-value-264
+wow-wow-col1-value-464 wow-wow-col1-value-364
+wow-wow-col1-value-464 wow-wow-col1-value-464
+wow-wow-col1-value-464 wow-wow-col1-value-564
+wow-wow-col1-value-464 wow-wow-col1-value-64
+wow-wow-col1-value-464 wow-wow-col1-value-664
+wow-wow-col1-value-464 wow-wow-col1-value-764
+wow-wow-col1-value-465 wow-wow-col1-value-165
+wow-wow-col1-value-465 wow-wow-col1-value-265
+wow-wow-col1-value-465 wow-wow-col1-value-365
+wow-wow-col1-value-465 wow-wow-col1-value-465
+wow-wow-col1-value-465 wow-wow-col1-value-565
+wow-wow-col1-value-465 wow-wow-col1-value-65
+wow-wow-col1-value-465 wow-wow-col1-value-665
+wow-wow-col1-value-465 wow-wow-col1-value-765
+wow-wow-col1-value-466 wow-wow-col1-value-166
+wow-wow-col1-value-466 wow-wow-col1-value-266
+wow-wow-col1-value-466 wow-wow-col1-value-366
+wow-wow-col1-value-466 wow-wow-col1-value-466
+wow-wow-col1-value-466 wow-wow-col1-value-566
+wow-wow-col1-value-466 wow-wow-col1-value-66
+wow-wow-col1-value-466 wow-wow-col1-value-666
+wow-wow-col1-value-466 wow-wow-col1-value-766
+wow-wow-col1-value-467 wow-wow-col1-value-167
+wow-wow-col1-value-467 wow-wow-col1-value-267
+wow-wow-col1-value-467 wow-wow-col1-value-367
+wow-wow-col1-value-467 wow-wow-col1-value-467
+wow-wow-col1-value-467 wow-wow-col1-value-567
+wow-wow-col1-value-467 wow-wow-col1-value-667
+wow-wow-col1-value-467 wow-wow-col1-value-67
+wow-wow-col1-value-467 wow-wow-col1-value-767
+wow-wow-col1-value-468 wow-wow-col1-value-168
+wow-wow-col1-value-468 wow-wow-col1-value-268
+wow-wow-col1-value-468 wow-wow-col1-value-368
+wow-wow-col1-value-468 wow-wow-col1-value-468
+wow-wow-col1-value-468 wow-wow-col1-value-568
+wow-wow-col1-value-468 wow-wow-col1-value-668
+wow-wow-col1-value-468 wow-wow-col1-value-68
+wow-wow-col1-value-468 wow-wow-col1-value-768
+wow-wow-col1-value-469 wow-wow-col1-value-169
+wow-wow-col1-value-469 wow-wow-col1-value-269
+wow-wow-col1-value-469 wow-wow-col1-value-369
+wow-wow-col1-value-469 wow-wow-col1-value-469
+wow-wow-col1-value-469 wow-wow-col1-value-569
+wow-wow-col1-value-469 wow-wow-col1-value-669
+wow-wow-col1-value-469 wow-wow-col1-value-69
+wow-wow-col1-value-469 wow-wow-col1-value-769
+wow-wow-col1-value-47 wow-wow-col1-value-147
+wow-wow-col1-value-47 wow-wow-col1-value-247
+wow-wow-col1-value-47 wow-wow-col1-value-347
+wow-wow-col1-value-47 wow-wow-col1-value-447
+wow-wow-col1-value-47 wow-wow-col1-value-47
+wow-wow-col1-value-47 wow-wow-col1-value-547
+wow-wow-col1-value-47 wow-wow-col1-value-647
+wow-wow-col1-value-47 wow-wow-col1-value-747
+wow-wow-col1-value-470 wow-wow-col1-value-170
+wow-wow-col1-value-470 wow-wow-col1-value-270
+wow-wow-col1-value-470 wow-wow-col1-value-370
+wow-wow-col1-value-470 wow-wow-col1-value-470
+wow-wow-col1-value-470 wow-wow-col1-value-570
+wow-wow-col1-value-470 wow-wow-col1-value-670
+wow-wow-col1-value-470 wow-wow-col1-value-70
+wow-wow-col1-value-470 wow-wow-col1-value-770
+wow-wow-col1-value-471 wow-wow-col1-value-171
+wow-wow-col1-value-471 wow-wow-col1-value-271
+wow-wow-col1-value-471 wow-wow-col1-value-371
+wow-wow-col1-value-471 wow-wow-col1-value-471
+wow-wow-col1-value-471 wow-wow-col1-value-571
+wow-wow-col1-value-471 wow-wow-col1-value-671
+wow-wow-col1-value-471 wow-wow-col1-value-71
+wow-wow-col1-value-471 wow-wow-col1-value-771
+wow-wow-col1-value-472 wow-wow-col1-value-172
+wow-wow-col1-value-472 wow-wow-col1-value-272
+wow-wow-col1-value-472 wow-wow-col1-value-372
+wow-wow-col1-value-472 wow-wow-col1-value-472
+wow-wow-col1-value-472 wow-wow-col1-value-572
+wow-wow-col1-value-472 wow-wow-col1-value-672
+wow-wow-col1-value-472 wow-wow-col1-value-72
+wow-wow-col1-value-472 wow-wow-col1-value-772
+wow-wow-col1-value-473 wow-wow-col1-value-173
+wow-wow-col1-value-473 wow-wow-col1-value-273
+wow-wow-col1-value-473 wow-wow-col1-value-373
+wow-wow-col1-value-473 wow-wow-col1-value-473
+wow-wow-col1-value-473 wow-wow-col1-value-573
+wow-wow-col1-value-473 wow-wow-col1-value-673
+wow-wow-col1-value-473 wow-wow-col1-value-73
+wow-wow-col1-value-473 wow-wow-col1-value-773
+wow-wow-col1-value-474 wow-wow-col1-value-174
+wow-wow-col1-value-474 wow-wow-col1-value-274
+wow-wow-col1-value-474 wow-wow-col1-value-374
+wow-wow-col1-value-474 wow-wow-col1-value-474
+wow-wow-col1-value-474 wow-wow-col1-value-574
+wow-wow-col1-value-474 wow-wow-col1-value-674
+wow-wow-col1-value-474 wow-wow-col1-value-74
+wow-wow-col1-value-474 wow-wow-col1-value-774
+wow-wow-col1-value-475 wow-wow-col1-value-175
+wow-wow-col1-value-475 wow-wow-col1-value-275
+wow-wow-col1-value-475 wow-wow-col1-value-375
+wow-wow-col1-value-475 wow-wow-col1-value-475
+wow-wow-col1-value-475 wow-wow-col1-value-575
+wow-wow-col1-value-475 wow-wow-col1-value-675
+wow-wow-col1-value-475 wow-wow-col1-value-75
+wow-wow-col1-value-475 wow-wow-col1-value-775
+wow-wow-col1-value-476 wow-wow-col1-value-176
+wow-wow-col1-value-476 wow-wow-col1-value-276
+wow-wow-col1-value-476 wow-wow-col1-value-376
+wow-wow-col1-value-476 wow-wow-col1-value-476
+wow-wow-col1-value-476 wow-wow-col1-value-576
+wow-wow-col1-value-476 wow-wow-col1-value-676
+wow-wow-col1-value-476 wow-wow-col1-value-76
+wow-wow-col1-value-476 wow-wow-col1-value-776
+wow-wow-col1-value-477 wow-wow-col1-value-177
+wow-wow-col1-value-477 wow-wow-col1-value-277
+wow-wow-col1-value-477 wow-wow-col1-value-377
+wow-wow-col1-value-477 wow-wow-col1-value-477
+wow-wow-col1-value-477 wow-wow-col1-value-577
+wow-wow-col1-value-477 wow-wow-col1-value-677
+wow-wow-col1-value-477 wow-wow-col1-value-77
+wow-wow-col1-value-477 wow-wow-col1-value-777
+wow-wow-col1-value-478 wow-wow-col1-value-178
+wow-wow-col1-value-478 wow-wow-col1-value-278
+wow-wow-col1-value-478 wow-wow-col1-value-378
+wow-wow-col1-value-478 wow-wow-col1-value-478
+wow-wow-col1-value-478 wow-wow-col1-value-578
+wow-wow-col1-value-478 wow-wow-col1-value-678
+wow-wow-col1-value-478 wow-wow-col1-value-778
+wow-wow-col1-value-478 wow-wow-col1-value-78
+wow-wow-col1-value-479 wow-wow-col1-value-179
+wow-wow-col1-value-479 wow-wow-col1-value-279
+wow-wow-col1-value-479 wow-wow-col1-value-379
+wow-wow-col1-value-479 wow-wow-col1-value-479
+wow-wow-col1-value-479 wow-wow-col1-value-579
+wow-wow-col1-value-479 wow-wow-col1-value-679
+wow-wow-col1-value-479 wow-wow-col1-value-779
+wow-wow-col1-value-479 wow-wow-col1-value-79
+wow-wow-col1-value-48 wow-wow-col1-value-148
+wow-wow-col1-value-48 wow-wow-col1-value-248
+wow-wow-col1-value-48 wow-wow-col1-value-348
+wow-wow-col1-value-48 wow-wow-col1-value-448
+wow-wow-col1-value-48 wow-wow-col1-value-48
+wow-wow-col1-value-48 wow-wow-col1-value-548
+wow-wow-col1-value-48 wow-wow-col1-value-648
+wow-wow-col1-value-48 wow-wow-col1-value-748
+wow-wow-col1-value-480 wow-wow-col1-value-180
+wow-wow-col1-value-480 wow-wow-col1-value-280
+wow-wow-col1-value-480 wow-wow-col1-value-380
+wow-wow-col1-value-480 wow-wow-col1-value-480
+wow-wow-col1-value-480 wow-wow-col1-value-580
+wow-wow-col1-value-480 wow-wow-col1-value-680
+wow-wow-col1-value-480 wow-wow-col1-value-780
+wow-wow-col1-value-480 wow-wow-col1-value-80
+wow-wow-col1-value-481 wow-wow-col1-value-181
+wow-wow-col1-value-481 wow-wow-col1-value-281
+wow-wow-col1-value-481 wow-wow-col1-value-381
+wow-wow-col1-value-481 wow-wow-col1-value-481
+wow-wow-col1-value-481 wow-wow-col1-value-581
+wow-wow-col1-value-481 wow-wow-col1-value-681
+wow-wow-col1-value-481 wow-wow-col1-value-781
+wow-wow-col1-value-481 wow-wow-col1-value-81
+wow-wow-col1-value-482 wow-wow-col1-value-182
+wow-wow-col1-value-482 wow-wow-col1-value-282
+wow-wow-col1-value-482 wow-wow-col1-value-382
+wow-wow-col1-value-482 wow-wow-col1-value-482
+wow-wow-col1-value-482 wow-wow-col1-value-582
+wow-wow-col1-value-482 wow-wow-col1-value-682
+wow-wow-col1-value-482 wow-wow-col1-value-782
+wow-wow-col1-value-482 wow-wow-col1-value-82
+wow-wow-col1-value-483 wow-wow-col1-value-183
+wow-wow-col1-value-483 wow-wow-col1-value-283
+wow-wow-col1-value-483 wow-wow-col1-value-383
+wow-wow-col1-value-483 wow-wow-col1-value-483
+wow-wow-col1-value-483 wow-wow-col1-value-583
+wow-wow-col1-value-483 wow-wow-col1-value-683
+wow-wow-col1-value-483 wow-wow-col1-value-783
+wow-wow-col1-value-483 wow-wow-col1-value-83
+wow-wow-col1-value-484 wow-wow-col1-value-184
+wow-wow-col1-value-484 wow-wow-col1-value-284
+wow-wow-col1-value-484 wow-wow-col1-value-384
+wow-wow-col1-value-484 wow-wow-col1-value-484
+wow-wow-col1-value-484 wow-wow-col1-value-584
+wow-wow-col1-value-484 wow-wow-col1-value-684
+wow-wow-col1-value-484 wow-wow-col1-value-784
+wow-wow-col1-value-484 wow-wow-col1-value-84
+wow-wow-col1-value-485 wow-wow-col1-value-185
+wow-wow-col1-value-485 wow-wow-col1-value-285
+wow-wow-col1-value-485 wow-wow-col1-value-385
+wow-wow-col1-value-485 wow-wow-col1-value-485
+wow-wow-col1-value-485 wow-wow-col1-value-585
+wow-wow-col1-value-485 wow-wow-col1-value-685
+wow-wow-col1-value-485 wow-wow-col1-value-785
+wow-wow-col1-value-485 wow-wow-col1-value-85
+wow-wow-col1-value-486 wow-wow-col1-value-186
+wow-wow-col1-value-486 wow-wow-col1-value-286
+wow-wow-col1-value-486 wow-wow-col1-value-386
+wow-wow-col1-value-486 wow-wow-col1-value-486
+wow-wow-col1-value-486 wow-wow-col1-value-586
+wow-wow-col1-value-486 wow-wow-col1-value-686
+wow-wow-col1-value-486 wow-wow-col1-value-786
+wow-wow-col1-value-486 wow-wow-col1-value-86
+wow-wow-col1-value-487 wow-wow-col1-value-187
+wow-wow-col1-value-487 wow-wow-col1-value-287
+wow-wow-col1-value-487 wow-wow-col1-value-387
+wow-wow-col1-value-487 wow-wow-col1-value-487
+wow-wow-col1-value-487 wow-wow-col1-value-587
+wow-wow-col1-value-487 wow-wow-col1-value-687
+wow-wow-col1-value-487 wow-wow-col1-value-787
+wow-wow-col1-value-487 wow-wow-col1-value-87
+wow-wow-col1-value-488 wow-wow-col1-value-188
+wow-wow-col1-value-488 wow-wow-col1-value-288
+wow-wow-col1-value-488 wow-wow-col1-value-388
+wow-wow-col1-value-488 wow-wow-col1-value-488
+wow-wow-col1-value-488 wow-wow-col1-value-588
+wow-wow-col1-value-488 wow-wow-col1-value-688
+wow-wow-col1-value-488 wow-wow-col1-value-788
+wow-wow-col1-value-488 wow-wow-col1-value-88
+wow-wow-col1-value-489 wow-wow-col1-value-189
+wow-wow-col1-value-489 wow-wow-col1-value-289
+wow-wow-col1-value-489 wow-wow-col1-value-389
+wow-wow-col1-value-489 wow-wow-col1-value-489
+wow-wow-col1-value-489 wow-wow-col1-value-589
+wow-wow-col1-value-489 wow-wow-col1-value-689
+wow-wow-col1-value-489 wow-wow-col1-value-789
+wow-wow-col1-value-489 wow-wow-col1-value-89
+wow-wow-col1-value-49 wow-wow-col1-value-149
+wow-wow-col1-value-49 wow-wow-col1-value-249
+wow-wow-col1-value-49 wow-wow-col1-value-349
+wow-wow-col1-value-49 wow-wow-col1-value-449
+wow-wow-col1-value-49 wow-wow-col1-value-49
+wow-wow-col1-value-49 wow-wow-col1-value-549
+wow-wow-col1-value-49 wow-wow-col1-value-649
+wow-wow-col1-value-49 wow-wow-col1-value-749
+wow-wow-col1-value-490 wow-wow-col1-value-190
+wow-wow-col1-value-490 wow-wow-col1-value-290
+wow-wow-col1-value-490 wow-wow-col1-value-390
+wow-wow-col1-value-490 wow-wow-col1-value-490
+wow-wow-col1-value-490 wow-wow-col1-value-590
+wow-wow-col1-value-490 wow-wow-col1-value-690
+wow-wow-col1-value-490 wow-wow-col1-value-790
+wow-wow-col1-value-490 wow-wow-col1-value-90
+wow-wow-col1-value-491 wow-wow-col1-value-191
+wow-wow-col1-value-491 wow-wow-col1-value-291
+wow-wow-col1-value-491 wow-wow-col1-value-391
+wow-wow-col1-value-491 wow-wow-col1-value-491
+wow-wow-col1-value-491 wow-wow-col1-value-591
+wow-wow-col1-value-491 wow-wow-col1-value-691
+wow-wow-col1-value-491 wow-wow-col1-value-791
+wow-wow-col1-value-491 wow-wow-col1-value-91
+wow-wow-col1-value-492 wow-wow-col1-value-192
+wow-wow-col1-value-492 wow-wow-col1-value-292
+wow-wow-col1-value-492 wow-wow-col1-value-392
+wow-wow-col1-value-492 wow-wow-col1-value-492
+wow-wow-col1-value-492 wow-wow-col1-value-592
+wow-wow-col1-value-492 wow-wow-col1-value-692
+wow-wow-col1-value-492 wow-wow-col1-value-792
+wow-wow-col1-value-492 wow-wow-col1-value-92
+wow-wow-col1-value-493 wow-wow-col1-value-193
+wow-wow-col1-value-493 wow-wow-col1-value-293
+wow-wow-col1-value-493 wow-wow-col1-value-393
+wow-wow-col1-value-493 wow-wow-col1-value-493
+wow-wow-col1-value-493 wow-wow-col1-value-593
+wow-wow-col1-value-493 wow-wow-col1-value-693
+wow-wow-col1-value-493 wow-wow-col1-value-793
+wow-wow-col1-value-493 wow-wow-col1-value-93
+wow-wow-col1-value-494 wow-wow-col1-value-194
+wow-wow-col1-value-494 wow-wow-col1-value-294
+wow-wow-col1-value-494 wow-wow-col1-value-394
+wow-wow-col1-value-494 wow-wow-col1-value-494
+wow-wow-col1-value-494 wow-wow-col1-value-594
+wow-wow-col1-value-494 wow-wow-col1-value-694
+wow-wow-col1-value-494 wow-wow-col1-value-794
+wow-wow-col1-value-494 wow-wow-col1-value-94
+wow-wow-col1-value-495 wow-wow-col1-value-195
+wow-wow-col1-value-495 wow-wow-col1-value-295
+wow-wow-col1-value-495 wow-wow-col1-value-395
+wow-wow-col1-value-495 wow-wow-col1-value-495
+wow-wow-col1-value-495 wow-wow-col1-value-595
+wow-wow-col1-value-495 wow-wow-col1-value-695
+wow-wow-col1-value-495 wow-wow-col1-value-795
+wow-wow-col1-value-495 wow-wow-col1-value-95
+wow-wow-col1-value-496 wow-wow-col1-value-196
+wow-wow-col1-value-496 wow-wow-col1-value-296
+wow-wow-col1-value-496 wow-wow-col1-value-396
+wow-wow-col1-value-496 wow-wow-col1-value-496
+wow-wow-col1-value-496 wow-wow-col1-value-596
+wow-wow-col1-value-496 wow-wow-col1-value-696
+wow-wow-col1-value-496 wow-wow-col1-value-796
+wow-wow-col1-value-496 wow-wow-col1-value-96
+wow-wow-col1-value-497 wow-wow-col1-value-197
+wow-wow-col1-value-497 wow-wow-col1-value-297
+wow-wow-col1-value-497 wow-wow-col1-value-397
+wow-wow-col1-value-497 wow-wow-col1-value-497
+wow-wow-col1-value-497 wow-wow-col1-value-597
+wow-wow-col1-value-497 wow-wow-col1-value-697
+wow-wow-col1-value-497 wow-wow-col1-value-797
+wow-wow-col1-value-497 wow-wow-col1-value-97
+wow-wow-col1-value-498 wow-wow-col1-value-198
+wow-wow-col1-value-498 wow-wow-col1-value-298
+wow-wow-col1-value-498 wow-wow-col1-value-398
+wow-wow-col1-value-498 wow-wow-col1-value-498
+wow-wow-col1-value-498 wow-wow-col1-value-598
+wow-wow-col1-value-498 wow-wow-col1-value-698
+wow-wow-col1-value-498 wow-wow-col1-value-798
+wow-wow-col1-value-498 wow-wow-col1-value-98
+wow-wow-col1-value-499 wow-wow-col1-value-199
+wow-wow-col1-value-499 wow-wow-col1-value-299
+wow-wow-col1-value-499 wow-wow-col1-value-399
+wow-wow-col1-value-499 wow-wow-col1-value-499
+wow-wow-col1-value-499 wow-wow-col1-value-599
+wow-wow-col1-value-499 wow-wow-col1-value-699
+wow-wow-col1-value-499 wow-wow-col1-value-799
+wow-wow-col1-value-499 wow-wow-col1-value-99
+wow-wow-col1-value-5 wow-wow-col1-value-105
+wow-wow-col1-value-5 wow-wow-col1-value-205
+wow-wow-col1-value-5 wow-wow-col1-value-305
+wow-wow-col1-value-5 wow-wow-col1-value-405
+wow-wow-col1-value-5 wow-wow-col1-value-5
+wow-wow-col1-value-5 wow-wow-col1-value-505
+wow-wow-col1-value-5 wow-wow-col1-value-605
+wow-wow-col1-value-5 wow-wow-col1-value-705
+wow-wow-col1-value-50 wow-wow-col1-value-150
+wow-wow-col1-value-50 wow-wow-col1-value-250
+wow-wow-col1-value-50 wow-wow-col1-value-350
+wow-wow-col1-value-50 wow-wow-col1-value-450
+wow-wow-col1-value-50 wow-wow-col1-value-50
+wow-wow-col1-value-50 wow-wow-col1-value-550
+wow-wow-col1-value-50 wow-wow-col1-value-650
+wow-wow-col1-value-50 wow-wow-col1-value-750
+wow-wow-col1-value-500 wow-wow-col1-value-0
+wow-wow-col1-value-500 wow-wow-col1-value-100
+wow-wow-col1-value-500 wow-wow-col1-value-200
+wow-wow-col1-value-500 wow-wow-col1-value-300
+wow-wow-col1-value-500 wow-wow-col1-value-400
+wow-wow-col1-value-500 wow-wow-col1-value-500
+wow-wow-col1-value-500 wow-wow-col1-value-600
+wow-wow-col1-value-500 wow-wow-col1-value-700
+wow-wow-col1-value-501 wow-wow-col1-value-1
+wow-wow-col1-value-501 wow-wow-col1-value-101
+wow-wow-col1-value-501 wow-wow-col1-value-201
+wow-wow-col1-value-501 wow-wow-col1-value-301
+wow-wow-col1-value-501 wow-wow-col1-value-401
+wow-wow-col1-value-501 wow-wow-col1-value-501
+wow-wow-col1-value-501 wow-wow-col1-value-601
+wow-wow-col1-value-501 wow-wow-col1-value-701
+wow-wow-col1-value-502 wow-wow-col1-value-102
+wow-wow-col1-value-502 wow-wow-col1-value-2
+wow-wow-col1-value-502 wow-wow-col1-value-202
+wow-wow-col1-value-502 wow-wow-col1-value-302
+wow-wow-col1-value-502 wow-wow-col1-value-402
+wow-wow-col1-value-502 wow-wow-col1-value-502
+wow-wow-col1-value-502 wow-wow-col1-value-602
+wow-wow-col1-value-502 wow-wow-col1-value-702
+wow-wow-col1-value-503 wow-wow-col1-value-103
+wow-wow-col1-value-503 wow-wow-col1-value-203
+wow-wow-col1-value-503 wow-wow-col1-value-3
+wow-wow-col1-value-503 wow-wow-col1-value-303
+wow-wow-col1-value-503 wow-wow-col1-value-403
+wow-wow-col1-value-503 wow-wow-col1-value-503
+wow-wow-col1-value-503 wow-wow-col1-value-603
+wow-wow-col1-value-503 wow-wow-col1-value-703
+wow-wow-col1-value-504 wow-wow-col1-value-104
+wow-wow-col1-value-504 wow-wow-col1-value-204
+wow-wow-col1-value-504 wow-wow-col1-value-304
+wow-wow-col1-value-504 wow-wow-col1-value-4
+wow-wow-col1-value-504 wow-wow-col1-value-404
+wow-wow-col1-value-504 wow-wow-col1-value-504
+wow-wow-col1-value-504 wow-wow-col1-value-604
+wow-wow-col1-value-504 wow-wow-col1-value-704
+wow-wow-col1-value-505 wow-wow-col1-value-105
+wow-wow-col1-value-505 wow-wow-col1-value-205
+wow-wow-col1-value-505 wow-wow-col1-value-305
+wow-wow-col1-value-505 wow-wow-col1-value-405
+wow-wow-col1-value-505 wow-wow-col1-value-5
+wow-wow-col1-value-505 wow-wow-col1-value-505
+wow-wow-col1-value-505 wow-wow-col1-value-605
+wow-wow-col1-value-505 wow-wow-col1-value-705
+wow-wow-col1-value-506 wow-wow-col1-value-106
+wow-wow-col1-value-506 wow-wow-col1-value-206
+wow-wow-col1-value-506 wow-wow-col1-value-306
+wow-wow-col1-value-506 wow-wow-col1-value-406
+wow-wow-col1-value-506 wow-wow-col1-value-506
+wow-wow-col1-value-506 wow-wow-col1-value-6
+wow-wow-col1-value-506 wow-wow-col1-value-606
+wow-wow-col1-value-506 wow-wow-col1-value-706
+wow-wow-col1-value-507 wow-wow-col1-value-107
+wow-wow-col1-value-507 wow-wow-col1-value-207
+wow-wow-col1-value-507 wow-wow-col1-value-307
+wow-wow-col1-value-507 wow-wow-col1-value-407
+wow-wow-col1-value-507 wow-wow-col1-value-507
+wow-wow-col1-value-507 wow-wow-col1-value-607
+wow-wow-col1-value-507 wow-wow-col1-value-7
+wow-wow-col1-value-507 wow-wow-col1-value-707
+wow-wow-col1-value-508 wow-wow-col1-value-108
+wow-wow-col1-value-508 wow-wow-col1-value-208
+wow-wow-col1-value-508 wow-wow-col1-value-308
+wow-wow-col1-value-508 wow-wow-col1-value-408
+wow-wow-col1-value-508 wow-wow-col1-value-508
+wow-wow-col1-value-508 wow-wow-col1-value-608
+wow-wow-col1-value-508 wow-wow-col1-value-708
+wow-wow-col1-value-508 wow-wow-col1-value-8
+wow-wow-col1-value-509 wow-wow-col1-value-109
+wow-wow-col1-value-509 wow-wow-col1-value-209
+wow-wow-col1-value-509 wow-wow-col1-value-309
+wow-wow-col1-value-509 wow-wow-col1-value-409
+wow-wow-col1-value-509 wow-wow-col1-value-509
+wow-wow-col1-value-509 wow-wow-col1-value-609
+wow-wow-col1-value-509 wow-wow-col1-value-709
+wow-wow-col1-value-509 wow-wow-col1-value-9
+wow-wow-col1-value-51 wow-wow-col1-value-151
+wow-wow-col1-value-51 wow-wow-col1-value-251
+wow-wow-col1-value-51 wow-wow-col1-value-351
+wow-wow-col1-value-51 wow-wow-col1-value-451
+wow-wow-col1-value-51 wow-wow-col1-value-51
+wow-wow-col1-value-51 wow-wow-col1-value-551
+wow-wow-col1-value-51 wow-wow-col1-value-651
+wow-wow-col1-value-51 wow-wow-col1-value-751
+wow-wow-col1-value-510 wow-wow-col1-value-10
+wow-wow-col1-value-510 wow-wow-col1-value-110
+wow-wow-col1-value-510 wow-wow-col1-value-210
+wow-wow-col1-value-510 wow-wow-col1-value-310
+wow-wow-col1-value-510 wow-wow-col1-value-410
+wow-wow-col1-value-510 wow-wow-col1-value-510
+wow-wow-col1-value-510 wow-wow-col1-value-610
+wow-wow-col1-value-510 wow-wow-col1-value-710
+wow-wow-col1-value-511 wow-wow-col1-value-11
+wow-wow-col1-value-511 wow-wow-col1-value-111
+wow-wow-col1-value-511 wow-wow-col1-value-211
+wow-wow-col1-value-511 wow-wow-col1-value-311
+wow-wow-col1-value-511 wow-wow-col1-value-411
+wow-wow-col1-value-511 wow-wow-col1-value-511
+wow-wow-col1-value-511 wow-wow-col1-value-611
+wow-wow-col1-value-511 wow-wow-col1-value-711
+wow-wow-col1-value-512 wow-wow-col1-value-112
+wow-wow-col1-value-512 wow-wow-col1-value-12
+wow-wow-col1-value-512 wow-wow-col1-value-212
+wow-wow-col1-value-512 wow-wow-col1-value-312
+wow-wow-col1-value-512 wow-wow-col1-value-412
+wow-wow-col1-value-512 wow-wow-col1-value-512
+wow-wow-col1-value-512 wow-wow-col1-value-612
+wow-wow-col1-value-512 wow-wow-col1-value-712
+wow-wow-col1-value-513 wow-wow-col1-value-113
+wow-wow-col1-value-513 wow-wow-col1-value-13
+wow-wow-col1-value-513 wow-wow-col1-value-213
+wow-wow-col1-value-513 wow-wow-col1-value-313
+wow-wow-col1-value-513 wow-wow-col1-value-413
+wow-wow-col1-value-513 wow-wow-col1-value-513
+wow-wow-col1-value-513 wow-wow-col1-value-613
+wow-wow-col1-value-513 wow-wow-col1-value-713
+wow-wow-col1-value-514 wow-wow-col1-value-114
+wow-wow-col1-value-514 wow-wow-col1-value-14
+wow-wow-col1-value-514 wow-wow-col1-value-214
+wow-wow-col1-value-514 wow-wow-col1-value-314
+wow-wow-col1-value-514 wow-wow-col1-value-414
+wow-wow-col1-value-514 wow-wow-col1-value-514
+wow-wow-col1-value-514 wow-wow-col1-value-614
+wow-wow-col1-value-514 wow-wow-col1-value-714
+wow-wow-col1-value-515 wow-wow-col1-value-115
+wow-wow-col1-value-515 wow-wow-col1-value-15
+wow-wow-col1-value-515 wow-wow-col1-value-215
+wow-wow-col1-value-515 wow-wow-col1-value-315
+wow-wow-col1-value-515 wow-wow-col1-value-415
+wow-wow-col1-value-515 wow-wow-col1-value-515
+wow-wow-col1-value-515 wow-wow-col1-value-615
+wow-wow-col1-value-515 wow-wow-col1-value-715
+wow-wow-col1-value-516 wow-wow-col1-value-116
+wow-wow-col1-value-516 wow-wow-col1-value-16
+wow-wow-col1-value-516 wow-wow-col1-value-216
+wow-wow-col1-value-516 wow-wow-col1-value-316
+wow-wow-col1-value-516 wow-wow-col1-value-416
+wow-wow-col1-value-516 wow-wow-col1-value-516
+wow-wow-col1-value-516 wow-wow-col1-value-616
+wow-wow-col1-value-516 wow-wow-col1-value-716
+wow-wow-col1-value-517 wow-wow-col1-value-117
+wow-wow-col1-value-517 wow-wow-col1-value-17
+wow-wow-col1-value-517 wow-wow-col1-value-217
+wow-wow-col1-value-517 wow-wow-col1-value-317
+wow-wow-col1-value-517 wow-wow-col1-value-417
+wow-wow-col1-value-517 wow-wow-col1-value-517
+wow-wow-col1-value-517 wow-wow-col1-value-617
+wow-wow-col1-value-517 wow-wow-col1-value-717
+wow-wow-col1-value-518 wow-wow-col1-value-118
+wow-wow-col1-value-518 wow-wow-col1-value-18
+wow-wow-col1-value-518 wow-wow-col1-value-218
+wow-wow-col1-value-518 wow-wow-col1-value-318
+wow-wow-col1-value-518 wow-wow-col1-value-418
+wow-wow-col1-value-518 wow-wow-col1-value-518
+wow-wow-col1-value-518 wow-wow-col1-value-618
+wow-wow-col1-value-518 wow-wow-col1-value-718
+wow-wow-col1-value-519 wow-wow-col1-value-119
+wow-wow-col1-value-519 wow-wow-col1-value-19
+wow-wow-col1-value-519 wow-wow-col1-value-219
+wow-wow-col1-value-519 wow-wow-col1-value-319
+wow-wow-col1-value-519 wow-wow-col1-value-419
+wow-wow-col1-value-519 wow-wow-col1-value-519
+wow-wow-col1-value-519 wow-wow-col1-value-619
+wow-wow-col1-value-519 wow-wow-col1-value-719
+wow-wow-col1-value-52 wow-wow-col1-value-152
+wow-wow-col1-value-52 wow-wow-col1-value-252
+wow-wow-col1-value-52 wow-wow-col1-value-352
+wow-wow-col1-value-52 wow-wow-col1-value-452
+wow-wow-col1-value-52 wow-wow-col1-value-52
+wow-wow-col1-value-52 wow-wow-col1-value-552
+wow-wow-col1-value-52 wow-wow-col1-value-652
+wow-wow-col1-value-52 wow-wow-col1-value-752
+wow-wow-col1-value-520 wow-wow-col1-value-120
+wow-wow-col1-value-520 wow-wow-col1-value-20
+wow-wow-col1-value-520 wow-wow-col1-value-220
+wow-wow-col1-value-520 wow-wow-col1-value-320
+wow-wow-col1-value-520 wow-wow-col1-value-420
+wow-wow-col1-value-520 wow-wow-col1-value-520
+wow-wow-col1-value-520 wow-wow-col1-value-620
+wow-wow-col1-value-520 wow-wow-col1-value-720
+wow-wow-col1-value-521 wow-wow-col1-value-121
+wow-wow-col1-value-521 wow-wow-col1-value-21
+wow-wow-col1-value-521 wow-wow-col1-value-221
+wow-wow-col1-value-521 wow-wow-col1-value-321
+wow-wow-col1-value-521 wow-wow-col1-value-421
+wow-wow-col1-value-521 wow-wow-col1-value-521
+wow-wow-col1-value-521 wow-wow-col1-value-621
+wow-wow-col1-value-521 wow-wow-col1-value-721
+wow-wow-col1-value-522 wow-wow-col1-value-122
+wow-wow-col1-value-522 wow-wow-col1-value-22
+wow-wow-col1-value-522 wow-wow-col1-value-222
+wow-wow-col1-value-522 wow-wow-col1-value-322
+wow-wow-col1-value-522 wow-wow-col1-value-422
+wow-wow-col1-value-522 wow-wow-col1-value-522
+wow-wow-col1-value-522 wow-wow-col1-value-622
+wow-wow-col1-value-522 wow-wow-col1-value-722
+wow-wow-col1-value-523 wow-wow-col1-value-123
+wow-wow-col1-value-523 wow-wow-col1-value-223
+wow-wow-col1-value-523 wow-wow-col1-value-23
+wow-wow-col1-value-523 wow-wow-col1-value-323
+wow-wow-col1-value-523 wow-wow-col1-value-423
+wow-wow-col1-value-523 wow-wow-col1-value-523
+wow-wow-col1-value-523 wow-wow-col1-value-623
+wow-wow-col1-value-523 wow-wow-col1-value-723
+wow-wow-col1-value-524 wow-wow-col1-value-124
+wow-wow-col1-value-524 wow-wow-col1-value-224
+wow-wow-col1-value-524 wow-wow-col1-value-24
+wow-wow-col1-value-524 wow-wow-col1-value-324
+wow-wow-col1-value-524 wow-wow-col1-value-424
+wow-wow-col1-value-524 wow-wow-col1-value-524
+wow-wow-col1-value-524 wow-wow-col1-value-624
+wow-wow-col1-value-524 wow-wow-col1-value-724
+wow-wow-col1-value-525 wow-wow-col1-value-125
+wow-wow-col1-value-525 wow-wow-col1-value-225
+wow-wow-col1-value-525 wow-wow-col1-value-25
+wow-wow-col1-value-525 wow-wow-col1-value-325
+wow-wow-col1-value-525 wow-wow-col1-value-425
+wow-wow-col1-value-525 wow-wow-col1-value-525
+wow-wow-col1-value-525 wow-wow-col1-value-625
+wow-wow-col1-value-525 wow-wow-col1-value-725
+wow-wow-col1-value-526 wow-wow-col1-value-126
+wow-wow-col1-value-526 wow-wow-col1-value-226
+wow-wow-col1-value-526 wow-wow-col1-value-26
+wow-wow-col1-value-526 wow-wow-col1-value-326
+wow-wow-col1-value-526 wow-wow-col1-value-426
+wow-wow-col1-value-526 wow-wow-col1-value-526
+wow-wow-col1-value-526 wow-wow-col1-value-626
+wow-wow-col1-value-526 wow-wow-col1-value-726
+wow-wow-col1-value-527 wow-wow-col1-value-127
+wow-wow-col1-value-527 wow-wow-col1-value-227
+wow-wow-col1-value-527 wow-wow-col1-value-27
+wow-wow-col1-value-527 wow-wow-col1-value-327
+wow-wow-col1-value-527 wow-wow-col1-value-427
+wow-wow-col1-value-527 wow-wow-col1-value-527
+wow-wow-col1-value-527 wow-wow-col1-value-627
+wow-wow-col1-value-527 wow-wow-col1-value-727
+wow-wow-col1-value-528 wow-wow-col1-value-128
+wow-wow-col1-value-528 wow-wow-col1-value-228
+wow-wow-col1-value-528 wow-wow-col1-value-28
+wow-wow-col1-value-528 wow-wow-col1-value-328
+wow-wow-col1-value-528 wow-wow-col1-value-428
+wow-wow-col1-value-528 wow-wow-col1-value-528
+wow-wow-col1-value-528 wow-wow-col1-value-628
+wow-wow-col1-value-528 wow-wow-col1-value-728
+wow-wow-col1-value-529 wow-wow-col1-value-129
+wow-wow-col1-value-529 wow-wow-col1-value-229
+wow-wow-col1-value-529 wow-wow-col1-value-29
+wow-wow-col1-value-529 wow-wow-col1-value-329
+wow-wow-col1-value-529 wow-wow-col1-value-429
+wow-wow-col1-value-529 wow-wow-col1-value-529
+wow-wow-col1-value-529 wow-wow-col1-value-629
+wow-wow-col1-value-529 wow-wow-col1-value-729
+wow-wow-col1-value-53 wow-wow-col1-value-153
+wow-wow-col1-value-53 wow-wow-col1-value-253
+wow-wow-col1-value-53 wow-wow-col1-value-353
+wow-wow-col1-value-53 wow-wow-col1-value-453
+wow-wow-col1-value-53 wow-wow-col1-value-53
+wow-wow-col1-value-53 wow-wow-col1-value-553
+wow-wow-col1-value-53 wow-wow-col1-value-653
+wow-wow-col1-value-53 wow-wow-col1-value-753
+wow-wow-col1-value-530 wow-wow-col1-value-130
+wow-wow-col1-value-530 wow-wow-col1-value-230
+wow-wow-col1-value-530 wow-wow-col1-value-30
+wow-wow-col1-value-530 wow-wow-col1-value-330
+wow-wow-col1-value-530 wow-wow-col1-value-430
+wow-wow-col1-value-530 wow-wow-col1-value-530
+wow-wow-col1-value-530 wow-wow-col1-value-630
+wow-wow-col1-value-530 wow-wow-col1-value-730
+wow-wow-col1-value-531 wow-wow-col1-value-131
+wow-wow-col1-value-531 wow-wow-col1-value-231
+wow-wow-col1-value-531 wow-wow-col1-value-31
+wow-wow-col1-value-531 wow-wow-col1-value-331
+wow-wow-col1-value-531 wow-wow-col1-value-431
+wow-wow-col1-value-531 wow-wow-col1-value-531
+wow-wow-col1-value-531 wow-wow-col1-value-631
+wow-wow-col1-value-531 wow-wow-col1-value-731
+wow-wow-col1-value-532 wow-wow-col1-value-132
+wow-wow-col1-value-532 wow-wow-col1-value-232
+wow-wow-col1-value-532 wow-wow-col1-value-32
+wow-wow-col1-value-532 wow-wow-col1-value-332
+wow-wow-col1-value-532 wow-wow-col1-value-432
+wow-wow-col1-value-532 wow-wow-col1-value-532
+wow-wow-col1-value-532 wow-wow-col1-value-632
+wow-wow-col1-value-532 wow-wow-col1-value-732
+wow-wow-col1-value-533 wow-wow-col1-value-133
+wow-wow-col1-value-533 wow-wow-col1-value-233
+wow-wow-col1-value-533 wow-wow-col1-value-33
+wow-wow-col1-value-533 wow-wow-col1-value-333
+wow-wow-col1-value-533 wow-wow-col1-value-433
+wow-wow-col1-value-533 wow-wow-col1-value-533
+wow-wow-col1-value-533 wow-wow-col1-value-633
+wow-wow-col1-value-533 wow-wow-col1-value-733
+wow-wow-col1-value-534 wow-wow-col1-value-134
+wow-wow-col1-value-534 wow-wow-col1-value-234
+wow-wow-col1-value-534 wow-wow-col1-value-334
+wow-wow-col1-value-534 wow-wow-col1-value-34
+wow-wow-col1-value-534 wow-wow-col1-value-434
+wow-wow-col1-value-534 wow-wow-col1-value-534
+wow-wow-col1-value-534 wow-wow-col1-value-634
+wow-wow-col1-value-534 wow-wow-col1-value-734
+wow-wow-col1-value-535 wow-wow-col1-value-135
+wow-wow-col1-value-535 wow-wow-col1-value-235
+wow-wow-col1-value-535 wow-wow-col1-value-335
+wow-wow-col1-value-535 wow-wow-col1-value-35
+wow-wow-col1-value-535 wow-wow-col1-value-435
+wow-wow-col1-value-535 wow-wow-col1-value-535
+wow-wow-col1-value-535 wow-wow-col1-value-635
+wow-wow-col1-value-535 wow-wow-col1-value-735
+wow-wow-col1-value-536 wow-wow-col1-value-136
+wow-wow-col1-value-536 wow-wow-col1-value-236
+wow-wow-col1-value-536 wow-wow-col1-value-336
+wow-wow-col1-value-536 wow-wow-col1-value-36
+wow-wow-col1-value-536 wow-wow-col1-value-436
+wow-wow-col1-value-536 wow-wow-col1-value-536
+wow-wow-col1-value-536 wow-wow-col1-value-636
+wow-wow-col1-value-536 wow-wow-col1-value-736
+wow-wow-col1-value-537 wow-wow-col1-value-137
+wow-wow-col1-value-537 wow-wow-col1-value-237
+wow-wow-col1-value-537 wow-wow-col1-value-337
+wow-wow-col1-value-537 wow-wow-col1-value-37
+wow-wow-col1-value-537 wow-wow-col1-value-437
+wow-wow-col1-value-537 wow-wow-col1-value-537
+wow-wow-col1-value-537 wow-wow-col1-value-637
+wow-wow-col1-value-537 wow-wow-col1-value-737
+wow-wow-col1-value-538 wow-wow-col1-value-138
+wow-wow-col1-value-538 wow-wow-col1-value-238
+wow-wow-col1-value-538 wow-wow-col1-value-338
+wow-wow-col1-value-538 wow-wow-col1-value-38
+wow-wow-col1-value-538 wow-wow-col1-value-438
+wow-wow-col1-value-538 wow-wow-col1-value-538
+wow-wow-col1-value-538 wow-wow-col1-value-638
+wow-wow-col1-value-538 wow-wow-col1-value-738
+wow-wow-col1-value-539 wow-wow-col1-value-139
+wow-wow-col1-value-539 wow-wow-col1-value-239
+wow-wow-col1-value-539 wow-wow-col1-value-339
+wow-wow-col1-value-539 wow-wow-col1-value-39
+wow-wow-col1-value-539 wow-wow-col1-value-439
+wow-wow-col1-value-539 wow-wow-col1-value-539
+wow-wow-col1-value-539 wow-wow-col1-value-639
+wow-wow-col1-value-539 wow-wow-col1-value-739
+wow-wow-col1-value-54 wow-wow-col1-value-154
+wow-wow-col1-value-54 wow-wow-col1-value-254
+wow-wow-col1-value-54 wow-wow-col1-value-354
+wow-wow-col1-value-54 wow-wow-col1-value-454
+wow-wow-col1-value-54 wow-wow-col1-value-54
+wow-wow-col1-value-54 wow-wow-col1-value-554
+wow-wow-col1-value-54 wow-wow-col1-value-654
+wow-wow-col1-value-54 wow-wow-col1-value-754
+wow-wow-col1-value-540 wow-wow-col1-value-140
+wow-wow-col1-value-540 wow-wow-col1-value-240
+wow-wow-col1-value-540 wow-wow-col1-value-340
+wow-wow-col1-value-540 wow-wow-col1-value-40
+wow-wow-col1-value-540 wow-wow-col1-value-440
+wow-wow-col1-value-540 wow-wow-col1-value-540
+wow-wow-col1-value-540 wow-wow-col1-value-640
+wow-wow-col1-value-540 wow-wow-col1-value-740
+wow-wow-col1-value-541 wow-wow-col1-value-141
+wow-wow-col1-value-541 wow-wow-col1-value-241
+wow-wow-col1-value-541 wow-wow-col1-value-341
+wow-wow-col1-value-541 wow-wow-col1-value-41
+wow-wow-col1-value-541 wow-wow-col1-value-441
+wow-wow-col1-value-541 wow-wow-col1-value-541
+wow-wow-col1-value-541 wow-wow-col1-value-641
+wow-wow-col1-value-541 wow-wow-col1-value-741
+wow-wow-col1-value-542 wow-wow-col1-value-142
+wow-wow-col1-value-542 wow-wow-col1-value-242
+wow-wow-col1-value-542 wow-wow-col1-value-342
+wow-wow-col1-value-542 wow-wow-col1-value-42
+wow-wow-col1-value-542 wow-wow-col1-value-442
+wow-wow-col1-value-542 wow-wow-col1-value-542
+wow-wow-col1-value-542 wow-wow-col1-value-642
+wow-wow-col1-value-542 wow-wow-col1-value-742
+wow-wow-col1-value-543 wow-wow-col1-value-143
+wow-wow-col1-value-543 wow-wow-col1-value-243
+wow-wow-col1-value-543 wow-wow-col1-value-343
+wow-wow-col1-value-543 wow-wow-col1-value-43
+wow-wow-col1-value-543 wow-wow-col1-value-443
+wow-wow-col1-value-543 wow-wow-col1-value-543
+wow-wow-col1-value-543 wow-wow-col1-value-643
+wow-wow-col1-value-543 wow-wow-col1-value-743
+wow-wow-col1-value-544 wow-wow-col1-value-144
+wow-wow-col1-value-544 wow-wow-col1-value-244
+wow-wow-col1-value-544 wow-wow-col1-value-344
+wow-wow-col1-value-544 wow-wow-col1-value-44
+wow-wow-col1-value-544 wow-wow-col1-value-444
+wow-wow-col1-value-544 wow-wow-col1-value-544
+wow-wow-col1-value-544 wow-wow-col1-value-644
+wow-wow-col1-value-544 wow-wow-col1-value-744
+wow-wow-col1-value-545 wow-wow-col1-value-145
+wow-wow-col1-value-545 wow-wow-col1-value-245
+wow-wow-col1-value-545 wow-wow-col1-value-345
+wow-wow-col1-value-545 wow-wow-col1-value-445
+wow-wow-col1-value-545 wow-wow-col1-value-45
+wow-wow-col1-value-545 wow-wow-col1-value-545
+wow-wow-col1-value-545 wow-wow-col1-value-645
+wow-wow-col1-value-545 wow-wow-col1-value-745
+wow-wow-col1-value-546 wow-wow-col1-value-146
+wow-wow-col1-value-546 wow-wow-col1-value-246
+wow-wow-col1-value-546 wow-wow-col1-value-346
+wow-wow-col1-value-546 wow-wow-col1-value-446
+wow-wow-col1-value-546 wow-wow-col1-value-46
+wow-wow-col1-value-546 wow-wow-col1-value-546
+wow-wow-col1-value-546 wow-wow-col1-value-646
+wow-wow-col1-value-546 wow-wow-col1-value-746
+wow-wow-col1-value-547 wow-wow-col1-value-147
+wow-wow-col1-value-547 wow-wow-col1-value-247
+wow-wow-col1-value-547 wow-wow-col1-value-347
+wow-wow-col1-value-547 wow-wow-col1-value-447
+wow-wow-col1-value-547 wow-wow-col1-value-47
+wow-wow-col1-value-547 wow-wow-col1-value-547
+wow-wow-col1-value-547 wow-wow-col1-value-647
+wow-wow-col1-value-547 wow-wow-col1-value-747
+wow-wow-col1-value-548 wow-wow-col1-value-148
+wow-wow-col1-value-548 wow-wow-col1-value-248
+wow-wow-col1-value-548 wow-wow-col1-value-348
+wow-wow-col1-value-548 wow-wow-col1-value-448
+wow-wow-col1-value-548 wow-wow-col1-value-48
+wow-wow-col1-value-548 wow-wow-col1-value-548
+wow-wow-col1-value-548 wow-wow-col1-value-648
+wow-wow-col1-value-548 wow-wow-col1-value-748
+wow-wow-col1-value-549 wow-wow-col1-value-149
+wow-wow-col1-value-549 wow-wow-col1-value-249
+wow-wow-col1-value-549 wow-wow-col1-value-349
+wow-wow-col1-value-549 wow-wow-col1-value-449
+wow-wow-col1-value-549 wow-wow-col1-value-49
+wow-wow-col1-value-549 wow-wow-col1-value-549
+wow-wow-col1-value-549 wow-wow-col1-value-649
+wow-wow-col1-value-549 wow-wow-col1-value-749
+wow-wow-col1-value-55 wow-wow-col1-value-155
+wow-wow-col1-value-55 wow-wow-col1-value-255
+wow-wow-col1-value-55 wow-wow-col1-value-355
+wow-wow-col1-value-55 wow-wow-col1-value-455
+wow-wow-col1-value-55 wow-wow-col1-value-55
+wow-wow-col1-value-55 wow-wow-col1-value-555
+wow-wow-col1-value-55 wow-wow-col1-value-655
+wow-wow-col1-value-55 wow-wow-col1-value-755
+wow-wow-col1-value-550 wow-wow-col1-value-150
+wow-wow-col1-value-550 wow-wow-col1-value-250
+wow-wow-col1-value-550 wow-wow-col1-value-350
+wow-wow-col1-value-550 wow-wow-col1-value-450
+wow-wow-col1-value-550 wow-wow-col1-value-50
+wow-wow-col1-value-550 wow-wow-col1-value-550
+wow-wow-col1-value-550 wow-wow-col1-value-650
+wow-wow-col1-value-550 wow-wow-col1-value-750
+wow-wow-col1-value-551 wow-wow-col1-value-151
+wow-wow-col1-value-551 wow-wow-col1-value-251
+wow-wow-col1-value-551 wow-wow-col1-value-351
+wow-wow-col1-value-551 wow-wow-col1-value-451
+wow-wow-col1-value-551 wow-wow-col1-value-51
+wow-wow-col1-value-551 wow-wow-col1-value-551
+wow-wow-col1-value-551 wow-wow-col1-value-651
+wow-wow-col1-value-551 wow-wow-col1-value-751
+wow-wow-col1-value-552 wow-wow-col1-value-152
+wow-wow-col1-value-552 wow-wow-col1-value-252
+wow-wow-col1-value-552 wow-wow-col1-value-352
+wow-wow-col1-value-552 wow-wow-col1-value-452
+wow-wow-col1-value-552 wow-wow-col1-value-52
+wow-wow-col1-value-552 wow-wow-col1-value-552
+wow-wow-col1-value-552 wow-wow-col1-value-652
+wow-wow-col1-value-552 wow-wow-col1-value-752
+wow-wow-col1-value-553 wow-wow-col1-value-153
+wow-wow-col1-value-553 wow-wow-col1-value-253
+wow-wow-col1-value-553 wow-wow-col1-value-353
+wow-wow-col1-value-553 wow-wow-col1-value-453
+wow-wow-col1-value-553 wow-wow-col1-value-53
+wow-wow-col1-value-553 wow-wow-col1-value-553
+wow-wow-col1-value-553 wow-wow-col1-value-653
+wow-wow-col1-value-553 wow-wow-col1-value-753
+wow-wow-col1-value-554 wow-wow-col1-value-154
+wow-wow-col1-value-554 wow-wow-col1-value-254
+wow-wow-col1-value-554 wow-wow-col1-value-354
+wow-wow-col1-value-554 wow-wow-col1-value-454
+wow-wow-col1-value-554 wow-wow-col1-value-54
+wow-wow-col1-value-554 wow-wow-col1-value-554
+wow-wow-col1-value-554 wow-wow-col1-value-654
+wow-wow-col1-value-554 wow-wow-col1-value-754
+wow-wow-col1-value-555 wow-wow-col1-value-155
+wow-wow-col1-value-555 wow-wow-col1-value-255
+wow-wow-col1-value-555 wow-wow-col1-value-355
+wow-wow-col1-value-555 wow-wow-col1-value-455
+wow-wow-col1-value-555 wow-wow-col1-value-55
+wow-wow-col1-value-555 wow-wow-col1-value-555
+wow-wow-col1-value-555 wow-wow-col1-value-655
+wow-wow-col1-value-555 wow-wow-col1-value-755
+wow-wow-col1-value-556 wow-wow-col1-value-156
+wow-wow-col1-value-556 wow-wow-col1-value-256
+wow-wow-col1-value-556 wow-wow-col1-value-356
+wow-wow-col1-value-556 wow-wow-col1-value-456
+wow-wow-col1-value-556 wow-wow-col1-value-556
+wow-wow-col1-value-556 wow-wow-col1-value-56
+wow-wow-col1-value-556 wow-wow-col1-value-656
+wow-wow-col1-value-556 wow-wow-col1-value-756
+wow-wow-col1-value-557 wow-wow-col1-value-157
+wow-wow-col1-value-557 wow-wow-col1-value-257
+wow-wow-col1-value-557 wow-wow-col1-value-357
+wow-wow-col1-value-557 wow-wow-col1-value-457
+wow-wow-col1-value-557 wow-wow-col1-value-557
+wow-wow-col1-value-557 wow-wow-col1-value-57
+wow-wow-col1-value-557 wow-wow-col1-value-657
+wow-wow-col1-value-557 wow-wow-col1-value-757
+wow-wow-col1-value-558 wow-wow-col1-value-158
+wow-wow-col1-value-558 wow-wow-col1-value-258
+wow-wow-col1-value-558 wow-wow-col1-value-358
+wow-wow-col1-value-558 wow-wow-col1-value-458
+wow-wow-col1-value-558 wow-wow-col1-value-558
+wow-wow-col1-value-558 wow-wow-col1-value-58
+wow-wow-col1-value-558 wow-wow-col1-value-658
+wow-wow-col1-value-558 wow-wow-col1-value-758
+wow-wow-col1-value-559 wow-wow-col1-value-159
+wow-wow-col1-value-559 wow-wow-col1-value-259
+wow-wow-col1-value-559 wow-wow-col1-value-359
+wow-wow-col1-value-559 wow-wow-col1-value-459
+wow-wow-col1-value-559 wow-wow-col1-value-559
+wow-wow-col1-value-559 wow-wow-col1-value-59
+wow-wow-col1-value-559 wow-wow-col1-value-659
+wow-wow-col1-value-559 wow-wow-col1-value-759
+wow-wow-col1-value-56 wow-wow-col1-value-156
+wow-wow-col1-value-56 wow-wow-col1-value-256
+wow-wow-col1-value-56 wow-wow-col1-value-356
+wow-wow-col1-value-56 wow-wow-col1-value-456
+wow-wow-col1-value-56 wow-wow-col1-value-556
+wow-wow-col1-value-56 wow-wow-col1-value-56
+wow-wow-col1-value-56 wow-wow-col1-value-656
+wow-wow-col1-value-56 wow-wow-col1-value-756
+wow-wow-col1-value-560 wow-wow-col1-value-160
+wow-wow-col1-value-560 wow-wow-col1-value-260
+wow-wow-col1-value-560 wow-wow-col1-value-360
+wow-wow-col1-value-560 wow-wow-col1-value-460
+wow-wow-col1-value-560 wow-wow-col1-value-560
+wow-wow-col1-value-560 wow-wow-col1-value-60
+wow-wow-col1-value-560 wow-wow-col1-value-660
+wow-wow-col1-value-560 wow-wow-col1-value-760
+wow-wow-col1-value-561 wow-wow-col1-value-161
+wow-wow-col1-value-561 wow-wow-col1-value-261
+wow-wow-col1-value-561 wow-wow-col1-value-361
+wow-wow-col1-value-561 wow-wow-col1-value-461
+wow-wow-col1-value-561 wow-wow-col1-value-561
+wow-wow-col1-value-561 wow-wow-col1-value-61
+wow-wow-col1-value-561 wow-wow-col1-value-661
+wow-wow-col1-value-561 wow-wow-col1-value-761
+wow-wow-col1-value-562 wow-wow-col1-value-162
+wow-wow-col1-value-562 wow-wow-col1-value-262
+wow-wow-col1-value-562 wow-wow-col1-value-362
+wow-wow-col1-value-562 wow-wow-col1-value-462
+wow-wow-col1-value-562 wow-wow-col1-value-562
+wow-wow-col1-value-562 wow-wow-col1-value-62
+wow-wow-col1-value-562 wow-wow-col1-value-662
+wow-wow-col1-value-562 wow-wow-col1-value-762
+wow-wow-col1-value-563 wow-wow-col1-value-163
+wow-wow-col1-value-563 wow-wow-col1-value-263
+wow-wow-col1-value-563 wow-wow-col1-value-363
+wow-wow-col1-value-563 wow-wow-col1-value-463
+wow-wow-col1-value-563 wow-wow-col1-value-563
+wow-wow-col1-value-563 wow-wow-col1-value-63
+wow-wow-col1-value-563 wow-wow-col1-value-663
+wow-wow-col1-value-563 wow-wow-col1-value-763
+wow-wow-col1-value-564 wow-wow-col1-value-164
+wow-wow-col1-value-564 wow-wow-col1-value-264
+wow-wow-col1-value-564 wow-wow-col1-value-364
+wow-wow-col1-value-564 wow-wow-col1-value-464
+wow-wow-col1-value-564 wow-wow-col1-value-564
+wow-wow-col1-value-564 wow-wow-col1-value-64
+wow-wow-col1-value-564 wow-wow-col1-value-664
+wow-wow-col1-value-564 wow-wow-col1-value-764
+wow-wow-col1-value-565 wow-wow-col1-value-165
+wow-wow-col1-value-565 wow-wow-col1-value-265
+wow-wow-col1-value-565 wow-wow-col1-value-365
+wow-wow-col1-value-565 wow-wow-col1-value-465
+wow-wow-col1-value-565 wow-wow-col1-value-565
+wow-wow-col1-value-565 wow-wow-col1-value-65
+wow-wow-col1-value-565 wow-wow-col1-value-665
+wow-wow-col1-value-565 wow-wow-col1-value-765
+wow-wow-col1-value-566 wow-wow-col1-value-166
+wow-wow-col1-value-566 wow-wow-col1-value-266
+wow-wow-col1-value-566 wow-wow-col1-value-366
+wow-wow-col1-value-566 wow-wow-col1-value-466
+wow-wow-col1-value-566 wow-wow-col1-value-566
+wow-wow-col1-value-566 wow-wow-col1-value-66
+wow-wow-col1-value-566 wow-wow-col1-value-666
+wow-wow-col1-value-566 wow-wow-col1-value-766
+wow-wow-col1-value-567 wow-wow-col1-value-167
+wow-wow-col1-value-567 wow-wow-col1-value-267
+wow-wow-col1-value-567 wow-wow-col1-value-367
+wow-wow-col1-value-567 wow-wow-col1-value-467
+wow-wow-col1-value-567 wow-wow-col1-value-567
+wow-wow-col1-value-567 wow-wow-col1-value-667
+wow-wow-col1-value-567 wow-wow-col1-value-67
+wow-wow-col1-value-567 wow-wow-col1-value-767
+wow-wow-col1-value-568 wow-wow-col1-value-168
+wow-wow-col1-value-568 wow-wow-col1-value-268
+wow-wow-col1-value-568 wow-wow-col1-value-368
+wow-wow-col1-value-568 wow-wow-col1-value-468
+wow-wow-col1-value-568 wow-wow-col1-value-568
+wow-wow-col1-value-568 wow-wow-col1-value-668
+wow-wow-col1-value-568 wow-wow-col1-value-68
+wow-wow-col1-value-568 wow-wow-col1-value-768
+wow-wow-col1-value-569 wow-wow-col1-value-169
+wow-wow-col1-value-569 wow-wow-col1-value-269
+wow-wow-col1-value-569 wow-wow-col1-value-369
+wow-wow-col1-value-569 wow-wow-col1-value-469
+wow-wow-col1-value-569 wow-wow-col1-value-569
+wow-wow-col1-value-569 wow-wow-col1-value-669
+wow-wow-col1-value-569 wow-wow-col1-value-69
+wow-wow-col1-value-569 wow-wow-col1-value-769
+wow-wow-col1-value-57 wow-wow-col1-value-157
+wow-wow-col1-value-57 wow-wow-col1-value-257
+wow-wow-col1-value-57 wow-wow-col1-value-357
+wow-wow-col1-value-57 wow-wow-col1-value-457
+wow-wow-col1-value-57 wow-wow-col1-value-557
+wow-wow-col1-value-57 wow-wow-col1-value-57
+wow-wow-col1-value-57 wow-wow-col1-value-657
+wow-wow-col1-value-57 wow-wow-col1-value-757
+wow-wow-col1-value-570 wow-wow-col1-value-170
+wow-wow-col1-value-570 wow-wow-col1-value-270
+wow-wow-col1-value-570 wow-wow-col1-value-370
+wow-wow-col1-value-570 wow-wow-col1-value-470
+wow-wow-col1-value-570 wow-wow-col1-value-570
+wow-wow-col1-value-570 wow-wow-col1-value-670
+wow-wow-col1-value-570 wow-wow-col1-value-70
+wow-wow-col1-value-570 wow-wow-col1-value-770
+wow-wow-col1-value-571 wow-wow-col1-value-171
+wow-wow-col1-value-571 wow-wow-col1-value-271
+wow-wow-col1-value-571 wow-wow-col1-value-371
+wow-wow-col1-value-571 wow-wow-col1-value-471
+wow-wow-col1-value-571 wow-wow-col1-value-571
+wow-wow-col1-value-571 wow-wow-col1-value-671
+wow-wow-col1-value-571 wow-wow-col1-value-71
+wow-wow-col1-value-571 wow-wow-col1-value-771
+wow-wow-col1-value-572 wow-wow-col1-value-172
+wow-wow-col1-value-572 wow-wow-col1-value-272
+wow-wow-col1-value-572 wow-wow-col1-value-372
+wow-wow-col1-value-572 wow-wow-col1-value-472
+wow-wow-col1-value-572 wow-wow-col1-value-572
+wow-wow-col1-value-572 wow-wow-col1-value-672
+wow-wow-col1-value-572 wow-wow-col1-value-72
+wow-wow-col1-value-572 wow-wow-col1-value-772
+wow-wow-col1-value-573 wow-wow-col1-value-173
+wow-wow-col1-value-573 wow-wow-col1-value-273
+wow-wow-col1-value-573 wow-wow-col1-value-373
+wow-wow-col1-value-573 wow-wow-col1-value-473
+wow-wow-col1-value-573 wow-wow-col1-value-573
+wow-wow-col1-value-573 wow-wow-col1-value-673
+wow-wow-col1-value-573 wow-wow-col1-value-73
+wow-wow-col1-value-573 wow-wow-col1-value-773
+wow-wow-col1-value-574 wow-wow-col1-value-174
+wow-wow-col1-value-574 wow-wow-col1-value-274
+wow-wow-col1-value-574 wow-wow-col1-value-374
+wow-wow-col1-value-574 wow-wow-col1-value-474
+wow-wow-col1-value-574 wow-wow-col1-value-574
+wow-wow-col1-value-574 wow-wow-col1-value-674
+wow-wow-col1-value-574 wow-wow-col1-value-74
+wow-wow-col1-value-574 wow-wow-col1-value-774
+wow-wow-col1-value-575 wow-wow-col1-value-175
+wow-wow-col1-value-575 wow-wow-col1-value-275
+wow-wow-col1-value-575 wow-wow-col1-value-375
+wow-wow-col1-value-575 wow-wow-col1-value-475
+wow-wow-col1-value-575 wow-wow-col1-value-575
+wow-wow-col1-value-575 wow-wow-col1-value-675
+wow-wow-col1-value-575 wow-wow-col1-value-75
+wow-wow-col1-value-575 wow-wow-col1-value-775
+wow-wow-col1-value-576 wow-wow-col1-value-176
+wow-wow-col1-value-576 wow-wow-col1-value-276
+wow-wow-col1-value-576 wow-wow-col1-value-376
+wow-wow-col1-value-576 wow-wow-col1-value-476
+wow-wow-col1-value-576 wow-wow-col1-value-576
+wow-wow-col1-value-576 wow-wow-col1-value-676
+wow-wow-col1-value-576 wow-wow-col1-value-76
+wow-wow-col1-value-576 wow-wow-col1-value-776
+wow-wow-col1-value-577 wow-wow-col1-value-177
+wow-wow-col1-value-577 wow-wow-col1-value-277
+wow-wow-col1-value-577 wow-wow-col1-value-377
+wow-wow-col1-value-577 wow-wow-col1-value-477
+wow-wow-col1-value-577 wow-wow-col1-value-577
+wow-wow-col1-value-577 wow-wow-col1-value-677
+wow-wow-col1-value-577 wow-wow-col1-value-77
+wow-wow-col1-value-577 wow-wow-col1-value-777
+wow-wow-col1-value-578 wow-wow-col1-value-178
+wow-wow-col1-value-578 wow-wow-col1-value-278
+wow-wow-col1-value-578 wow-wow-col1-value-378
+wow-wow-col1-value-578 wow-wow-col1-value-478
+wow-wow-col1-value-578 wow-wow-col1-value-578
+wow-wow-col1-value-578 wow-wow-col1-value-678
+wow-wow-col1-value-578 wow-wow-col1-value-778
+wow-wow-col1-value-578 wow-wow-col1-value-78
+wow-wow-col1-value-579 wow-wow-col1-value-179
+wow-wow-col1-value-579 wow-wow-col1-value-279
+wow-wow-col1-value-579 wow-wow-col1-value-379
+wow-wow-col1-value-579 wow-wow-col1-value-479
+wow-wow-col1-value-579 wow-wow-col1-value-579
+wow-wow-col1-value-579 wow-wow-col1-value-679
+wow-wow-col1-value-579 wow-wow-col1-value-779
+wow-wow-col1-value-579 wow-wow-col1-value-79
+wow-wow-col1-value-58 wow-wow-col1-value-158
+wow-wow-col1-value-58 wow-wow-col1-value-258
+wow-wow-col1-value-58 wow-wow-col1-value-358
+wow-wow-col1-value-58 wow-wow-col1-value-458
+wow-wow-col1-value-58 wow-wow-col1-value-558
+wow-wow-col1-value-58 wow-wow-col1-value-58
+wow-wow-col1-value-58 wow-wow-col1-value-658
+wow-wow-col1-value-58 wow-wow-col1-value-758
+wow-wow-col1-value-580 wow-wow-col1-value-180
+wow-wow-col1-value-580 wow-wow-col1-value-280
+wow-wow-col1-value-580 wow-wow-col1-value-380
+wow-wow-col1-value-580 wow-wow-col1-value-480
+wow-wow-col1-value-580 wow-wow-col1-value-580
+wow-wow-col1-value-580 wow-wow-col1-value-680
+wow-wow-col1-value-580 wow-wow-col1-value-780
+wow-wow-col1-value-580 wow-wow-col1-value-80
+wow-wow-col1-value-581 wow-wow-col1-value-181
+wow-wow-col1-value-581 wow-wow-col1-value-281
+wow-wow-col1-value-581 wow-wow-col1-value-381
+wow-wow-col1-value-581 wow-wow-col1-value-481
+wow-wow-col1-value-581 wow-wow-col1-value-581
+wow-wow-col1-value-581 wow-wow-col1-value-681
+wow-wow-col1-value-581 wow-wow-col1-value-781
+wow-wow-col1-value-581 wow-wow-col1-value-81
+wow-wow-col1-value-582 wow-wow-col1-value-182
+wow-wow-col1-value-582 wow-wow-col1-value-282
+wow-wow-col1-value-582 wow-wow-col1-value-382
+wow-wow-col1-value-582 wow-wow-col1-value-482
+wow-wow-col1-value-582 wow-wow-col1-value-582
+wow-wow-col1-value-582 wow-wow-col1-value-682
+wow-wow-col1-value-582 wow-wow-col1-value-782
+wow-wow-col1-value-582 wow-wow-col1-value-82
+wow-wow-col1-value-583 wow-wow-col1-value-183
+wow-wow-col1-value-583 wow-wow-col1-value-283
+wow-wow-col1-value-583 wow-wow-col1-value-383
+wow-wow-col1-value-583 wow-wow-col1-value-483
+wow-wow-col1-value-583 wow-wow-col1-value-583
+wow-wow-col1-value-583 wow-wow-col1-value-683
+wow-wow-col1-value-583 wow-wow-col1-value-783
+wow-wow-col1-value-583 wow-wow-col1-value-83
+wow-wow-col1-value-584 wow-wow-col1-value-184
+wow-wow-col1-value-584 wow-wow-col1-value-284
+wow-wow-col1-value-584 wow-wow-col1-value-384
+wow-wow-col1-value-584 wow-wow-col1-value-484
+wow-wow-col1-value-584 wow-wow-col1-value-584
+wow-wow-col1-value-584 wow-wow-col1-value-684
+wow-wow-col1-value-584 wow-wow-col1-value-784
+wow-wow-col1-value-584 wow-wow-col1-value-84
+wow-wow-col1-value-585 wow-wow-col1-value-185
+wow-wow-col1-value-585 wow-wow-col1-value-285
+wow-wow-col1-value-585 wow-wow-col1-value-385
+wow-wow-col1-value-585 wow-wow-col1-value-485
+wow-wow-col1-value-585 wow-wow-col1-value-585
+wow-wow-col1-value-585 wow-wow-col1-value-685
+wow-wow-col1-value-585 wow-wow-col1-value-785
+wow-wow-col1-value-585 wow-wow-col1-value-85
+wow-wow-col1-value-586 wow-wow-col1-value-186
+wow-wow-col1-value-586 wow-wow-col1-value-286
+wow-wow-col1-value-586 wow-wow-col1-value-386
+wow-wow-col1-value-586 wow-wow-col1-value-486
+wow-wow-col1-value-586 wow-wow-col1-value-586
+wow-wow-col1-value-586 wow-wow-col1-value-686
+wow-wow-col1-value-586 wow-wow-col1-value-786
+wow-wow-col1-value-586 wow-wow-col1-value-86
+wow-wow-col1-value-587 wow-wow-col1-value-187
+wow-wow-col1-value-587 wow-wow-col1-value-287
+wow-wow-col1-value-587 wow-wow-col1-value-387
+wow-wow-col1-value-587 wow-wow-col1-value-487
+wow-wow-col1-value-587 wow-wow-col1-value-587
+wow-wow-col1-value-587 wow-wow-col1-value-687
+wow-wow-col1-value-587 wow-wow-col1-value-787
+wow-wow-col1-value-587 wow-wow-col1-value-87
+wow-wow-col1-value-588 wow-wow-col1-value-188
+wow-wow-col1-value-588 wow-wow-col1-value-288
+wow-wow-col1-value-588 wow-wow-col1-value-388
+wow-wow-col1-value-588 wow-wow-col1-value-488
+wow-wow-col1-value-588 wow-wow-col1-value-588
+wow-wow-col1-value-588 wow-wow-col1-value-688
+wow-wow-col1-value-588 wow-wow-col1-value-788
+wow-wow-col1-value-588 wow-wow-col1-value-88
+wow-wow-col1-value-589 wow-wow-col1-value-189
+wow-wow-col1-value-589 wow-wow-col1-value-289
+wow-wow-col1-value-589 wow-wow-col1-value-389
+wow-wow-col1-value-589 wow-wow-col1-value-489
+wow-wow-col1-value-589 wow-wow-col1-value-589
+wow-wow-col1-value-589 wow-wow-col1-value-689
+wow-wow-col1-value-589 wow-wow-col1-value-789
+wow-wow-col1-value-589 wow-wow-col1-value-89
+wow-wow-col1-value-59 wow-wow-col1-value-159
+wow-wow-col1-value-59 wow-wow-col1-value-259
+wow-wow-col1-value-59 wow-wow-col1-value-359
+wow-wow-col1-value-59 wow-wow-col1-value-459
+wow-wow-col1-value-59 wow-wow-col1-value-559
+wow-wow-col1-value-59 wow-wow-col1-value-59
+wow-wow-col1-value-59 wow-wow-col1-value-659
+wow-wow-col1-value-59 wow-wow-col1-value-759
+wow-wow-col1-value-590 wow-wow-col1-value-190
+wow-wow-col1-value-590 wow-wow-col1-value-290
+wow-wow-col1-value-590 wow-wow-col1-value-390
+wow-wow-col1-value-590 wow-wow-col1-value-490
+wow-wow-col1-value-590 wow-wow-col1-value-590
+wow-wow-col1-value-590 wow-wow-col1-value-690
+wow-wow-col1-value-590 wow-wow-col1-value-790
+wow-wow-col1-value-590 wow-wow-col1-value-90
+wow-wow-col1-value-591 wow-wow-col1-value-191
+wow-wow-col1-value-591 wow-wow-col1-value-291
+wow-wow-col1-value-591 wow-wow-col1-value-391
+wow-wow-col1-value-591 wow-wow-col1-value-491
+wow-wow-col1-value-591 wow-wow-col1-value-591
+wow-wow-col1-value-591 wow-wow-col1-value-691
+wow-wow-col1-value-591 wow-wow-col1-value-791
+wow-wow-col1-value-591 wow-wow-col1-value-91
+wow-wow-col1-value-592 wow-wow-col1-value-192
+wow-wow-col1-value-592 wow-wow-col1-value-292
+wow-wow-col1-value-592 wow-wow-col1-value-392
+wow-wow-col1-value-592 wow-wow-col1-value-492
+wow-wow-col1-value-592 wow-wow-col1-value-592
+wow-wow-col1-value-592 wow-wow-col1-value-692
+wow-wow-col1-value-592 wow-wow-col1-value-792
+wow-wow-col1-value-592 wow-wow-col1-value-92
+wow-wow-col1-value-593 wow-wow-col1-value-193
+wow-wow-col1-value-593 wow-wow-col1-value-293
+wow-wow-col1-value-593 wow-wow-col1-value-393
+wow-wow-col1-value-593 wow-wow-col1-value-493
+wow-wow-col1-value-593 wow-wow-col1-value-593
+wow-wow-col1-value-593 wow-wow-col1-value-693
+wow-wow-col1-value-593 wow-wow-col1-value-793
+wow-wow-col1-value-593 wow-wow-col1-value-93
+wow-wow-col1-value-594 wow-wow-col1-value-194
+wow-wow-col1-value-594 wow-wow-col1-value-294
+wow-wow-col1-value-594 wow-wow-col1-value-394
+wow-wow-col1-value-594 wow-wow-col1-value-494
+wow-wow-col1-value-594 wow-wow-col1-value-594
+wow-wow-col1-value-594 wow-wow-col1-value-694
+wow-wow-col1-value-594 wow-wow-col1-value-794
+wow-wow-col1-value-594 wow-wow-col1-value-94
+wow-wow-col1-value-595 wow-wow-col1-value-195
+wow-wow-col1-value-595 wow-wow-col1-value-295
+wow-wow-col1-value-595 wow-wow-col1-value-395
+wow-wow-col1-value-595 wow-wow-col1-value-495
+wow-wow-col1-value-595 wow-wow-col1-value-595
+wow-wow-col1-value-595 wow-wow-col1-value-695
+wow-wow-col1-value-595 wow-wow-col1-value-795
+wow-wow-col1-value-595 wow-wow-col1-value-95
+wow-wow-col1-value-596 wow-wow-col1-value-196
+wow-wow-col1-value-596 wow-wow-col1-value-296
+wow-wow-col1-value-596 wow-wow-col1-value-396
+wow-wow-col1-value-596 wow-wow-col1-value-496
+wow-wow-col1-value-596 wow-wow-col1-value-596
+wow-wow-col1-value-596 wow-wow-col1-value-696
+wow-wow-col1-value-596 wow-wow-col1-value-796
+wow-wow-col1-value-596 wow-wow-col1-value-96
+wow-wow-col1-value-597 wow-wow-col1-value-197
+wow-wow-col1-value-597 wow-wow-col1-value-297
+wow-wow-col1-value-597 wow-wow-col1-value-397
+wow-wow-col1-value-597 wow-wow-col1-value-497
+wow-wow-col1-value-597 wow-wow-col1-value-597
+wow-wow-col1-value-597 wow-wow-col1-value-697
+wow-wow-col1-value-597 wow-wow-col1-value-797
+wow-wow-col1-value-597 wow-wow-col1-value-97
+wow-wow-col1-value-598 wow-wow-col1-value-198
+wow-wow-col1-value-598 wow-wow-col1-value-298
+wow-wow-col1-value-598 wow-wow-col1-value-398
+wow-wow-col1-value-598 wow-wow-col1-value-498
+wow-wow-col1-value-598 wow-wow-col1-value-598
+wow-wow-col1-value-598 wow-wow-col1-value-698
+wow-wow-col1-value-598 wow-wow-col1-value-798
+wow-wow-col1-value-598 wow-wow-col1-value-98
+wow-wow-col1-value-599 wow-wow-col1-value-199
+wow-wow-col1-value-599 wow-wow-col1-value-299
+wow-wow-col1-value-599 wow-wow-col1-value-399
+wow-wow-col1-value-599 wow-wow-col1-value-499
+wow-wow-col1-value-599 wow-wow-col1-value-599
+wow-wow-col1-value-599 wow-wow-col1-value-699
+wow-wow-col1-value-599 wow-wow-col1-value-799
+wow-wow-col1-value-599 wow-wow-col1-value-99
+wow-wow-col1-value-6 wow-wow-col1-value-106
+wow-wow-col1-value-6 wow-wow-col1-value-206
+wow-wow-col1-value-6 wow-wow-col1-value-306
+wow-wow-col1-value-6 wow-wow-col1-value-406
+wow-wow-col1-value-6 wow-wow-col1-value-506
+wow-wow-col1-value-6 wow-wow-col1-value-6
+wow-wow-col1-value-6 wow-wow-col1-value-606
+wow-wow-col1-value-6 wow-wow-col1-value-706
+wow-wow-col1-value-60 wow-wow-col1-value-160
+wow-wow-col1-value-60 wow-wow-col1-value-260
+wow-wow-col1-value-60 wow-wow-col1-value-360
+wow-wow-col1-value-60 wow-wow-col1-value-460
+wow-wow-col1-value-60 wow-wow-col1-value-560
+wow-wow-col1-value-60 wow-wow-col1-value-60
+wow-wow-col1-value-60 wow-wow-col1-value-660
+wow-wow-col1-value-60 wow-wow-col1-value-760
+wow-wow-col1-value-600 wow-wow-col1-value-0
+wow-wow-col1-value-600 wow-wow-col1-value-100
+wow-wow-col1-value-600 wow-wow-col1-value-200
+wow-wow-col1-value-600 wow-wow-col1-value-300
+wow-wow-col1-value-600 wow-wow-col1-value-400
+wow-wow-col1-value-600 wow-wow-col1-value-500
+wow-wow-col1-value-600 wow-wow-col1-value-600
+wow-wow-col1-value-600 wow-wow-col1-value-700
+wow-wow-col1-value-601 wow-wow-col1-value-1
+wow-wow-col1-value-601 wow-wow-col1-value-101
+wow-wow-col1-value-601 wow-wow-col1-value-201
+wow-wow-col1-value-601 wow-wow-col1-value-301
+wow-wow-col1-value-601 wow-wow-col1-value-401
+wow-wow-col1-value-601 wow-wow-col1-value-501
+wow-wow-col1-value-601 wow-wow-col1-value-601
+wow-wow-col1-value-601 wow-wow-col1-value-701
+wow-wow-col1-value-602 wow-wow-col1-value-102
+wow-wow-col1-value-602 wow-wow-col1-value-2
+wow-wow-col1-value-602 wow-wow-col1-value-202
+wow-wow-col1-value-602 wow-wow-col1-value-302
+wow-wow-col1-value-602 wow-wow-col1-value-402
+wow-wow-col1-value-602 wow-wow-col1-value-502
+wow-wow-col1-value-602 wow-wow-col1-value-602
+wow-wow-col1-value-602 wow-wow-col1-value-702
+wow-wow-col1-value-603 wow-wow-col1-value-103
+wow-wow-col1-value-603 wow-wow-col1-value-203
+wow-wow-col1-value-603 wow-wow-col1-value-3
+wow-wow-col1-value-603 wow-wow-col1-value-303
+wow-wow-col1-value-603 wow-wow-col1-value-403
+wow-wow-col1-value-603 wow-wow-col1-value-503
+wow-wow-col1-value-603 wow-wow-col1-value-603
+wow-wow-col1-value-603 wow-wow-col1-value-703
+wow-wow-col1-value-604 wow-wow-col1-value-104
+wow-wow-col1-value-604 wow-wow-col1-value-204
+wow-wow-col1-value-604 wow-wow-col1-value-304
+wow-wow-col1-value-604 wow-wow-col1-value-4
+wow-wow-col1-value-604 wow-wow-col1-value-404
+wow-wow-col1-value-604 wow-wow-col1-value-504
+wow-wow-col1-value-604 wow-wow-col1-value-604
+wow-wow-col1-value-604 wow-wow-col1-value-704
+wow-wow-col1-value-605 wow-wow-col1-value-105
+wow-wow-col1-value-605 wow-wow-col1-value-205
+wow-wow-col1-value-605 wow-wow-col1-value-305
+wow-wow-col1-value-605 wow-wow-col1-value-405
+wow-wow-col1-value-605 wow-wow-col1-value-5
+wow-wow-col1-value-605 wow-wow-col1-value-505
+wow-wow-col1-value-605 wow-wow-col1-value-605
+wow-wow-col1-value-605 wow-wow-col1-value-705
+wow-wow-col1-value-606 wow-wow-col1-value-106
+wow-wow-col1-value-606 wow-wow-col1-value-206
+wow-wow-col1-value-606 wow-wow-col1-value-306
+wow-wow-col1-value-606 wow-wow-col1-value-406
+wow-wow-col1-value-606 wow-wow-col1-value-506
+wow-wow-col1-value-606 wow-wow-col1-value-6
+wow-wow-col1-value-606 wow-wow-col1-value-606
+wow-wow-col1-value-606 wow-wow-col1-value-706
+wow-wow-col1-value-607 wow-wow-col1-value-107
+wow-wow-col1-value-607 wow-wow-col1-value-207
+wow-wow-col1-value-607 wow-wow-col1-value-307
+wow-wow-col1-value-607 wow-wow-col1-value-407
+wow-wow-col1-value-607 wow-wow-col1-value-507
+wow-wow-col1-value-607 wow-wow-col1-value-607
+wow-wow-col1-value-607 wow-wow-col1-value-7
+wow-wow-col1-value-607 wow-wow-col1-value-707
+wow-wow-col1-value-608 wow-wow-col1-value-108
+wow-wow-col1-value-608 wow-wow-col1-value-208
+wow-wow-col1-value-608 wow-wow-col1-value-308
+wow-wow-col1-value-608 wow-wow-col1-value-408
+wow-wow-col1-value-608 wow-wow-col1-value-508
+wow-wow-col1-value-608 wow-wow-col1-value-608
+wow-wow-col1-value-608 wow-wow-col1-value-708
+wow-wow-col1-value-608 wow-wow-col1-value-8
+wow-wow-col1-value-609 wow-wow-col1-value-109
+wow-wow-col1-value-609 wow-wow-col1-value-209
+wow-wow-col1-value-609 wow-wow-col1-value-309
+wow-wow-col1-value-609 wow-wow-col1-value-409
+wow-wow-col1-value-609 wow-wow-col1-value-509
+wow-wow-col1-value-609 wow-wow-col1-value-609
+wow-wow-col1-value-609 wow-wow-col1-value-709
+wow-wow-col1-value-609 wow-wow-col1-value-9
+wow-wow-col1-value-61 wow-wow-col1-value-161
+wow-wow-col1-value-61 wow-wow-col1-value-261
+wow-wow-col1-value-61 wow-wow-col1-value-361
+wow-wow-col1-value-61 wow-wow-col1-value-461
+wow-wow-col1-value-61 wow-wow-col1-value-561
+wow-wow-col1-value-61 wow-wow-col1-value-61
+wow-wow-col1-value-61 wow-wow-col1-value-661
+wow-wow-col1-value-61 wow-wow-col1-value-761
+wow-wow-col1-value-610 wow-wow-col1-value-10
+wow-wow-col1-value-610 wow-wow-col1-value-110
+wow-wow-col1-value-610 wow-wow-col1-value-210
+wow-wow-col1-value-610 wow-wow-col1-value-310
+wow-wow-col1-value-610 wow-wow-col1-value-410
+wow-wow-col1-value-610 wow-wow-col1-value-510
+wow-wow-col1-value-610 wow-wow-col1-value-610
+wow-wow-col1-value-610 wow-wow-col1-value-710
+wow-wow-col1-value-611 wow-wow-col1-value-11
+wow-wow-col1-value-611 wow-wow-col1-value-111
+wow-wow-col1-value-611 wow-wow-col1-value-211
+wow-wow-col1-value-611 wow-wow-col1-value-311
+wow-wow-col1-value-611 wow-wow-col1-value-411
+wow-wow-col1-value-611 wow-wow-col1-value-511
+wow-wow-col1-value-611 wow-wow-col1-value-611
+wow-wow-col1-value-611 wow-wow-col1-value-711
+wow-wow-col1-value-612 wow-wow-col1-value-112
+wow-wow-col1-value-612 wow-wow-col1-value-12
+wow-wow-col1-value-612 wow-wow-col1-value-212
+wow-wow-col1-value-612 wow-wow-col1-value-312
+wow-wow-col1-value-612 wow-wow-col1-value-412
+wow-wow-col1-value-612 wow-wow-col1-value-512
+wow-wow-col1-value-612 wow-wow-col1-value-612
+wow-wow-col1-value-612 wow-wow-col1-value-712
+wow-wow-col1-value-613 wow-wow-col1-value-113
+wow-wow-col1-value-613 wow-wow-col1-value-13
+wow-wow-col1-value-613 wow-wow-col1-value-213
+wow-wow-col1-value-613 wow-wow-col1-value-313
+wow-wow-col1-value-613 wow-wow-col1-value-413
+wow-wow-col1-value-613 wow-wow-col1-value-513
+wow-wow-col1-value-613 wow-wow-col1-value-613
+wow-wow-col1-value-613 wow-wow-col1-value-713
+wow-wow-col1-value-614 wow-wow-col1-value-114
+wow-wow-col1-value-614 wow-wow-col1-value-14
+wow-wow-col1-value-614 wow-wow-col1-value-214
+wow-wow-col1-value-614 wow-wow-col1-value-314
+wow-wow-col1-value-614 wow-wow-col1-value-414
+wow-wow-col1-value-614 wow-wow-col1-value-514
+wow-wow-col1-value-614 wow-wow-col1-value-614
+wow-wow-col1-value-614 wow-wow-col1-value-714
+wow-wow-col1-value-615 wow-wow-col1-value-115
+wow-wow-col1-value-615 wow-wow-col1-value-15
+wow-wow-col1-value-615 wow-wow-col1-value-215
+wow-wow-col1-value-615 wow-wow-col1-value-315
+wow-wow-col1-value-615 wow-wow-col1-value-415
+wow-wow-col1-value-615 wow-wow-col1-value-515
+wow-wow-col1-value-615 wow-wow-col1-value-615
+wow-wow-col1-value-615 wow-wow-col1-value-715
+wow-wow-col1-value-616 wow-wow-col1-value-116
+wow-wow-col1-value-616 wow-wow-col1-value-16
+wow-wow-col1-value-616 wow-wow-col1-value-216
+wow-wow-col1-value-616 wow-wow-col1-value-316
+wow-wow-col1-value-616 wow-wow-col1-value-416
+wow-wow-col1-value-616 wow-wow-col1-value-516
+wow-wow-col1-value-616 wow-wow-col1-value-616
+wow-wow-col1-value-616 wow-wow-col1-value-716
+wow-wow-col1-value-617 wow-wow-col1-value-117
+wow-wow-col1-value-617 wow-wow-col1-value-17
+wow-wow-col1-value-617 wow-wow-col1-value-217
+wow-wow-col1-value-617 wow-wow-col1-value-317
+wow-wow-col1-value-617 wow-wow-col1-value-417
+wow-wow-col1-value-617 wow-wow-col1-value-517
+wow-wow-col1-value-617 wow-wow-col1-value-617
+wow-wow-col1-value-617 wow-wow-col1-value-717
+wow-wow-col1-value-618 wow-wow-col1-value-118
+wow-wow-col1-value-618 wow-wow-col1-value-18
+wow-wow-col1-value-618 wow-wow-col1-value-218
+wow-wow-col1-value-618 wow-wow-col1-value-318
+wow-wow-col1-value-618 wow-wow-col1-value-418
+wow-wow-col1-value-618 wow-wow-col1-value-518
+wow-wow-col1-value-618 wow-wow-col1-value-618
+wow-wow-col1-value-618 wow-wow-col1-value-718
+wow-wow-col1-value-619 wow-wow-col1-value-119
+wow-wow-col1-value-619 wow-wow-col1-value-19
+wow-wow-col1-value-619 wow-wow-col1-value-219
+wow-wow-col1-value-619 wow-wow-col1-value-319
+wow-wow-col1-value-619 wow-wow-col1-value-419
+wow-wow-col1-value-619 wow-wow-col1-value-519
+wow-wow-col1-value-619 wow-wow-col1-value-619
+wow-wow-col1-value-619 wow-wow-col1-value-719
+wow-wow-col1-value-62 wow-wow-col1-value-162
+wow-wow-col1-value-62 wow-wow-col1-value-262
+wow-wow-col1-value-62 wow-wow-col1-value-362
+wow-wow-col1-value-62 wow-wow-col1-value-462
+wow-wow-col1-value-62 wow-wow-col1-value-562
+wow-wow-col1-value-62 wow-wow-col1-value-62
+wow-wow-col1-value-62 wow-wow-col1-value-662
+wow-wow-col1-value-62 wow-wow-col1-value-762
+wow-wow-col1-value-620 wow-wow-col1-value-120
+wow-wow-col1-value-620 wow-wow-col1-value-20
+wow-wow-col1-value-620 wow-wow-col1-value-220
+wow-wow-col1-value-620 wow-wow-col1-value-320
+wow-wow-col1-value-620 wow-wow-col1-value-420
+wow-wow-col1-value-620 wow-wow-col1-value-520
+wow-wow-col1-value-620 wow-wow-col1-value-620
+wow-wow-col1-value-620 wow-wow-col1-value-720
+wow-wow-col1-value-621 wow-wow-col1-value-121
+wow-wow-col1-value-621 wow-wow-col1-value-21
+wow-wow-col1-value-621 wow-wow-col1-value-221
+wow-wow-col1-value-621 wow-wow-col1-value-321
+wow-wow-col1-value-621 wow-wow-col1-value-421
+wow-wow-col1-value-621 wow-wow-col1-value-521
+wow-wow-col1-value-621 wow-wow-col1-value-621
+wow-wow-col1-value-621 wow-wow-col1-value-721
+wow-wow-col1-value-622 wow-wow-col1-value-122
+wow-wow-col1-value-622 wow-wow-col1-value-22
+wow-wow-col1-value-622 wow-wow-col1-value-222
+wow-wow-col1-value-622 wow-wow-col1-value-322
+wow-wow-col1-value-622 wow-wow-col1-value-422
+wow-wow-col1-value-622 wow-wow-col1-value-522
+wow-wow-col1-value-622 wow-wow-col1-value-622
+wow-wow-col1-value-622 wow-wow-col1-value-722
+wow-wow-col1-value-623 wow-wow-col1-value-123
+wow-wow-col1-value-623 wow-wow-col1-value-223
+wow-wow-col1-value-623 wow-wow-col1-value-23
+wow-wow-col1-value-623 wow-wow-col1-value-323
+wow-wow-col1-value-623 wow-wow-col1-value-423
+wow-wow-col1-value-623 wow-wow-col1-value-523
+wow-wow-col1-value-623 wow-wow-col1-value-623
+wow-wow-col1-value-623 wow-wow-col1-value-723
+wow-wow-col1-value-624 wow-wow-col1-value-124
+wow-wow-col1-value-624 wow-wow-col1-value-224
+wow-wow-col1-value-624 wow-wow-col1-value-24
+wow-wow-col1-value-624 wow-wow-col1-value-324
+wow-wow-col1-value-624 wow-wow-col1-value-424
+wow-wow-col1-value-624 wow-wow-col1-value-524
+wow-wow-col1-value-624 wow-wow-col1-value-624
+wow-wow-col1-value-624 wow-wow-col1-value-724
+wow-wow-col1-value-625 wow-wow-col1-value-125
+wow-wow-col1-value-625 wow-wow-col1-value-225
+wow-wow-col1-value-625 wow-wow-col1-value-25
+wow-wow-col1-value-625 wow-wow-col1-value-325
+wow-wow-col1-value-625 wow-wow-col1-value-425
+wow-wow-col1-value-625 wow-wow-col1-value-525
+wow-wow-col1-value-625 wow-wow-col1-value-625
+wow-wow-col1-value-625 wow-wow-col1-value-725
+wow-wow-col1-value-626 wow-wow-col1-value-126
+wow-wow-col1-value-626 wow-wow-col1-value-226
+wow-wow-col1-value-626 wow-wow-col1-value-26
+wow-wow-col1-value-626 wow-wow-col1-value-326
+wow-wow-col1-value-626 wow-wow-col1-value-426
+wow-wow-col1-value-626 wow-wow-col1-value-526
+wow-wow-col1-value-626 wow-wow-col1-value-626
+wow-wow-col1-value-626 wow-wow-col1-value-726
+wow-wow-col1-value-627 wow-wow-col1-value-127
+wow-wow-col1-value-627 wow-wow-col1-value-227
+wow-wow-col1-value-627 wow-wow-col1-value-27
+wow-wow-col1-value-627 wow-wow-col1-value-327
+wow-wow-col1-value-627 wow-wow-col1-value-427
+wow-wow-col1-value-627 wow-wow-col1-value-527
+wow-wow-col1-value-627 wow-wow-col1-value-627
+wow-wow-col1-value-627 wow-wow-col1-value-727
+wow-wow-col1-value-628 wow-wow-col1-value-128
+wow-wow-col1-value-628 wow-wow-col1-value-228
+wow-wow-col1-value-628 wow-wow-col1-value-28
+wow-wow-col1-value-628 wow-wow-col1-value-328
+wow-wow-col1-value-628 wow-wow-col1-value-428
+wow-wow-col1-value-628 wow-wow-col1-value-528
+wow-wow-col1-value-628 wow-wow-col1-value-628
+wow-wow-col1-value-628 wow-wow-col1-value-728
+wow-wow-col1-value-629 wow-wow-col1-value-129
+wow-wow-col1-value-629 wow-wow-col1-value-229
+wow-wow-col1-value-629 wow-wow-col1-value-29
+wow-wow-col1-value-629 wow-wow-col1-value-329
+wow-wow-col1-value-629 wow-wow-col1-value-429
+wow-wow-col1-value-629 wow-wow-col1-value-529
+wow-wow-col1-value-629 wow-wow-col1-value-629
+wow-wow-col1-value-629 wow-wow-col1-value-729
+wow-wow-col1-value-63 wow-wow-col1-value-163
+wow-wow-col1-value-63 wow-wow-col1-value-263
+wow-wow-col1-value-63 wow-wow-col1-value-363
+wow-wow-col1-value-63 wow-wow-col1-value-463
+wow-wow-col1-value-63 wow-wow-col1-value-563
+wow-wow-col1-value-63 wow-wow-col1-value-63
+wow-wow-col1-value-63 wow-wow-col1-value-663
+wow-wow-col1-value-63 wow-wow-col1-value-763
+wow-wow-col1-value-630 wow-wow-col1-value-130
+wow-wow-col1-value-630 wow-wow-col1-value-230
+wow-wow-col1-value-630 wow-wow-col1-value-30
+wow-wow-col1-value-630 wow-wow-col1-value-330
+wow-wow-col1-value-630 wow-wow-col1-value-430
+wow-wow-col1-value-630 wow-wow-col1-value-530
+wow-wow-col1-value-630 wow-wow-col1-value-630
+wow-wow-col1-value-630 wow-wow-col1-value-730
+wow-wow-col1-value-631 wow-wow-col1-value-131
+wow-wow-col1-value-631 wow-wow-col1-value-231
+wow-wow-col1-value-631 wow-wow-col1-value-31
+wow-wow-col1-value-631 wow-wow-col1-value-331
+wow-wow-col1-value-631 wow-wow-col1-value-431
+wow-wow-col1-value-631 wow-wow-col1-value-531
+wow-wow-col1-value-631 wow-wow-col1-value-631
+wow-wow-col1-value-631 wow-wow-col1-value-731
+wow-wow-col1-value-632 wow-wow-col1-value-132
+wow-wow-col1-value-632 wow-wow-col1-value-232
+wow-wow-col1-value-632 wow-wow-col1-value-32
+wow-wow-col1-value-632 wow-wow-col1-value-332
+wow-wow-col1-value-632 wow-wow-col1-value-432
+wow-wow-col1-value-632 wow-wow-col1-value-532
+wow-wow-col1-value-632 wow-wow-col1-value-632
+wow-wow-col1-value-632 wow-wow-col1-value-732
+wow-wow-col1-value-633 wow-wow-col1-value-133
+wow-wow-col1-value-633 wow-wow-col1-value-233
+wow-wow-col1-value-633 wow-wow-col1-value-33
+wow-wow-col1-value-633 wow-wow-col1-value-333
+wow-wow-col1-value-633 wow-wow-col1-value-433
+wow-wow-col1-value-633 wow-wow-col1-value-533
+wow-wow-col1-value-633 wow-wow-col1-value-633
+wow-wow-col1-value-633 wow-wow-col1-value-733
+wow-wow-col1-value-634 wow-wow-col1-value-134
+wow-wow-col1-value-634 wow-wow-col1-value-234
+wow-wow-col1-value-634 wow-wow-col1-value-334
+wow-wow-col1-value-634 wow-wow-col1-value-34
+wow-wow-col1-value-634 wow-wow-col1-value-434
+wow-wow-col1-value-634 wow-wow-col1-value-534
+wow-wow-col1-value-634 wow-wow-col1-value-634
+wow-wow-col1-value-634 wow-wow-col1-value-734
+wow-wow-col1-value-635 wow-wow-col1-value-135
+wow-wow-col1-value-635 wow-wow-col1-value-235
+wow-wow-col1-value-635 wow-wow-col1-value-335
+wow-wow-col1-value-635 wow-wow-col1-value-35
+wow-wow-col1-value-635 wow-wow-col1-value-435
+wow-wow-col1-value-635 wow-wow-col1-value-535
+wow-wow-col1-value-635 wow-wow-col1-value-635
+wow-wow-col1-value-635 wow-wow-col1-value-735
+wow-wow-col1-value-636 wow-wow-col1-value-136
+wow-wow-col1-value-636 wow-wow-col1-value-236
+wow-wow-col1-value-636 wow-wow-col1-value-336
+wow-wow-col1-value-636 wow-wow-col1-value-36
+wow-wow-col1-value-636 wow-wow-col1-value-436
+wow-wow-col1-value-636 wow-wow-col1-value-536
+wow-wow-col1-value-636 wow-wow-col1-value-636
+wow-wow-col1-value-636 wow-wow-col1-value-736
+wow-wow-col1-value-637 wow-wow-col1-value-137
+wow-wow-col1-value-637 wow-wow-col1-value-237
+wow-wow-col1-value-637 wow-wow-col1-value-337
+wow-wow-col1-value-637 wow-wow-col1-value-37
+wow-wow-col1-value-637 wow-wow-col1-value-437
+wow-wow-col1-value-637 wow-wow-col1-value-537
+wow-wow-col1-value-637 wow-wow-col1-value-637
+wow-wow-col1-value-637 wow-wow-col1-value-737
+wow-wow-col1-value-638 wow-wow-col1-value-138
+wow-wow-col1-value-638 wow-wow-col1-value-238
+wow-wow-col1-value-638 wow-wow-col1-value-338
+wow-wow-col1-value-638 wow-wow-col1-value-38
+wow-wow-col1-value-638 wow-wow-col1-value-438
+wow-wow-col1-value-638 wow-wow-col1-value-538
+wow-wow-col1-value-638 wow-wow-col1-value-638
+wow-wow-col1-value-638 wow-wow-col1-value-738
+wow-wow-col1-value-639 wow-wow-col1-value-139
+wow-wow-col1-value-639 wow-wow-col1-value-239
+wow-wow-col1-value-639 wow-wow-col1-value-339
+wow-wow-col1-value-639 wow-wow-col1-value-39
+wow-wow-col1-value-639 wow-wow-col1-value-439
+wow-wow-col1-value-639 wow-wow-col1-value-539
+wow-wow-col1-value-639 wow-wow-col1-value-639
+wow-wow-col1-value-639 wow-wow-col1-value-739
+wow-wow-col1-value-64 wow-wow-col1-value-164
+wow-wow-col1-value-64 wow-wow-col1-value-264
+wow-wow-col1-value-64 wow-wow-col1-value-364
+wow-wow-col1-value-64 wow-wow-col1-value-464
+wow-wow-col1-value-64 wow-wow-col1-value-564
+wow-wow-col1-value-64 wow-wow-col1-value-64
+wow-wow-col1-value-64 wow-wow-col1-value-664
+wow-wow-col1-value-64 wow-wow-col1-value-764
+wow-wow-col1-value-640 wow-wow-col1-value-140
+wow-wow-col1-value-640 wow-wow-col1-value-240
+wow-wow-col1-value-640 wow-wow-col1-value-340
+wow-wow-col1-value-640 wow-wow-col1-value-40
+wow-wow-col1-value-640 wow-wow-col1-value-440
+wow-wow-col1-value-640 wow-wow-col1-value-540
+wow-wow-col1-value-640 wow-wow-col1-value-640
+wow-wow-col1-value-640 wow-wow-col1-value-740
+wow-wow-col1-value-641 wow-wow-col1-value-141
+wow-wow-col1-value-641 wow-wow-col1-value-241
+wow-wow-col1-value-641 wow-wow-col1-value-341
+wow-wow-col1-value-641 wow-wow-col1-value-41
+wow-wow-col1-value-641 wow-wow-col1-value-441
+wow-wow-col1-value-641 wow-wow-col1-value-541
+wow-wow-col1-value-641 wow-wow-col1-value-641
+wow-wow-col1-value-641 wow-wow-col1-value-741
+wow-wow-col1-value-642 wow-wow-col1-value-142
+wow-wow-col1-value-642 wow-wow-col1-value-242
+wow-wow-col1-value-642 wow-wow-col1-value-342
+wow-wow-col1-value-642 wow-wow-col1-value-42
+wow-wow-col1-value-642 wow-wow-col1-value-442
+wow-wow-col1-value-642 wow-wow-col1-value-542
+wow-wow-col1-value-642 wow-wow-col1-value-642
+wow-wow-col1-value-642 wow-wow-col1-value-742
+wow-wow-col1-value-643 wow-wow-col1-value-143
+wow-wow-col1-value-643 wow-wow-col1-value-243
+wow-wow-col1-value-643 wow-wow-col1-value-343
+wow-wow-col1-value-643 wow-wow-col1-value-43
+wow-wow-col1-value-643 wow-wow-col1-value-443
+wow-wow-col1-value-643 wow-wow-col1-value-543
+wow-wow-col1-value-643 wow-wow-col1-value-643
+wow-wow-col1-value-643 wow-wow-col1-value-743
+wow-wow-col1-value-644 wow-wow-col1-value-144
+wow-wow-col1-value-644 wow-wow-col1-value-244
+wow-wow-col1-value-644 wow-wow-col1-value-344
+wow-wow-col1-value-644 wow-wow-col1-value-44
+wow-wow-col1-value-644 wow-wow-col1-value-444
+wow-wow-col1-value-644 wow-wow-col1-value-544
+wow-wow-col1-value-644 wow-wow-col1-value-644
+wow-wow-col1-value-644 wow-wow-col1-value-744
+wow-wow-col1-value-645 wow-wow-col1-value-145
+wow-wow-col1-value-645 wow-wow-col1-value-245
+wow-wow-col1-value-645 wow-wow-col1-value-345
+wow-wow-col1-value-645 wow-wow-col1-value-445
+wow-wow-col1-value-645 wow-wow-col1-value-45
+wow-wow-col1-value-645 wow-wow-col1-value-545
+wow-wow-col1-value-645 wow-wow-col1-value-645
+wow-wow-col1-value-645 wow-wow-col1-value-745
+wow-wow-col1-value-646 wow-wow-col1-value-146
+wow-wow-col1-value-646 wow-wow-col1-value-246
+wow-wow-col1-value-646 wow-wow-col1-value-346
+wow-wow-col1-value-646 wow-wow-col1-value-446
+wow-wow-col1-value-646 wow-wow-col1-value-46
+wow-wow-col1-value-646 wow-wow-col1-value-546
+wow-wow-col1-value-646 wow-wow-col1-value-646
+wow-wow-col1-value-646 wow-wow-col1-value-746
+wow-wow-col1-value-647 wow-wow-col1-value-147
+wow-wow-col1-value-647 wow-wow-col1-value-247
+wow-wow-col1-value-647 wow-wow-col1-value-347
+wow-wow-col1-value-647 wow-wow-col1-value-447
+wow-wow-col1-value-647 wow-wow-col1-value-47
+wow-wow-col1-value-647 wow-wow-col1-value-547
+wow-wow-col1-value-647 wow-wow-col1-value-647
+wow-wow-col1-value-647 wow-wow-col1-value-747
+wow-wow-col1-value-648 wow-wow-col1-value-148
+wow-wow-col1-value-648 wow-wow-col1-value-248
+wow-wow-col1-value-648 wow-wow-col1-value-348
+wow-wow-col1-value-648 wow-wow-col1-value-448
+wow-wow-col1-value-648 wow-wow-col1-value-48
+wow-wow-col1-value-648 wow-wow-col1-value-548
+wow-wow-col1-value-648 wow-wow-col1-value-648
+wow-wow-col1-value-648 wow-wow-col1-value-748
+wow-wow-col1-value-649 wow-wow-col1-value-149
+wow-wow-col1-value-649 wow-wow-col1-value-249
+wow-wow-col1-value-649 wow-wow-col1-value-349
+wow-wow-col1-value-649 wow-wow-col1-value-449
+wow-wow-col1-value-649 wow-wow-col1-value-49
+wow-wow-col1-value-649 wow-wow-col1-value-549
+wow-wow-col1-value-649 wow-wow-col1-value-649
+wow-wow-col1-value-649 wow-wow-col1-value-749
+wow-wow-col1-value-65 wow-wow-col1-value-165
+wow-wow-col1-value-65 wow-wow-col1-value-265
+wow-wow-col1-value-65 wow-wow-col1-value-365
+wow-wow-col1-value-65 wow-wow-col1-value-465
+wow-wow-col1-value-65 wow-wow-col1-value-565
+wow-wow-col1-value-65 wow-wow-col1-value-65
+wow-wow-col1-value-65 wow-wow-col1-value-665
+wow-wow-col1-value-65 wow-wow-col1-value-765
+wow-wow-col1-value-650 wow-wow-col1-value-150
+wow-wow-col1-value-650 wow-wow-col1-value-250
+wow-wow-col1-value-650 wow-wow-col1-value-350
+wow-wow-col1-value-650 wow-wow-col1-value-450
+wow-wow-col1-value-650 wow-wow-col1-value-50
+wow-wow-col1-value-650 wow-wow-col1-value-550
+wow-wow-col1-value-650 wow-wow-col1-value-650
+wow-wow-col1-value-650 wow-wow-col1-value-750
+wow-wow-col1-value-651 wow-wow-col1-value-151
+wow-wow-col1-value-651 wow-wow-col1-value-251
+wow-wow-col1-value-651 wow-wow-col1-value-351
+wow-wow-col1-value-651 wow-wow-col1-value-451
+wow-wow-col1-value-651 wow-wow-col1-value-51
+wow-wow-col1-value-651 wow-wow-col1-value-551
+wow-wow-col1-value-651 wow-wow-col1-value-651
+wow-wow-col1-value-651 wow-wow-col1-value-751
+wow-wow-col1-value-652 wow-wow-col1-value-152
+wow-wow-col1-value-652 wow-wow-col1-value-252
+wow-wow-col1-value-652 wow-wow-col1-value-352
+wow-wow-col1-value-652 wow-wow-col1-value-452
+wow-wow-col1-value-652 wow-wow-col1-value-52
+wow-wow-col1-value-652 wow-wow-col1-value-552
+wow-wow-col1-value-652 wow-wow-col1-value-652
+wow-wow-col1-value-652 wow-wow-col1-value-752
+wow-wow-col1-value-653 wow-wow-col1-value-153
+wow-wow-col1-value-653 wow-wow-col1-value-253
+wow-wow-col1-value-653 wow-wow-col1-value-353
+wow-wow-col1-value-653 wow-wow-col1-value-453
+wow-wow-col1-value-653 wow-wow-col1-value-53
+wow-wow-col1-value-653 wow-wow-col1-value-553
+wow-wow-col1-value-653 wow-wow-col1-value-653
+wow-wow-col1-value-653 wow-wow-col1-value-753
+wow-wow-col1-value-654 wow-wow-col1-value-154
+wow-wow-col1-value-654 wow-wow-col1-value-254
+wow-wow-col1-value-654 wow-wow-col1-value-354
+wow-wow-col1-value-654 wow-wow-col1-value-454
+wow-wow-col1-value-654 wow-wow-col1-value-54
+wow-wow-col1-value-654 wow-wow-col1-value-554
+wow-wow-col1-value-654 wow-wow-col1-value-654
+wow-wow-col1-value-654 wow-wow-col1-value-754
+wow-wow-col1-value-655 wow-wow-col1-value-155
+wow-wow-col1-value-655 wow-wow-col1-value-255
+wow-wow-col1-value-655 wow-wow-col1-value-355
+wow-wow-col1-value-655 wow-wow-col1-value-455
+wow-wow-col1-value-655 wow-wow-col1-value-55
+wow-wow-col1-value-655 wow-wow-col1-value-555
+wow-wow-col1-value-655 wow-wow-col1-value-655
+wow-wow-col1-value-655 wow-wow-col1-value-755
+wow-wow-col1-value-656 wow-wow-col1-value-156
+wow-wow-col1-value-656 wow-wow-col1-value-256
+wow-wow-col1-value-656 wow-wow-col1-value-356
+wow-wow-col1-value-656 wow-wow-col1-value-456
+wow-wow-col1-value-656 wow-wow-col1-value-556
+wow-wow-col1-value-656 wow-wow-col1-value-56
+wow-wow-col1-value-656 wow-wow-col1-value-656
+wow-wow-col1-value-656 wow-wow-col1-value-756
+wow-wow-col1-value-657 wow-wow-col1-value-157
+wow-wow-col1-value-657 wow-wow-col1-value-257
+wow-wow-col1-value-657 wow-wow-col1-value-357
+wow-wow-col1-value-657 wow-wow-col1-value-457
+wow-wow-col1-value-657 wow-wow-col1-value-557
+wow-wow-col1-value-657 wow-wow-col1-value-57
+wow-wow-col1-value-657 wow-wow-col1-value-657
+wow-wow-col1-value-657 wow-wow-col1-value-757
+wow-wow-col1-value-658 wow-wow-col1-value-158
+wow-wow-col1-value-658 wow-wow-col1-value-258
+wow-wow-col1-value-658 wow-wow-col1-value-358
+wow-wow-col1-value-658 wow-wow-col1-value-458
+wow-wow-col1-value-658 wow-wow-col1-value-558
+wow-wow-col1-value-658 wow-wow-col1-value-58
+wow-wow-col1-value-658 wow-wow-col1-value-658
+wow-wow-col1-value-658 wow-wow-col1-value-758
+wow-wow-col1-value-659 wow-wow-col1-value-159
+wow-wow-col1-value-659 wow-wow-col1-value-259
+wow-wow-col1-value-659 wow-wow-col1-value-359
+wow-wow-col1-value-659 wow-wow-col1-value-459
+wow-wow-col1-value-659 wow-wow-col1-value-559
+wow-wow-col1-value-659 wow-wow-col1-value-59
+wow-wow-col1-value-659 wow-wow-col1-value-659
+wow-wow-col1-value-659 wow-wow-col1-value-759
+wow-wow-col1-value-66 wow-wow-col1-value-166
+wow-wow-col1-value-66 wow-wow-col1-value-266
+wow-wow-col1-value-66 wow-wow-col1-value-366
+wow-wow-col1-value-66 wow-wow-col1-value-466
+wow-wow-col1-value-66 wow-wow-col1-value-566
+wow-wow-col1-value-66 wow-wow-col1-value-66
+wow-wow-col1-value-66 wow-wow-col1-value-666
+wow-wow-col1-value-66 wow-wow-col1-value-766
+wow-wow-col1-value-660 wow-wow-col1-value-160
+wow-wow-col1-value-660 wow-wow-col1-value-260
+wow-wow-col1-value-660 wow-wow-col1-value-360
+wow-wow-col1-value-660 wow-wow-col1-value-460
+wow-wow-col1-value-660 wow-wow-col1-value-560
+wow-wow-col1-value-660 wow-wow-col1-value-60
+wow-wow-col1-value-660 wow-wow-col1-value-660
+wow-wow-col1-value-660 wow-wow-col1-value-760
+wow-wow-col1-value-661 wow-wow-col1-value-161
+wow-wow-col1-value-661 wow-wow-col1-value-261
+wow-wow-col1-value-661 wow-wow-col1-value-361
+wow-wow-col1-value-661 wow-wow-col1-value-461
+wow-wow-col1-value-661 wow-wow-col1-value-561
+wow-wow-col1-value-661 wow-wow-col1-value-61
+wow-wow-col1-value-661 wow-wow-col1-value-661
+wow-wow-col1-value-661 wow-wow-col1-value-761
+wow-wow-col1-value-662 wow-wow-col1-value-162
+wow-wow-col1-value-662 wow-wow-col1-value-262
+wow-wow-col1-value-662 wow-wow-col1-value-362
+wow-wow-col1-value-662 wow-wow-col1-value-462
+wow-wow-col1-value-662 wow-wow-col1-value-562
+wow-wow-col1-value-662 wow-wow-col1-value-62
+wow-wow-col1-value-662 wow-wow-col1-value-662
+wow-wow-col1-value-662 wow-wow-col1-value-762
+wow-wow-col1-value-663 wow-wow-col1-value-163
+wow-wow-col1-value-663 wow-wow-col1-value-263
+wow-wow-col1-value-663 wow-wow-col1-value-363
+wow-wow-col1-value-663 wow-wow-col1-value-463
+wow-wow-col1-value-663 wow-wow-col1-value-563
+wow-wow-col1-value-663 wow-wow-col1-value-63
+wow-wow-col1-value-663 wow-wow-col1-value-663
+wow-wow-col1-value-663 wow-wow-col1-value-763
+wow-wow-col1-value-664 wow-wow-col1-value-164
+wow-wow-col1-value-664 wow-wow-col1-value-264
+wow-wow-col1-value-664 wow-wow-col1-value-364
+wow-wow-col1-value-664 wow-wow-col1-value-464
+wow-wow-col1-value-664 wow-wow-col1-value-564
+wow-wow-col1-value-664 wow-wow-col1-value-64
+wow-wow-col1-value-664 wow-wow-col1-value-664
+wow-wow-col1-value-664 wow-wow-col1-value-764
+wow-wow-col1-value-665 wow-wow-col1-value-165
+wow-wow-col1-value-665 wow-wow-col1-value-265
+wow-wow-col1-value-665 wow-wow-col1-value-365
+wow-wow-col1-value-665 wow-wow-col1-value-465
+wow-wow-col1-value-665 wow-wow-col1-value-565
+wow-wow-col1-value-665 wow-wow-col1-value-65
+wow-wow-col1-value-665 wow-wow-col1-value-665
+wow-wow-col1-value-665 wow-wow-col1-value-765
+wow-wow-col1-value-666 wow-wow-col1-value-166
+wow-wow-col1-value-666 wow-wow-col1-value-266
+wow-wow-col1-value-666 wow-wow-col1-value-366
+wow-wow-col1-value-666 wow-wow-col1-value-466
+wow-wow-col1-value-666 wow-wow-col1-value-566
+wow-wow-col1-value-666 wow-wow-col1-value-66
+wow-wow-col1-value-666 wow-wow-col1-value-666
+wow-wow-col1-value-666 wow-wow-col1-value-766
+wow-wow-col1-value-667 wow-wow-col1-value-167
+wow-wow-col1-value-667 wow-wow-col1-value-267
+wow-wow-col1-value-667 wow-wow-col1-value-367
+wow-wow-col1-value-667 wow-wow-col1-value-467
+wow-wow-col1-value-667 wow-wow-col1-value-567
+wow-wow-col1-value-667 wow-wow-col1-value-667
+wow-wow-col1-value-667 wow-wow-col1-value-67
+wow-wow-col1-value-667 wow-wow-col1-value-767
+wow-wow-col1-value-668 wow-wow-col1-value-168
+wow-wow-col1-value-668 wow-wow-col1-value-268
+wow-wow-col1-value-668 wow-wow-col1-value-368
+wow-wow-col1-value-668 wow-wow-col1-value-468
+wow-wow-col1-value-668 wow-wow-col1-value-568
+wow-wow-col1-value-668 wow-wow-col1-value-668
+wow-wow-col1-value-668 wow-wow-col1-value-68
+wow-wow-col1-value-668 wow-wow-col1-value-768
+wow-wow-col1-value-669 wow-wow-col1-value-169
+wow-wow-col1-value-669 wow-wow-col1-value-269
+wow-wow-col1-value-669 wow-wow-col1-value-369
+wow-wow-col1-value-669 wow-wow-col1-value-469
+wow-wow-col1-value-669 wow-wow-col1-value-569
+wow-wow-col1-value-669 wow-wow-col1-value-669
+wow-wow-col1-value-669 wow-wow-col1-value-69
+wow-wow-col1-value-669 wow-wow-col1-value-769
+wow-wow-col1-value-67 wow-wow-col1-value-167
+wow-wow-col1-value-67 wow-wow-col1-value-267
+wow-wow-col1-value-67 wow-wow-col1-value-367
+wow-wow-col1-value-67 wow-wow-col1-value-467
+wow-wow-col1-value-67 wow-wow-col1-value-567
+wow-wow-col1-value-67 wow-wow-col1-value-667
+wow-wow-col1-value-67 wow-wow-col1-value-67
+wow-wow-col1-value-67 wow-wow-col1-value-767
+wow-wow-col1-value-670 wow-wow-col1-value-170
+wow-wow-col1-value-670 wow-wow-col1-value-270
+wow-wow-col1-value-670 wow-wow-col1-value-370
+wow-wow-col1-value-670 wow-wow-col1-value-470
+wow-wow-col1-value-670 wow-wow-col1-value-570
+wow-wow-col1-value-670 wow-wow-col1-value-670
+wow-wow-col1-value-670 wow-wow-col1-value-70
+wow-wow-col1-value-670 wow-wow-col1-value-770
+wow-wow-col1-value-671 wow-wow-col1-value-171
+wow-wow-col1-value-671 wow-wow-col1-value-271
+wow-wow-col1-value-671 wow-wow-col1-value-371
+wow-wow-col1-value-671 wow-wow-col1-value-471
+wow-wow-col1-value-671 wow-wow-col1-value-571
+wow-wow-col1-value-671 wow-wow-col1-value-671
+wow-wow-col1-value-671 wow-wow-col1-value-71
+wow-wow-col1-value-671 wow-wow-col1-value-771
+wow-wow-col1-value-672 wow-wow-col1-value-172
+wow-wow-col1-value-672 wow-wow-col1-value-272
+wow-wow-col1-value-672 wow-wow-col1-value-372
+wow-wow-col1-value-672 wow-wow-col1-value-472
+wow-wow-col1-value-672 wow-wow-col1-value-572
+wow-wow-col1-value-672 wow-wow-col1-value-672
+wow-wow-col1-value-672 wow-wow-col1-value-72
+wow-wow-col1-value-672 wow-wow-col1-value-772
+wow-wow-col1-value-673 wow-wow-col1-value-173
+wow-wow-col1-value-673 wow-wow-col1-value-273
+wow-wow-col1-value-673 wow-wow-col1-value-373
+wow-wow-col1-value-673 wow-wow-col1-value-473
+wow-wow-col1-value-673 wow-wow-col1-value-573
+wow-wow-col1-value-673 wow-wow-col1-value-673
+wow-wow-col1-value-673 wow-wow-col1-value-73
+wow-wow-col1-value-673 wow-wow-col1-value-773
+wow-wow-col1-value-674 wow-wow-col1-value-174
+wow-wow-col1-value-674 wow-wow-col1-value-274
+wow-wow-col1-value-674 wow-wow-col1-value-374
+wow-wow-col1-value-674 wow-wow-col1-value-474
+wow-wow-col1-value-674 wow-wow-col1-value-574
+wow-wow-col1-value-674 wow-wow-col1-value-674
+wow-wow-col1-value-674 wow-wow-col1-value-74
+wow-wow-col1-value-674 wow-wow-col1-value-774
+wow-wow-col1-value-675 wow-wow-col1-value-175
+wow-wow-col1-value-675 wow-wow-col1-value-275
+wow-wow-col1-value-675 wow-wow-col1-value-375
+wow-wow-col1-value-675 wow-wow-col1-value-475
+wow-wow-col1-value-675 wow-wow-col1-value-575
+wow-wow-col1-value-675 wow-wow-col1-value-675
+wow-wow-col1-value-675 wow-wow-col1-value-75
+wow-wow-col1-value-675 wow-wow-col1-value-775
+wow-wow-col1-value-676 wow-wow-col1-value-176
+wow-wow-col1-value-676 wow-wow-col1-value-276
+wow-wow-col1-value-676 wow-wow-col1-value-376
+wow-wow-col1-value-676 wow-wow-col1-value-476
+wow-wow-col1-value-676 wow-wow-col1-value-576
+wow-wow-col1-value-676 wow-wow-col1-value-676
+wow-wow-col1-value-676 wow-wow-col1-value-76
+wow-wow-col1-value-676 wow-wow-col1-value-776
+wow-wow-col1-value-677 wow-wow-col1-value-177
+wow-wow-col1-value-677 wow-wow-col1-value-277
+wow-wow-col1-value-677 wow-wow-col1-value-377
+wow-wow-col1-value-677 wow-wow-col1-value-477
+wow-wow-col1-value-677 wow-wow-col1-value-577
+wow-wow-col1-value-677 wow-wow-col1-value-677
+wow-wow-col1-value-677 wow-wow-col1-value-77
+wow-wow-col1-value-677 wow-wow-col1-value-777
+wow-wow-col1-value-678 wow-wow-col1-value-178
+wow-wow-col1-value-678 wow-wow-col1-value-278
+wow-wow-col1-value-678 wow-wow-col1-value-378
+wow-wow-col1-value-678 wow-wow-col1-value-478
+wow-wow-col1-value-678 wow-wow-col1-value-578
+wow-wow-col1-value-678 wow-wow-col1-value-678
+wow-wow-col1-value-678 wow-wow-col1-value-778
+wow-wow-col1-value-678 wow-wow-col1-value-78
+wow-wow-col1-value-679 wow-wow-col1-value-179
+wow-wow-col1-value-679 wow-wow-col1-value-279
+wow-wow-col1-value-679 wow-wow-col1-value-379
+wow-wow-col1-value-679 wow-wow-col1-value-479
+wow-wow-col1-value-679 wow-wow-col1-value-579
+wow-wow-col1-value-679 wow-wow-col1-value-679
+wow-wow-col1-value-679 wow-wow-col1-value-779
+wow-wow-col1-value-679 wow-wow-col1-value-79
+wow-wow-col1-value-68 wow-wow-col1-value-168
+wow-wow-col1-value-68 wow-wow-col1-value-268
+wow-wow-col1-value-68 wow-wow-col1-value-368
+wow-wow-col1-value-68 wow-wow-col1-value-468
+wow-wow-col1-value-68 wow-wow-col1-value-568
+wow-wow-col1-value-68 wow-wow-col1-value-668
+wow-wow-col1-value-68 wow-wow-col1-value-68
+wow-wow-col1-value-68 wow-wow-col1-value-768
+wow-wow-col1-value-680 wow-wow-col1-value-180
+wow-wow-col1-value-680 wow-wow-col1-value-280
+wow-wow-col1-value-680 wow-wow-col1-value-380
+wow-wow-col1-value-680 wow-wow-col1-value-480
+wow-wow-col1-value-680 wow-wow-col1-value-580
+wow-wow-col1-value-680 wow-wow-col1-value-680
+wow-wow-col1-value-680 wow-wow-col1-value-780
+wow-wow-col1-value-680 wow-wow-col1-value-80
+wow-wow-col1-value-681 wow-wow-col1-value-181
+wow-wow-col1-value-681 wow-wow-col1-value-281
+wow-wow-col1-value-681 wow-wow-col1-value-381
+wow-wow-col1-value-681 wow-wow-col1-value-481
+wow-wow-col1-value-681 wow-wow-col1-value-581
+wow-wow-col1-value-681 wow-wow-col1-value-681
+wow-wow-col1-value-681 wow-wow-col1-value-781
+wow-wow-col1-value-681 wow-wow-col1-value-81
+wow-wow-col1-value-682 wow-wow-col1-value-182
+wow-wow-col1-value-682 wow-wow-col1-value-282
+wow-wow-col1-value-682 wow-wow-col1-value-382
+wow-wow-col1-value-682 wow-wow-col1-value-482
+wow-wow-col1-value-682 wow-wow-col1-value-582
+wow-wow-col1-value-682 wow-wow-col1-value-682
+wow-wow-col1-value-682 wow-wow-col1-value-782
+wow-wow-col1-value-682 wow-wow-col1-value-82
+wow-wow-col1-value-683 wow-wow-col1-value-183
+wow-wow-col1-value-683 wow-wow-col1-value-283
+wow-wow-col1-value-683 wow-wow-col1-value-383
+wow-wow-col1-value-683 wow-wow-col1-value-483
+wow-wow-col1-value-683 wow-wow-col1-value-583
+wow-wow-col1-value-683 wow-wow-col1-value-683
+wow-wow-col1-value-683 wow-wow-col1-value-783
+wow-wow-col1-value-683 wow-wow-col1-value-83
+wow-wow-col1-value-684 wow-wow-col1-value-184
+wow-wow-col1-value-684 wow-wow-col1-value-284
+wow-wow-col1-value-684 wow-wow-col1-value-384
+wow-wow-col1-value-684 wow-wow-col1-value-484
+wow-wow-col1-value-684 wow-wow-col1-value-584
+wow-wow-col1-value-684 wow-wow-col1-value-684
+wow-wow-col1-value-684 wow-wow-col1-value-784
+wow-wow-col1-value-684 wow-wow-col1-value-84
+wow-wow-col1-value-685 wow-wow-col1-value-185
+wow-wow-col1-value-685 wow-wow-col1-value-285
+wow-wow-col1-value-685 wow-wow-col1-value-385
+wow-wow-col1-value-685 wow-wow-col1-value-485
+wow-wow-col1-value-685 wow-wow-col1-value-585
+wow-wow-col1-value-685 wow-wow-col1-value-685
+wow-wow-col1-value-685 wow-wow-col1-value-785
+wow-wow-col1-value-685 wow-wow-col1-value-85
+wow-wow-col1-value-686 wow-wow-col1-value-186
+wow-wow-col1-value-686 wow-wow-col1-value-286
+wow-wow-col1-value-686 wow-wow-col1-value-386
+wow-wow-col1-value-686 wow-wow-col1-value-486
+wow-wow-col1-value-686 wow-wow-col1-value-586
+wow-wow-col1-value-686 wow-wow-col1-value-686
+wow-wow-col1-value-686 wow-wow-col1-value-786
+wow-wow-col1-value-686 wow-wow-col1-value-86
+wow-wow-col1-value-687 wow-wow-col1-value-187
+wow-wow-col1-value-687 wow-wow-col1-value-287
+wow-wow-col1-value-687 wow-wow-col1-value-387
+wow-wow-col1-value-687 wow-wow-col1-value-487
+wow-wow-col1-value-687 wow-wow-col1-value-587
+wow-wow-col1-value-687 wow-wow-col1-value-687
+wow-wow-col1-value-687 wow-wow-col1-value-787
+wow-wow-col1-value-687 wow-wow-col1-value-87
+wow-wow-col1-value-688 wow-wow-col1-value-188
+wow-wow-col1-value-688 wow-wow-col1-value-288
+wow-wow-col1-value-688 wow-wow-col1-value-388
+wow-wow-col1-value-688 wow-wow-col1-value-488
+wow-wow-col1-value-688 wow-wow-col1-value-588
+wow-wow-col1-value-688 wow-wow-col1-value-688
+wow-wow-col1-value-688 wow-wow-col1-value-788
+wow-wow-col1-value-688 wow-wow-col1-value-88
+wow-wow-col1-value-689 wow-wow-col1-value-189
+wow-wow-col1-value-689 wow-wow-col1-value-289
+wow-wow-col1-value-689 wow-wow-col1-value-389
+wow-wow-col1-value-689 wow-wow-col1-value-489
+wow-wow-col1-value-689 wow-wow-col1-value-589
+wow-wow-col1-value-689 wow-wow-col1-value-689
+wow-wow-col1-value-689 wow-wow-col1-value-789
+wow-wow-col1-value-689 wow-wow-col1-value-89
+wow-wow-col1-value-69 wow-wow-col1-value-169
+wow-wow-col1-value-69 wow-wow-col1-value-269
+wow-wow-col1-value-69 wow-wow-col1-value-369
+wow-wow-col1-value-69 wow-wow-col1-value-469
+wow-wow-col1-value-69 wow-wow-col1-value-569
+wow-wow-col1-value-69 wow-wow-col1-value-669
+wow-wow-col1-value-69 wow-wow-col1-value-69
+wow-wow-col1-value-69 wow-wow-col1-value-769
+wow-wow-col1-value-690 wow-wow-col1-value-190
+wow-wow-col1-value-690 wow-wow-col1-value-290
+wow-wow-col1-value-690 wow-wow-col1-value-390
+wow-wow-col1-value-690 wow-wow-col1-value-490
+wow-wow-col1-value-690 wow-wow-col1-value-590
+wow-wow-col1-value-690 wow-wow-col1-value-690
+wow-wow-col1-value-690 wow-wow-col1-value-790
+wow-wow-col1-value-690 wow-wow-col1-value-90
+wow-wow-col1-value-691 wow-wow-col1-value-191
+wow-wow-col1-value-691 wow-wow-col1-value-291
+wow-wow-col1-value-691 wow-wow-col1-value-391
+wow-wow-col1-value-691 wow-wow-col1-value-491
+wow-wow-col1-value-691 wow-wow-col1-value-591
+wow-wow-col1-value-691 wow-wow-col1-value-691
+wow-wow-col1-value-691 wow-wow-col1-value-791
+wow-wow-col1-value-691 wow-wow-col1-value-91
+wow-wow-col1-value-692 wow-wow-col1-value-192
+wow-wow-col1-value-692 wow-wow-col1-value-292
+wow-wow-col1-value-692 wow-wow-col1-value-392
+wow-wow-col1-value-692 wow-wow-col1-value-492
+wow-wow-col1-value-692 wow-wow-col1-value-592
+wow-wow-col1-value-692 wow-wow-col1-value-692
+wow-wow-col1-value-692 wow-wow-col1-value-792
+wow-wow-col1-value-692 wow-wow-col1-value-92
+wow-wow-col1-value-693 wow-wow-col1-value-193
+wow-wow-col1-value-693 wow-wow-col1-value-293
+wow-wow-col1-value-693 wow-wow-col1-value-393
+wow-wow-col1-value-693 wow-wow-col1-value-493
+wow-wow-col1-value-693 wow-wow-col1-value-593
+wow-wow-col1-value-693 wow-wow-col1-value-693
+wow-wow-col1-value-693 wow-wow-col1-value-793
+wow-wow-col1-value-693 wow-wow-col1-value-93
+wow-wow-col1-value-694 wow-wow-col1-value-194
+wow-wow-col1-value-694 wow-wow-col1-value-294
+wow-wow-col1-value-694 wow-wow-col1-value-394
+wow-wow-col1-value-694 wow-wow-col1-value-494
+wow-wow-col1-value-694 wow-wow-col1-value-594
+wow-wow-col1-value-694 wow-wow-col1-value-694
+wow-wow-col1-value-694 wow-wow-col1-value-794
+wow-wow-col1-value-694 wow-wow-col1-value-94
+wow-wow-col1-value-695 wow-wow-col1-value-195
+wow-wow-col1-value-695 wow-wow-col1-value-295
+wow-wow-col1-value-695 wow-wow-col1-value-395
+wow-wow-col1-value-695 wow-wow-col1-value-495
+wow-wow-col1-value-695 wow-wow-col1-value-595
+wow-wow-col1-value-695 wow-wow-col1-value-695
+wow-wow-col1-value-695 wow-wow-col1-value-795
+wow-wow-col1-value-695 wow-wow-col1-value-95
+wow-wow-col1-value-696 wow-wow-col1-value-196
+wow-wow-col1-value-696 wow-wow-col1-value-296
+wow-wow-col1-value-696 wow-wow-col1-value-396
+wow-wow-col1-value-696 wow-wow-col1-value-496
+wow-wow-col1-value-696 wow-wow-col1-value-596
+wow-wow-col1-value-696 wow-wow-col1-value-696
+wow-wow-col1-value-696 wow-wow-col1-value-796
+wow-wow-col1-value-696 wow-wow-col1-value-96
+wow-wow-col1-value-697 wow-wow-col1-value-197
+wow-wow-col1-value-697 wow-wow-col1-value-297
+wow-wow-col1-value-697 wow-wow-col1-value-397
+wow-wow-col1-value-697 wow-wow-col1-value-497
+wow-wow-col1-value-697 wow-wow-col1-value-597
+wow-wow-col1-value-697 wow-wow-col1-value-697
+wow-wow-col1-value-697 wow-wow-col1-value-797
+wow-wow-col1-value-697 wow-wow-col1-value-97
+wow-wow-col1-value-698 wow-wow-col1-value-198
+wow-wow-col1-value-698 wow-wow-col1-value-298
+wow-wow-col1-value-698 wow-wow-col1-value-398
+wow-wow-col1-value-698 wow-wow-col1-value-498
+wow-wow-col1-value-698 wow-wow-col1-value-598
+wow-wow-col1-value-698 wow-wow-col1-value-698
+wow-wow-col1-value-698 wow-wow-col1-value-798
+wow-wow-col1-value-698 wow-wow-col1-value-98
+wow-wow-col1-value-699 wow-wow-col1-value-199
+wow-wow-col1-value-699 wow-wow-col1-value-299
+wow-wow-col1-value-699 wow-wow-col1-value-399
+wow-wow-col1-value-699 wow-wow-col1-value-499
+wow-wow-col1-value-699 wow-wow-col1-value-599
+wow-wow-col1-value-699 wow-wow-col1-value-699
+wow-wow-col1-value-699 wow-wow-col1-value-799
+wow-wow-col1-value-699 wow-wow-col1-value-99
+wow-wow-col1-value-7 wow-wow-col1-value-107
+wow-wow-col1-value-7 wow-wow-col1-value-207
+wow-wow-col1-value-7 wow-wow-col1-value-307
+wow-wow-col1-value-7 wow-wow-col1-value-407
+wow-wow-col1-value-7 wow-wow-col1-value-507
+wow-wow-col1-value-7 wow-wow-col1-value-607
+wow-wow-col1-value-7 wow-wow-col1-value-7
+wow-wow-col1-value-7 wow-wow-col1-value-707
+wow-wow-col1-value-70 wow-wow-col1-value-170
+wow-wow-col1-value-70 wow-wow-col1-value-270
+wow-wow-col1-value-70 wow-wow-col1-value-370
+wow-wow-col1-value-70 wow-wow-col1-value-470
+wow-wow-col1-value-70 wow-wow-col1-value-570
+wow-wow-col1-value-70 wow-wow-col1-value-670
+wow-wow-col1-value-70 wow-wow-col1-value-70
+wow-wow-col1-value-70 wow-wow-col1-value-770
+wow-wow-col1-value-700 wow-wow-col1-value-0
+wow-wow-col1-value-700 wow-wow-col1-value-100
+wow-wow-col1-value-700 wow-wow-col1-value-200
+wow-wow-col1-value-700 wow-wow-col1-value-300
+wow-wow-col1-value-700 wow-wow-col1-value-400
+wow-wow-col1-value-700 wow-wow-col1-value-500
+wow-wow-col1-value-700 wow-wow-col1-value-600
+wow-wow-col1-value-700 wow-wow-col1-value-700
+wow-wow-col1-value-701 wow-wow-col1-value-1
+wow-wow-col1-value-701 wow-wow-col1-value-101
+wow-wow-col1-value-701 wow-wow-col1-value-201
+wow-wow-col1-value-701 wow-wow-col1-value-301
+wow-wow-col1-value-701 wow-wow-col1-value-401
+wow-wow-col1-value-701 wow-wow-col1-value-501
+wow-wow-col1-value-701 wow-wow-col1-value-601
+wow-wow-col1-value-701 wow-wow-col1-value-701
+wow-wow-col1-value-702 wow-wow-col1-value-102
+wow-wow-col1-value-702 wow-wow-col1-value-2
+wow-wow-col1-value-702 wow-wow-col1-value-202
+wow-wow-col1-value-702 wow-wow-col1-value-302
+wow-wow-col1-value-702 wow-wow-col1-value-402
+wow-wow-col1-value-702 wow-wow-col1-value-502
+wow-wow-col1-value-702 wow-wow-col1-value-602
+wow-wow-col1-value-702 wow-wow-col1-value-702
+wow-wow-col1-value-703 wow-wow-col1-value-103
+wow-wow-col1-value-703 wow-wow-col1-value-203
+wow-wow-col1-value-703 wow-wow-col1-value-3
+wow-wow-col1-value-703 wow-wow-col1-value-303
+wow-wow-col1-value-703 wow-wow-col1-value-403
+wow-wow-col1-value-703 wow-wow-col1-value-503
+wow-wow-col1-value-703 wow-wow-col1-value-603
+wow-wow-col1-value-703 wow-wow-col1-value-703
+wow-wow-col1-value-704 wow-wow-col1-value-104
+wow-wow-col1-value-704 wow-wow-col1-value-204
+wow-wow-col1-value-704 wow-wow-col1-value-304
+wow-wow-col1-value-704 wow-wow-col1-value-4
+wow-wow-col1-value-704 wow-wow-col1-value-404
+wow-wow-col1-value-704 wow-wow-col1-value-504
+wow-wow-col1-value-704 wow-wow-col1-value-604
+wow-wow-col1-value-704 wow-wow-col1-value-704
+wow-wow-col1-value-705 wow-wow-col1-value-105
+wow-wow-col1-value-705 wow-wow-col1-value-205
+wow-wow-col1-value-705 wow-wow-col1-value-305
+wow-wow-col1-value-705 wow-wow-col1-value-405
+wow-wow-col1-value-705 wow-wow-col1-value-5
+wow-wow-col1-value-705 wow-wow-col1-value-505
+wow-wow-col1-value-705 wow-wow-col1-value-605
+wow-wow-col1-value-705 wow-wow-col1-value-705
+wow-wow-col1-value-706 wow-wow-col1-value-106
+wow-wow-col1-value-706 wow-wow-col1-value-206
+wow-wow-col1-value-706 wow-wow-col1-value-306
+wow-wow-col1-value-706 wow-wow-col1-value-406
+wow-wow-col1-value-706 wow-wow-col1-value-506
+wow-wow-col1-value-706 wow-wow-col1-value-6
+wow-wow-col1-value-706 wow-wow-col1-value-606
+wow-wow-col1-value-706 wow-wow-col1-value-706
+wow-wow-col1-value-707 wow-wow-col1-value-107
+wow-wow-col1-value-707 wow-wow-col1-value-207
+wow-wow-col1-value-707 wow-wow-col1-value-307
+wow-wow-col1-value-707 wow-wow-col1-value-407
+wow-wow-col1-value-707 wow-wow-col1-value-507
+wow-wow-col1-value-707 wow-wow-col1-value-607
+wow-wow-col1-value-707 wow-wow-col1-value-7
+wow-wow-col1-value-707 wow-wow-col1-value-707
+wow-wow-col1-value-708 wow-wow-col1-value-108
+wow-wow-col1-value-708 wow-wow-col1-value-208
+wow-wow-col1-value-708 wow-wow-col1-value-308
+wow-wow-col1-value-708 wow-wow-col1-value-408
+wow-wow-col1-value-708 wow-wow-col1-value-508
+wow-wow-col1-value-708 wow-wow-col1-value-608
+wow-wow-col1-value-708 wow-wow-col1-value-708
+wow-wow-col1-value-708 wow-wow-col1-value-8
+wow-wow-col1-value-709 wow-wow-col1-value-109
+wow-wow-col1-value-709 wow-wow-col1-value-209
+wow-wow-col1-value-709 wow-wow-col1-value-309
+wow-wow-col1-value-709 wow-wow-col1-value-409
+wow-wow-col1-value-709 wow-wow-col1-value-509
+wow-wow-col1-value-709 wow-wow-col1-value-609
+wow-wow-col1-value-709 wow-wow-col1-value-709
+wow-wow-col1-value-709 wow-wow-col1-value-9
+wow-wow-col1-value-71 wow-wow-col1-value-171
+wow-wow-col1-value-71 wow-wow-col1-value-271
+wow-wow-col1-value-71 wow-wow-col1-value-371
+wow-wow-col1-value-71 wow-wow-col1-value-471
+wow-wow-col1-value-71 wow-wow-col1-value-571
+wow-wow-col1-value-71 wow-wow-col1-value-671
+wow-wow-col1-value-71 wow-wow-col1-value-71
+wow-wow-col1-value-71 wow-wow-col1-value-771
+wow-wow-col1-value-710 wow-wow-col1-value-10
+wow-wow-col1-value-710 wow-wow-col1-value-110
+wow-wow-col1-value-710 wow-wow-col1-value-210
+wow-wow-col1-value-710 wow-wow-col1-value-310
+wow-wow-col1-value-710 wow-wow-col1-value-410
+wow-wow-col1-value-710 wow-wow-col1-value-510
+wow-wow-col1-value-710 wow-wow-col1-value-610
+wow-wow-col1-value-710 wow-wow-col1-value-710
+wow-wow-col1-value-711 wow-wow-col1-value-11
+wow-wow-col1-value-711 wow-wow-col1-value-111
+wow-wow-col1-value-711 wow-wow-col1-value-211
+wow-wow-col1-value-711 wow-wow-col1-value-311
+wow-wow-col1-value-711 wow-wow-col1-value-411
+wow-wow-col1-value-711 wow-wow-col1-value-511
+wow-wow-col1-value-711 wow-wow-col1-value-611
+wow-wow-col1-value-711 wow-wow-col1-value-711
+wow-wow-col1-value-712 wow-wow-col1-value-112
+wow-wow-col1-value-712 wow-wow-col1-value-12
+wow-wow-col1-value-712 wow-wow-col1-value-212
+wow-wow-col1-value-712 wow-wow-col1-value-312
+wow-wow-col1-value-712 wow-wow-col1-value-412
+wow-wow-col1-value-712 wow-wow-col1-value-512
+wow-wow-col1-value-712 wow-wow-col1-value-612
+wow-wow-col1-value-712 wow-wow-col1-value-712
+wow-wow-col1-value-713 wow-wow-col1-value-113
+wow-wow-col1-value-713 wow-wow-col1-value-13
+wow-wow-col1-value-713 wow-wow-col1-value-213
+wow-wow-col1-value-713 wow-wow-col1-value-313
+wow-wow-col1-value-713 wow-wow-col1-value-413
+wow-wow-col1-value-713 wow-wow-col1-value-513
+wow-wow-col1-value-713 wow-wow-col1-value-613
+wow-wow-col1-value-713 wow-wow-col1-value-713
+wow-wow-col1-value-714 wow-wow-col1-value-114
+wow-wow-col1-value-714 wow-wow-col1-value-14
+wow-wow-col1-value-714 wow-wow-col1-value-214
+wow-wow-col1-value-714 wow-wow-col1-value-314
+wow-wow-col1-value-714 wow-wow-col1-value-414
+wow-wow-col1-value-714 wow-wow-col1-value-514
+wow-wow-col1-value-714 wow-wow-col1-value-614
+wow-wow-col1-value-714 wow-wow-col1-value-714
+wow-wow-col1-value-715 wow-wow-col1-value-115
+wow-wow-col1-value-715 wow-wow-col1-value-15
+wow-wow-col1-value-715 wow-wow-col1-value-215
+wow-wow-col1-value-715 wow-wow-col1-value-315
+wow-wow-col1-value-715 wow-wow-col1-value-415
+wow-wow-col1-value-715 wow-wow-col1-value-515
+wow-wow-col1-value-715 wow-wow-col1-value-615
+wow-wow-col1-value-715 wow-wow-col1-value-715
+wow-wow-col1-value-716 wow-wow-col1-value-116
+wow-wow-col1-value-716 wow-wow-col1-value-16
+wow-wow-col1-value-716 wow-wow-col1-value-216
+wow-wow-col1-value-716 wow-wow-col1-value-316
+wow-wow-col1-value-716 wow-wow-col1-value-416
+wow-wow-col1-value-716 wow-wow-col1-value-516
+wow-wow-col1-value-716 wow-wow-col1-value-616
+wow-wow-col1-value-716 wow-wow-col1-value-716
+wow-wow-col1-value-717 wow-wow-col1-value-117
+wow-wow-col1-value-717 wow-wow-col1-value-17
+wow-wow-col1-value-717 wow-wow-col1-value-217
+wow-wow-col1-value-717 wow-wow-col1-value-317
+wow-wow-col1-value-717 wow-wow-col1-value-417
+wow-wow-col1-value-717 wow-wow-col1-value-517
+wow-wow-col1-value-717 wow-wow-col1-value-617
+wow-wow-col1-value-717 wow-wow-col1-value-717
+wow-wow-col1-value-718 wow-wow-col1-value-118
+wow-wow-col1-value-718 wow-wow-col1-value-18
+wow-wow-col1-value-718 wow-wow-col1-value-218
+wow-wow-col1-value-718 wow-wow-col1-value-318
+wow-wow-col1-value-718 wow-wow-col1-value-418
+wow-wow-col1-value-718 wow-wow-col1-value-518
+wow-wow-col1-value-718 wow-wow-col1-value-618
+wow-wow-col1-value-718 wow-wow-col1-value-718
+wow-wow-col1-value-719 wow-wow-col1-value-119
+wow-wow-col1-value-719 wow-wow-col1-value-19
+wow-wow-col1-value-719 wow-wow-col1-value-219
+wow-wow-col1-value-719 wow-wow-col1-value-319
+wow-wow-col1-value-719 wow-wow-col1-value-419
+wow-wow-col1-value-719 wow-wow-col1-value-519
+wow-wow-col1-value-719 wow-wow-col1-value-619
+wow-wow-col1-value-719 wow-wow-col1-value-719
+wow-wow-col1-value-72 wow-wow-col1-value-172
+wow-wow-col1-value-72 wow-wow-col1-value-272
+wow-wow-col1-value-72 wow-wow-col1-value-372
+wow-wow-col1-value-72 wow-wow-col1-value-472
+wow-wow-col1-value-72 wow-wow-col1-value-572
+wow-wow-col1-value-72 wow-wow-col1-value-672
+wow-wow-col1-value-72 wow-wow-col1-value-72
+wow-wow-col1-value-72 wow-wow-col1-value-772
+wow-wow-col1-value-720 wow-wow-col1-value-120
+wow-wow-col1-value-720 wow-wow-col1-value-20
+wow-wow-col1-value-720 wow-wow-col1-value-220
+wow-wow-col1-value-720 wow-wow-col1-value-320
+wow-wow-col1-value-720 wow-wow-col1-value-420
+wow-wow-col1-value-720 wow-wow-col1-value-520
+wow-wow-col1-value-720 wow-wow-col1-value-620
+wow-wow-col1-value-720 wow-wow-col1-value-720
+wow-wow-col1-value-721 wow-wow-col1-value-121
+wow-wow-col1-value-721 wow-wow-col1-value-21
+wow-wow-col1-value-721 wow-wow-col1-value-221
+wow-wow-col1-value-721 wow-wow-col1-value-321
+wow-wow-col1-value-721 wow-wow-col1-value-421
+wow-wow-col1-value-721 wow-wow-col1-value-521
+wow-wow-col1-value-721 wow-wow-col1-value-621
+wow-wow-col1-value-721 wow-wow-col1-value-721
+wow-wow-col1-value-722 wow-wow-col1-value-122
+wow-wow-col1-value-722 wow-wow-col1-value-22
+wow-wow-col1-value-722 wow-wow-col1-value-222
+wow-wow-col1-value-722 wow-wow-col1-value-322
+wow-wow-col1-value-722 wow-wow-col1-value-422
+wow-wow-col1-value-722 wow-wow-col1-value-522
+wow-wow-col1-value-722 wow-wow-col1-value-622
+wow-wow-col1-value-722 wow-wow-col1-value-722
+wow-wow-col1-value-723 wow-wow-col1-value-123
+wow-wow-col1-value-723 wow-wow-col1-value-223
+wow-wow-col1-value-723 wow-wow-col1-value-23
+wow-wow-col1-value-723 wow-wow-col1-value-323
+wow-wow-col1-value-723 wow-wow-col1-value-423
+wow-wow-col1-value-723 wow-wow-col1-value-523
+wow-wow-col1-value-723 wow-wow-col1-value-623
+wow-wow-col1-value-723 wow-wow-col1-value-723
+wow-wow-col1-value-724 wow-wow-col1-value-124
+wow-wow-col1-value-724 wow-wow-col1-value-224
+wow-wow-col1-value-724 wow-wow-col1-value-24
+wow-wow-col1-value-724 wow-wow-col1-value-324
+wow-wow-col1-value-724 wow-wow-col1-value-424
+wow-wow-col1-value-724 wow-wow-col1-value-524
+wow-wow-col1-value-724 wow-wow-col1-value-624
+wow-wow-col1-value-724 wow-wow-col1-value-724
+wow-wow-col1-value-725 wow-wow-col1-value-125
+wow-wow-col1-value-725 wow-wow-col1-value-225
+wow-wow-col1-value-725 wow-wow-col1-value-25
+wow-wow-col1-value-725 wow-wow-col1-value-325
+wow-wow-col1-value-725 wow-wow-col1-value-425
+wow-wow-col1-value-725 wow-wow-col1-value-525
+wow-wow-col1-value-725 wow-wow-col1-value-625
+wow-wow-col1-value-725 wow-wow-col1-value-725
+wow-wow-col1-value-726 wow-wow-col1-value-126
+wow-wow-col1-value-726 wow-wow-col1-value-226
+wow-wow-col1-value-726 wow-wow-col1-value-26
+wow-wow-col1-value-726 wow-wow-col1-value-326
+wow-wow-col1-value-726 wow-wow-col1-value-426
+wow-wow-col1-value-726 wow-wow-col1-value-526
+wow-wow-col1-value-726 wow-wow-col1-value-626
+wow-wow-col1-value-726 wow-wow-col1-value-726
+wow-wow-col1-value-727 wow-wow-col1-value-127
+wow-wow-col1-value-727 wow-wow-col1-value-227
+wow-wow-col1-value-727 wow-wow-col1-value-27
+wow-wow-col1-value-727 wow-wow-col1-value-327
+wow-wow-col1-value-727 wow-wow-col1-value-427
+wow-wow-col1-value-727 wow-wow-col1-value-527
+wow-wow-col1-value-727 wow-wow-col1-value-627
+wow-wow-col1-value-727 wow-wow-col1-value-727
+wow-wow-col1-value-728 wow-wow-col1-value-128
+wow-wow-col1-value-728 wow-wow-col1-value-228
+wow-wow-col1-value-728 wow-wow-col1-value-28
+wow-wow-col1-value-728 wow-wow-col1-value-328
+wow-wow-col1-value-728 wow-wow-col1-value-428
+wow-wow-col1-value-728 wow-wow-col1-value-528
+wow-wow-col1-value-728 wow-wow-col1-value-628
+wow-wow-col1-value-728 wow-wow-col1-value-728
+wow-wow-col1-value-729 wow-wow-col1-value-129
+wow-wow-col1-value-729 wow-wow-col1-value-229
+wow-wow-col1-value-729 wow-wow-col1-value-29
+wow-wow-col1-value-729 wow-wow-col1-value-329
+wow-wow-col1-value-729 wow-wow-col1-value-429
+wow-wow-col1-value-729 wow-wow-col1-value-529
+wow-wow-col1-value-729 wow-wow-col1-value-629
+wow-wow-col1-value-729 wow-wow-col1-value-729
+wow-wow-col1-value-73 wow-wow-col1-value-173
+wow-wow-col1-value-73 wow-wow-col1-value-273
+wow-wow-col1-value-73 wow-wow-col1-value-373
+wow-wow-col1-value-73 wow-wow-col1-value-473
+wow-wow-col1-value-73 wow-wow-col1-value-573
+wow-wow-col1-value-73 wow-wow-col1-value-673
+wow-wow-col1-value-73 wow-wow-col1-value-73
+wow-wow-col1-value-73 wow-wow-col1-value-773
+wow-wow-col1-value-730 wow-wow-col1-value-130
+wow-wow-col1-value-730 wow-wow-col1-value-230
+wow-wow-col1-value-730 wow-wow-col1-value-30
+wow-wow-col1-value-730 wow-wow-col1-value-330
+wow-wow-col1-value-730 wow-wow-col1-value-430
+wow-wow-col1-value-730 wow-wow-col1-value-530
+wow-wow-col1-value-730 wow-wow-col1-value-630
+wow-wow-col1-value-730 wow-wow-col1-value-730
+wow-wow-col1-value-731 wow-wow-col1-value-131
+wow-wow-col1-value-731 wow-wow-col1-value-231
+wow-wow-col1-value-731 wow-wow-col1-value-31
+wow-wow-col1-value-731 wow-wow-col1-value-331
+wow-wow-col1-value-731 wow-wow-col1-value-431
+wow-wow-col1-value-731 wow-wow-col1-value-531
+wow-wow-col1-value-731 wow-wow-col1-value-631
+wow-wow-col1-value-731 wow-wow-col1-value-731
+wow-wow-col1-value-732 wow-wow-col1-value-132
+wow-wow-col1-value-732 wow-wow-col1-value-232
+wow-wow-col1-value-732 wow-wow-col1-value-32
+wow-wow-col1-value-732 wow-wow-col1-value-332
+wow-wow-col1-value-732 wow-wow-col1-value-432
+wow-wow-col1-value-732 wow-wow-col1-value-532
+wow-wow-col1-value-732 wow-wow-col1-value-632
+wow-wow-col1-value-732 wow-wow-col1-value-732
+wow-wow-col1-value-733 wow-wow-col1-value-133
+wow-wow-col1-value-733 wow-wow-col1-value-233
+wow-wow-col1-value-733 wow-wow-col1-value-33
+wow-wow-col1-value-733 wow-wow-col1-value-333
+wow-wow-col1-value-733 wow-wow-col1-value-433
+wow-wow-col1-value-733 wow-wow-col1-value-533
+wow-wow-col1-value-733 wow-wow-col1-value-633
+wow-wow-col1-value-733 wow-wow-col1-value-733
+wow-wow-col1-value-734 wow-wow-col1-value-134
+wow-wow-col1-value-734 wow-wow-col1-value-234
+wow-wow-col1-value-734 wow-wow-col1-value-334
+wow-wow-col1-value-734 wow-wow-col1-value-34
+wow-wow-col1-value-734 wow-wow-col1-value-434
+wow-wow-col1-value-734 wow-wow-col1-value-534
+wow-wow-col1-value-734 wow-wow-col1-value-634
+wow-wow-col1-value-734 wow-wow-col1-value-734
+wow-wow-col1-value-735 wow-wow-col1-value-135
+wow-wow-col1-value-735 wow-wow-col1-value-235
+wow-wow-col1-value-735 wow-wow-col1-value-335
+wow-wow-col1-value-735 wow-wow-col1-value-35
+wow-wow-col1-value-735 wow-wow-col1-value-435
+wow-wow-col1-value-735 wow-wow-col1-value-535
+wow-wow-col1-value-735 wow-wow-col1-value-635
+wow-wow-col1-value-735 wow-wow-col1-value-735
+wow-wow-col1-value-736 wow-wow-col1-value-136
+wow-wow-col1-value-736 wow-wow-col1-value-236
+wow-wow-col1-value-736 wow-wow-col1-value-336
+wow-wow-col1-value-736 wow-wow-col1-value-36
+wow-wow-col1-value-736 wow-wow-col1-value-436
+wow-wow-col1-value-736 wow-wow-col1-value-536
+wow-wow-col1-value-736 wow-wow-col1-value-636
+wow-wow-col1-value-736 wow-wow-col1-value-736
+wow-wow-col1-value-737 wow-wow-col1-value-137
+wow-wow-col1-value-737 wow-wow-col1-value-237
+wow-wow-col1-value-737 wow-wow-col1-value-337
+wow-wow-col1-value-737 wow-wow-col1-value-37
+wow-wow-col1-value-737 wow-wow-col1-value-437
+wow-wow-col1-value-737 wow-wow-col1-value-537
+wow-wow-col1-value-737 wow-wow-col1-value-637
+wow-wow-col1-value-737 wow-wow-col1-value-737
+wow-wow-col1-value-738 wow-wow-col1-value-138
+wow-wow-col1-value-738 wow-wow-col1-value-238
+wow-wow-col1-value-738 wow-wow-col1-value-338
+wow-wow-col1-value-738 wow-wow-col1-value-38
+wow-wow-col1-value-738 wow-wow-col1-value-438
+wow-wow-col1-value-738 wow-wow-col1-value-538
+wow-wow-col1-value-738 wow-wow-col1-value-638
+wow-wow-col1-value-738 wow-wow-col1-value-738
+wow-wow-col1-value-739 wow-wow-col1-value-139
+wow-wow-col1-value-739 wow-wow-col1-value-239
+wow-wow-col1-value-739 wow-wow-col1-value-339
+wow-wow-col1-value-739 wow-wow-col1-value-39
+wow-wow-col1-value-739 wow-wow-col1-value-439
+wow-wow-col1-value-739 wow-wow-col1-value-539
+wow-wow-col1-value-739 wow-wow-col1-value-639
+wow-wow-col1-value-739 wow-wow-col1-value-739
+wow-wow-col1-value-74 wow-wow-col1-value-174
+wow-wow-col1-value-74 wow-wow-col1-value-274
+wow-wow-col1-value-74 wow-wow-col1-value-374
+wow-wow-col1-value-74 wow-wow-col1-value-474
+wow-wow-col1-value-74 wow-wow-col1-value-574
+wow-wow-col1-value-74 wow-wow-col1-value-674
+wow-wow-col1-value-74 wow-wow-col1-value-74
+wow-wow-col1-value-74 wow-wow-col1-value-774
+wow-wow-col1-value-740 wow-wow-col1-value-140
+wow-wow-col1-value-740 wow-wow-col1-value-240
+wow-wow-col1-value-740 wow-wow-col1-value-340
+wow-wow-col1-value-740 wow-wow-col1-value-40
+wow-wow-col1-value-740 wow-wow-col1-value-440
+wow-wow-col1-value-740 wow-wow-col1-value-540
+wow-wow-col1-value-740 wow-wow-col1-value-640
+wow-wow-col1-value-740 wow-wow-col1-value-740
+wow-wow-col1-value-741 wow-wow-col1-value-141
+wow-wow-col1-value-741 wow-wow-col1-value-241
+wow-wow-col1-value-741 wow-wow-col1-value-341
+wow-wow-col1-value-741 wow-wow-col1-value-41
+wow-wow-col1-value-741 wow-wow-col1-value-441
+wow-wow-col1-value-741 wow-wow-col1-value-541
+wow-wow-col1-value-741 wow-wow-col1-value-641
+wow-wow-col1-value-741 wow-wow-col1-value-741
+wow-wow-col1-value-742 wow-wow-col1-value-142
+wow-wow-col1-value-742 wow-wow-col1-value-242
+wow-wow-col1-value-742 wow-wow-col1-value-342
+wow-wow-col1-value-742 wow-wow-col1-value-42
+wow-wow-col1-value-742 wow-wow-col1-value-442
+wow-wow-col1-value-742 wow-wow-col1-value-542
+wow-wow-col1-value-742 wow-wow-col1-value-642
+wow-wow-col1-value-742 wow-wow-col1-value-742
+wow-wow-col1-value-743 wow-wow-col1-value-143
+wow-wow-col1-value-743 wow-wow-col1-value-243
+wow-wow-col1-value-743 wow-wow-col1-value-343
+wow-wow-col1-value-743 wow-wow-col1-value-43
+wow-wow-col1-value-743 wow-wow-col1-value-443
+wow-wow-col1-value-743 wow-wow-col1-value-543
+wow-wow-col1-value-743 wow-wow-col1-value-643
+wow-wow-col1-value-743 wow-wow-col1-value-743
+wow-wow-col1-value-744 wow-wow-col1-value-144
+wow-wow-col1-value-744 wow-wow-col1-value-244
+wow-wow-col1-value-744 wow-wow-col1-value-344
+wow-wow-col1-value-744 wow-wow-col1-value-44
+wow-wow-col1-value-744 wow-wow-col1-value-444
+wow-wow-col1-value-744 wow-wow-col1-value-544
+wow-wow-col1-value-744 wow-wow-col1-value-644
+wow-wow-col1-value-744 wow-wow-col1-value-744
+wow-wow-col1-value-745 wow-wow-col1-value-145
+wow-wow-col1-value-745 wow-wow-col1-value-245
+wow-wow-col1-value-745 wow-wow-col1-value-345
+wow-wow-col1-value-745 wow-wow-col1-value-445
+wow-wow-col1-value-745 wow-wow-col1-value-45
+wow-wow-col1-value-745 wow-wow-col1-value-545
+wow-wow-col1-value-745 wow-wow-col1-value-645
+wow-wow-col1-value-745 wow-wow-col1-value-745
+wow-wow-col1-value-746 wow-wow-col1-value-146
+wow-wow-col1-value-746 wow-wow-col1-value-246
+wow-wow-col1-value-746 wow-wow-col1-value-346
+wow-wow-col1-value-746 wow-wow-col1-value-446
+wow-wow-col1-value-746 wow-wow-col1-value-46
+wow-wow-col1-value-746 wow-wow-col1-value-546
+wow-wow-col1-value-746 wow-wow-col1-value-646
+wow-wow-col1-value-746 wow-wow-col1-value-746
+wow-wow-col1-value-747 wow-wow-col1-value-147
+wow-wow-col1-value-747 wow-wow-col1-value-247
+wow-wow-col1-value-747 wow-wow-col1-value-347
+wow-wow-col1-value-747 wow-wow-col1-value-447
+wow-wow-col1-value-747 wow-wow-col1-value-47
+wow-wow-col1-value-747 wow-wow-col1-value-547
+wow-wow-col1-value-747 wow-wow-col1-value-647
+wow-wow-col1-value-747 wow-wow-col1-value-747
+wow-wow-col1-value-748 wow-wow-col1-value-148
+wow-wow-col1-value-748 wow-wow-col1-value-248
+wow-wow-col1-value-748 wow-wow-col1-value-348
+wow-wow-col1-value-748 wow-wow-col1-value-448
+wow-wow-col1-value-748 wow-wow-col1-value-48
+wow-wow-col1-value-748 wow-wow-col1-value-548
+wow-wow-col1-value-748 wow-wow-col1-value-648
+wow-wow-col1-value-748 wow-wow-col1-value-748
+wow-wow-col1-value-749 wow-wow-col1-value-149
+wow-wow-col1-value-749 wow-wow-col1-value-249
+wow-wow-col1-value-749 wow-wow-col1-value-349
+wow-wow-col1-value-749 wow-wow-col1-value-449
+wow-wow-col1-value-749 wow-wow-col1-value-49
+wow-wow-col1-value-749 wow-wow-col1-value-549
+wow-wow-col1-value-749 wow-wow-col1-value-649
+wow-wow-col1-value-749 wow-wow-col1-value-749
+wow-wow-col1-value-75 wow-wow-col1-value-175
+wow-wow-col1-value-75 wow-wow-col1-value-275
+wow-wow-col1-value-75 wow-wow-col1-value-375
+wow-wow-col1-value-75 wow-wow-col1-value-475
+wow-wow-col1-value-75 wow-wow-col1-value-575
+wow-wow-col1-value-75 wow-wow-col1-value-675
+wow-wow-col1-value-75 wow-wow-col1-value-75
+wow-wow-col1-value-75 wow-wow-col1-value-775
+wow-wow-col1-value-750 wow-wow-col1-value-150
+wow-wow-col1-value-750 wow-wow-col1-value-250
+wow-wow-col1-value-750 wow-wow-col1-value-350
+wow-wow-col1-value-750 wow-wow-col1-value-450
+wow-wow-col1-value-750 wow-wow-col1-value-50
+wow-wow-col1-value-750 wow-wow-col1-value-550
+wow-wow-col1-value-750 wow-wow-col1-value-650
+wow-wow-col1-value-750 wow-wow-col1-value-750
+wow-wow-col1-value-751 wow-wow-col1-value-151
+wow-wow-col1-value-751 wow-wow-col1-value-251
+wow-wow-col1-value-751 wow-wow-col1-value-351
+wow-wow-col1-value-751 wow-wow-col1-value-451
+wow-wow-col1-value-751 wow-wow-col1-value-51
+wow-wow-col1-value-751 wow-wow-col1-value-551
+wow-wow-col1-value-751 wow-wow-col1-value-651
+wow-wow-col1-value-751 wow-wow-col1-value-751
+wow-wow-col1-value-752 wow-wow-col1-value-152
+wow-wow-col1-value-752 wow-wow-col1-value-252
+wow-wow-col1-value-752 wow-wow-col1-value-352
+wow-wow-col1-value-752 wow-wow-col1-value-452
+wow-wow-col1-value-752 wow-wow-col1-value-52
+wow-wow-col1-value-752 wow-wow-col1-value-552
+wow-wow-col1-value-752 wow-wow-col1-value-652
+wow-wow-col1-value-752 wow-wow-col1-value-752
+wow-wow-col1-value-753 wow-wow-col1-value-153
+wow-wow-col1-value-753 wow-wow-col1-value-253
+wow-wow-col1-value-753 wow-wow-col1-value-353
+wow-wow-col1-value-753 wow-wow-col1-value-453
+wow-wow-col1-value-753 wow-wow-col1-value-53
+wow-wow-col1-value-753 wow-wow-col1-value-553
+wow-wow-col1-value-753 wow-wow-col1-value-653
+wow-wow-col1-value-753 wow-wow-col1-value-753
+wow-wow-col1-value-754 wow-wow-col1-value-154
+wow-wow-col1-value-754 wow-wow-col1-value-254
+wow-wow-col1-value-754 wow-wow-col1-value-354
+wow-wow-col1-value-754 wow-wow-col1-value-454
+wow-wow-col1-value-754 wow-wow-col1-value-54
+wow-wow-col1-value-754 wow-wow-col1-value-554
+wow-wow-col1-value-754 wow-wow-col1-value-654
+wow-wow-col1-value-754 wow-wow-col1-value-754
+wow-wow-col1-value-755 wow-wow-col1-value-155
+wow-wow-col1-value-755 wow-wow-col1-value-255
+wow-wow-col1-value-755 wow-wow-col1-value-355
+wow-wow-col1-value-755 wow-wow-col1-value-455
+wow-wow-col1-value-755 wow-wow-col1-value-55
+wow-wow-col1-value-755 wow-wow-col1-value-555
+wow-wow-col1-value-755 wow-wow-col1-value-655
+wow-wow-col1-value-755 wow-wow-col1-value-755
+wow-wow-col1-value-756 wow-wow-col1-value-156
+wow-wow-col1-value-756 wow-wow-col1-value-256
+wow-wow-col1-value-756 wow-wow-col1-value-356
+wow-wow-col1-value-756 wow-wow-col1-value-456
+wow-wow-col1-value-756 wow-wow-col1-value-556
+wow-wow-col1-value-756 wow-wow-col1-value-56
+wow-wow-col1-value-756 wow-wow-col1-value-656
+wow-wow-col1-value-756 wow-wow-col1-value-756
+wow-wow-col1-value-757 wow-wow-col1-value-157
+wow-wow-col1-value-757 wow-wow-col1-value-257
+wow-wow-col1-value-757 wow-wow-col1-value-357
+wow-wow-col1-value-757 wow-wow-col1-value-457
+wow-wow-col1-value-757 wow-wow-col1-value-557
+wow-wow-col1-value-757 wow-wow-col1-value-57
+wow-wow-col1-value-757 wow-wow-col1-value-657
+wow-wow-col1-value-757 wow-wow-col1-value-757
+wow-wow-col1-value-758 wow-wow-col1-value-158
+wow-wow-col1-value-758 wow-wow-col1-value-258
+wow-wow-col1-value-758 wow-wow-col1-value-358
+wow-wow-col1-value-758 wow-wow-col1-value-458
+wow-wow-col1-value-758 wow-wow-col1-value-558
+wow-wow-col1-value-758 wow-wow-col1-value-58
+wow-wow-col1-value-758 wow-wow-col1-value-658
+wow-wow-col1-value-758 wow-wow-col1-value-758
+wow-wow-col1-value-759 wow-wow-col1-value-159
+wow-wow-col1-value-759 wow-wow-col1-value-259
+wow-wow-col1-value-759 wow-wow-col1-value-359
+wow-wow-col1-value-759 wow-wow-col1-value-459
+wow-wow-col1-value-759 wow-wow-col1-value-559
+wow-wow-col1-value-759 wow-wow-col1-value-59
+wow-wow-col1-value-759 wow-wow-col1-value-659
+wow-wow-col1-value-759 wow-wow-col1-value-759
+wow-wow-col1-value-76 wow-wow-col1-value-176
+wow-wow-col1-value-76 wow-wow-col1-value-276
+wow-wow-col1-value-76 wow-wow-col1-value-376
+wow-wow-col1-value-76 wow-wow-col1-value-476
+wow-wow-col1-value-76 wow-wow-col1-value-576
+wow-wow-col1-value-76 wow-wow-col1-value-676
+wow-wow-col1-value-76 wow-wow-col1-value-76
+wow-wow-col1-value-76 wow-wow-col1-value-776
+wow-wow-col1-value-760 wow-wow-col1-value-160
+wow-wow-col1-value-760 wow-wow-col1-value-260
+wow-wow-col1-value-760 wow-wow-col1-value-360
+wow-wow-col1-value-760 wow-wow-col1-value-460
+wow-wow-col1-value-760 wow-wow-col1-value-560
+wow-wow-col1-value-760 wow-wow-col1-value-60
+wow-wow-col1-value-760 wow-wow-col1-value-660
+wow-wow-col1-value-760 wow-wow-col1-value-760
+wow-wow-col1-value-761 wow-wow-col1-value-161
+wow-wow-col1-value-761 wow-wow-col1-value-261
+wow-wow-col1-value-761 wow-wow-col1-value-361
+wow-wow-col1-value-761 wow-wow-col1-value-461
+wow-wow-col1-value-761 wow-wow-col1-value-561
+wow-wow-col1-value-761 wow-wow-col1-value-61
+wow-wow-col1-value-761 wow-wow-col1-value-661
+wow-wow-col1-value-761 wow-wow-col1-value-761
+wow-wow-col1-value-762 wow-wow-col1-value-162
+wow-wow-col1-value-762 wow-wow-col1-value-262
+wow-wow-col1-value-762 wow-wow-col1-value-362
+wow-wow-col1-value-762 wow-wow-col1-value-462
+wow-wow-col1-value-762 wow-wow-col1-value-562
+wow-wow-col1-value-762 wow-wow-col1-value-62
+wow-wow-col1-value-762 wow-wow-col1-value-662
+wow-wow-col1-value-762 wow-wow-col1-value-762
+wow-wow-col1-value-763 wow-wow-col1-value-163
+wow-wow-col1-value-763 wow-wow-col1-value-263
+wow-wow-col1-value-763 wow-wow-col1-value-363
+wow-wow-col1-value-763 wow-wow-col1-value-463
+wow-wow-col1-value-763 wow-wow-col1-value-563
+wow-wow-col1-value-763 wow-wow-col1-value-63
+wow-wow-col1-value-763 wow-wow-col1-value-663
+wow-wow-col1-value-763 wow-wow-col1-value-763
+wow-wow-col1-value-764 wow-wow-col1-value-164
+wow-wow-col1-value-764 wow-wow-col1-value-264
+wow-wow-col1-value-764 wow-wow-col1-value-364
+wow-wow-col1-value-764 wow-wow-col1-value-464
+wow-wow-col1-value-764 wow-wow-col1-value-564
+wow-wow-col1-value-764 wow-wow-col1-value-64
+wow-wow-col1-value-764 wow-wow-col1-value-664
+wow-wow-col1-value-764 wow-wow-col1-value-764
+wow-wow-col1-value-765 wow-wow-col1-value-165
+wow-wow-col1-value-765 wow-wow-col1-value-265
+wow-wow-col1-value-765 wow-wow-col1-value-365
+wow-wow-col1-value-765 wow-wow-col1-value-465
+wow-wow-col1-value-765 wow-wow-col1-value-565
+wow-wow-col1-value-765 wow-wow-col1-value-65
+wow-wow-col1-value-765 wow-wow-col1-value-665
+wow-wow-col1-value-765 wow-wow-col1-value-765
+wow-wow-col1-value-766 wow-wow-col1-value-166
+wow-wow-col1-value-766 wow-wow-col1-value-266
+wow-wow-col1-value-766 wow-wow-col1-value-366
+wow-wow-col1-value-766 wow-wow-col1-value-466
+wow-wow-col1-value-766 wow-wow-col1-value-566
+wow-wow-col1-value-766 wow-wow-col1-value-66
+wow-wow-col1-value-766 wow-wow-col1-value-666
+wow-wow-col1-value-766 wow-wow-col1-value-766
+wow-wow-col1-value-767 wow-wow-col1-value-167
+wow-wow-col1-value-767 wow-wow-col1-value-267
+wow-wow-col1-value-767 wow-wow-col1-value-367
+wow-wow-col1-value-767 wow-wow-col1-value-467
+wow-wow-col1-value-767 wow-wow-col1-value-567
+wow-wow-col1-value-767 wow-wow-col1-value-667
+wow-wow-col1-value-767 wow-wow-col1-value-67
+wow-wow-col1-value-767 wow-wow-col1-value-767
+wow-wow-col1-value-768 wow-wow-col1-value-168
+wow-wow-col1-value-768 wow-wow-col1-value-268
+wow-wow-col1-value-768 wow-wow-col1-value-368
+wow-wow-col1-value-768 wow-wow-col1-value-468
+wow-wow-col1-value-768 wow-wow-col1-value-568
+wow-wow-col1-value-768 wow-wow-col1-value-668
+wow-wow-col1-value-768 wow-wow-col1-value-68
+wow-wow-col1-value-768 wow-wow-col1-value-768
+wow-wow-col1-value-769 wow-wow-col1-value-169
+wow-wow-col1-value-769 wow-wow-col1-value-269
+wow-wow-col1-value-769 wow-wow-col1-value-369
+wow-wow-col1-value-769 wow-wow-col1-value-469
+wow-wow-col1-value-769 wow-wow-col1-value-569
+wow-wow-col1-value-769 wow-wow-col1-value-669
+wow-wow-col1-value-769 wow-wow-col1-value-69
+wow-wow-col1-value-769 wow-wow-col1-value-769
+wow-wow-col1-value-77 wow-wow-col1-value-177
+wow-wow-col1-value-77 wow-wow-col1-value-277
+wow-wow-col1-value-77 wow-wow-col1-value-377
+wow-wow-col1-value-77 wow-wow-col1-value-477
+wow-wow-col1-value-77 wow-wow-col1-value-577
+wow-wow-col1-value-77 wow-wow-col1-value-677
+wow-wow-col1-value-77 wow-wow-col1-value-77
+wow-wow-col1-value-77 wow-wow-col1-value-777
+wow-wow-col1-value-770 wow-wow-col1-value-170
+wow-wow-col1-value-770 wow-wow-col1-value-270
+wow-wow-col1-value-770 wow-wow-col1-value-370
+wow-wow-col1-value-770 wow-wow-col1-value-470
+wow-wow-col1-value-770 wow-wow-col1-value-570
+wow-wow-col1-value-770 wow-wow-col1-value-670
+wow-wow-col1-value-770 wow-wow-col1-value-70
+wow-wow-col1-value-770 wow-wow-col1-value-770
+wow-wow-col1-value-771 wow-wow-col1-value-171
+wow-wow-col1-value-771 wow-wow-col1-value-271
+wow-wow-col1-value-771 wow-wow-col1-value-371
+wow-wow-col1-value-771 wow-wow-col1-value-471
+wow-wow-col1-value-771 wow-wow-col1-value-571
+wow-wow-col1-value-771 wow-wow-col1-value-671
+wow-wow-col1-value-771 wow-wow-col1-value-71
+wow-wow-col1-value-771 wow-wow-col1-value-771
+wow-wow-col1-value-772 wow-wow-col1-value-172
+wow-wow-col1-value-772 wow-wow-col1-value-272
+wow-wow-col1-value-772 wow-wow-col1-value-372
+wow-wow-col1-value-772 wow-wow-col1-value-472
+wow-wow-col1-value-772 wow-wow-col1-value-572
+wow-wow-col1-value-772 wow-wow-col1-value-672
+wow-wow-col1-value-772 wow-wow-col1-value-72
+wow-wow-col1-value-772 wow-wow-col1-value-772
+wow-wow-col1-value-773 wow-wow-col1-value-173
+wow-wow-col1-value-773 wow-wow-col1-value-273
+wow-wow-col1-value-773 wow-wow-col1-value-373
+wow-wow-col1-value-773 wow-wow-col1-value-473
+wow-wow-col1-value-773 wow-wow-col1-value-573
+wow-wow-col1-value-773 wow-wow-col1-value-673
+wow-wow-col1-value-773 wow-wow-col1-value-73
+wow-wow-col1-value-773 wow-wow-col1-value-773
+wow-wow-col1-value-774 wow-wow-col1-value-174
+wow-wow-col1-value-774 wow-wow-col1-value-274
+wow-wow-col1-value-774 wow-wow-col1-value-374
+wow-wow-col1-value-774 wow-wow-col1-value-474
+wow-wow-col1-value-774 wow-wow-col1-value-574
+wow-wow-col1-value-774 wow-wow-col1-value-674
+wow-wow-col1-value-774 wow-wow-col1-value-74
+wow-wow-col1-value-774 wow-wow-col1-value-774
+wow-wow-col1-value-775 wow-wow-col1-value-175
+wow-wow-col1-value-775 wow-wow-col1-value-275
+wow-wow-col1-value-775 wow-wow-col1-value-375
+wow-wow-col1-value-775 wow-wow-col1-value-475
+wow-wow-col1-value-775 wow-wow-col1-value-575
+wow-wow-col1-value-775 wow-wow-col1-value-675
+wow-wow-col1-value-775 wow-wow-col1-value-75
+wow-wow-col1-value-775 wow-wow-col1-value-775
+wow-wow-col1-value-776 wow-wow-col1-value-176
+wow-wow-col1-value-776 wow-wow-col1-value-276
+wow-wow-col1-value-776 wow-wow-col1-value-376
+wow-wow-col1-value-776 wow-wow-col1-value-476
+wow-wow-col1-value-776 wow-wow-col1-value-576
+wow-wow-col1-value-776 wow-wow-col1-value-676
+wow-wow-col1-value-776 wow-wow-col1-value-76
+wow-wow-col1-value-776 wow-wow-col1-value-776
+wow-wow-col1-value-777 wow-wow-col1-value-177
+wow-wow-col1-value-777 wow-wow-col1-value-277
+wow-wow-col1-value-777 wow-wow-col1-value-377
+wow-wow-col1-value-777 wow-wow-col1-value-477
+wow-wow-col1-value-777 wow-wow-col1-value-577
+wow-wow-col1-value-777 wow-wow-col1-value-677
+wow-wow-col1-value-777 wow-wow-col1-value-77
+wow-wow-col1-value-777 wow-wow-col1-value-777
+wow-wow-col1-value-778 wow-wow-col1-value-178
+wow-wow-col1-value-778 wow-wow-col1-value-278
+wow-wow-col1-value-778 wow-wow-col1-value-378
+wow-wow-col1-value-778 wow-wow-col1-value-478
+wow-wow-col1-value-778 wow-wow-col1-value-578
+wow-wow-col1-value-778 wow-wow-col1-value-678
+wow-wow-col1-value-778 wow-wow-col1-value-778
+wow-wow-col1-value-778 wow-wow-col1-value-78
+wow-wow-col1-value-779 wow-wow-col1-value-179
+wow-wow-col1-value-779 wow-wow-col1-value-279
+wow-wow-col1-value-779 wow-wow-col1-value-379
+wow-wow-col1-value-779 wow-wow-col1-value-479
+wow-wow-col1-value-779 wow-wow-col1-value-579
+wow-wow-col1-value-779 wow-wow-col1-value-679
+wow-wow-col1-value-779 wow-wow-col1-value-779
+wow-wow-col1-value-779 wow-wow-col1-value-79
+wow-wow-col1-value-78 wow-wow-col1-value-178
+wow-wow-col1-value-78 wow-wow-col1-value-278
+wow-wow-col1-value-78 wow-wow-col1-value-378
+wow-wow-col1-value-78 wow-wow-col1-value-478
+wow-wow-col1-value-78 wow-wow-col1-value-578
+wow-wow-col1-value-78 wow-wow-col1-value-678
+wow-wow-col1-value-78 wow-wow-col1-value-778
+wow-wow-col1-value-78 wow-wow-col1-value-78
+wow-wow-col1-value-780 wow-wow-col1-value-180
+wow-wow-col1-value-780 wow-wow-col1-value-280
+wow-wow-col1-value-780 wow-wow-col1-value-380
+wow-wow-col1-value-780 wow-wow-col1-value-480
+wow-wow-col1-value-780 wow-wow-col1-value-580
+wow-wow-col1-value-780 wow-wow-col1-value-680
+wow-wow-col1-value-780 wow-wow-col1-value-780
+wow-wow-col1-value-780 wow-wow-col1-value-80
+wow-wow-col1-value-781 wow-wow-col1-value-181
+wow-wow-col1-value-781 wow-wow-col1-value-281
+wow-wow-col1-value-781 wow-wow-col1-value-381
+wow-wow-col1-value-781 wow-wow-col1-value-481
+wow-wow-col1-value-781 wow-wow-col1-value-581
+wow-wow-col1-value-781 wow-wow-col1-value-681
+wow-wow-col1-value-781 wow-wow-col1-value-781
+wow-wow-col1-value-781 wow-wow-col1-value-81
+wow-wow-col1-value-782 wow-wow-col1-value-182
+wow-wow-col1-value-782 wow-wow-col1-value-282
+wow-wow-col1-value-782 wow-wow-col1-value-382
+wow-wow-col1-value-782 wow-wow-col1-value-482
+wow-wow-col1-value-782 wow-wow-col1-value-582
+wow-wow-col1-value-782 wow-wow-col1-value-682
+wow-wow-col1-value-782 wow-wow-col1-value-782
+wow-wow-col1-value-782 wow-wow-col1-value-82
+wow-wow-col1-value-783 wow-wow-col1-value-183
+wow-wow-col1-value-783 wow-wow-col1-value-283
+wow-wow-col1-value-783 wow-wow-col1-value-383
+wow-wow-col1-value-783 wow-wow-col1-value-483
+wow-wow-col1-value-783 wow-wow-col1-value-583
+wow-wow-col1-value-783 wow-wow-col1-value-683
+wow-wow-col1-value-783 wow-wow-col1-value-783
+wow-wow-col1-value-783 wow-wow-col1-value-83
+wow-wow-col1-value-784 wow-wow-col1-value-184
+wow-wow-col1-value-784 wow-wow-col1-value-284
+wow-wow-col1-value-784 wow-wow-col1-value-384
+wow-wow-col1-value-784 wow-wow-col1-value-484
+wow-wow-col1-value-784 wow-wow-col1-value-584
+wow-wow-col1-value-784 wow-wow-col1-value-684
+wow-wow-col1-value-784 wow-wow-col1-value-784
+wow-wow-col1-value-784 wow-wow-col1-value-84
+wow-wow-col1-value-785 wow-wow-col1-value-185
+wow-wow-col1-value-785 wow-wow-col1-value-285
+wow-wow-col1-value-785 wow-wow-col1-value-385
+wow-wow-col1-value-785 wow-wow-col1-value-485
+wow-wow-col1-value-785 wow-wow-col1-value-585
+wow-wow-col1-value-785 wow-wow-col1-value-685
+wow-wow-col1-value-785 wow-wow-col1-value-785
+wow-wow-col1-value-785 wow-wow-col1-value-85
+wow-wow-col1-value-786 wow-wow-col1-value-186
+wow-wow-col1-value-786 wow-wow-col1-value-286
+wow-wow-col1-value-786 wow-wow-col1-value-386
+wow-wow-col1-value-786 wow-wow-col1-value-486
+wow-wow-col1-value-786 wow-wow-col1-value-586
+wow-wow-col1-value-786 wow-wow-col1-value-686
+wow-wow-col1-value-786 wow-wow-col1-value-786
+wow-wow-col1-value-786 wow-wow-col1-value-86
+wow-wow-col1-value-787 wow-wow-col1-value-187
+wow-wow-col1-value-787 wow-wow-col1-value-287
+wow-wow-col1-value-787 wow-wow-col1-value-387
+wow-wow-col1-value-787 wow-wow-col1-value-487
+wow-wow-col1-value-787 wow-wow-col1-value-587
+wow-wow-col1-value-787 wow-wow-col1-value-687
+wow-wow-col1-value-787 wow-wow-col1-value-787
+wow-wow-col1-value-787 wow-wow-col1-value-87
+wow-wow-col1-value-788 wow-wow-col1-value-188
+wow-wow-col1-value-788 wow-wow-col1-value-288
+wow-wow-col1-value-788 wow-wow-col1-value-388
+wow-wow-col1-value-788 wow-wow-col1-value-488
+wow-wow-col1-value-788 wow-wow-col1-value-588
+wow-wow-col1-value-788 wow-wow-col1-value-688
+wow-wow-col1-value-788 wow-wow-col1-value-788
+wow-wow-col1-value-788 wow-wow-col1-value-88
+wow-wow-col1-value-789 wow-wow-col1-value-189
+wow-wow-col1-value-789 wow-wow-col1-value-289
+wow-wow-col1-value-789 wow-wow-col1-value-389
+wow-wow-col1-value-789 wow-wow-col1-value-489
+wow-wow-col1-value-789 wow-wow-col1-value-589
+wow-wow-col1-value-789 wow-wow-col1-value-689
+wow-wow-col1-value-789 wow-wow-col1-value-789
+wow-wow-col1-value-789 wow-wow-col1-value-89
+wow-wow-col1-value-79 wow-wow-col1-value-179
+wow-wow-col1-value-79 wow-wow-col1-value-279
+wow-wow-col1-value-79 wow-wow-col1-value-379
+wow-wow-col1-value-79 wow-wow-col1-value-479
+wow-wow-col1-value-79 wow-wow-col1-value-579
+wow-wow-col1-value-79 wow-wow-col1-value-679
+wow-wow-col1-value-79 wow-wow-col1-value-779
+wow-wow-col1-value-79 wow-wow-col1-value-79
+wow-wow-col1-value-790 wow-wow-col1-value-190
+wow-wow-col1-value-790 wow-wow-col1-value-290
+wow-wow-col1-value-790 wow-wow-col1-value-390
+wow-wow-col1-value-790 wow-wow-col1-value-490
+wow-wow-col1-value-790 wow-wow-col1-value-590
+wow-wow-col1-value-790 wow-wow-col1-value-690
+wow-wow-col1-value-790 wow-wow-col1-value-790
+wow-wow-col1-value-790 wow-wow-col1-value-90
+wow-wow-col1-value-791 wow-wow-col1-value-191
+wow-wow-col1-value-791 wow-wow-col1-value-291
+wow-wow-col1-value-791 wow-wow-col1-value-391
+wow-wow-col1-value-791 wow-wow-col1-value-491
+wow-wow-col1-value-791 wow-wow-col1-value-591
+wow-wow-col1-value-791 wow-wow-col1-value-691
+wow-wow-col1-value-791 wow-wow-col1-value-791
+wow-wow-col1-value-791 wow-wow-col1-value-91
+wow-wow-col1-value-792 wow-wow-col1-value-192
+wow-wow-col1-value-792 wow-wow-col1-value-292
+wow-wow-col1-value-792 wow-wow-col1-value-392
+wow-wow-col1-value-792 wow-wow-col1-value-492
+wow-wow-col1-value-792 wow-wow-col1-value-592
+wow-wow-col1-value-792 wow-wow-col1-value-692
+wow-wow-col1-value-792 wow-wow-col1-value-792
+wow-wow-col1-value-792 wow-wow-col1-value-92
+wow-wow-col1-value-793 wow-wow-col1-value-193
+wow-wow-col1-value-793 wow-wow-col1-value-293
+wow-wow-col1-value-793 wow-wow-col1-value-393
+wow-wow-col1-value-793 wow-wow-col1-value-493
+wow-wow-col1-value-793 wow-wow-col1-value-593
+wow-wow-col1-value-793 wow-wow-col1-value-693
+wow-wow-col1-value-793 wow-wow-col1-value-793
+wow-wow-col1-value-793 wow-wow-col1-value-93
+wow-wow-col1-value-794 wow-wow-col1-value-194
+wow-wow-col1-value-794 wow-wow-col1-value-294
+wow-wow-col1-value-794 wow-wow-col1-value-394
+wow-wow-col1-value-794 wow-wow-col1-value-494
+wow-wow-col1-value-794 wow-wow-col1-value-594
+wow-wow-col1-value-794 wow-wow-col1-value-694
+wow-wow-col1-value-794 wow-wow-col1-value-794
+wow-wow-col1-value-794 wow-wow-col1-value-94
+wow-wow-col1-value-795 wow-wow-col1-value-195
+wow-wow-col1-value-795 wow-wow-col1-value-295
+wow-wow-col1-value-795 wow-wow-col1-value-395
+wow-wow-col1-value-795 wow-wow-col1-value-495
+wow-wow-col1-value-795 wow-wow-col1-value-595
+wow-wow-col1-value-795 wow-wow-col1-value-695
+wow-wow-col1-value-795 wow-wow-col1-value-795
+wow-wow-col1-value-795 wow-wow-col1-value-95
+wow-wow-col1-value-796 wow-wow-col1-value-196
+wow-wow-col1-value-796 wow-wow-col1-value-296
+wow-wow-col1-value-796 wow-wow-col1-value-396
+wow-wow-col1-value-796 wow-wow-col1-value-496
+wow-wow-col1-value-796 wow-wow-col1-value-596
+wow-wow-col1-value-796 wow-wow-col1-value-696
+wow-wow-col1-value-796 wow-wow-col1-value-796
+wow-wow-col1-value-796 wow-wow-col1-value-96
+wow-wow-col1-value-797 wow-wow-col1-value-197
+wow-wow-col1-value-797 wow-wow-col1-value-297
+wow-wow-col1-value-797 wow-wow-col1-value-397
+wow-wow-col1-value-797 wow-wow-col1-value-497
+wow-wow-col1-value-797 wow-wow-col1-value-597
+wow-wow-col1-value-797 wow-wow-col1-value-697
+wow-wow-col1-value-797 wow-wow-col1-value-797
+wow-wow-col1-value-797 wow-wow-col1-value-97
+wow-wow-col1-value-798 wow-wow-col1-value-198
+wow-wow-col1-value-798 wow-wow-col1-value-298
+wow-wow-col1-value-798 wow-wow-col1-value-398
+wow-wow-col1-value-798 wow-wow-col1-value-498
+wow-wow-col1-value-798 wow-wow-col1-value-598
+wow-wow-col1-value-798 wow-wow-col1-value-698
+wow-wow-col1-value-798 wow-wow-col1-value-798
+wow-wow-col1-value-798 wow-wow-col1-value-98
+wow-wow-col1-value-799 wow-wow-col1-value-199
+wow-wow-col1-value-799 wow-wow-col1-value-299
+wow-wow-col1-value-799 wow-wow-col1-value-399
+wow-wow-col1-value-799 wow-wow-col1-value-499
+wow-wow-col1-value-799 wow-wow-col1-value-599
+wow-wow-col1-value-799 wow-wow-col1-value-699
+wow-wow-col1-value-799 wow-wow-col1-value-799
+wow-wow-col1-value-799 wow-wow-col1-value-99
+wow-wow-col1-value-8 wow-wow-col1-value-108
+wow-wow-col1-value-8 wow-wow-col1-value-208
+wow-wow-col1-value-8 wow-wow-col1-value-308
+wow-wow-col1-value-8 wow-wow-col1-value-408
+wow-wow-col1-value-8 wow-wow-col1-value-508
+wow-wow-col1-value-8 wow-wow-col1-value-608
+wow-wow-col1-value-8 wow-wow-col1-value-708
+wow-wow-col1-value-8 wow-wow-col1-value-8
+wow-wow-col1-value-80 wow-wow-col1-value-180
+wow-wow-col1-value-80 wow-wow-col1-value-280
+wow-wow-col1-value-80 wow-wow-col1-value-380
+wow-wow-col1-value-80 wow-wow-col1-value-480
+wow-wow-col1-value-80 wow-wow-col1-value-580
+wow-wow-col1-value-80 wow-wow-col1-value-680
+wow-wow-col1-value-80 wow-wow-col1-value-780
+wow-wow-col1-value-80 wow-wow-col1-value-80
+wow-wow-col1-value-81 wow-wow-col1-value-181
+wow-wow-col1-value-81 wow-wow-col1-value-281
+wow-wow-col1-value-81 wow-wow-col1-value-381
+wow-wow-col1-value-81 wow-wow-col1-value-481
+wow-wow-col1-value-81 wow-wow-col1-value-581
+wow-wow-col1-value-81 wow-wow-col1-value-681
+wow-wow-col1-value-81 wow-wow-col1-value-781
+wow-wow-col1-value-81 wow-wow-col1-value-81
+wow-wow-col1-value-82 wow-wow-col1-value-182
+wow-wow-col1-value-82 wow-wow-col1-value-282
+wow-wow-col1-value-82 wow-wow-col1-value-382
+wow-wow-col1-value-82 wow-wow-col1-value-482
+wow-wow-col1-value-82 wow-wow-col1-value-582
+wow-wow-col1-value-82 wow-wow-col1-value-682
+wow-wow-col1-value-82 wow-wow-col1-value-782
+wow-wow-col1-value-82 wow-wow-col1-value-82
+wow-wow-col1-value-83 wow-wow-col1-value-183
+wow-wow-col1-value-83 wow-wow-col1-value-283
+wow-wow-col1-value-83 wow-wow-col1-value-383
+wow-wow-col1-value-83 wow-wow-col1-value-483
+wow-wow-col1-value-83 wow-wow-col1-value-583
+wow-wow-col1-value-83 wow-wow-col1-value-683
+wow-wow-col1-value-83 wow-wow-col1-value-783
+wow-wow-col1-value-83 wow-wow-col1-value-83
+wow-wow-col1-value-84 wow-wow-col1-value-184
+wow-wow-col1-value-84 wow-wow-col1-value-284
+wow-wow-col1-value-84 wow-wow-col1-value-384
+wow-wow-col1-value-84 wow-wow-col1-value-484
+wow-wow-col1-value-84 wow-wow-col1-value-584
+wow-wow-col1-value-84 wow-wow-col1-value-684
+wow-wow-col1-value-84 wow-wow-col1-value-784
+wow-wow-col1-value-84 wow-wow-col1-value-84
+wow-wow-col1-value-85 wow-wow-col1-value-185
+wow-wow-col1-value-85 wow-wow-col1-value-285
+wow-wow-col1-value-85 wow-wow-col1-value-385
+wow-wow-col1-value-85 wow-wow-col1-value-485
+wow-wow-col1-value-85 wow-wow-col1-value-585
+wow-wow-col1-value-85 wow-wow-col1-value-685
+wow-wow-col1-value-85 wow-wow-col1-value-785
+wow-wow-col1-value-85 wow-wow-col1-value-85
+wow-wow-col1-value-86 wow-wow-col1-value-186
+wow-wow-col1-value-86 wow-wow-col1-value-286
+wow-wow-col1-value-86 wow-wow-col1-value-386
+wow-wow-col1-value-86 wow-wow-col1-value-486
+wow-wow-col1-value-86 wow-wow-col1-value-586
+wow-wow-col1-value-86 wow-wow-col1-value-686
+wow-wow-col1-value-86 wow-wow-col1-value-786
+wow-wow-col1-value-86 wow-wow-col1-value-86
+wow-wow-col1-value-87 wow-wow-col1-value-187
+wow-wow-col1-value-87 wow-wow-col1-value-287
+wow-wow-col1-value-87 wow-wow-col1-value-387
+wow-wow-col1-value-87 wow-wow-col1-value-487
+wow-wow-col1-value-87 wow-wow-col1-value-587
+wow-wow-col1-value-87 wow-wow-col1-value-687
+wow-wow-col1-value-87 wow-wow-col1-value-787
+wow-wow-col1-value-87 wow-wow-col1-value-87
+wow-wow-col1-value-88 wow-wow-col1-value-188
+wow-wow-col1-value-88 wow-wow-col1-value-288
+wow-wow-col1-value-88 wow-wow-col1-value-388
+wow-wow-col1-value-88 wow-wow-col1-value-488
+wow-wow-col1-value-88 wow-wow-col1-value-588
+wow-wow-col1-value-88 wow-wow-col1-value-688
+wow-wow-col1-value-88 wow-wow-col1-value-788
+wow-wow-col1-value-88 wow-wow-col1-value-88
+wow-wow-col1-value-89 wow-wow-col1-value-189
+wow-wow-col1-value-89 wow-wow-col1-value-289
+wow-wow-col1-value-89 wow-wow-col1-value-389
+wow-wow-col1-value-89 wow-wow-col1-value-489
+wow-wow-col1-value-89 wow-wow-col1-value-589
+wow-wow-col1-value-89 wow-wow-col1-value-689
+wow-wow-col1-value-89 wow-wow-col1-value-789
+wow-wow-col1-value-89 wow-wow-col1-value-89
+wow-wow-col1-value-9 wow-wow-col1-value-109
+wow-wow-col1-value-9 wow-wow-col1-value-209
+wow-wow-col1-value-9 wow-wow-col1-value-309
+wow-wow-col1-value-9 wow-wow-col1-value-409
+wow-wow-col1-value-9 wow-wow-col1-value-509
+wow-wow-col1-value-9 wow-wow-col1-value-609
+wow-wow-col1-value-9 wow-wow-col1-value-709
+wow-wow-col1-value-9 wow-wow-col1-value-9
+wow-wow-col1-value-90 wow-wow-col1-value-190
+wow-wow-col1-value-90 wow-wow-col1-value-290
+wow-wow-col1-value-90 wow-wow-col1-value-390
+wow-wow-col1-value-90 wow-wow-col1-value-490
+wow-wow-col1-value-90 wow-wow-col1-value-590
+wow-wow-col1-value-90 wow-wow-col1-value-690
+wow-wow-col1-value-90 wow-wow-col1-value-790
+wow-wow-col1-value-90 wow-wow-col1-value-90
+wow-wow-col1-value-91 wow-wow-col1-value-191
+wow-wow-col1-value-91 wow-wow-col1-value-291
+wow-wow-col1-value-91 wow-wow-col1-value-391
+wow-wow-col1-value-91 wow-wow-col1-value-491
+wow-wow-col1-value-91 wow-wow-col1-value-591
+wow-wow-col1-value-91 wow-wow-col1-value-691
+wow-wow-col1-value-91 wow-wow-col1-value-791
+wow-wow-col1-value-91 wow-wow-col1-value-91
+wow-wow-col1-value-92 wow-wow-col1-value-192
+wow-wow-col1-value-92 wow-wow-col1-value-292
+wow-wow-col1-value-92 wow-wow-col1-value-392
+wow-wow-col1-value-92 wow-wow-col1-value-492
+wow-wow-col1-value-92 wow-wow-col1-value-592
+wow-wow-col1-value-92 wow-wow-col1-value-692
+wow-wow-col1-value-92 wow-wow-col1-value-792
+wow-wow-col1-value-92 wow-wow-col1-value-92
+wow-wow-col1-value-93 wow-wow-col1-value-193
+wow-wow-col1-value-93 wow-wow-col1-value-293
+wow-wow-col1-value-93 wow-wow-col1-value-393
+wow-wow-col1-value-93 wow-wow-col1-value-493
+wow-wow-col1-value-93 wow-wow-col1-value-593
+wow-wow-col1-value-93 wow-wow-col1-value-693
+wow-wow-col1-value-93 wow-wow-col1-value-793
+wow-wow-col1-value-93 wow-wow-col1-value-93
+wow-wow-col1-value-94 wow-wow-col1-value-194
+wow-wow-col1-value-94 wow-wow-col1-value-294
+wow-wow-col1-value-94 wow-wow-col1-value-394
+wow-wow-col1-value-94 wow-wow-col1-value-494
+wow-wow-col1-value-94 wow-wow-col1-value-594
+wow-wow-col1-value-94 wow-wow-col1-value-694
+wow-wow-col1-value-94 wow-wow-col1-value-794
+wow-wow-col1-value-94 wow-wow-col1-value-94
+wow-wow-col1-value-95 wow-wow-col1-value-195
+wow-wow-col1-value-95 wow-wow-col1-value-295
+wow-wow-col1-value-95 wow-wow-col1-value-395
+wow-wow-col1-value-95 wow-wow-col1-value-495
+wow-wow-col1-value-95 wow-wow-col1-value-595
+wow-wow-col1-value-95 wow-wow-col1-value-695
+wow-wow-col1-value-95 wow-wow-col1-value-795
+wow-wow-col1-value-95 wow-wow-col1-value-95
+wow-wow-col1-value-96 wow-wow-col1-value-196
+wow-wow-col1-value-96 wow-wow-col1-value-296
+wow-wow-col1-value-96 wow-wow-col1-value-396
+wow-wow-col1-value-96 wow-wow-col1-value-496
+wow-wow-col1-value-96 wow-wow-col1-value-596
+wow-wow-col1-value-96 wow-wow-col1-value-696
+wow-wow-col1-value-96 wow-wow-col1-value-796
+wow-wow-col1-value-96 wow-wow-col1-value-96
+wow-wow-col1-value-97 wow-wow-col1-value-197
+wow-wow-col1-value-97 wow-wow-col1-value-297
+wow-wow-col1-value-97 wow-wow-col1-value-397
+wow-wow-col1-value-97 wow-wow-col1-value-497
+wow-wow-col1-value-97 wow-wow-col1-value-597
+wow-wow-col1-value-97 wow-wow-col1-value-697
+wow-wow-col1-value-97 wow-wow-col1-value-797
+wow-wow-col1-value-97 wow-wow-col1-value-97
+wow-wow-col1-value-98 wow-wow-col1-value-198
+wow-wow-col1-value-98 wow-wow-col1-value-298
+wow-wow-col1-value-98 wow-wow-col1-value-398
+wow-wow-col1-value-98 wow-wow-col1-value-498
+wow-wow-col1-value-98 wow-wow-col1-value-598
+wow-wow-col1-value-98 wow-wow-col1-value-698
+wow-wow-col1-value-98 wow-wow-col1-value-798
+wow-wow-col1-value-98 wow-wow-col1-value-98
+wow-wow-col1-value-99 wow-wow-col1-value-199
+wow-wow-col1-value-99 wow-wow-col1-value-299
+wow-wow-col1-value-99 wow-wow-col1-value-399
+wow-wow-col1-value-99 wow-wow-col1-value-499
+wow-wow-col1-value-99 wow-wow-col1-value-599
+wow-wow-col1-value-99 wow-wow-col1-value-699
+wow-wow-col1-value-99 wow-wow-col1-value-799
+wow-wow-col1-value-99 wow-wow-col1-value-99
+show status like '%sort%';
+Variable_name Value
+Sort_merge_passes 1
+Sort_priority_queue_sorts 0
+Sort_range 0
+Sort_rows 6400
+Sort_scan 1
+drop table t1,t2;
diff --git a/mysql-test/main/mdev21580.test b/mysql-test/main/mdev21580.test
new file mode 100644
index 00000000000..df8bd7ba156
--- /dev/null
+++ b/mysql-test/main/mdev21580.test
@@ -0,0 +1,26 @@
+create table t1(a int);
+insert into t1 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
+
+create table t2 (b int,
+ col1 varchar(255),
+ col2 varchar(255)
+ ) character set utf8;
+
+insert into t2 select
+ A.a+10*B.a,
+ concat('wow-wow-col1-value-', A.a+10*B.a+100*C.a),
+ concat('wow-wow-col2-value-', A.a+10*B.a+100*C.a)
+from
+ t1 A, t1 B, t1 C where C.a < 8;
+
+select distinct A.col1 as XX, B.col1 as YY
+from
+ t2 A, t2 B
+where A.b = B.b
+order by A.col2, B.col2;
+
+
+show status like '%sort%';
+
+drop table t1,t2;
+
diff --git a/plugin/type_inet/sql_type_inet.cc b/plugin/type_inet/sql_type_inet.cc
index 6803bdba434..6c8518cb0f5 100644
--- a/plugin/type_inet/sql_type_inet.cc
+++ b/plugin/type_inet/sql_type_inet.cc
@@ -1355,7 +1355,7 @@ void Type_handler_inet6::Item_param_setup_conversion(THD *thd,
}
-void Type_handler_inet6::make_sort_key(uchar *to, Item *item,
+uint Type_handler_inet6::make_sort_key(uchar *to, Item *item,
const SORT_FIELD_ATTR *sort_field,
Sort_param *param) const
{
@@ -1367,7 +1367,7 @@ void Type_handler_inet6::make_sort_key(uchar *to, Item *item,
if (item->null_value)
{
memset(to, 0, Inet6::binary_length() + 1);
- return;
+ return sort_field->length;
}
*to++= 1;
}
@@ -1375,12 +1375,36 @@ void Type_handler_inet6::make_sort_key(uchar *to, Item *item,
DBUG_ASSERT(Inet6::binary_length() == tmp.length());
DBUG_ASSERT(Inet6::binary_length() == sort_field->length);
memcpy(to, tmp.ptr(), tmp.length());
+ return sort_field->length;
}
+uint
+Type_handler_inet6::make_packed_sort_key(uchar *to, Item *item,
+ const SORT_FIELD_ATTR *sort_field,
+ Sort_param *param) const
+{
+ DBUG_ASSERT(item->type_handler() == this);
+ NativeBufferInet6 tmp;
+ item->val_native_result(current_thd, &tmp);
+ if (item->maybe_null)
+ {
+ if (item->null_value)
+ {
+ *to++=0;
+ return 0;
+ }
+ *to++= 1;
+ }
+ DBUG_ASSERT(!item->null_value);
+ DBUG_ASSERT(Inet6::binary_length() == tmp.length());
+ DBUG_ASSERT(Inet6::binary_length() == sort_field->length);
+ memcpy(to, tmp.ptr(), tmp.length());
+ return tmp.length();
+}
-void Type_handler_inet6::sortlength(THD *thd,
- const Type_std_attributes *item,
- SORT_FIELD_ATTR *attr) const
+void Type_handler_inet6::sort_length(THD *thd,
+ const Type_std_attributes *item,
+ SORT_FIELD_ATTR *attr) const
{
attr->length= Inet6::binary_length();
attr->suffix_length= 0;
diff --git a/plugin/type_inet/sql_type_inet.h b/plugin/type_inet/sql_type_inet.h
index b483ff94e8d..3901c8c27a2 100644
--- a/plugin/type_inet/sql_type_inet.h
+++ b/plugin/type_inet/sql_type_inet.h
@@ -513,10 +513,13 @@ class Type_handler_inet6: public Type_handler
def->frm_unpack_basic(buffer);
return def->frm_unpack_charset(share, buffer);
}
- void make_sort_key(uchar *to, Item *item,
+ uint make_sort_key(uchar *to, Item *item,
const SORT_FIELD_ATTR *sort_field, Sort_param *param)
const override;
- void sortlength(THD *thd,
+ uint make_packed_sort_key(uchar *to, Item *item,
+ const SORT_FIELD_ATTR *sort_field,
+ Sort_param *param) const override;
+ void sort_length(THD *thd,
const Type_std_attributes *item,
SORT_FIELD_ATTR *attr) const override;
uint32 max_display_length(const Item *item) const override
diff --git a/sql/field.cc b/sql/field.cc
index 1ce49b0bdfa..d615f7a7236 100644
--- a/sql/field.cc
+++ b/sql/field.cc
@@ -1013,22 +1013,195 @@ CPP_UNNAMED_NS_END
Static help functions
*****************************************************************************/
+/*
+ @brief
+ Helper function to create sort key for Fields
+
+ @param order_by_type type in which values are written to buffer
+ @param buff buffer where values are written
+ @param sort_field sort column structure
+
+ @retval
+ length of the bytes written, does not include the NULL bytes
+*/
+
+uint
+Field::make_sort_key(enum sort_method_t order_by_type,
+ uchar *buff, const SORT_FIELD_ATTR *sort_field)
+{
+ switch (order_by_type)
+ {
+ case ORDER_BY_STRXFRM:
+ return make_sort_key(buff, sort_field->length);
+ case ORDER_BY_ORIGINAL:
+ return make_packed_sort_key(buff, sort_field);
+ default:
+ DBUG_ASSERT(0);
+ break;
+ }
+ return 0;
+}
+
-void Field::make_sort_key(uchar *buff,uint length)
+uint Field::make_sort_key(uchar *buff,uint length)
{
if (maybe_null())
{
if (is_null())
{
bzero(buff, length + 1);
- return;
+ return length;
}
*buff++= 1;
}
sort_string(buff, length);
+ return length;
}
+/*
+ @brief
+ Create a packed sort key
+
+ @param buff buffer where values are written
+ @param sort_field sort column structure
+
+ @retval
+ length of the bytes written, does not include the NULL bytes
+*/
+uint
+Field::make_packed_sort_key(uchar *buff, const SORT_FIELD_ATTR *sort_field)
+{
+ if (maybe_null())
+ {
+ if (is_null())
+ {
+ *buff++= 0;
+ return 0; // For NULL values don't write any data
+ }
+ *buff++=1;
+ }
+ sort_string(buff, sort_field->original_length);
+ return sort_field->original_length;
+}
+
+
+uint
+Field_longstr::make_packed_sort_key(uchar *buff,
+ const SORT_FIELD_ATTR *sort_field)
+{
+ if (maybe_null())
+ {
+ if (is_null())
+ {
+ *buff++= 0;
+ return 0; // For NULL values don't write any data
+ }
+ *buff++=1;
+ }
+ uchar *end= pack_sort_string(buff, sort_field);
+ return static_cast<int>(end-buff);
+}
+
+
+
+/*
+ TODO varun: Refactor pack_sort_string for Field_longstr, Field_varstring,
+ Field_blob and just have one function in Field_longstr
+*/
+uchar*
+Field_longstr::pack_sort_string(uchar *to, const SORT_FIELD_ATTR *sort_field)
+{
+ String buf;
+ val_str(&buf, &buf);
+
+ uint length= MY_MIN(buf.length(), sort_field->original_length);
+ store_lowendian(length, to, sort_field->length_bytes);
+ to+= sort_field->length_bytes;
+ memcpy(to, buf.ptr(), length);
+ return to + length;
+}
+
+uchar *
+Field_varstring::pack_sort_string(uchar *to,
+ const SORT_FIELD_ATTR *sort_field)
+{
+ String buf;
+ val_str(&buf, &buf);
+ uint length, data_length;
+ length= buf.length();
+
+ if (length + sort_field->suffix_length <= sort_field->original_length)
+ data_length= length;
+ else
+ data_length= sort_field->original_length - sort_field->suffix_length;
+
+ // length stored in lowendian form
+ store_lowendian(data_length + sort_field->suffix_length, to,
+ sort_field->length_bytes);
+ to+= sort_field->length_bytes;
+ // copying data length bytes to the buffer
+ memcpy(to, buf.ptr(), data_length);
+ to+= data_length;
+
+ if (field_charset() == &my_charset_bin && sort_field->suffix_length)
+ // suffix length stored in bigendian form
+ store_bigendian(buf.length(), to, sort_field->suffix_length);
+
+ return to + sort_field->suffix_length;
+}
+
+uchar *
+Field_blob::pack_sort_string(uchar *to, const SORT_FIELD_ATTR *sort_field)
+{
+ String buf;
+ val_str(&buf, &buf);
+
+ uint length, data_length;
+ length= buf.length();
+
+ if (length + sort_field->suffix_length <= sort_field->original_length)
+ data_length= length;
+ else
+ data_length= sort_field->original_length - sort_field->suffix_length;
+
+ // length stored in lowendian form
+ store_lowendian(data_length + sort_field->suffix_length, to,
+ sort_field->length_bytes);
+ to+= sort_field->length_bytes;
+ // copying data length bytes to the buffer
+ memcpy(to, buf.ptr(), data_length);
+ to+= data_length;
+
+ if (field_charset() == &my_charset_bin && sort_field->suffix_length)
+ // suffix length stored in bigendian form
+ store_bigendian(buf.length(), to, sort_field->suffix_length);
+
+ return to + sort_field->suffix_length;
+
+}
+
+
+/*
+ TODO varun: move these Field:compare_packed_keys to field.cc
+*/
+int
+Field::compare_packed_keys(uchar *a, size_t *a_len, uchar *b, size_t *b_len,
+ const SORT_FIELD *sortorder)const
+{
+ return compare_packed_sort_keys(a, a_len, b, b_len, sortorder,
+ sortorder->field->maybe_null());
+}
+
+int
+Field_longstr::compare_packed_keys(uchar *a, size_t *a_len,
+ uchar *b, size_t *b_len,
+ const SORT_FIELD *sortorder)const
+{
+ return compare_packed_sort_keys(charset(), a, a_len, b, b_len, sortorder,
+ sortorder->field->maybe_null());
+}
+
/**
@brief
Determine the relative position of the field value in a numeric interval
@@ -5395,29 +5568,6 @@ static longlong read_native(const uchar *from, uint bytes)
}
#endif
-static void store_lowendian(ulonglong num, uchar *to, uint bytes)
-{
- switch(bytes) {
- case 1: *to= (uchar)num; break;
- case 2: int2store(to, num); break;
- case 3: int3store(to, num); break;
- case 4: int4store(to, num); break;
- case 8: int8store(to, num); break;
- default: DBUG_ASSERT(0);
- }
-}
-
-static longlong read_lowendian(const uchar *from, uint bytes)
-{
- switch(bytes) {
- case 1: return from[0];
- case 2: return uint2korr(from);
- case 3: return uint3korr(from);
- case 4: return uint4korr(from);
- case 8: return sint8korr(from);
- default: DBUG_ASSERT(0); return 0;
- }
-}
void Field_timestamp_hires::store_TIMEVAL(const timeval &tv)
{
@@ -8526,8 +8676,15 @@ Binlog_type_info Field_blob::binlog_type_info() const
uint32 Field_blob::sort_length() const
{
- return (uint32) (get_thd()->variables.max_sort_length +
- (field_charset() == &my_charset_bin ? 0 : packlength));
+ return packlength == 4 ?
+ UINT_MAX32 :
+ (uint32) field_length + suffix_length();
+}
+
+
+uint32 Field_blob::suffix_length() const
+{
+ return field_charset() == &my_charset_bin ? packlength : 0;
}
diff --git a/sql/field.h b/sql/field.h
index 4a8eec35b05..22503c2f43e 100644
--- a/sql/field.h
+++ b/sql/field.h
@@ -33,6 +33,7 @@
#include "compat56.h"
#include "sql_type.h" /* Type_std_attributes */
#include "field_comp.h"
+#include "filesort.h"
class Send_field;
class Copy_field;
@@ -1075,6 +1076,12 @@ class Field: public Value_source
virtual uint32 data_length() { return pack_length(); }
virtual uint32 sort_length() const { return pack_length(); }
+ /*
+ suffix_length() return the length bytes needed to store the length for
+ binary charset
+ */
+ virtual uint32 suffix_length() const { return 0; }
+
/*
Get the number bytes occupied by the value in the field.
CHAR values are stripped of trailing spaces.
@@ -1410,7 +1417,24 @@ class Field: public Value_source
return bytes;
}
- void make_sort_key(uchar *buff, uint length);
+
+ uint make_sort_key(enum sort_method_t order_by_type,
+ uchar *buff, const SORT_FIELD_ATTR *sort_field);
+
+ /*
+ Create mem-comparable sort keys
+ */
+ uint make_sort_key(uchar *buff, uint length);
+
+ /*
+ create a compact sort key which can be compared with a comparison
+ function. They are called packed sort keys
+ */
+ virtual uint make_packed_sort_key(uchar *buff,
+ const SORT_FIELD_ATTR *sort_field);
+ virtual int compare_packed_keys(uchar *a, size_t *a_len,
+ uchar *b, size_t *b_len,
+ const SORT_FIELD *sortorder) const;
virtual void make_send_field(Send_field *);
virtual void sort_string(uchar *buff,uint length)=0;
virtual bool optimize_range(uint idx, uint part) const;
@@ -2140,7 +2164,14 @@ class Field_longstr :public Field_str
bool can_optimize_range(const Item_bool_func *cond,
const Item *item,
bool is_eq_func) const;
- bool is_packable() { return true; }
+ bool is_packable() override { return true; }
+ int compare_packed_keys(uchar *a, size_t *a_len,
+ uchar *b, size_t *b_len,
+ const SORT_FIELD *sortorder)const override;
+ uint make_packed_sort_key(uchar *buff,
+ const SORT_FIELD_ATTR *sort_field)override;
+ virtual uchar* pack_sort_string(uchar *to,
+ const SORT_FIELD_ATTR *sort_field);
};
/* base class for float and double and decimal (old one) */
@@ -4042,8 +4073,11 @@ class Field_varstring :public Field_longstr {
uint32 key_length() const override { return (uint32) field_length; }
uint32 sort_length() const override
{
- return (uint32) field_length + (field_charset() == &my_charset_bin ?
- length_bytes : 0);
+ return (uint32) field_length + suffix_length();
+ }
+ virtual uint32 suffix_length() const override
+ {
+ return (field_charset() == &my_charset_bin ? length_bytes : 0);
}
Copy_func *get_copy_func(const Field *from) const override;
bool memcpy_field_possible(const Field *from) const override;
@@ -4096,6 +4130,8 @@ class Field_varstring :public Field_longstr {
uint length_size() const override { return length_bytes; }
void print_key_value(String *out, uint32 length) override;
Binlog_type_info binlog_type_info() const override;
+ uchar* pack_sort_string(uchar *to,
+ const SORT_FIELD_ATTR *sort_field)override;
};
@@ -4187,6 +4223,30 @@ static inline longlong read_bigendian(const uchar *from, uint bytes)
}
}
+static inline void store_lowendian(ulonglong num, uchar *to, uint bytes)
+{
+ switch(bytes) {
+ case 1: *to= (uchar)num; break;
+ case 2: int2store(to, num); break;
+ case 3: int3store(to, num); break;
+ case 4: int4store(to, num); break;
+ case 8: int8store(to, num); break;
+ default: DBUG_ASSERT(0);
+ }
+}
+
+static inline longlong read_lowendian(const uchar *from, uint bytes)
+{
+ switch(bytes) {
+ case 1: return from[0];
+ case 2: return uint2korr(from);
+ case 3: return uint3korr(from);
+ case 4: return uint4korr(from);
+ case 8: return sint8korr(from);
+ default: DBUG_ASSERT(0); return 0;
+ }
+}
+
extern LEX_CSTRING temp_lex_str;
@@ -4353,6 +4413,7 @@ class Field_blob :public Field_longstr {
{ return (uint32) (packlength); }
uint row_pack_length() const override { return pack_length_no_ptr(); }
uint32 sort_length() const override;
+ uint32 suffix_length() const override;
uint32 value_length() override { return get_length(); }
virtual uint32 max_data_length() const override
{
@@ -4469,6 +4530,8 @@ class Field_blob :public Field_longstr {
}
void print_key_value(String *out, uint32 length) override;
Binlog_type_info binlog_type_info() const override;
+ uchar* pack_sort_string(uchar *to,
+ const SORT_FIELD_ATTR *sort_field)override;
friend void TABLE::remember_blob_values(String *blob_storage);
friend void TABLE::restore_blob_values(String *blob_storage);
diff --git a/sql/filesort.cc b/sql/filesort.cc
index 763f9f59246..d24dd533cd6 100644
--- a/sql/filesort.cc
+++ b/sql/filesort.cc
@@ -53,8 +53,9 @@ static void register_used_fields(Sort_param *param);
static bool save_index(Sort_param *param, uint count,
SORT_INFO *table_sort);
static uint suffix_length(ulong string_length);
-static uint sortlength(THD *thd, SORT_FIELD *sortorder, uint s_length,
- bool *multi_byte_charset);
+static uint sortlength(THD *thd, Sort_keys *sortorder,
+ bool *multi_byte_charset,
+ bool *allow_packing_for_sortkeys);
static Addon_fields *get_addon_fields(TABLE *table, uint sortlength,
uint *addon_length,
uint *m_packable_length);
@@ -108,7 +109,7 @@ void Sort_param::try_to_pack_addons(ulong max_length_for_sort_data)
if (!Addon_fields::can_pack_addon_fields(res_length))
return;
- const uint sz= Addon_fields::size_of_length_field;;
+ const uint sz= Addon_fields::size_of_length_field;
if (rec_length + sz > max_length_for_sort_data)
return;
@@ -171,17 +172,20 @@ SORT_INFO *filesort(THD *thd, TABLE *table, Filesort *filesort,
ha_rows num_rows= HA_POS_ERROR;
IO_CACHE tempfile, buffpek_pointers, *outfile;
Sort_param param;
- bool multi_byte_charset;
+ bool multi_byte_charset, allow_packing_for_sortkeys;
Bounded_queue<uchar, uchar> pq;
SQL_SELECT *const select= filesort->select;
ha_rows max_rows= filesort->limit;
uint s_length= 0;
+ Sort_keys *sort_keys;
DBUG_ENTER("filesort");
- if (!(s_length= filesort->make_sortorder(thd, join, first_table_bit)))
+ if (!(sort_keys= filesort->make_sortorder(thd, join, first_table_bit)))
DBUG_RETURN(NULL); /* purecov: inspected */
+ s_length= sort_keys->size();
+
DBUG_EXECUTE("info",TEST_filesort(filesort->sortorder,s_length););
#ifdef SKIP_DBUG_IN_FILESORT
DBUG_PUSH(""); /* No DBUG here */
@@ -215,16 +219,14 @@ SORT_INFO *filesort(THD *thd, TABLE *table, Filesort *filesort,
error= 1;
sort->found_rows= HA_POS_ERROR;
- param.init_for_filesort(sortlength(thd, filesort->sortorder, s_length,
- &multi_byte_charset),
- table, max_rows, filesort->sort_positions);
+ param.sort_keys= sort_keys;
+ uint sort_len= sortlength(thd, sort_keys, &multi_byte_charset,
+ &allow_packing_for_sortkeys);
- sort->addon_fields= param.addon_fields;
+ param.init_for_filesort(sort_len, table, max_rows, filesort->sort_positions);
- if (multi_byte_charset &&
- !(param.tmp_buffer= (char*) my_malloc(param.sort_length,
- MYF(MY_WME | MY_THREAD_SPECIFIC))))
- goto err;
+ sort->addon_fields= param.addon_fields;
+ sort->sort_keys= param.sort_keys;
if (select && select->quick)
thd->inc_status_sort_range();
@@ -271,9 +273,18 @@ SORT_INFO *filesort(THD *thd, TABLE *table, Filesort *filesort,
{
DBUG_PRINT("info", ("filesort PQ is not applicable"));
+ if (allow_packing_for_sortkeys)
+ param.try_to_pack_sortkeys();
+
param.try_to_pack_addons(thd->variables.max_length_for_sort_data);
param.using_pq= false;
+ if ((multi_byte_charset || param.using_packed_sortkeys()) &&
+ !(param.tmp_buffer= (char*) my_malloc(param.sort_length,
+ MYF(MY_WME | MY_THREAD_SPECIFIC))))
+ goto err;
+
+
size_t min_sort_memory= MY_MAX(MIN_SORT_MEMORY,
param.sort_length*MERGEBUFF2);
set_if_bigger(min_sort_memory, sizeof(Merge_chunk*)*MERGEBUFF2);
@@ -479,7 +490,8 @@ void Filesort::cleanup()
}
-uint Filesort::make_sortorder(THD *thd, JOIN *join, table_map first_table_bit)
+Sort_keys*
+Filesort::make_sortorder(THD *thd, JOIN *join, table_map first_table_bit)
{
uint count;
SORT_FIELD *sort,*pos;
@@ -491,12 +503,20 @@ uint Filesort::make_sortorder(THD *thd, JOIN *join, table_map first_table_bit)
for (ord = order; ord; ord= ord->next)
count++;
if (!sortorder)
- sortorder= (SORT_FIELD*) thd->alloc(sizeof(SORT_FIELD) * (count + 1));
+ sortorder= (SORT_FIELD*) thd->alloc(sizeof(SORT_FIELD) * count);
+ void *rawmem= thd->alloc(sizeof(Sort_keys));
pos= sort= sortorder;
if (!pos)
DBUG_RETURN(0);
+ Sort_keys_array sort_keys_array(sortorder, count);
+ Sort_keys* sort_keys= new (rawmem) Sort_keys(sort_keys_array);
+
+ if (!sort_keys)
+ DBUG_RETURN(0);
+
+ pos= sort_keys->begin();
for (ord= order; ord; ord= ord->next, pos++)
{
Item *first= ord->item[0];
@@ -537,7 +557,7 @@ uint Filesort::make_sortorder(THD *thd, JOIN *join, table_map first_table_bit)
pos->reverse= (ord->direction == ORDER::ORDER_DESC);
DBUG_ASSERT(pos->field != NULL || pos->item != NULL);
}
- DBUG_RETURN(count);
+ DBUG_RETURN(sort_keys);
}
@@ -760,6 +780,7 @@ static ha_rows find_all_keys(THD *thd, Sort_param *param, SQL_SELECT *select,
Item *sort_cond;
ha_rows num_records= 0;
const bool packed_addon_fields= param->using_packed_addons();
+ const bool packed_sort_keys= param->using_packed_sortkeys();
DBUG_ENTER("find_all_keys");
DBUG_PRINT("info",("using: %s",
(select ? select->quick ? "ranges" : "where":
@@ -883,7 +904,8 @@ static ha_rows find_all_keys(THD *thd, Sort_param *param, SQL_SELECT *select,
uchar *start_of_rec= fs_info->get_next_record_pointer();
const uint rec_sz= make_sortkey(param, start_of_rec, ref_pos);
- if (packed_addon_fields && rec_sz != param->rec_length)
+ if ((packed_addon_fields || packed_sort_keys) &&
+ rec_sz != param->rec_length)
fs_info->adjust_next_record_pointer(rec_sz);
idx++;
}
@@ -985,17 +1007,10 @@ write_keys(Sort_param *param, SORT_INFO *fs_info, uint count,
count=(uint) param->max_rows; /* purecov: inspected */
buffpek.set_rowcount(static_cast<ha_rows>(count));
- const bool packed_addon_fields= param->using_packed_addons();
for (uint ix= 0; ix < count; ++ix)
{
uchar *record= fs_info->get_sorted_record(ix);
- if (packed_addon_fields)
- {
- rec_length= param->sort_length +
- Addon_fields::read_addon_length(record + param->sort_length);
- }
- else
- rec_length= param->rec_length;
+ rec_length= param->get_record_length(record);
if (my_b_write(tempfile, record, rec_length))
DBUG_RETURN(1); /* purecov: inspected */
@@ -1010,10 +1025,9 @@ write_keys(Sort_param *param, SORT_INFO *fs_info, uint count,
/**
- Store length as suffix in high-byte-first order.
+ Store length in high-byte-first order.
*/
-
-static inline void store_length(uchar *to, uint length, uint pack_length)
+void store_length(uchar *to, uint length, uint pack_length)
{
switch (pack_length) {
case 1:
@@ -1031,8 +1045,40 @@ static inline void store_length(uchar *to, uint length, uint pack_length)
}
}
+/*
+ @brief
+ Helper function to create sort key for Fields
+
+ @param order_by_type type in which values are written to buffer
+ @param buff buffer where values are written
+ @param item sort column
+ @param sort_field sort column structure
+ @param sort_param Sort param structure
-void
+ @retval
+ length of the bytes written, does not include the NULL bytes
+*/
+
+uint
+Type_handler::make_sort_key(enum sort_method_t order_by_type, uchar *to,
+ Item *item, const SORT_FIELD_ATTR *sort_field,
+ Sort_param *sort_param) const
+{
+ switch (order_by_type)
+ {
+ case ORDER_BY_STRXFRM:
+ return make_sort_key(to, item, sort_field, sort_param);
+ case ORDER_BY_ORIGINAL:
+ return make_packed_sort_key(to, item, sort_field, sort_param);
+ default:
+ DBUG_ASSERT(0);
+ break;
+ }
+ return 0;
+}
+
+
+uint
Type_handler_string_result::make_sort_key(uchar *to, Item *item,
const SORT_FIELD_ATTR *sort_field,
Sort_param *param) const
@@ -1064,7 +1110,7 @@ Type_handler_string_result::make_sort_key(uchar *to, Item *item,
memset(to, 0, sort_field->length); // Avoid crash
/* purecov: end */
}
- return;
+ return sort_field->length;
}
if (use_strnxfrm(cs))
@@ -1101,10 +1147,11 @@ Type_handler_string_result::make_sort_key(uchar *to, Item *item,
char fill_char= ((cs->state & MY_CS_BINSORT) ? (char) 0 : ' ');
cs->fill((char *) to + length, diff, fill_char);
}
+ return sort_field->length;
}
-void
+uint
Type_handler_int_result::make_sort_key(uchar *to, Item *item,
const SORT_FIELD_ATTR *sort_field,
Sort_param *param) const
@@ -1112,10 +1159,11 @@ Type_handler_int_result::make_sort_key(uchar *to, Item *item,
longlong value= item->val_int_result();
make_sort_key_longlong(to, item->maybe_null, item->null_value,
item->unsigned_flag, value);
+ return sort_field->length;
}
-void
+uint
Type_handler_temporal_result::make_sort_key(uchar *to, Item *item,
const SORT_FIELD_ATTR *sort_field,
Sort_param *param) const
@@ -1134,10 +1182,11 @@ Type_handler_temporal_result::make_sort_key(uchar *to, Item *item,
else
make_sort_key_longlong(to, item->maybe_null, false,
item->unsigned_flag, pack_time(&buf));
+ return sort_field->length;
}
-void
+uint
Type_handler_timestamp_common::make_sort_key(uchar *to, Item *item,
const SORT_FIELD_ATTR *sort_field,
Sort_param *param) const
@@ -1167,6 +1216,25 @@ Type_handler_timestamp_common::make_sort_key(uchar *to, Item *item,
DBUG_ASSERT(native.length() == binlen);
memcpy((char *) to, native.ptr(), binlen);
}
+ return sort_field->length;
+}
+
+
+void
+Type_handler::store_sort_key_longlong(uchar *to, bool unsigned_flag,
+ longlong value) const
+{
+ to[7]= (uchar) value;
+ to[6]= (uchar) (value >> 8);
+ to[5]= (uchar) (value >> 16);
+ to[4]= (uchar) (value >> 24);
+ to[3]= (uchar) (value >> 32);
+ to[2]= (uchar) (value >> 40);
+ to[1]= (uchar) (value >> 48);
+ if (unsigned_flag) /* Fix sign */
+ to[0]= (uchar) (value >> 56);
+ else
+ to[0]= (uchar) (value >> 56) ^ 128; /* Reverse signbit */
}
@@ -1187,21 +1255,32 @@ Type_handler::make_sort_key_longlong(uchar *to,
}
*to++= 1;
}
- to[7]= (uchar) value;
- to[6]= (uchar) (value >> 8);
- to[5]= (uchar) (value >> 16);
- to[4]= (uchar) (value >> 24);
- to[3]= (uchar) (value >> 32);
- to[2]= (uchar) (value >> 40);
- to[1]= (uchar) (value >> 48);
- if (unsigned_flag) /* Fix sign */
- to[0]= (uchar) (value >> 56);
- else
- to[0]= (uchar) (value >> 56) ^ 128; /* Reverse signbit */
+ store_sort_key_longlong(to, unsigned_flag, value);
}
-void
+uint
+Type_handler::make_packed_sort_key_longlong(uchar *to, bool maybe_null,
+ bool null_value, bool unsigned_flag,
+ longlong value,
+ const SORT_FIELD_ATTR *sort_field) const
+{
+ if (maybe_null)
+ {
+ if (null_value)
+ {
+ *to++= 0;
+ return 0;
+ }
+ *to++= 1;
+ }
+ store_sort_key_longlong(to, unsigned_flag, value);
+ DBUG_ASSERT(sort_field->original_length == sort_field->length);
+ return sort_field->original_length;
+}
+
+
+uint
Type_handler_decimal_result::make_sort_key(uchar *to, Item *item,
const SORT_FIELD_ATTR *sort_field,
Sort_param *param) const
@@ -1212,16 +1291,17 @@ Type_handler_decimal_result::make_sort_key(uchar *to, Item *item,
if (item->null_value)
{
memset(to, 0, sort_field->length + 1);
- return;
+ return sort_field->length;
}
*to++= 1;
}
dec_val->to_binary(to, item->max_length - (item->decimals ? 1 : 0),
item->decimals);
+ return sort_field->length;
}
-void
+uint
Type_handler_real_result::make_sort_key(uchar *to, Item *item,
const SORT_FIELD_ATTR *sort_field,
Sort_param *param) const
@@ -1232,11 +1312,12 @@ Type_handler_real_result::make_sort_key(uchar *to, Item *item,
if (item->null_value)
{
memset(to, 0, sort_field->length + 1);
- return;
+ return sort_field->length;
}
*to++= 1;
}
change_double_for_sort(value, to);
+ return sort_field->length;
}
@@ -1248,6 +1329,11 @@ static uint make_sortkey(Sort_param *param, uchar *to, uchar *ref_pos)
SORT_FIELD *sort_field;
uint length;
uchar *orig_to= to;
+ enum sort_method_t order_by_type= param->order_by_strategy();
+
+ const bool using_packed_sortkeys= param->using_packed_sortkeys();
+ if (using_packed_sortkeys)
+ to+= Sort_keys::size_of_length_field;
for (sort_field=param->local_sortorder.begin() ;
sort_field != param->local_sortorder.end() ;
@@ -1255,34 +1341,32 @@ static uint make_sortkey(Sort_param *param, uchar *to, uchar *ref_pos)
{
bool maybe_null=0;
if ((field=sort_field->field))
- { // Field
- field->make_sort_key(to, sort_field->length);
- if ((maybe_null = field->maybe_null()))
+ {
+ // Field
+ length= field->make_sort_key(order_by_type, to, sort_field);
+ if ((maybe_null= field->maybe_null()))
to++;
}
else
{ // Item
- sort_field->item->type_handler()->make_sort_key(to, sort_field->item,
- sort_field, param);
+ Item *item= sort_field->item;
+ length= item->type_handler()->make_sort_key(order_by_type, to,
+ sort_field->item,
+ sort_field, param);
if ((maybe_null= sort_field->item->maybe_null))
to++;
}
- if (sort_field->reverse)
- { /* Revers key */
- if (maybe_null && (to[-1]= !to[-1]))
- {
- to+= sort_field->length; // don't waste the time reversing all 0's
- continue;
- }
- length=sort_field->length;
- while (length--)
- {
- *to = (uchar) (~ *to);
- to++;
- }
- }
- else
- to+= sort_field->length;
+
+ if (!using_packed_sortkeys && sort_field->reverse)
+ reverse_key(to, maybe_null, sort_field);
+ to+= length;
+ }
+
+ if (using_packed_sortkeys)
+ {
+ length= static_cast<int>(to - orig_to);
+ Sort_keys::store_sortkey_length(orig_to, length);
+ to= orig_to+length;
}
if (param->using_addon_fields())
@@ -1379,7 +1463,7 @@ static void register_used_fields(Sort_param *param)
static bool save_index(Sort_param *param, uint count,
SORT_INFO *table_sort)
{
- uint offset,res_length;
+ uint offset,res_length, length;
uchar *to;
DBUG_ENTER("save_index");
DBUG_ASSERT(table_sort->record_pointers == 0);
@@ -1402,7 +1486,11 @@ static bool save_index(Sort_param *param, uint count,
for (uint ix= 0; ix < count; ++ix)
{
uchar *record= table_sort->get_sorted_record(ix);
- memcpy(to, record + offset, res_length);
+
+ length= param->using_packed_sortkeys() ?
+ Sort_keys::read_sortkey_length(record) : offset;
+
+ memcpy(to, record + length, res_length);
to+= res_length;
}
DBUG_RETURN(0);
@@ -1613,7 +1701,7 @@ ulong read_to_buffer(IO_CACHE *fromfile, Merge_chunk *buffpek,
if ((count= MY_MIN(buffpek->max_keys(),buffpek->rowcount())))
{
size_t bytes_to_read;
- if (param->using_packed_addons())
+ if (param->using_packed_addons() || param->using_packed_sortkeys())
{
count= buffpek->rowcount();
bytes_to_read= MY_MIN(buffpek->buffer_size(),
@@ -1628,36 +1716,45 @@ ulong read_to_buffer(IO_CACHE *fromfile, Merge_chunk *buffpek,
return ((ulong) -1);
size_t num_bytes_read;
- if (param->using_packed_addons())
+
+ if (param->using_addon_fields() || param->using_packed_sortkeys())
{
- /*
- The last record read is most likely not complete here.
- We need to loop through all the records, reading the length fields,
- and then "chop off" the final incomplete record.
- */
- uchar *record= buffpek->buffer_start();
- uint ix= 0;
- for (; ix < count; ++ix)
- {
- if (record + param->sort_length + Addon_fields::size_of_length_field >
- buffpek->buffer_end())
- break; // Incomplete record.
- uchar *plen= record + param->sort_length;
- uint res_length= Addon_fields::read_addon_length(plen);
- if (plen + res_length > buffpek->buffer_end())
- break; // Incomplete record.
- DBUG_ASSERT(res_length > 0);
- record+= param->sort_length;
- record+= res_length;
- }
- DBUG_ASSERT(ix > 0);
- count= ix;
- num_bytes_read= record - buffpek->buffer_start();
- DBUG_PRINT("info", ("read %llu bytes of complete records",
- static_cast<ulonglong>(bytes_to_read)));
+ /*
+ The last record read is most likely not complete here.
+ We need to loop through all the records, reading the length fields,
+ and then "chop off" the final incomplete record.
+ */
+ uchar *record= buffpek->buffer_start();
+ uint ix= 0;
+ uint size_of_addon_length= param->using_packed_addons() ?
+ Addon_fields::size_of_length_field : 0;
+
+ for (; ix < count; ++ix)
+ {
+ uint sort_length= param->using_packed_sortkeys() ?
+ Sort_keys::read_sortkey_length(record) :
+ param->sort_length;
+
+ if (record + sort_length + size_of_addon_length >
+ buffpek->buffer_end())
+ break; // Incomplete record.
+
+ uchar *plen= record + sort_length;
+ uint res_length= param->get_result_length(plen);
+ if (plen + res_length > buffpek->buffer_end())
+ break; // Incomplete record.
+ DBUG_ASSERT(res_length > 0);
+ record+= sort_length;
+ record+= res_length;
+ }
+ DBUG_ASSERT(ix > 0);
+ count= ix;
+ num_bytes_read= record - buffpek->buffer_start();
+ DBUG_PRINT("info", ("read %llu bytes of complete records",
+ static_cast<ulonglong>(bytes_to_read)));
}
else
- num_bytes_read= bytes_to_read;
+ num_bytes_read= bytes_to_read;
buffpek->init_current_key();
buffpek->advance_file_position(num_bytes_read); /* New filepos */
@@ -1762,8 +1859,16 @@ bool merge_buffers(Sort_param *param, IO_CACHE *from_file,
}
else
{
- cmp= get_ptr_compare(sort_length);
- first_cmp_arg= (void*) &sort_length;
+ if (param->using_packed_sortkeys())
+ {
+ cmp= get_packed_keys_compare_ptr(sort_length);
+ first_cmp_arg= (void*) param;
+ }
+ else
+ {
+ cmp= get_ptr_compare(sort_length);
+ first_cmp_arg= (void*) &sort_length;
+ }
}
if (unlikely(init_queue(&queue, (uint) (Tb-Fb)+1,
offsetof(Merge_chunk,m_current_key), 0,
@@ -1860,7 +1965,14 @@ bool merge_buffers(Sort_param *param, IO_CACHE *from_file,
*/
if (!check_dupl_count || dupl_count >= min_dupl_count)
{
- if (my_b_write(to_file, src + wr_offset, bytes_to_write))
+ if(my_b_write(to_file,
+ src +
+ (
+ (flag == 1 && param->using_packed_sortkeys()) ?
+ rec_length - res_length: // sort length
+ wr_offset
+ ),
+ bytes_to_write))
goto err; /* purecov: inspected */
}
if (cmp)
@@ -1943,7 +2055,8 @@ bool merge_buffers(Sort_param *param, IO_CACHE *from_file,
max_rows-= buffpek->mem_count();
for (uint ix= 0; ix < buffpek->mem_count(); ++ix)
{
- param->get_rec_and_res_len(buffpek->current_key(),
+ uchar *src= buffpek->current_key();
+ param->get_rec_and_res_len(src,
&rec_length, &res_length);
const uint bytes_to_write= (flag == 0) ? rec_length : res_length;
if (check_dupl_count)
@@ -1954,8 +2067,14 @@ bool merge_buffers(Sort_param *param, IO_CACHE *from_file,
if (dupl_count < min_dupl_count)
continue;
}
- if (my_b_write(to_file, buffpek->current_key() + wr_offset,
- bytes_to_write))
+ if(my_b_write(to_file,
+ src +
+ (
+ (flag == 1 && param->using_packed_sortkeys()) ?
+ rec_length - res_length: // sort length
+ wr_offset
+ ),
+ bytes_to_write))
goto err;
buffpek->advance_current_key(rec_length);
}
@@ -2007,13 +2126,14 @@ static uint suffix_length(ulong string_length)
void
-Type_handler_string_result::sortlength(THD *thd,
+Type_handler_string_result::sort_length(THD *thd,
const Type_std_attributes *item,
SORT_FIELD_ATTR *sortorder) const
{
CHARSET_INFO *cs;
sortorder->length= item->max_length;
- set_if_smaller(sortorder->length, thd->variables.max_sort_length);
+ sortorder->original_length= item->max_length;
+
if (use_strnxfrm((cs= item->collation.collation)))
{
sortorder->length= (uint) cs->strnxfrmlen(sortorder->length);
@@ -2023,54 +2143,57 @@ Type_handler_string_result::sortlength(THD *thd,
/* Store length last to be able to sort blob/varbinary */
sortorder->suffix_length= suffix_length(sortorder->length);
sortorder->length+= sortorder->suffix_length;
+ sortorder->original_length+= sortorder->suffix_length;
}
}
void
-Type_handler_temporal_result::sortlength(THD *thd,
- const Type_std_attributes *item,
- SORT_FIELD_ATTR *sortorder) const
+Type_handler_temporal_result::sort_length(THD *thd,
+ const Type_std_attributes *item,
+ SORT_FIELD_ATTR *sortorder) const
{
- sortorder->length= 8; // Sizof intern longlong
+ sortorder->original_length= sortorder->length= 8; // Sizof intern longlong
}
void
-Type_handler_timestamp_common::sortlength(THD *thd,
- const Type_std_attributes *item,
- SORT_FIELD_ATTR *sortorder) const
+Type_handler_timestamp_common::sort_length(THD *thd,
+ const Type_std_attributes *item,
+ SORT_FIELD_ATTR *sortorder) const
{
sortorder->length= my_timestamp_binary_length(item->decimals);
+ sortorder->original_length= sortorder->length;
}
void
-Type_handler_int_result::sortlength(THD *thd,
+Type_handler_int_result::sort_length(THD *thd,
const Type_std_attributes *item,
SORT_FIELD_ATTR *sortorder) const
{
- sortorder->length= 8; // Sizof intern longlong
+ sortorder->original_length= sortorder->length= 8; // Sizof intern longlong
}
void
-Type_handler_real_result::sortlength(THD *thd,
+Type_handler_real_result::sort_length(THD *thd,
const Type_std_attributes *item,
SORT_FIELD_ATTR *sortorder) const
{
- sortorder->length= sizeof(double);
+ sortorder->original_length= sortorder->length= sizeof(double);
}
void
-Type_handler_decimal_result::sortlength(THD *thd,
- const Type_std_attributes *item,
- SORT_FIELD_ATTR *sortorder) const
+Type_handler_decimal_result::sort_length(THD *thd,
+ const Type_std_attributes *item,
+ SORT_FIELD_ATTR *sortorder) const
{
sortorder->length=
my_decimal_get_binary_size(item->max_length - (item->decimals ? 1 : 0),
item->decimals);
+ sortorder->original_length= sortorder->length;
}
@@ -2082,6 +2205,8 @@ Type_handler_decimal_result::sortlength(THD *thd,
@param s_length Number of items to sort
@param[out] multi_byte_charset Set to 1 if we are using multi-byte charset
(In which case we have to use strxnfrm())
+ @allow_packing_for_sortkeys [out] set to false if packing sort keys is not
+ allowed
@note
sortorder->length is updated for each sort item.
@@ -2091,45 +2216,78 @@ Type_handler_decimal_result::sortlength(THD *thd,
*/
static uint
-sortlength(THD *thd, SORT_FIELD *sortorder, uint s_length,
- bool *multi_byte_charset)
+sortlength(THD *thd, Sort_keys *sort_keys, bool *multi_byte_charset,
+ bool *allow_packing_for_sortkeys)
{
uint length;
*multi_byte_charset= 0;
+ *allow_packing_for_sortkeys= true;
length=0;
- for (; s_length-- ; sortorder++)
+ uint nullable_cols=0;
+
+ for (SORT_FIELD *sortorder= sort_keys->begin();
+ sortorder != sort_keys->end();
+ sortorder++)
{
sortorder->suffix_length= 0;
+ sortorder->length_bytes= 0;
if (sortorder->field)
{
+ Field *field= sortorder->field;
CHARSET_INFO *cs= sortorder->field->sort_charset();
sortorder->length= sortorder->field->sort_length();
+ sortorder->suffix_length= sortorder->field->suffix_length();
+ sortorder->original_length= sortorder->length;
+ set_if_smaller(sortorder->original_length,
+ thd->variables.max_sort_length);
+
if (use_strnxfrm((cs=sortorder->field->sort_charset())))
{
*multi_byte_charset= true;
sortorder->length= (uint) cs->strnxfrmlen(sortorder->length);
}
+ if (field->is_packable())
+ {
+ sortorder->length_bytes=
+ number_storage_requirement(sortorder->original_length);
+ *allow_packing_for_sortkeys= check_if_packing_possible(cs, sortorder);
+ }
+
if (sortorder->field->maybe_null())
- length++; // Place for NULL marker
+ nullable_cols++; // Place for NULL marker
}
else
{
- sortorder->item->type_handler()->sortlength(thd, sortorder->item,
- sortorder);
- if (use_strnxfrm(sortorder->item->collation.collation))
+ CHARSET_INFO *cs;
+ sortorder->item->type_handler()->sort_length(thd, sortorder->item,
+ sortorder);
+ if (use_strnxfrm((cs=sortorder->item->collation.collation)))
{
*multi_byte_charset= true;
}
+ set_if_smaller(sortorder->original_length,
+ thd->variables.max_sort_length);
+ if (sortorder->item->type_handler()->is_packable())
+ {
+ sortorder->length_bytes=
+ number_storage_requirement(sortorder->original_length);
+ *allow_packing_for_sortkeys= check_if_packing_possible(cs, sortorder);
+ }
+
if (sortorder->item->maybe_null)
- length++; // Place for NULL marker
+ nullable_cols++; // Place for NULL marker
}
set_if_smaller(sortorder->length, thd->variables.max_sort_length);
length+=sortorder->length;
+
+ sort_keys->increment_size_of_packable_fields(sortorder->length_bytes);
+ sort_keys->increment_original_sort_length(sortorder->original_length);
}
- sortorder->field= NULL; // end marker
+ // add bytes for nullable_cols
+ sort_keys->increment_original_sort_length(nullable_cols);
DBUG_PRINT("info",("sort_length: %d",length));
- return length;
+ return length+nullable_cols;
}
@@ -2283,23 +2441,6 @@ get_addon_fields(TABLE *table, uint sortlength,
}
-/**
- Copy (unpack) values appended to sorted fields from a buffer back to
- their regular positions specified by the Field::ptr pointers.
-
- @param addon_field Array of descriptors for appended fields
- @param buff Buffer which to unpack the value from
-
- @note
- The function is supposed to be used only as a callback function
- when getting field values for the sorted result set.
-
- @return
- void.
-*/
-
-
-
/*
** functions to change a double or float to a sortable string
** The following should work for IEEE
@@ -2359,6 +2500,14 @@ void SORT_INFO::free_addon_buff()
addon_fields->free_addon_buff();
}
+/*
+ Check if packed sortkeys are used or not
+*/
+bool SORT_INFO::using_packed_sortkeys()
+{
+ return sort_keys && sort_keys->using_packed_sortkeys();
+}
+
/**
Free SORT_INFO
*/
@@ -2369,3 +2518,433 @@ SORT_INFO::~SORT_INFO()
free_data();
DBUG_VOID_RETURN;
}
+
+
+void Sort_param::try_to_pack_sortkeys()
+{
+ if (using_packed_sortkeys())
+ return;
+
+ uint size_of_packable_fields= sort_keys->get_size_of_packable_fields();
+
+ const uint sz= Sort_keys::size_of_length_field;
+ uint sort_len= sort_keys->get_sort_length();
+
+ /*
+ Heuristic introduced, skip packing sort keys if saving less than 20 bytes
+ */
+
+ if (sort_len < 20 + sz + size_of_packable_fields)
+ return;
+
+
+ sort_keys->set_using_packed_sortkeys(true);
+ m_using_packed_sortkeys= true;
+ sort_length= sort_len + sz + size_of_packable_fields +
+ (using_addon_fields() ? 0 : res_length);
+ /* Only the record length needs to be updated, the res_length does not need
+ to be updated
+ */
+ rec_length= sort_length + addon_length;
+}
+
+uint
+Type_handler_string_result::make_packed_sort_key(uchar *to, Item *item,
+ const SORT_FIELD_ATTR *sort_field,
+ Sort_param *param) const
+{
+ CHARSET_INFO *cs= item->collation.collation;
+ bool maybe_null= item->maybe_null;
+
+ if (maybe_null)
+ *to++= 1;
+ uchar *orig_to= to;
+
+ String tmp(param->tmp_buffer, param->sort_length, cs);
+ String *res= item->str_result(&tmp);
+ if (!res)
+ {
+ if (maybe_null)
+ return 0;
+ else
+ {
+ /* purecov: begin deadcode */
+ /*
+ This should only happen during extreme conditions if we run out
+ of memory or have an item marked not null when it can be null.
+ This code is here mainly to avoid a hard crash in this case.
+ */
+ DBUG_ASSERT(0);
+ DBUG_PRINT("warning",
+ ("Got null on something that shouldn't be null"));
+ memset(to, 0, sort_field->length); // Avoid crash
+ /* purecov: end */
+ return sort_field->original_length;
+ }
+ }
+
+ uint data_length;
+ uint length= res->length();
+
+ if (length + sort_field->suffix_length <= sort_field->original_length)
+ data_length= length;
+ else
+ data_length= sort_field->original_length - sort_field->suffix_length;
+
+ /* Length always stored little-endian */
+ store_lowendian(data_length + sort_field->suffix_length, to,
+ sort_field->length_bytes);
+ to+= sort_field->length_bytes;
+ /* Store bytes of string */
+ memcpy(to, (uchar*)res->ptr(), data_length);
+ to+= data_length;
+
+ if (cs == &my_charset_bin)
+ {
+ store_bigendian(length, to+data_length, sort_field->suffix_length);
+ to+= sort_field->suffix_length;
+ }
+ return static_cast<uint>(to - orig_to);
+ }
+
+
+uint
+Type_handler_int_result::make_packed_sort_key(uchar *to, Item *item,
+ const SORT_FIELD_ATTR *sort_field,
+ Sort_param *param) const
+{
+ longlong value= item->val_int_result();
+ return make_packed_sort_key_longlong(to, item->maybe_null,
+ item->null_value, item->unsigned_flag,
+ value, sort_field);
+}
+
+
+uint
+Type_handler_decimal_result::make_packed_sort_key(uchar *to, Item *item,
+ const SORT_FIELD_ATTR *sort_field,
+ Sort_param *param) const
+{
+ my_decimal dec_buf, *dec_val= item->val_decimal_result(&dec_buf);
+ if (item->maybe_null)
+ {
+ if (item->null_value)
+ {
+ *to++=0;
+ return 0;
+ }
+ *to++= 1;
+ }
+ dec_val->to_binary(to, item->max_length - (item->decimals ? 1 : 0),
+ item->decimals);
+ DBUG_ASSERT(sort_field->original_length == sort_field->length);
+ return sort_field->original_length;
+}
+
+
+uint
+Type_handler_real_result::make_packed_sort_key(uchar *to, Item *item,
+ const SORT_FIELD_ATTR *sort_field,
+ Sort_param *param) const
+{
+ double value= item->val_result();
+ if (item->maybe_null)
+ {
+ if (item->null_value)
+ {
+ *to++=0;
+ return 0;
+ }
+ *to++= 1;
+ }
+ change_double_for_sort(value, to);
+ DBUG_ASSERT(sort_field->original_length == sort_field->length);
+ return sort_field->original_length;
+}
+
+
+uint
+Type_handler_temporal_result::make_packed_sort_key(uchar *to, Item *item,
+ const SORT_FIELD_ATTR *sort_field,
+ Sort_param *param) const
+{
+ MYSQL_TIME buf;
+ // This is a temporal type. No nanoseconds. Rounding mode is not important.
+ DBUG_ASSERT(item->cmp_type() == TIME_RESULT);
+ static const Temporal::Options opt(TIME_INVALID_DATES, TIME_FRAC_NONE);
+ if (item->get_date_result(current_thd, &buf, opt))
+ {
+ DBUG_ASSERT(item->maybe_null);
+ DBUG_ASSERT(item->null_value);
+ return make_packed_sort_key_longlong(to, item->maybe_null, true,
+ item->unsigned_flag, 0, sort_field);
+ }
+ return make_packed_sort_key_longlong(to, item->maybe_null, false,
+ item->unsigned_flag, pack_time(&buf),
+ sort_field);
+}
+
+
+uint
+Type_handler_timestamp_common::make_packed_sort_key(uchar *to, Item *item,
+ const SORT_FIELD_ATTR *sort_field,
+ Sort_param *param) const
+{
+ THD *thd= current_thd;
+ uint binlen= my_timestamp_binary_length(item->decimals);
+ Timestamp_or_zero_datetime_native_null native(thd, item);
+ if (native.is_null() || native.is_zero_datetime())
+ {
+ // NULL or '0000-00-00 00:00:00'
+ if (item->maybe_null)
+ {
+ *to++=0;
+ return 0;
+ }
+ else
+ {
+ bzero(to, binlen);
+ return binlen;
+ }
+ }
+ else
+ {
+ if (item->maybe_null)
+ *to++= 1;
+ if (native.length() != binlen)
+ {
+ /*
+ Some items can return native representation with a different
+ number of fractional digits, e.g.: GREATEST(ts_3, ts_4) can
+ return a value with 3 fractional digits, although its fractional
+ precision is 4. Re-pack with a proper precision now.
+ */
+ Timestamp(native).to_native(&native, item->datetime_precision(thd));
+ }
+ DBUG_ASSERT(native.length() == binlen);
+ memcpy((char *) to, native.ptr(), binlen);
+ return binlen;
+ }
+}
+
+
+int
+Type_handler_string_result::compare_packed_keys(uchar *a, size_t *a_len,
+ uchar *b, size_t *b_len,
+ const SORT_FIELD *sortorder)const
+{
+ return compare_packed_sort_keys(sortorder->item->collation.collation,
+ a, a_len, b, b_len, sortorder,
+ sortorder->item->maybe_null);
+}
+
+int
+Type_handler::compare_packed_keys(uchar *a, size_t *a_len,
+ uchar *b, size_t *b_len,
+ const SORT_FIELD *sortorder)const
+{
+ return compare_packed_sort_keys(a, a_len, b, b_len, sortorder,
+ sortorder->item->maybe_null);
+}
+
+
+/*
+ @brief
+ Reverse the key for DESC clause
+ @param to buffer where values are written
+ @param maybe_null nullability of a column
+ @param sort_field Sort field structute
+ @details
+ used for mem-comparable sort keys
+*/
+
+void reverse_key(uchar *to, bool maybe_null, const SORT_FIELD_ATTR *sort_field)
+{
+ uint length;
+ if (maybe_null && (to[-1]= !to[-1]))
+ {
+ to+= sort_field->length; // don't waste the time reversing all 0's
+ return;
+ }
+ length=sort_field->length;
+ while (length--)
+ {
+ *to = (uchar) (~ *to);
+ to++;
+ }
+}
+
+
+/*
+ @brief
+ Check if packing sort keys is allowed
+ @param cs charset for the column
+ @param sortorder sort field structure
+ @retval
+ TRUE packing allowed
+ FALSE packing not allowed
+*/
+bool
+check_if_packing_possible(CHARSET_INFO *cs, const SORT_FIELD_ATTR *sortorder)
+{
+ if (cs->state & MY_CS_NON1TO1)
+ return false;
+ return true;
+}
+
+
+/*
+ Compare function used for packing sort keys
+*/
+
+qsort2_cmp get_packed_keys_compare_ptr(size_t size __attribute__((unused)))
+{
+ return (qsort2_cmp) packed_keys_comparison;
+}
+
+
+int compare_packed_sort_keys(CHARSET_INFO *cs, uchar *a, size_t *a_len,
+ uchar *b, size_t *b_len,
+ const SORT_FIELD_ATTR *sort_field,
+ bool maybe_null)
+{
+ int retval;
+ size_t a_length, b_length;
+ if (maybe_null)
+ {
+ *a_len= *b_len= 1;
+ if (*a != *b)
+ {
+ if (*a == 0)
+ return -1;
+ else
+ return 1;
+ }
+ else
+ {
+ if (*a == 0)
+ return 0;
+ }
+ a++;
+ b++;
+ }
+ else
+ *a_len= *b_len= 0;
+
+ a_length= read_lowendian(a, sort_field->length_bytes);
+ b_length= read_lowendian(b, sort_field->length_bytes);
+
+ *a_len+= sort_field->length_bytes + a_length;
+ *b_len+= sort_field->length_bytes + b_length;
+
+ retval= cs->strnncollsp(a + sort_field->length_bytes,
+ a_length - sort_field->suffix_length,
+ b + sort_field->length_bytes,
+ b_length - sort_field->suffix_length);
+
+ if (!retval && sort_field->suffix_length)
+ {
+ DBUG_ASSERT(cs == &my_charset_bin);
+ // comparing the length stored in suffix bytes for binary strings
+ a= a + sort_field->length_bytes + a_length - sort_field->suffix_length;
+ b= b + sort_field->length_bytes + b_length - sort_field->suffix_length;
+ retval= memcmp(a, b, sort_field->suffix_length);
+ }
+
+ return retval;
+}
+
+
+int compare_packed_sort_keys(uchar *a, size_t *a_len,
+ uchar *b, size_t *b_len,
+ const SORT_FIELD_ATTR *sort_field,
+ bool maybe_null)
+{
+ if (maybe_null)
+ {
+ *a_len=1;
+ *b_len=1;
+ if (*a != *b)
+ {
+ if (*a == 0)
+ return -1;
+ else
+ return 1;
+ }
+ else
+ {
+ if (*a == 0)
+ return 0;
+ }
+ a++;
+ b++;
+ }
+ else
+ *a_len= *b_len= 0;
+
+ *a_len+= sort_field->length;
+ *b_len+= sort_field->length;
+ return memcmp(a,b, sort_field->length);
+}
+
+
+/*
+ @brief
+ Comparison function to compare two packed sort keys
+
+ @param sort_param cmp argument
+ @param a_ptr packed sort key
+ @param b_ptr packed sort key
+
+ @retval
+ >0 key a_ptr greater than b_ptr
+ =0 key a_ptr equal to b_ptr
+ <0 key a_ptr less than b_ptr
+
+*/
+
+int packed_keys_comparison(void *sort_param,
+ unsigned char **a_ptr, unsigned char **b_ptr)
+{
+ int retval= 0;
+ size_t a_len, b_len;
+ Sort_param *param= (Sort_param*)sort_param;
+ Sort_keys *sort_keys= param->sort_keys;
+ uchar *a= *a_ptr;
+ uchar *b= *b_ptr;
+
+ a+= Sort_keys::size_of_length_field;
+ b+= Sort_keys::size_of_length_field;
+ for (SORT_FIELD *sort_field= sort_keys->begin();
+ sort_field != sort_keys->end(); sort_field++)
+ {
+ if (sort_field->field)
+ {
+ retval= sort_field->field->compare_packed_keys(a, &a_len,
+ b, &b_len,
+ sort_field);
+ }
+ else
+ {
+ Item *item= sort_field->item;
+ retval= item->type_handler()->compare_packed_keys(a, &a_len,
+ b, &b_len,
+ sort_field);
+ }
+
+ if (retval)
+ return sort_field->reverse ? -retval : retval;
+
+ a+= a_len;
+ b+= b_len;
+
+ }
+ /*
+ this comparison is done for the case when the sort keys is appended with
+ the ROW_ID pointer. For such cases we don't have addon fields
+ so we can make a memcmp check over both the sort keys
+ */
+ if (!param->using_addon_fields())
+ retval= memcmp(a, b, param->res_length);
+ return retval;
+}
diff --git a/sql/filesort.h b/sql/filesort.h
index 5102ee2326f..2f0e220829e 100644
--- a/sql/filesort.h
+++ b/sql/filesort.h
@@ -25,9 +25,19 @@ class THD;
struct TABLE;
class Filesort_tracker;
struct SORT_FIELD;
+struct SORT_FIELD_ATTR;
typedef struct st_order ORDER;
class JOIN;
class Addon_fields;
+class Sort_keys;
+
+
+enum sort_method_t
+{
+ ORDER_BY_STRXFRM,
+ ORDER_BY_ORIGINAL,
+ ORDER_BY_ORIGINAL_TRUNCATION
+};
/**
Sorting related info.
@@ -73,7 +83,7 @@ class Filesort: public Sql_alloc
~Filesort() { cleanup(); }
/* Prepare ORDER BY list for sorting. */
- uint make_sortorder(THD *thd, JOIN *join, table_map first_table_bit);
+ Sort_keys* make_sortorder(THD *thd, JOIN *join, table_map first_table_bit);
private:
void cleanup();
@@ -121,6 +131,7 @@ class SORT_INFO
LEX_STRING buffpek; /* Buffer for buffpek structures */
Addon_fields *addon_fields; /* Addon field descriptors */
uchar *record_pointers; /* If sorted in memory */
+ Sort_keys *sort_keys; /* Sort key descriptors*/
/**
If the entire result of filesort fits in memory, we skip the merge phase.
@@ -201,6 +212,7 @@ class SORT_INFO
template<bool Packed_addon_fields>
inline void unpack_addon_fields(uchar *buff);
+ bool using_packed_sortkeys();
friend SORT_INFO *filesort(THD *thd, TABLE *table, Filesort *filesort,
Filesort_tracker* tracker, JOIN *join,
@@ -216,5 +228,19 @@ bool filesort_use_addons(TABLE *table, uint sortlength,
uint *m_packable_length);
void change_double_for_sort(double nr,uchar *to);
+void store_length(uchar *to, uint length, uint pack_length);
+int compare_packed_sort_keys(uchar *a, size_t *a_len,
+ uchar *b, size_t *b_len,
+ const SORT_FIELD_ATTR *sort_field,
+ bool maybe_null);
+int compare_packed_sort_keys(CHARSET_INFO *cs, uchar *a, size_t *a_len,
+ uchar *b, size_t *b_len,
+ const SORT_FIELD_ATTR *sort_field,
+ bool maybe_null);
+void
+reverse_key(uchar *to, bool maybe_null, const SORT_FIELD_ATTR *sort_field);
+bool
+check_if_packing_possible(CHARSET_INFO *cs, const SORT_FIELD_ATTR *sort_field);
+
#endif /* FILESORT_INCLUDED */
diff --git a/sql/filesort_utils.cc b/sql/filesort_utils.cc
index 95b9dc51cf8..67276557ec0 100644
--- a/sql/filesort_utils.cc
+++ b/sql/filesort_utils.cc
@@ -175,7 +175,8 @@ void Filesort_buffer::sort_buffer(const Sort_param *param, uint count)
reverse_record_pointers();
uchar **buffer= NULL;
- if (radixsort_is_appliccable(count, param->sort_length) &&
+ if (!param->using_packed_sortkeys() &&
+ radixsort_is_appliccable(count, param->sort_length) &&
(buffer= (uchar**) my_malloc(count*sizeof(char*),
MYF(MY_THREAD_SPECIFIC))))
{
@@ -184,5 +185,12 @@ void Filesort_buffer::sort_buffer(const Sort_param *param, uint count)
return;
}
- my_qsort2(m_sort_keys, count, sizeof(uchar*), get_ptr_compare(size), &size);
+ qsort2_cmp cmp_func= param->using_packed_sortkeys() ?
+ get_packed_keys_compare_ptr(size) :
+ get_ptr_compare(size);
+
+ my_qsort2(m_sort_keys, count, sizeof(uchar*), cmp_func,
+ param->using_packed_sortkeys() ?
+ (void*)param :
+ (void*) &size);
}
diff --git a/sql/filesort_utils.h b/sql/filesort_utils.h
index e8b93940abf..fd7d069ffd1 100644
--- a/sql/filesort_utils.h
+++ b/sql/filesort_utils.h
@@ -279,4 +279,8 @@ class Filesort_buffer
longlong m_idx;
};
+int packed_keys_comparison(void *sort_keys,
+ unsigned char **a, unsigned char **b);
+qsort2_cmp get_packed_keys_compare_ptr(size_t size __attribute__((unused)));
+
#endif // FILESORT_UTILS_INCLUDED
diff --git a/sql/records.cc b/sql/records.cc
index 2b146abb005..0c85cbb7fb9 100644
--- a/sql/records.cc
+++ b/sql/records.cc
@@ -634,7 +634,12 @@ static int rr_unpack_from_buffer(READ_RECORD *info)
uchar *record= info->sort_info->get_sorted_record(
static_cast<uint>(info->unpack_counter));
- uchar *plen= record + info->sort_info->get_sort_length();
+
+ uint sort_length= info->sort_info->using_packed_sortkeys() ?
+ Sort_keys::read_sortkey_length(record):
+ info->sort_info->get_sort_length();
+
+ uchar *plen= record + sort_length;
info->sort_info->unpack_addon_fields<Packed_addon_fields>(plen);
info->unpack_counter++;
return 0;
@@ -772,6 +777,21 @@ static int rr_cmp(uchar *a,uchar *b)
#endif
}
+
+/**
+ Copy (unpack) values appended to sorted fields from a buffer back to
+ their regular positions specified by the Field::ptr pointers.
+
+ @param addon_field Array of descriptors for appended fields
+ @param buff Buffer which to unpack the value from
+
+ @note
+ The function is supposed to be used only as a callback function
+ when getting field values for the sorted result set.
+
+ @return
+ void.
+*/
template<bool Packed_addon_fields>
inline void SORT_INFO::unpack_addon_fields(uchar *buff)
{
diff --git a/sql/sql_class.h b/sql/sql_class.h
index 13b2659789d..e15c693dd70 100644
--- a/sql/sql_class.h
+++ b/sql/sql_class.h
@@ -6253,8 +6253,10 @@ class SJ_MATERIALIZATION_INFO : public Sql_alloc
/* Structs used when sorting */
struct SORT_FIELD_ATTR
{
- uint length; /* Length of sort field */
+ uint length; /* Length of sort field, using weights */
uint suffix_length; /* Length suffix (0-4) */
+ uint length_bytes; /* Bytes to store the length */
+ uint original_length; /* max length of sort field, storing orignal values */
};
diff --git a/sql/sql_sort.h b/sql/sql_sort.h
index 2c01b01b607..38fcef55d9c 100644
--- a/sql/sql_sort.h
+++ b/sql/sql_sort.h
@@ -20,8 +20,8 @@
#include "my_base.h" /* ha_rows */
#include <my_sys.h> /* qsort2_cmp */
#include "queues.h"
+#include "sql_class.h"
-struct SORT_FIELD;
class Field;
struct TABLE;
@@ -156,6 +156,7 @@ struct Merge_chunk {
};
typedef Bounds_checked_array<SORT_ADDON_FIELD> Addon_fields_array;
+typedef Bounds_checked_array<SORT_FIELD> Sort_keys_array;
/**
This class wraps information about usage of addon fields.
@@ -241,6 +242,93 @@ class Addon_fields {
bool m_using_packed_addons; ///< Are we packing the addon fields?
};
+/**
+ This class wraps information about usage of sort keys.
+ A Sort_keys object is used both during packing of data in the filesort
+ buffer, and later during unpacking in 'Filesort_info::unpack_addon_fields'.
+
+ @see SORT_FIELD struct.
+*/
+
+class Sort_keys
+{
+public:
+ Sort_keys(Sort_keys_array arr):
+ sortorder(arr),
+ m_using_packed_sortkeys(false),
+ size_of_packable_fields(0),
+ sort_length(0)
+ {
+ DBUG_ASSERT(!arr.is_null());
+ }
+
+ SORT_FIELD *begin() { return sortorder.begin(); }
+ SORT_FIELD *end() { return sortorder.end(); }
+ uint size() { return static_cast<uint>(end() - begin()); }
+
+ SORT_FIELD *begin() const { return sortorder.begin(); }
+ SORT_FIELD *end() const { return sortorder.end(); }
+ size_t size() const { return sortorder.size(); }
+
+ inline bool using_packed_sortkeys() const
+ { return m_using_packed_sortkeys; }
+
+ void set_using_packed_sortkeys(bool val)
+ {
+ m_using_packed_sortkeys= val;
+ }
+ void set_size_of_packable_fields(uint len)
+ {
+ size_of_packable_fields= len;
+ }
+
+ uint get_size_of_packable_fields()
+ {
+ return size_of_packable_fields;
+ }
+
+ void set_sort_length(uint len)
+ {
+ sort_length= len;
+ }
+
+ uint get_sort_length()
+ {
+ return sort_length;
+ }
+
+ static void store_sortkey_length(uchar *p, uint sz)
+ {
+ int4store(p, sz - size_of_length_field);
+ }
+
+ static uint read_sortkey_length(uchar *p)
+ {
+ return size_of_length_field + uint4korr(p);
+ }
+
+ void increment_size_of_packable_fields(uint len)
+ {
+ size_of_packable_fields+= len;
+ }
+
+ void increment_original_sort_length(uint len)
+ {
+ sort_length+= len;
+ }
+
+ static const uint size_of_length_field= 4;
+
+private:
+ Sort_keys_array sortorder; // Array of columns in the sort order
+ bool m_using_packed_sortkeys; // Are we packing sort keys
+ uint size_of_packable_fields; // Total length bytes for packable columns
+ // orignal sort length when we store real values for sort key
+ uint sort_length;
+ // order by strategy used
+ enum sort_method_t order_by_type;
+};
+
/**
There are two record formats for sorting:
@@ -289,6 +377,7 @@ class Sort_param {
*/
Bounds_checked_array<SORT_FIELD> local_sortorder;
Addon_fields *addon_fields; // Descriptors for companion fields.
+ Sort_keys *sort_keys;
bool using_pq;
uchar *unique_buff;
@@ -316,12 +405,54 @@ class Sort_param {
return m_using_packed_addons;
}
+ inline bool using_packed_sortkeys() const
+ {
+ DBUG_ASSERT(m_using_packed_sortkeys ==
+ (sort_keys != NULL && sort_keys->using_packed_sortkeys()));
+ return m_using_packed_sortkeys;
+ }
+
/// Are we using "addon fields"?
bool using_addon_fields() const
{
return addon_fields != NULL;
}
+ uint32 get_result_length(uchar *plen)
+ {
+ if (!using_addon_fields())
+ return res_length;
+ return get_addon_length(plen);
+ }
+
+ uint32 get_addon_length(uchar *plen)
+ {
+ if (using_packed_addons())
+ return Addon_fields::read_addon_length(plen);
+ else
+ return addon_length;
+ }
+
+ uint32 get_sort_length(uchar *plen)
+ {
+ if (using_packed_sortkeys())
+ return Sort_keys::read_sortkey_length(plen) +
+ /*
+ when addon fields are not present, then the sort_length also
+ includes the res_length. For packed keys here we add
+ the res_length
+ */
+ (using_addon_fields() ? 0: res_length);
+ else
+ return sort_length;
+ }
+
+ uint get_record_length(uchar *plen)
+ {
+ uint sort_length= get_sort_length(plen);
+ return sort_length + get_addon_length(plen + sort_length);
+ }
+
/**
Getter for record length and result length.
@param record_start Pointer to record.
@@ -330,22 +461,22 @@ class Sort_param {
*/
void get_rec_and_res_len(uchar *record_start, uint *recl, uint *resl)
{
- if (!using_packed_addons())
- {
- *recl= rec_length;
- *resl= res_length;
- return;
- }
- uchar *plen= record_start + sort_length;
- *resl= Addon_fields::read_addon_length(plen);
- DBUG_ASSERT(*resl <= res_length);
- const uchar *record_end= plen + *resl;
- *recl= static_cast<uint>(record_end - record_start);
+ uint sort_length= get_sort_length(record_start);
+ uint addon_length= get_addon_length(record_start + sort_length);
+ *recl= sort_length + addon_length;
+ *resl= using_addon_fields() ? addon_length : res_length;
+ }
+ void try_to_pack_sortkeys();
+ enum sort_method_t order_by_strategy()
+ {
+ return using_packed_sortkeys() ? ORDER_BY_ORIGINAL :ORDER_BY_STRXFRM;
}
private:
uint m_packable_length;
bool m_using_packed_addons; ///< caches the value of using_packed_addons()
+ /* caches the value of using_packed_sortkeys() */
+ bool m_using_packed_sortkeys;
};
typedef Bounds_checked_array<uchar> Sort_buffer;
diff --git a/sql/sql_type.h b/sql/sql_type.h
index ce87c8e9d93..50cd12433f7 100644
--- a/sql/sql_type.h
+++ b/sql/sql_type.h
@@ -29,6 +29,7 @@
#include "sql_type_string.h"
#include "sql_type_real.h"
#include "compat56.h"
+#include "filesort.h"
C_MODE_START
#include <ma_dyncol.h>
C_MODE_END
@@ -86,6 +87,7 @@ class handler;
struct Schema_specification_st;
struct TABLE;
struct SORT_FIELD_ATTR;
+struct SORT_FIELD;
class Vers_history_point;
class Virtual_column_info;
class Conv_source;
@@ -3332,6 +3334,14 @@ class Type_handler
bool maybe_null, bool null_value,
bool unsigned_flag,
longlong value) const;
+ void store_sort_key_longlong(uchar *to, bool unsigned_flag,
+ longlong value) const;
+
+ uint make_packed_sort_key_longlong(uchar *to, bool maybe_null,
+ bool null_value, bool unsigned_flag,
+ longlong value,
+ const SORT_FIELD_ATTR *sort_field) const;
+
bool Item_func_or_sum_illegal_param(const char *name) const;
bool Item_func_or_sum_illegal_param(const Item_func_or_sum *) const;
bool check_null(const Item *item, st_value *value) const;
@@ -3752,12 +3762,31 @@ class Type_handler
const uchar *buffer,
LEX_CUSTRING *gis_options) const;
- virtual void make_sort_key(uchar *to, Item *item,
+ /*
+ Create mem-comparable sort keys
+ */
+ virtual uint make_sort_key(uchar *to, Item *item,
const SORT_FIELD_ATTR *sort_field,
Sort_param *param) const= 0;
- virtual void sortlength(THD *thd,
+ uint make_sort_key(enum sort_method_t order_by_type, uchar *to, Item *item,
+ const SORT_FIELD_ATTR *sort_field,
+ Sort_param *param)const;
+
+ virtual void sort_length(THD *thd,
const Type_std_attributes *item,
SORT_FIELD_ATTR *attr) const= 0;
+ virtual bool is_packable() const { return false; }
+ virtual int compare_packed_keys(uchar *a, size_t *a_len,
+ uchar *b, size_t *b_len,
+ const SORT_FIELD *sortorder) const;
+
+ /*
+ create a compact sort key which can be compared with a comparison
+ function. They are called packed sort keys
+ */
+ virtual uint make_packed_sort_key(uchar *to, Item *item,
+ const SORT_FIELD_ATTR *sort_field,
+ Sort_param *param) const=0;
virtual uint32 max_display_length(const Item *item) const= 0;
virtual uint32 Item_decimal_notation_int_digits(const Item *item) const { return 0; }
@@ -4149,14 +4178,22 @@ class Type_handler_row: public Type_handler
const Bit_addr &bit,
const Column_definition_attributes *attr,
uint32 flags) const override;
- void make_sort_key(uchar *to, Item *item,
+ uint make_sort_key(uchar *to, Item *item,
const SORT_FIELD_ATTR *sort_field,
Sort_param *param) const override
{
DBUG_ASSERT(0);
+ return 0;
}
- void sortlength(THD *thd, const Type_std_attributes *item,
- SORT_FIELD_ATTR *attr) const override
+ uint make_packed_sort_key(uchar *to, Item *item,
+ const SORT_FIELD_ATTR *sort_field,
+ Sort_param *param) const override
+ {
+ DBUG_ASSERT(0);
+ return 0;
+ }
+ void sort_length(THD *thd, const Type_std_attributes *item,
+ SORT_FIELD_ATTR *attr) const override
{
DBUG_ASSERT(0);
}
@@ -4481,11 +4518,15 @@ class Type_handler_real_result: public Type_handler_numeric
bool subquery_type_allows_materialization(const Item *inner,
const Item *outer)
const override;
- void make_sort_key(uchar *to, Item *item, const SORT_FIELD_ATTR *sort_field,
+ uint make_sort_key(uchar *to, Item *item, const SORT_FIELD_ATTR *sort_field,
Sort_param *param) const override;
- void sortlength(THD *thd,
- const Type_std_attributes *item,
- SORT_FIELD_ATTR *attr) const override;
+ uint make_packed_sort_key(uchar *to, Item *item,
+ const SORT_FIELD_ATTR *sort_field,
+ Sort_param *param) const override;
+
+ void sort_length(THD *thd,
+ const Type_std_attributes *item,
+ SORT_FIELD_ATTR *attr) const override;
bool Item_const_eq(const Item_const *a, const Item_const *b,
bool binary_cmp) const override;
bool Item_eq_value(THD *thd, const Type_cmp_attributes *attr,
@@ -4588,8 +4629,11 @@ class Type_handler_decimal_result: public Type_handler_numeric
bool show_field) const override;
Field *make_num_distinct_aggregator_field(MEM_ROOT *, const Item *)
const override;
- void make_sort_key(uchar *to, Item *item, const SORT_FIELD_ATTR *sort_field,
+ uint make_sort_key(uchar *to, Item *item, const SORT_FIELD_ATTR *sort_field,
Sort_param *param) const override;
+ uint make_packed_sort_key(uchar *to, Item *item,
+ const SORT_FIELD_ATTR *sort_field,
+ Sort_param *param) const override;
void
Column_definition_attributes_frm_pack(const Column_definition_attributes *at,
uchar *buff) const override;
@@ -4599,9 +4643,9 @@ class Type_handler_decimal_result: public Type_handler_numeric
const uchar *buffer,
LEX_CUSTRING *gis_options)
const override;
- void sortlength(THD *thd,
- const Type_std_attributes *item,
- SORT_FIELD_ATTR *attr) const override;
+ void sort_length(THD *thd,
+ const Type_std_attributes *item,
+ SORT_FIELD_ATTR *attr) const override;
uint32 max_display_length(const Item *item) const override;
uint32 Item_decimal_notation_int_digits(const Item *item) const override;
Item *create_typecast_item(THD *thd, Item *item,
@@ -4838,14 +4882,17 @@ class Type_handler_int_result: public Type_handler_numeric
const Record_addr &addr,
const Type_all_attributes &attr,
TABLE_SHARE *share) const override;
- void make_sort_key(uchar *to, Item *item, const SORT_FIELD_ATTR *sort_field,
+ uint make_sort_key(uchar *to, Item *item, const SORT_FIELD_ATTR *sort_field,
Sort_param *param) const override;
+ uint make_packed_sort_key(uchar *to, Item *item,
+ const SORT_FIELD_ATTR *sort_field,
+ Sort_param *param) const override;
void
Column_definition_attributes_frm_pack(const Column_definition_attributes *at,
uchar *buff) const override;
- void sortlength(THD *thd,
- const Type_std_attributes *item,
- SORT_FIELD_ATTR *attr) const override;
+ void sort_length(THD *thd,
+ const Type_std_attributes *item,
+ SORT_FIELD_ATTR *attr) const override;
bool Item_const_eq(const Item_const *a, const Item_const *b,
bool binary_cmp) const override;
bool Item_eq_value(THD *thd, const Type_cmp_attributes *attr,
@@ -4945,11 +4992,14 @@ class Type_handler_temporal_result: public Type_handler
void
Column_definition_attributes_frm_pack(const Column_definition_attributes *at,
uchar *buff) const override;
- void make_sort_key(uchar *to, Item *item, const SORT_FIELD_ATTR *sort_field,
+ uint make_sort_key(uchar *to, Item *item, const SORT_FIELD_ATTR *sort_field,
Sort_param *param) const override;
- void sortlength(THD *thd,
- const Type_std_attributes *item,
- SORT_FIELD_ATTR *attr) const override;
+ uint make_packed_sort_key(uchar *to, Item *item,
+ const SORT_FIELD_ATTR *sort_field,
+ Sort_param *param) const override;
+ void sort_length(THD *thd,
+ const Type_std_attributes *item,
+ SORT_FIELD_ATTR *attr) const override;
bool Item_const_eq(const Item_const *a, const Item_const *b,
bool binary_cmp) const override;
bool Item_param_set_from_value(THD *thd,
@@ -5034,11 +5084,18 @@ class Type_handler_string_result: public Type_handler
const Type_handler *
type_handler_adjusted_to_max_octet_length(uint max_octet_length,
CHARSET_INFO *cs) const override;
- void make_sort_key(uchar *to, Item *item, const SORT_FIELD_ATTR *sort_field,
+ uint make_sort_key(uchar *to, Item *item, const SORT_FIELD_ATTR *sort_field,
Sort_param *param) const override;
- void sortlength(THD *thd,
- const Type_std_attributes *item,
- SORT_FIELD_ATTR *attr) const override;
+ uint make_packed_sort_key(uchar *to, Item *item,
+ const SORT_FIELD_ATTR *sort_field,
+ Sort_param *param) const override;
+ void sort_length(THD *thd,
+ const Type_std_attributes *item,
+ SORT_FIELD_ATTR *attr) const override;
+ int compare_packed_keys(uchar *a, size_t *a_len,
+ uchar *b, size_t *b_len,
+ const SORT_FIELD *sortorder) const override;
+ bool is_packable()const override { return true; }
bool union_element_finalize(const Item * item) const override;
uint calc_key_length(const Column_definition &def) const override;
bool Column_definition_prepare_stage1(THD *thd,
@@ -6230,11 +6287,14 @@ class Type_handler_timestamp_common: public Type_handler_temporal_with_date
cmp_item *make_cmp_item(THD *thd, CHARSET_INFO *cs) const override;
in_vector *make_in_vector(THD *thd, const Item_func_in *f, uint nargs)
const override;
- void make_sort_key(uchar *to, Item *item, const SORT_FIELD_ATTR *sort_field,
+ uint make_sort_key(uchar *to, Item *item, const SORT_FIELD_ATTR *sort_field,
Sort_param *param) const override;
- void sortlength(THD *thd,
- const Type_std_attributes *item,
- SORT_FIELD_ATTR *attr) const override;
+ uint make_packed_sort_key(uchar *to, Item *item,
+ const SORT_FIELD_ATTR *sort_field,
+ Sort_param *param) const override;
+ void sort_length(THD *thd,
+ const Type_std_attributes *item,
+ SORT_FIELD_ATTR *attr) const override;
bool Column_definition_fix_attributes(Column_definition *c) const override;
uint Item_decimal_scale(const Item *item) const override
{
1
0
[Commits] 5118da10094: MDEV-21628: Index condition pushdown condition ... not used with BKA
by psergey 14 Feb '20
by psergey 14 Feb '20
14 Feb '20
revision-id: 5118da10094fea1905122f07f7757a055dd29383 (mariadb-10.4.11-70-g5118da10094)
parent(s): c400a73d7a722f009b16a3ffddccf7f052abba31
author: Sergei Petrunia
committer: Sergei Petrunia
timestamp: 2020-02-14 20:27:06 +0300
message:
MDEV-21628: Index condition pushdown condition ... not used with BKA
Partitioning storage now supports MRR but doesn't support Index Condition
Pushdown (aka ICP). This causes counter-intuitive query plans for queries
that use BKA and conditions that depend on index fields:
- If the condition refers to other tables, BKA's variant of ICP is used
to handle it.
- If the condition depends on this table only, the optimizer will try to
use regular ICP for it, which will fail because the storage engine
doesn't support ICP.
Make the optimizer be smarter in the second case: if we were not able to
use regular ICP, use BKA's variant of ICP..
---
mysql-test/main/partition_mrr_myisam.result | 59 +++++++++++++++++++++++++++++
mysql-test/main/partition_mrr_myisam.test | 59 +++++++++++++++++++++++++++++
sql/opt_index_cond_pushdown.cc | 15 ++++++++
3 files changed, 133 insertions(+)
diff --git a/mysql-test/main/partition_mrr_myisam.result b/mysql-test/main/partition_mrr_myisam.result
index 1f1cea8e9d6..d989536324c 100644
--- a/mysql-test/main/partition_mrr_myisam.result
+++ b/mysql-test/main/partition_mrr_myisam.result
@@ -77,3 +77,62 @@ ID part_id key_col col2
28 8 2 123456
29 9 2 123456
drop table t1,t3;
+#
+# MDEV-21628: Index condition pushdown for a simple condition over
+# index fields is not used for ref access of partitioned tables when employing BKA
+#
+create table t0 (
+tp int, a int, b int, c varchar(12), index idx (a,b)
+);
+insert into t0 values
+(1,3,30,'yyzy'), (1,3,30,'yxxyy'), (1,3,30,'yyxy'), (1,3,30,'xxyy'),
+(1,3,30,'yyxz'), (1,3,30,'yyzz'), (1,3,30,'xxyzy'), (1,3,30,'yyyy'),
+(1,3,30,'yzzy'), (1,93,30,'zzzy'),
+(2,3,40,'yxx'), (2,4,40,'xx'), (2,3,10,'zxz'),
+(2,3,40,'yyx'), (2,4,40,'xxx'), (2,3,10,'zyyz'),
+(2,3,40,'xzzzz'), (2,4,40,'yyyxx'), (2,3,10,'zyz'),
+(2,3,40,'xxx'), (2,4,40,'xx'), (2,3,10,'zzz'),
+(2,3,40,'yyxzx'), (2,4,40,'xyx'), (2,3,10,'xzz'),
+(2,3,40,'xxxzz'), (2,4,40,'xxz'), (2,3,10,'zzzy'),
+(2,3,40,'zzxxx'), (2,4,40,'zxx'), (2,3,10,'yzzz'),
+(2,3,40,'xyyxx'), (2,4,40,'xzzzx'), (2,3,10,'zzxxz'),
+(2,3,40,'yzxxx'), (2,4,40,'xxzy'), (2,3,10,'zzzyx'),
+(2,93,40,'xzx'), (2,94,40,'xz'), (2,93,10,'zyyyz'),
+(3,4,30,'yx'), (3,4,30,'yyxxx'), (3,4,30,'zzyy'), (3,4,30,'zxyy'),
+(3,4,30,'xxyy'), (3,4,30,'yyzx'), (3,4,30,'zyyy'), (3,4,30,'yzy'),
+(3,4,30,'zzzyy'), (3,94,30,'yyz');
+create table t1 (
+tp int, a int, b int, c varchar(12), index idx (a,b)
+) engine=myisam
+partition by list (tp)
+( partition p1 values in (1),
+partition p2 values in (2),
+partition p3 values in (3));
+insert into t1 select * from t0;
+create table t2 (a int, index idx(a)) engine=myisam;
+insert into t2 values (1), (2), (3), (4), (5);
+insert into t2 select a+10 from t2;
+insert into t2 select a+20 from t2;
+analyze table t0,t1,t2;
+Table Op Msg_type Msg_text
+test.t0 analyze status Engine-independent statistics collected
+test.t0 analyze status OK
+test.t1 analyze status Engine-independent statistics collected
+test.t1 analyze status OK
+test.t2 analyze status Engine-independent statistics collected
+test.t2 analyze status OK
+set @tmp1=@@join_cache_level, @tmp2=@@optimizer_switch;
+set join_cache_level=6, optimizer_switch='mrr=on';
+explain
+select * from t0,t2 where t2.a in (3,4) and t0.a=t2.a and (t0.b / 10) = 4;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 range idx idx 5 NULL 2 Using where; Using index
+1 SIMPLE t0 ref idx idx 5 test.t2.a 12 Using index condition; Using join buffer (flat, BKA join); Rowid-ordered scan
+# This will use "Using index condition(BKA)"
+explain
+select * from t1,t2 where t2.a in (3,4) and t1.a=t2.a and (t1.b / 10) = 4;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 range idx idx 5 NULL 2 Using where; Using index
+1 SIMPLE t1 ref idx idx 5 test.t2.a 12 Using index condition(BKA); Using join buffer (flat, BKA join); Rowid-ordered scan
+set join_cache_level=@tmp1, optimizer_switch=@tmp2;
+drop table t0,t1,t2;
diff --git a/mysql-test/main/partition_mrr_myisam.test b/mysql-test/main/partition_mrr_myisam.test
index d67a37ab3d2..eb30319d81f 100644
--- a/mysql-test/main/partition_mrr_myisam.test
+++ b/mysql-test/main/partition_mrr_myisam.test
@@ -1,3 +1,62 @@
let $engine_type= myisam;
--source include/partition_mrr.inc
+
+--echo #
+--echo # MDEV-21628: Index condition pushdown for a simple condition over
+--echo # index fields is not used for ref access of partitioned tables when employing BKA
+--echo #
+
+create table t0 (
+tp int, a int, b int, c varchar(12), index idx (a,b)
+);
+
+insert into t0 values
+(1,3,30,'yyzy'), (1,3,30,'yxxyy'), (1,3,30,'yyxy'), (1,3,30,'xxyy'),
+(1,3,30,'yyxz'), (1,3,30,'yyzz'), (1,3,30,'xxyzy'), (1,3,30,'yyyy'),
+(1,3,30,'yzzy'), (1,93,30,'zzzy'),
+(2,3,40,'yxx'), (2,4,40,'xx'), (2,3,10,'zxz'),
+(2,3,40,'yyx'), (2,4,40,'xxx'), (2,3,10,'zyyz'),
+(2,3,40,'xzzzz'), (2,4,40,'yyyxx'), (2,3,10,'zyz'),
+(2,3,40,'xxx'), (2,4,40,'xx'), (2,3,10,'zzz'),
+(2,3,40,'yyxzx'), (2,4,40,'xyx'), (2,3,10,'xzz'),
+(2,3,40,'xxxzz'), (2,4,40,'xxz'), (2,3,10,'zzzy'),
+(2,3,40,'zzxxx'), (2,4,40,'zxx'), (2,3,10,'yzzz'),
+(2,3,40,'xyyxx'), (2,4,40,'xzzzx'), (2,3,10,'zzxxz'),
+(2,3,40,'yzxxx'), (2,4,40,'xxzy'), (2,3,10,'zzzyx'),
+(2,93,40,'xzx'), (2,94,40,'xz'), (2,93,10,'zyyyz'),
+(3,4,30,'yx'), (3,4,30,'yyxxx'), (3,4,30,'zzyy'), (3,4,30,'zxyy'),
+(3,4,30,'xxyy'), (3,4,30,'yyzx'), (3,4,30,'zyyy'), (3,4,30,'yzy'),
+(3,4,30,'zzzyy'), (3,94,30,'yyz');
+
+create table t1 (
+tp int, a int, b int, c varchar(12), index idx (a,b)
+) engine=myisam
+partition by list (tp)
+( partition p1 values in (1),
+ partition p2 values in (2),
+ partition p3 values in (3));
+insert into t1 select * from t0;
+
+create table t2 (a int, index idx(a)) engine=myisam;
+insert into t2 values (1), (2), (3), (4), (5);
+insert into t2 select a+10 from t2;
+insert into t2 select a+20 from t2;
+
+analyze table t0,t1,t2;
+
+set @tmp1=@@join_cache_level, @tmp2=@@optimizer_switch;
+set join_cache_level=6, optimizer_switch='mrr=on';
+
+explain
+select * from t0,t2 where t2.a in (3,4) and t0.a=t2.a and (t0.b / 10) = 4;
+
+--echo # This will use "Using index condition(BKA)"
+explain
+select * from t1,t2 where t2.a in (3,4) and t1.a=t2.a and (t1.b / 10) = 4;
+
+set join_cache_level=@tmp1, optimizer_switch=@tmp2;
+
+drop table t0,t1,t2;
+
+
diff --git a/sql/opt_index_cond_pushdown.cc b/sql/opt_index_cond_pushdown.cc
index a87d5664e29..f8d11da1d5e 100644
--- a/sql/opt_index_cond_pushdown.cc
+++ b/sql/opt_index_cond_pushdown.cc
@@ -390,8 +390,23 @@ void push_index_cond(JOIN_TAB *tab, uint keyno)
~(tab->table->map | tab->join->const_table_map)))
tab->cache_idx_cond= idx_cond;
else
+ {
idx_remainder_cond= tab->table->file->idx_cond_push(keyno, idx_cond);
+ /*
+ If (1) there is an index condition that we couldn't push using ICP,
+ (2) we are using Join Buffering
+ (3) and we are using BKA
+ then use BKA's Index Condition Pushdown mechanism to check it.
+ */
+ if (idx_remainder_cond && tab->use_join_cache && // (1) && (2)
+ tab->icp_other_tables_ok) // (3)
+ {
+ tab->cache_idx_cond= idx_remainder_cond;
+ idx_remainder_cond= NULL;
+ }
+ }
+
/*
Disable eq_ref's "lookup cache" if we've pushed down an index
condition.
1
0
[Commits] a906aae: MDEV-21610 Different query results from 10.4.11 to 10.4.12
by IgorBabaev 14 Feb '20
by IgorBabaev 14 Feb '20
14 Feb '20
revision-id: a906aaee26a7be57fe2db62214179476ec124486 (mariadb-10.4.11-38-ga906aae)
parent(s): 7ea413ac2d80c7f03d1dbad90ac30ecddd8b2835
author: Igor Babaev
committer: Igor Babaev
timestamp: 2020-02-13 22:55:56 -0800
message:
MDEV-21610 Different query results from 10.4.11 to 10.4.12
This patch fixes the following defects/bugs.
1. If BKA[H] algorithm was used to join a table for which the optimizer
had decided to employ a rowid filter the filter actually was not built.
2. The patch for the bug MDEV-21356 that added the code canceling pushing
rowid filter into an engine for the table joined with employment of
BKA[H] and MRR was not quite correct for Innodb engine because this
cancellation was done after InnoDB code had already bound the the pushed
filter to internal InnoDB structures.
---
mysql-test/main/rowid_filter_innodb.result | 333 +++++++++++++++++++++++++++++
mysql-test/main/rowid_filter_innodb.test | 153 +++++++++++++
sql/multi_range_read.cc | 39 ++--
sql/multi_range_read.h | 5 +-
sql/opt_range.cc | 3 +-
sql/sql_join_cache.cc | 2 +
6 files changed, 515 insertions(+), 20 deletions(-)
diff --git a/mysql-test/main/rowid_filter_innodb.result b/mysql-test/main/rowid_filter_innodb.result
index c59b95b..9423fb1 100644
--- a/mysql-test/main/rowid_filter_innodb.result
+++ b/mysql-test/main/rowid_filter_innodb.result
@@ -2522,3 +2522,336 @@ id select_type table type possible_keys key key_len ref rows r_rows filtered r_f
1 SIMPLE t1 index a,b PRIMARY 4 NULL 3008 3008.00 1.36 0.00 Using where
DROP TABLE t1;
SET global innodb_stats_persistent= @stats.save;
+#
+# MDEV-21610: Using rowid filter with BKA+MRR
+#
+set @stats.save= @@innodb_stats_persistent;
+set global innodb_stats_persistent=on;
+CREATE TABLE acli (
+id bigint(20) NOT NULL,
+rid varchar(255) NOT NULL,
+tp smallint(6) NOT NULL DEFAULT 0,
+PRIMARY KEY (id),
+KEY acli_rid (rid),
+KEY acli_tp (tp)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+insert into acli(id,rid,tp) values
+(184929059698905997,'ABABABABABABABABAB',103),
+(184929059698905998,'ABABABABABABABABAB',121),
+(283586039035985921,'00000000000000000000000000000000',103),
+(2216474704108064678,'020BED6D07B741CE9B10AB2200FEF1DF',103),
+(2216474704108064679,'020BED6D07B741CE9B10AB2200FEF1DF',121),
+(3080602882609775593,'B5FCC8C7111E4E3CBC21AAF5012F59C2',103),
+(3080602882609775594,'B5FCC8C7111E4E3CBC21AAF5012F59C2',121),
+(3080602882609776594,'B5FCC8C7111E4E3CBC21AAF5012F59C2',121),
+(3080602882609777595,'B5FCC8C7111E4E3CBC21AAF5012F59C2',121),
+(4269412446747236214,'SCSCSCSCSCSCSCSC',103),
+(4269412446747236215,'SCSCSCSCSCSCSCSC',121),
+(6341490487802728356,'6072D47E513F4A4794BBAB2200FDB67D',103),
+(6341490487802728357,'6072D47E513F4A4794BBAB2200FDB67D',121);
+CREATE TABLE acei (
+id bigint(20) NOT NULL,
+aclid bigint(20) NOT NULL DEFAULT 0,
+atp smallint(6) NOT NULL DEFAULT 0,
+clus smallint(6) NOT NULL DEFAULT 0,
+PRIMARY KEY (id),
+KEY acei_aclid (aclid),
+KEY acei_clus (clus)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+insert into acei(id,aclid,atp,clus) values
+(184929059698905999,184929059698905997,0,1),
+(184929059698906000,184929059698905997,0,1),
+(184929059698906001,184929059698905997,1,1),
+(184929059698906002,184929059698905998,1,1),
+(283586039035985922,283586039035985921,1,1),
+(2216474704108064684,2216474704108064678,0,1),
+(2216474704108064685,2216474704108064678,0,1),
+(2216474704108064686,2216474704108064678,1,1),
+(2216474704108064687,2216474704108064679,1,1),
+(3080602882609775595,3080602882609775593,0,1),
+(3080602882609775596,3080602882609775593,0,1),
+(3080602882609775597,3080602882609775593,1,1),
+(3080602882609775598,3080602882609775594,1,1),
+(3080602882609776595,3080602882609776594,1,1),
+(3080602882609777596,3080602882609777595,1,1),
+(4269412446747236216,4269412446747236214,0,1),
+(4269412446747236217,4269412446747236214,0,1),
+(4269412446747236218,4269412446747236214,1,1),
+(4269412446747236219,4269412446747236215,1,1),
+(6341490487802728358,6341490487802728356,0,1),
+(6341490487802728359,6341490487802728356,0,1),
+(6341490487802728360,6341490487802728356,1,1),
+(6341490487802728361,6341490487802728357,1,1);
+CREATE TABLE filt (
+id bigint(20) NOT NULL,
+aceid bigint(20) NOT NULL DEFAULT 0,
+clid smallint(6) NOT NULL DEFAULT 0,
+fh bigint(20) NOT NULL DEFAULT 0,
+PRIMARY KEY (id),
+KEY filt_aceid (aceid),
+KEY filt_clid (clid),
+KEY filt_fh (fh)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+insert into filt(id,aceid,clid,fh) values
+(184929059698905999,184929059698905999,1,8948400944397203540),
+(184929059698906000,184929059698906000,1,-3516039679025944536),
+(184929059698906001,184929059698906001,1,-3516039679025944536),
+(184929059698906002,184929059698906001,1,2965370193075218252),
+(184929059698906003,184929059698906001,1,8948400944397203540),
+(184929059698906004,184929059698906002,1,2478709353550777738),
+(283586039035985922,283586039035985922,1,5902600816362013271),
+(2216474704108064686,2216474704108064684,1,8948400944397203540),
+(2216474704108064687,2216474704108064685,1,-7244708939311117030),
+(2216474704108064688,2216474704108064686,1,-7244708939311117030),
+(2216474704108064689,2216474704108064686,1,7489060986210282479),
+(2216474704108064690,2216474704108064686,1,8948400944397203540),
+(2216474704108064691,2216474704108064687,1,-3575268945274980038),
+(3080602882609775595,3080602882609775595,1,8948400944397203540),
+(3080602882609775596,3080602882609775596,1,-5420422472375069774),
+(3080602882609775597,3080602882609775597,1,-5420422472375069774),
+(3080602882609775598,3080602882609775597,1,8518228073041491534),
+(3080602882609775599,3080602882609775597,1,8948400944397203540),
+(3080602882609775600,3080602882609775598,1,6311439873746261694),
+(3080602882609775601,3080602882609775598,1,6311439873746261694),
+(3080602882609776595,3080602882609776595,1,-661101805245999843),
+(3080602882609777596,3080602882609777596,1,-661101805245999843),
+(3080602882609777597,3080602882609777596,1,2216865386202464067),
+(4269412446747236216,4269412446747236216,1,8948400944397203540),
+(4269412446747236217,4269412446747236217,1,-1143096194892676000),
+(4269412446747236218,4269412446747236218,1,-1143096194892676000),
+(4269412446747236219,4269412446747236218,1,5313391811364818290),
+(4269412446747236220,4269412446747236218,1,8948400944397203540),
+(4269412446747236221,4269412446747236219,1,7624499822621753835),
+(6341490487802728358,6341490487802728358,1,8948400944397203540),
+(6341490487802728359,6341490487802728359,1,8141092449587136068),
+(6341490487802728360,6341490487802728360,1,8141092449587136068),
+(6341490487802728361,6341490487802728360,1,1291319099896431785),
+(6341490487802728362,6341490487802728360,1,8948400944397203540),
+(6341490487802728363,6341490487802728361,1,6701841652906431497);
+analyze table filt, acei, acli;
+Table Op Msg_type Msg_text
+test.filt analyze status Engine-independent statistics collected
+test.filt analyze status OK
+test.acei analyze status Engine-independent statistics collected
+test.acei analyze status OK
+test.acli analyze status Engine-independent statistics collected
+test.acli analyze status OK
+set @save_optimizer_switch=@@optimizer_switch;
+set @save_join_cache_level=@@join_cache_level;
+set optimizer_switch='mrr=off';
+set join_cache_level=2;
+set statement optimizer_switch='rowid_filter=off' for explain extended select t.id, fi.*
+from (acli t inner join acei a on a.aclid = t.id)
+inner join filt fi on a.id = fi.aceid
+where
+t.rid = 'B5FCC8C7111E4E3CBC21AAF5012F59C2' and
+t.tp = 121 and
+a.atp = 1 and
+fi.fh in (6311439873746261694,-397087483897438286,
+8518228073041491534,-5420422472375069774);
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t index_merge PRIMARY,acli_rid,acli_tp acli_tp,acli_rid 2,767 NULL 2 100.00 Using intersect(acli_tp,acli_rid); Using where; Using index
+1 SIMPLE a ref PRIMARY,acei_aclid acei_aclid 8 test.t.id 1 100.00 Using where
+1 SIMPLE fi ref filt_aceid,filt_fh filt_aceid 8 test.a.id 1 17.14 Using where
+Warnings:
+Note 1003 select `test`.`t`.`id` AS `id`,`test`.`fi`.`id` AS `id`,`test`.`fi`.`aceid` AS `aceid`,`test`.`fi`.`clid` AS `clid`,`test`.`fi`.`fh` AS `fh` from `test`.`acli` `t` join `test`.`acei` `a` join `test`.`filt` `fi` where `test`.`t`.`tp` = 121 and `test`.`a`.`atp` = 1 and `test`.`fi`.`aceid` = `test`.`a`.`id` and `test`.`a`.`aclid` = `test`.`t`.`id` and `test`.`t`.`rid` = 'B5FCC8C7111E4E3CBC21AAF5012F59C2' and `test`.`fi`.`fh` in (6311439873746261694,-397087483897438286,8518228073041491534,-5420422472375069774)
+set statement optimizer_switch='rowid_filter=off' for select t.id, fi.*
+from (acli t inner join acei a on a.aclid = t.id)
+inner join filt fi on a.id = fi.aceid
+where
+t.rid = 'B5FCC8C7111E4E3CBC21AAF5012F59C2' and
+t.tp = 121 and
+a.atp = 1 and
+fi.fh in (6311439873746261694,-397087483897438286,
+8518228073041491534,-5420422472375069774);
+id id aceid clid fh
+3080602882609775594 3080602882609775600 3080602882609775598 1 6311439873746261694
+3080602882609775594 3080602882609775601 3080602882609775598 1 6311439873746261694
+set statement optimizer_switch='rowid_filter=on' for explain extended select t.id, fi.*
+from (acli t inner join acei a on a.aclid = t.id)
+inner join filt fi on a.id = fi.aceid
+where
+t.rid = 'B5FCC8C7111E4E3CBC21AAF5012F59C2' and
+t.tp = 121 and
+a.atp = 1 and
+fi.fh in (6311439873746261694,-397087483897438286,
+8518228073041491534,-5420422472375069774);
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t index_merge PRIMARY,acli_rid,acli_tp acli_tp,acli_rid 2,767 NULL 2 100.00 Using intersect(acli_tp,acli_rid); Using where; Using index
+1 SIMPLE a ref PRIMARY,acei_aclid acei_aclid 8 test.t.id 1 100.00 Using where
+1 SIMPLE fi ref|filter filt_aceid,filt_fh filt_aceid|filt_fh 8|8 test.a.id 1 (17%) 17.14 Using where; Using rowid filter
+Warnings:
+Note 1003 select `test`.`t`.`id` AS `id`,`test`.`fi`.`id` AS `id`,`test`.`fi`.`aceid` AS `aceid`,`test`.`fi`.`clid` AS `clid`,`test`.`fi`.`fh` AS `fh` from `test`.`acli` `t` join `test`.`acei` `a` join `test`.`filt` `fi` where `test`.`t`.`tp` = 121 and `test`.`a`.`atp` = 1 and `test`.`fi`.`aceid` = `test`.`a`.`id` and `test`.`a`.`aclid` = `test`.`t`.`id` and `test`.`t`.`rid` = 'B5FCC8C7111E4E3CBC21AAF5012F59C2' and `test`.`fi`.`fh` in (6311439873746261694,-397087483897438286,8518228073041491534,-5420422472375069774)
+set statement optimizer_switch='rowid_filter=on' for select t.id, fi.*
+from (acli t inner join acei a on a.aclid = t.id)
+inner join filt fi on a.id = fi.aceid
+where
+t.rid = 'B5FCC8C7111E4E3CBC21AAF5012F59C2' and
+t.tp = 121 and
+a.atp = 1 and
+fi.fh in (6311439873746261694,-397087483897438286,
+8518228073041491534,-5420422472375069774);
+id id aceid clid fh
+3080602882609775594 3080602882609775600 3080602882609775598 1 6311439873746261694
+3080602882609775594 3080602882609775601 3080602882609775598 1 6311439873746261694
+set optimizer_switch='mrr=on';
+set join_cache_level=6;
+set statement optimizer_switch='rowid_filter=off' for explain extended select t.id, fi.*
+from (acli t inner join acei a on a.aclid = t.id)
+inner join filt fi on a.id = fi.aceid
+where
+t.rid = 'B5FCC8C7111E4E3CBC21AAF5012F59C2' and
+t.tp = 121 and
+a.atp = 1 and
+fi.fh in (6311439873746261694,-397087483897438286,
+8518228073041491534,-5420422472375069774);
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t index_merge PRIMARY,acli_rid,acli_tp acli_tp,acli_rid 2,767 NULL 2 100.00 Using intersect(acli_tp,acli_rid); Using where; Using index
+1 SIMPLE a ref PRIMARY,acei_aclid acei_aclid 8 test.t.id 1 100.00 Using where; Using join buffer (flat, BKA join); Rowid-ordered scan
+1 SIMPLE fi ref filt_aceid,filt_fh filt_aceid 8 test.a.id 1 17.14 Using where; Using join buffer (incremental, BKA join); Rowid-ordered scan
+Warnings:
+Note 1003 select `test`.`t`.`id` AS `id`,`test`.`fi`.`id` AS `id`,`test`.`fi`.`aceid` AS `aceid`,`test`.`fi`.`clid` AS `clid`,`test`.`fi`.`fh` AS `fh` from `test`.`acli` `t` join `test`.`acei` `a` join `test`.`filt` `fi` where `test`.`t`.`tp` = 121 and `test`.`a`.`atp` = 1 and `test`.`fi`.`aceid` = `test`.`a`.`id` and `test`.`a`.`aclid` = `test`.`t`.`id` and `test`.`t`.`rid` = 'B5FCC8C7111E4E3CBC21AAF5012F59C2' and `test`.`fi`.`fh` in (6311439873746261694,-397087483897438286,8518228073041491534,-5420422472375069774)
+set statement optimizer_switch='rowid_filter=off' for select t.id, fi.*
+from (acli t inner join acei a on a.aclid = t.id)
+inner join filt fi on a.id = fi.aceid
+where
+t.rid = 'B5FCC8C7111E4E3CBC21AAF5012F59C2' and
+t.tp = 121 and
+a.atp = 1 and
+fi.fh in (6311439873746261694,-397087483897438286,
+8518228073041491534,-5420422472375069774);
+id id aceid clid fh
+3080602882609775594 3080602882609775600 3080602882609775598 1 6311439873746261694
+3080602882609775594 3080602882609775601 3080602882609775598 1 6311439873746261694
+set statement optimizer_switch='rowid_filter=on' for explain extended select t.id, fi.*
+from (acli t inner join acei a on a.aclid = t.id)
+inner join filt fi on a.id = fi.aceid
+where
+t.rid = 'B5FCC8C7111E4E3CBC21AAF5012F59C2' and
+t.tp = 121 and
+a.atp = 1 and
+fi.fh in (6311439873746261694,-397087483897438286,
+8518228073041491534,-5420422472375069774);
+id select_type table type possible_keys key key_len ref rows filtered Extra
+1 SIMPLE t index_merge PRIMARY,acli_rid,acli_tp acli_tp,acli_rid 2,767 NULL 2 100.00 Using intersect(acli_tp,acli_rid); Using where; Using index
+1 SIMPLE a ref PRIMARY,acei_aclid acei_aclid 8 test.t.id 1 100.00 Using where; Using join buffer (flat, BKA join); Rowid-ordered scan
+1 SIMPLE fi ref|filter filt_aceid,filt_fh filt_aceid|filt_fh 8|8 test.a.id 1 (17%) 17.14 Using where; Using join buffer (incremental, BKA join); Rowid-ordered scan; Using rowid filter
+Warnings:
+Note 1003 select `test`.`t`.`id` AS `id`,`test`.`fi`.`id` AS `id`,`test`.`fi`.`aceid` AS `aceid`,`test`.`fi`.`clid` AS `clid`,`test`.`fi`.`fh` AS `fh` from `test`.`acli` `t` join `test`.`acei` `a` join `test`.`filt` `fi` where `test`.`t`.`tp` = 121 and `test`.`a`.`atp` = 1 and `test`.`fi`.`aceid` = `test`.`a`.`id` and `test`.`a`.`aclid` = `test`.`t`.`id` and `test`.`t`.`rid` = 'B5FCC8C7111E4E3CBC21AAF5012F59C2' and `test`.`fi`.`fh` in (6311439873746261694,-397087483897438286,8518228073041491534,-5420422472375069774)
+set statement optimizer_switch='rowid_filter=on' for select t.id, fi.*
+from (acli t inner join acei a on a.aclid = t.id)
+inner join filt fi on a.id = fi.aceid
+where
+t.rid = 'B5FCC8C7111E4E3CBC21AAF5012F59C2' and
+t.tp = 121 and
+a.atp = 1 and
+fi.fh in (6311439873746261694,-397087483897438286,
+8518228073041491534,-5420422472375069774);
+id id aceid clid fh
+3080602882609775594 3080602882609775600 3080602882609775598 1 6311439873746261694
+3080602882609775594 3080602882609775601 3080602882609775598 1 6311439873746261694
+set statement optimizer_switch='rowid_filter=on' for analyze format=json select t.id, fi.*
+from (acli t inner join acei a on a.aclid = t.id)
+inner join filt fi on a.id = fi.aceid
+where
+t.rid = 'B5FCC8C7111E4E3CBC21AAF5012F59C2' and
+t.tp = 121 and
+a.atp = 1 and
+fi.fh in (6311439873746261694,-397087483897438286,
+8518228073041491534,-5420422472375069774);
+ANALYZE
+{
+ "query_block": {
+ "select_id": 1,
+ "r_loops": 1,
+ "r_total_time_ms": "REPLACED",
+ "table": {
+ "table_name": "t",
+ "access_type": "index_merge",
+ "possible_keys": ["PRIMARY", "acli_rid", "acli_tp"],
+ "key_length": "2,767",
+ "index_merge": {
+ "intersect": {
+ "range": {
+ "key": "acli_tp",
+ "used_key_parts": ["tp"]
+ },
+ "range": {
+ "key": "acli_rid",
+ "used_key_parts": ["rid"]
+ }
+ }
+ },
+ "r_loops": 1,
+ "rows": 2,
+ "r_rows": 3,
+ "r_total_time_ms": "REPLACED",
+ "filtered": 100,
+ "r_filtered": 100,
+ "attached_condition": "t.tp = 121 and t.rid = 'B5FCC8C7111E4E3CBC21AAF5012F59C2'",
+ "using_index": true
+ },
+ "block-nl-join": {
+ "table": {
+ "table_name": "a",
+ "access_type": "ref",
+ "possible_keys": ["PRIMARY", "acei_aclid"],
+ "key": "acei_aclid",
+ "key_length": "8",
+ "used_key_parts": ["aclid"],
+ "ref": ["test.t.id"],
+ "r_loops": 1,
+ "rows": 1,
+ "r_rows": 3,
+ "r_total_time_ms": "REPLACED",
+ "filtered": 100,
+ "r_filtered": 100
+ },
+ "buffer_type": "flat",
+ "buffer_size": "8Kb",
+ "join_type": "BKA",
+ "mrr_type": "Rowid-ordered scan",
+ "attached_condition": "a.atp = 1",
+ "r_filtered": 100
+ },
+ "block-nl-join": {
+ "table": {
+ "table_name": "fi",
+ "access_type": "ref",
+ "possible_keys": ["filt_aceid", "filt_fh"],
+ "key": "filt_aceid",
+ "key_length": "8",
+ "used_key_parts": ["aceid"],
+ "ref": ["test.a.id"],
+ "rowid_filter": {
+ "range": {
+ "key": "filt_fh",
+ "used_key_parts": ["fh"]
+ },
+ "rows": 6,
+ "selectivity_pct": 17.143,
+ "r_rows": 5,
+ "r_selectivity_pct": 40,
+ "r_buffer_size": "REPLACED",
+ "r_filling_time_ms": "REPLACED"
+ },
+ "r_loops": 1,
+ "rows": 1,
+ "r_rows": 2,
+ "r_total_time_ms": "REPLACED",
+ "filtered": 17.143,
+ "r_filtered": 100
+ },
+ "buffer_type": "incremental",
+ "buffer_size": "603",
+ "join_type": "BKA",
+ "mrr_type": "Rowid-ordered scan",
+ "attached_condition": "fi.fh in (6311439873746261694,-397087483897438286,8518228073041491534,-5420422472375069774)",
+ "r_filtered": 100
+ }
+ }
+}
+set optimizer_switch=@save_optimizer_switch;
+set join_cache_level=@save_join_cache_level;
+drop table filt, acei, acli;
+set global innodb_stats_persistent= @stats.save;
diff --git a/mysql-test/main/rowid_filter_innodb.test b/mysql-test/main/rowid_filter_innodb.test
index 30e0ede..74349b8 100644
--- a/mysql-test/main/rowid_filter_innodb.test
+++ b/mysql-test/main/rowid_filter_innodb.test
@@ -381,3 +381,156 @@ ORDER BY pk LIMIT 1;
DROP TABLE t1;
SET global innodb_stats_persistent= @stats.save;
+
+--echo #
+--echo # MDEV-21610: Using rowid filter with BKA+MRR
+--echo #
+
+set @stats.save= @@innodb_stats_persistent;
+set global innodb_stats_persistent=on;
+
+CREATE TABLE acli (
+ id bigint(20) NOT NULL,
+ rid varchar(255) NOT NULL,
+ tp smallint(6) NOT NULL DEFAULT 0,
+ PRIMARY KEY (id),
+ KEY acli_rid (rid),
+ KEY acli_tp (tp)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+insert into acli(id,rid,tp) values
+(184929059698905997,'ABABABABABABABABAB',103),
+(184929059698905998,'ABABABABABABABABAB',121),
+(283586039035985921,'00000000000000000000000000000000',103),
+(2216474704108064678,'020BED6D07B741CE9B10AB2200FEF1DF',103),
+(2216474704108064679,'020BED6D07B741CE9B10AB2200FEF1DF',121),
+(3080602882609775593,'B5FCC8C7111E4E3CBC21AAF5012F59C2',103),
+(3080602882609775594,'B5FCC8C7111E4E3CBC21AAF5012F59C2',121),
+(3080602882609776594,'B5FCC8C7111E4E3CBC21AAF5012F59C2',121),
+(3080602882609777595,'B5FCC8C7111E4E3CBC21AAF5012F59C2',121),
+(4269412446747236214,'SCSCSCSCSCSCSCSC',103),
+(4269412446747236215,'SCSCSCSCSCSCSCSC',121),
+(6341490487802728356,'6072D47E513F4A4794BBAB2200FDB67D',103),
+(6341490487802728357,'6072D47E513F4A4794BBAB2200FDB67D',121);
+
+CREATE TABLE acei (
+ id bigint(20) NOT NULL,
+ aclid bigint(20) NOT NULL DEFAULT 0,
+ atp smallint(6) NOT NULL DEFAULT 0,
+ clus smallint(6) NOT NULL DEFAULT 0,
+ PRIMARY KEY (id),
+ KEY acei_aclid (aclid),
+ KEY acei_clus (clus)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+insert into acei(id,aclid,atp,clus) values
+(184929059698905999,184929059698905997,0,1),
+(184929059698906000,184929059698905997,0,1),
+(184929059698906001,184929059698905997,1,1),
+(184929059698906002,184929059698905998,1,1),
+(283586039035985922,283586039035985921,1,1),
+(2216474704108064684,2216474704108064678,0,1),
+(2216474704108064685,2216474704108064678,0,1),
+(2216474704108064686,2216474704108064678,1,1),
+(2216474704108064687,2216474704108064679,1,1),
+(3080602882609775595,3080602882609775593,0,1),
+(3080602882609775596,3080602882609775593,0,1),
+(3080602882609775597,3080602882609775593,1,1),
+(3080602882609775598,3080602882609775594,1,1),
+(3080602882609776595,3080602882609776594,1,1),
+(3080602882609777596,3080602882609777595,1,1),
+(4269412446747236216,4269412446747236214,0,1),
+(4269412446747236217,4269412446747236214,0,1),
+(4269412446747236218,4269412446747236214,1,1),
+(4269412446747236219,4269412446747236215,1,1),
+(6341490487802728358,6341490487802728356,0,1),
+(6341490487802728359,6341490487802728356,0,1),
+(6341490487802728360,6341490487802728356,1,1),
+(6341490487802728361,6341490487802728357,1,1);
+
+CREATE TABLE filt (
+ id bigint(20) NOT NULL,
+ aceid bigint(20) NOT NULL DEFAULT 0,
+ clid smallint(6) NOT NULL DEFAULT 0,
+ fh bigint(20) NOT NULL DEFAULT 0,
+ PRIMARY KEY (id),
+ KEY filt_aceid (aceid),
+ KEY filt_clid (clid),
+ KEY filt_fh (fh)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+insert into filt(id,aceid,clid,fh) values
+(184929059698905999,184929059698905999,1,8948400944397203540),
+(184929059698906000,184929059698906000,1,-3516039679025944536),
+(184929059698906001,184929059698906001,1,-3516039679025944536),
+(184929059698906002,184929059698906001,1,2965370193075218252),
+(184929059698906003,184929059698906001,1,8948400944397203540),
+(184929059698906004,184929059698906002,1,2478709353550777738),
+(283586039035985922,283586039035985922,1,5902600816362013271),
+(2216474704108064686,2216474704108064684,1,8948400944397203540),
+(2216474704108064687,2216474704108064685,1,-7244708939311117030),
+(2216474704108064688,2216474704108064686,1,-7244708939311117030),
+(2216474704108064689,2216474704108064686,1,7489060986210282479),
+(2216474704108064690,2216474704108064686,1,8948400944397203540),
+(2216474704108064691,2216474704108064687,1,-3575268945274980038),
+(3080602882609775595,3080602882609775595,1,8948400944397203540),
+(3080602882609775596,3080602882609775596,1,-5420422472375069774),
+(3080602882609775597,3080602882609775597,1,-5420422472375069774),
+(3080602882609775598,3080602882609775597,1,8518228073041491534),
+(3080602882609775599,3080602882609775597,1,8948400944397203540),
+(3080602882609775600,3080602882609775598,1,6311439873746261694),
+(3080602882609775601,3080602882609775598,1,6311439873746261694),
+(3080602882609776595,3080602882609776595,1,-661101805245999843),
+(3080602882609777596,3080602882609777596,1,-661101805245999843),
+(3080602882609777597,3080602882609777596,1,2216865386202464067),
+(4269412446747236216,4269412446747236216,1,8948400944397203540),
+(4269412446747236217,4269412446747236217,1,-1143096194892676000),
+(4269412446747236218,4269412446747236218,1,-1143096194892676000),
+(4269412446747236219,4269412446747236218,1,5313391811364818290),
+(4269412446747236220,4269412446747236218,1,8948400944397203540),
+(4269412446747236221,4269412446747236219,1,7624499822621753835),
+(6341490487802728358,6341490487802728358,1,8948400944397203540),
+(6341490487802728359,6341490487802728359,1,8141092449587136068),
+(6341490487802728360,6341490487802728360,1,8141092449587136068),
+(6341490487802728361,6341490487802728360,1,1291319099896431785),
+(6341490487802728362,6341490487802728360,1,8948400944397203540),
+(6341490487802728363,6341490487802728361,1,6701841652906431497);
+
+analyze table filt, acei, acli;
+
+let $q=
+select t.id, fi.*
+from (acli t inner join acei a on a.aclid = t.id)
+ inner join filt fi on a.id = fi.aceid
+ where
+ t.rid = 'B5FCC8C7111E4E3CBC21AAF5012F59C2' and
+ t.tp = 121 and
+ a.atp = 1 and
+ fi.fh in (6311439873746261694,-397087483897438286,
+ 8518228073041491534,-5420422472375069774);
+
+set @save_optimizer_switch=@@optimizer_switch;
+set @save_join_cache_level=@@join_cache_level;
+
+set optimizer_switch='mrr=off';
+set join_cache_level=2;
+eval $without_filter explain extended $q;
+eval $without_filter $q;
+eval $with_filter explain extended $q;
+eval $with_filter $q;
+
+set optimizer_switch='mrr=on';
+set join_cache_level=6;
+eval $without_filter explain extended $q;
+eval $without_filter $q;
+eval $with_filter explain extended $q;
+eval $with_filter $q;
+--source include/analyze-format.inc
+eval $with_filter analyze format=json $q;
+
+set optimizer_switch=@save_optimizer_switch;
+set join_cache_level=@save_join_cache_level;
+
+drop table filt, acei, acli;
+
+set global innodb_stats_persistent= @stats.save;
diff --git a/sql/multi_range_read.cc b/sql/multi_range_read.cc
index 7e4c2ed..daeb53d 100644
--- a/sql/multi_range_read.cc
+++ b/sql/multi_range_read.cc
@@ -702,7 +702,8 @@ static int rowid_cmp_reverse(void *file, uchar *a, uchar *b)
int Mrr_ordered_rndpos_reader::init(handler *h_arg,
Mrr_index_reader *index_reader_arg,
uint mode,
- Lifo_buffer *buf)
+ Lifo_buffer *buf,
+ Rowid_filter *filter)
{
file= h_arg;
index_reader= index_reader_arg;
@@ -710,19 +711,7 @@ int Mrr_ordered_rndpos_reader::init(handler *h_arg,
is_mrr_assoc= !MY_TEST(mode & HA_MRR_NO_ASSOCIATION);
index_reader_exhausted= FALSE;
index_reader_needs_refill= TRUE;
-
- /*
- Currently usage of a rowid filter within InnoDB engine is not supported
- if the table is accessed by the primary key.
- With optimizer switches ''mrr' and 'mrr_sort_keys' are both enabled
- any access by a secondary index is converted to the rndpos access. In
- InnoDB the rndpos access is always uses the primary key.
- Do not use pushed rowid filter if the table is accessed actually by the
- primary key. Use the rowid filter outside the engine code (see
- Mrr_ordered_rndpos_reader::refill_from_index_reader).
- */
- if (file->pushed_rowid_filter && file->primary_key_is_clustered())
- file->cancel_pushed_rowid_filter();
+ rowid_filter= filter;
return 0;
}
@@ -817,10 +806,8 @@ int Mrr_ordered_rndpos_reader::refill_from_index_reader()
index_reader->position();
/*
- If the built rowid filter cannot be used at the engine level use it here.
+ If the built rowid filter cannot be used at the engine level, use it here.
*/
- Rowid_filter *rowid_filter=
- file->get_table()->reginfo.join_tab->rowid_filter;
if (rowid_filter && !file->pushed_rowid_filter &&
!rowid_filter->check((char *)index_rowid))
continue;
@@ -967,6 +954,7 @@ int DsMrr_impl::dsmrr_init(handler *h_arg, RANGE_SEQ_IF *seq_funcs,
handler *h_idx;
Mrr_ordered_rndpos_reader *disk_strategy= NULL;
bool do_sort_keys= FALSE;
+ Rowid_filter *rowid_filter= NULL;
DBUG_ENTER("DsMrr_impl::dsmrr_init");
/*
index_merge may invoke a scan on an object for which dsmrr_info[_const]
@@ -1015,6 +1003,21 @@ int DsMrr_impl::dsmrr_init(handler *h_arg, RANGE_SEQ_IF *seq_funcs,
if (!(keyno == table->s->primary_key && h_idx->primary_key_is_clustered()))
{
strategy= disk_strategy= &reader_factory.ordered_rndpos_reader;
+ if (h_arg->pushed_rowid_filter)
+ {
+ /*
+ Currently usage of a rowid filter within InnoDB engine is not supported
+ if the table is accessed by the primary key.
+ With optimizer switches ''mrr' and 'mrr_sort_keys' are both enabled
+ any access by a secondary index is converted to the rndpos access. In
+ InnoDB the rndpos access is always uses the primary key.
+ Do not use pushed rowid filter if the table is accessed actually by the
+ primary key. Use the rowid filter outside the engine code (see
+ Mrr_ordered_rndpos_reader::refill_from_index_reader).
+ */
+ rowid_filter= h_arg->pushed_rowid_filter;
+ h_arg->cancel_pushed_rowid_filter();
+ }
}
full_buf= buf->buffer;
@@ -1101,7 +1104,7 @@ int DsMrr_impl::dsmrr_init(handler *h_arg, RANGE_SEQ_IF *seq_funcs,
n_ranges, mode, &keypar, key_buffer,
&buf_manager)) ||
(res= disk_strategy->init(primary_file, index_strategy, mode,
- &rowid_buffer)))
+ &rowid_buffer, rowid_filter)))
{
goto error;
}
diff --git a/sql/multi_range_read.h b/sql/multi_range_read.h
index 0473fef..6be9537 100644
--- a/sql/multi_range_read.h
+++ b/sql/multi_range_read.h
@@ -364,7 +364,7 @@ class Mrr_ordered_rndpos_reader : public Mrr_reader
{
public:
int init(handler *file, Mrr_index_reader *index_reader, uint mode,
- Lifo_buffer *buf);
+ Lifo_buffer *buf, Rowid_filter *filter);
int get_next(range_id_t *range_info);
int refill_buffer(bool initial);
private:
@@ -399,6 +399,9 @@ class Mrr_ordered_rndpos_reader : public Mrr_reader
/* Buffer to store (rowid, range_id) pairs */
Lifo_buffer *rowid_buffer;
+ /* Rowid filter to be checked against (if any) */
+ Rowid_filter *rowid_filter;
+
int refill_from_index_reader();
};
diff --git a/sql/opt_range.cc b/sql/opt_range.cc
index c47da28..5f034c6 100644
--- a/sql/opt_range.cc
+++ b/sql/opt_range.cc
@@ -2902,7 +2902,8 @@ int SQL_SELECT::test_quick_select(THD *thd, key_map keys_to_use,
remove_nonrange_trees(¶m, tree);
/* Get best 'range' plan and prepare data for making other plans */
- if ((range_trp= get_key_scans_params(¶m, tree, FALSE, TRUE,
+ if ((range_trp= get_key_scans_params(¶m, tree,
+ only_single_index_range_scan, TRUE,
best_read_time)))
{
best_trp= range_trp;
diff --git a/sql/sql_join_cache.cc b/sql/sql_join_cache.cc
index 3a509b3..e9ad538 100644
--- a/sql/sql_join_cache.cc
+++ b/sql/sql_join_cache.cc
@@ -2248,6 +2248,8 @@ enum_nested_loop_state JOIN_CACHE::join_matching_records(bool skip_last)
if ((rc= join_tab_execution_startup(join_tab)) < 0)
goto finish2;
+ join_tab->build_range_rowid_filter_if_needed();
+
/* Prepare to retrieve all records of the joined table */
if (unlikely((error= join_tab_scan->open())))
{
1
0
[Commits] 95a0ec342aa: MDEV-21628: Index condition pushdown for a simple condition .. not used with BKA
by psergey 13 Feb '20
by psergey 13 Feb '20
13 Feb '20
revision-id: 95a0ec342aa7899a6f39464378cd08333cb26dec (mariadb-10.4.11-70-g95a0ec342aa)
parent(s): c400a73d7a722f009b16a3ffddccf7f052abba31
author: Sergei Petrunia
committer: Sergei Petrunia
timestamp: 2020-02-13 23:50:17 +0300
message:
MDEV-21628: Index condition pushdown for a simple condition .. not used with BKA
The issue happens when the storage engine supports MRR but doesn't support
Index Condition Pushdown (this is what partitioning engine does currently)
In this case, pus the index condition using BKA's variant of index condition
pushdown.
---
mysql-test/main/partition_mrr_myisam.result | 59 +++++++++++++++++++++++++++++
mysql-test/main/partition_mrr_myisam.test | 59 +++++++++++++++++++++++++++++
sql/opt_index_cond_pushdown.cc | 15 ++++++++
3 files changed, 133 insertions(+)
diff --git a/mysql-test/main/partition_mrr_myisam.result b/mysql-test/main/partition_mrr_myisam.result
index 1f1cea8e9d6..d989536324c 100644
--- a/mysql-test/main/partition_mrr_myisam.result
+++ b/mysql-test/main/partition_mrr_myisam.result
@@ -77,3 +77,62 @@ ID part_id key_col col2
28 8 2 123456
29 9 2 123456
drop table t1,t3;
+#
+# MDEV-21628: Index condition pushdown for a simple condition over
+# index fields is not used for ref access of partitioned tables when employing BKA
+#
+create table t0 (
+tp int, a int, b int, c varchar(12), index idx (a,b)
+);
+insert into t0 values
+(1,3,30,'yyzy'), (1,3,30,'yxxyy'), (1,3,30,'yyxy'), (1,3,30,'xxyy'),
+(1,3,30,'yyxz'), (1,3,30,'yyzz'), (1,3,30,'xxyzy'), (1,3,30,'yyyy'),
+(1,3,30,'yzzy'), (1,93,30,'zzzy'),
+(2,3,40,'yxx'), (2,4,40,'xx'), (2,3,10,'zxz'),
+(2,3,40,'yyx'), (2,4,40,'xxx'), (2,3,10,'zyyz'),
+(2,3,40,'xzzzz'), (2,4,40,'yyyxx'), (2,3,10,'zyz'),
+(2,3,40,'xxx'), (2,4,40,'xx'), (2,3,10,'zzz'),
+(2,3,40,'yyxzx'), (2,4,40,'xyx'), (2,3,10,'xzz'),
+(2,3,40,'xxxzz'), (2,4,40,'xxz'), (2,3,10,'zzzy'),
+(2,3,40,'zzxxx'), (2,4,40,'zxx'), (2,3,10,'yzzz'),
+(2,3,40,'xyyxx'), (2,4,40,'xzzzx'), (2,3,10,'zzxxz'),
+(2,3,40,'yzxxx'), (2,4,40,'xxzy'), (2,3,10,'zzzyx'),
+(2,93,40,'xzx'), (2,94,40,'xz'), (2,93,10,'zyyyz'),
+(3,4,30,'yx'), (3,4,30,'yyxxx'), (3,4,30,'zzyy'), (3,4,30,'zxyy'),
+(3,4,30,'xxyy'), (3,4,30,'yyzx'), (3,4,30,'zyyy'), (3,4,30,'yzy'),
+(3,4,30,'zzzyy'), (3,94,30,'yyz');
+create table t1 (
+tp int, a int, b int, c varchar(12), index idx (a,b)
+) engine=myisam
+partition by list (tp)
+( partition p1 values in (1),
+partition p2 values in (2),
+partition p3 values in (3));
+insert into t1 select * from t0;
+create table t2 (a int, index idx(a)) engine=myisam;
+insert into t2 values (1), (2), (3), (4), (5);
+insert into t2 select a+10 from t2;
+insert into t2 select a+20 from t2;
+analyze table t0,t1,t2;
+Table Op Msg_type Msg_text
+test.t0 analyze status Engine-independent statistics collected
+test.t0 analyze status OK
+test.t1 analyze status Engine-independent statistics collected
+test.t1 analyze status OK
+test.t2 analyze status Engine-independent statistics collected
+test.t2 analyze status OK
+set @tmp1=@@join_cache_level, @tmp2=@@optimizer_switch;
+set join_cache_level=6, optimizer_switch='mrr=on';
+explain
+select * from t0,t2 where t2.a in (3,4) and t0.a=t2.a and (t0.b / 10) = 4;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 range idx idx 5 NULL 2 Using where; Using index
+1 SIMPLE t0 ref idx idx 5 test.t2.a 12 Using index condition; Using join buffer (flat, BKA join); Rowid-ordered scan
+# This will use "Using index condition(BKA)"
+explain
+select * from t1,t2 where t2.a in (3,4) and t1.a=t2.a and (t1.b / 10) = 4;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 range idx idx 5 NULL 2 Using where; Using index
+1 SIMPLE t1 ref idx idx 5 test.t2.a 12 Using index condition(BKA); Using join buffer (flat, BKA join); Rowid-ordered scan
+set join_cache_level=@tmp1, optimizer_switch=@tmp2;
+drop table t0,t1,t2;
diff --git a/mysql-test/main/partition_mrr_myisam.test b/mysql-test/main/partition_mrr_myisam.test
index d67a37ab3d2..eb30319d81f 100644
--- a/mysql-test/main/partition_mrr_myisam.test
+++ b/mysql-test/main/partition_mrr_myisam.test
@@ -1,3 +1,62 @@
let $engine_type= myisam;
--source include/partition_mrr.inc
+
+--echo #
+--echo # MDEV-21628: Index condition pushdown for a simple condition over
+--echo # index fields is not used for ref access of partitioned tables when employing BKA
+--echo #
+
+create table t0 (
+tp int, a int, b int, c varchar(12), index idx (a,b)
+);
+
+insert into t0 values
+(1,3,30,'yyzy'), (1,3,30,'yxxyy'), (1,3,30,'yyxy'), (1,3,30,'xxyy'),
+(1,3,30,'yyxz'), (1,3,30,'yyzz'), (1,3,30,'xxyzy'), (1,3,30,'yyyy'),
+(1,3,30,'yzzy'), (1,93,30,'zzzy'),
+(2,3,40,'yxx'), (2,4,40,'xx'), (2,3,10,'zxz'),
+(2,3,40,'yyx'), (2,4,40,'xxx'), (2,3,10,'zyyz'),
+(2,3,40,'xzzzz'), (2,4,40,'yyyxx'), (2,3,10,'zyz'),
+(2,3,40,'xxx'), (2,4,40,'xx'), (2,3,10,'zzz'),
+(2,3,40,'yyxzx'), (2,4,40,'xyx'), (2,3,10,'xzz'),
+(2,3,40,'xxxzz'), (2,4,40,'xxz'), (2,3,10,'zzzy'),
+(2,3,40,'zzxxx'), (2,4,40,'zxx'), (2,3,10,'yzzz'),
+(2,3,40,'xyyxx'), (2,4,40,'xzzzx'), (2,3,10,'zzxxz'),
+(2,3,40,'yzxxx'), (2,4,40,'xxzy'), (2,3,10,'zzzyx'),
+(2,93,40,'xzx'), (2,94,40,'xz'), (2,93,10,'zyyyz'),
+(3,4,30,'yx'), (3,4,30,'yyxxx'), (3,4,30,'zzyy'), (3,4,30,'zxyy'),
+(3,4,30,'xxyy'), (3,4,30,'yyzx'), (3,4,30,'zyyy'), (3,4,30,'yzy'),
+(3,4,30,'zzzyy'), (3,94,30,'yyz');
+
+create table t1 (
+tp int, a int, b int, c varchar(12), index idx (a,b)
+) engine=myisam
+partition by list (tp)
+( partition p1 values in (1),
+ partition p2 values in (2),
+ partition p3 values in (3));
+insert into t1 select * from t0;
+
+create table t2 (a int, index idx(a)) engine=myisam;
+insert into t2 values (1), (2), (3), (4), (5);
+insert into t2 select a+10 from t2;
+insert into t2 select a+20 from t2;
+
+analyze table t0,t1,t2;
+
+set @tmp1=@@join_cache_level, @tmp2=@@optimizer_switch;
+set join_cache_level=6, optimizer_switch='mrr=on';
+
+explain
+select * from t0,t2 where t2.a in (3,4) and t0.a=t2.a and (t0.b / 10) = 4;
+
+--echo # This will use "Using index condition(BKA)"
+explain
+select * from t1,t2 where t2.a in (3,4) and t1.a=t2.a and (t1.b / 10) = 4;
+
+set join_cache_level=@tmp1, optimizer_switch=@tmp2;
+
+drop table t0,t1,t2;
+
+
diff --git a/sql/opt_index_cond_pushdown.cc b/sql/opt_index_cond_pushdown.cc
index a87d5664e29..f8d11da1d5e 100644
--- a/sql/opt_index_cond_pushdown.cc
+++ b/sql/opt_index_cond_pushdown.cc
@@ -390,8 +390,23 @@ void push_index_cond(JOIN_TAB *tab, uint keyno)
~(tab->table->map | tab->join->const_table_map)))
tab->cache_idx_cond= idx_cond;
else
+ {
idx_remainder_cond= tab->table->file->idx_cond_push(keyno, idx_cond);
+ /*
+ If (1) there is an index condition that we couldn't push using ICP,
+ (2) we are using Join Buffering
+ (3) and we are using BKA
+ then use BKA's Index Condition Pushdown mechanism to check it.
+ */
+ if (idx_remainder_cond && tab->use_join_cache && // (1) && (2)
+ tab->icp_other_tables_ok) // (3)
+ {
+ tab->cache_idx_cond= idx_remainder_cond;
+ idx_remainder_cond= NULL;
+ }
+ }
+
/*
Disable eq_ref's "lookup cache" if we've pushed down an index
condition.
1
0