From: magnus.blaudd Date: June 10 2011 9:14am Subject: bzr commit into mysql-trunk-cluster branch (magnus.blaudd:3326) List-Archive: http://lists.mysql.com/commits/139045 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============3559646402217303375==" --===============3559646402217303375== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline #At file:///data0/magnus/mysql/trunk-cluster/ based on revid:magnus.blaudd@stripped 3326 magnus.blaudd@stripped 2011-06-10 ndb - revert changes to join_outer.result/test which was inadvertently merged to trunk-cluster modified: mysql-test/r/join_outer.result mysql-test/t/join_outer.test === modified file 'mysql-test/r/join_outer.result' --- a/mysql-test/r/join_outer.result 2011-05-20 11:50:50 +0000 +++ b/mysql-test/r/join_outer.result 2011-06-10 09:13:45 +0000 @@ -1431,288 +1431,6 @@ SELECT * FROM t1 LEFT JOIN t2 ON t2.f1 = WHERE t1.f1 = 4 AND t2.f1 IS NOT NULL AND t2.f2 IS NOT NULL GROUP BY t2.f1, t2.f2; f1 f1 f2 -DROP TABLE t1, t2; -# -# Bug#57034 incorrect OUTER JOIN result when joined on unique key -# -CREATE TABLE t1 (pk INT PRIMARY KEY, -col_int INT, -col_int_unique INT UNIQUE KEY); -INSERT INTO t1 VALUES (1,NULL,2), (2,0,0); -CREATE TABLE t2 (pk INT PRIMARY KEY, -col_int INT, -col_int_unique INT UNIQUE KEY); -INSERT INTO t2 VALUES (1,0,1), (2,0,2); -EXPLAIN -SELECT * FROM t1 LEFT JOIN t2 -ON t1.col_int_unique = t2.col_int_unique AND t1.col_int = t2.col_int -WHERE t1.pk=1; -id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 const PRIMARY PRIMARY 4 const 1 -1 SIMPLE t2 const col_int_unique col_int_unique 5 const 1 -SELECT * FROM t1 LEFT JOIN t2 -ON t1.col_int_unique = t2.col_int_unique AND t1.col_int = t2.col_int -WHERE t1.pk=1; -pk col_int col_int_unique pk col_int col_int_unique -1 NULL 2 NULL NULL NULL -DROP TABLE t1, t2; -# -# Bug#48046 Server incorrectly processing JOINs on NULL values -# -CREATE TABLE `BB` ( -`pk` int(11) NOT NULL AUTO_INCREMENT, -`time_key` time DEFAULT NULL, -`varchar_key` varchar(1) DEFAULT NULL, -`varchar_nokey` varchar(1) DEFAULT NULL, -PRIMARY KEY (`pk`), -KEY `time_key` (`time_key`), -KEY `varchar_key` (`varchar_key`) -) ENGINE=MyISAM AUTO_INCREMENT=11 DEFAULT CHARSET=latin1; -INSERT INTO `BB` VALUES (10,'18:27:58',NULL,NULL); -SELECT table1.time_key AS field1, table2.pk -FROM BB table1 LEFT JOIN BB table2 -ON table2.varchar_nokey = table1.varchar_key -HAVING field1; -field1 pk -18:27:58 NULL -DROP TABLE BB; -# -# Bug#49600 Server incorrectly processing RIGHT JOIN with -# constant WHERE clause and no index -# -CREATE TABLE `BB` ( -`col_datetime_key` datetime DEFAULT NULL, -`col_varchar_key` varchar(1) DEFAULT NULL, -`col_varchar_nokey` varchar(1) DEFAULT NULL, -KEY `col_datetime_key` (`col_datetime_key`), -KEY `col_varchar_key` (`col_varchar_key`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1; -INSERT INTO `BB` VALUES ('1900-01-01 00:00:00',NULL,NULL); -SELECT table1.col_datetime_key -FROM BB table1 RIGHT JOIN BB table2 -ON table2 .col_varchar_nokey = table1.col_varchar_key -WHERE 7; -col_datetime_key -NULL -ALTER TABLE BB DISABLE KEYS; -SELECT table1.col_datetime_key -FROM BB table1 RIGHT JOIN BB table2 -ON table2 .col_varchar_nokey = table1.col_varchar_key -WHERE 7; -col_datetime_key -NULL -DROP TABLE BB; -# -# Bug#58626 Incorrect result for WHERE IN () IS UNKNOWN -# -CREATE TABLE t1 (I INT NOT NULL); -INSERT INTO t1 VALUES (1),(2); -CREATE TABLE t2 (I INT NOT NULL); -INSERT INTO t2 VALUES (3); -CREATE TABLE t3 (PK1 INT, PK2 INT, PRIMARY KEY(PK1,PK2)); -INSERT INTO t3 VALUES (1,1),(2,2),(3,3); -SELECT * FROM -t1 LEFT JOIN t2 ON t2.i = t1.i -WHERE t2.i IN -( -SELECT STRAIGHT_JOIN t3.pk1 FROM t3 JOIN t3 as t4 -ON t4.pk1=t3.pk1 -WHERE t3.pk2 = t2.i -) -IS UNKNOWN; -I I -SELECT * FROM -t1 LEFT JOIN t2 ON t2.i = t1.i -WHERE t2.i IN -( -SELECT t3.pk1 FROM t3 LEFT JOIN t3 as t4 -ON t4.pk1=t3.pk1 -WHERE t3.pk2 = t2.i -) -IS UNKNOWN; -I I -SELECT * FROM -t1 LEFT JOIN t2 ON t2.i = t1.i -WHERE t2.i IN -( -SELECT t3.pk1 FROM t3 JOIN t3 as t4 -ON t4.pk1=t3.pk1 -WHERE t3.pk2 = t2.i -) -IS UNKNOWN; -I I -DROP TABLE t1,t2,t3; -# -# Bug#58490: Incorrect result in multi level OUTER JOIN -# in combination with IS NULL -# -CREATE TABLE t1 (i INT NOT NULL); -INSERT INTO t1 VALUES (0), (2),(3),(4); -CREATE TABLE t2 (i INT NOT NULL); -INSERT INTO t2 VALUES (0),(1), (3),(4); -CREATE TABLE t3 (i INT NOT NULL); -INSERT INTO t3 VALUES (0),(1),(2), (4); -CREATE TABLE t4 (i INT NOT NULL); -INSERT INTO t4 VALUES (0),(1),(2),(3) ; -SELECT * FROM -t1 LEFT JOIN -( t2 LEFT JOIN -( t3 LEFT JOIN -t4 -ON t4.i = t3.i -) -ON t3.i = t2.i -) -ON t2.i = t1.i -; -i i i i -0 0 0 0 -2 NULL NULL NULL -3 3 NULL NULL -4 4 4 NULL -SELECT * FROM -t1 LEFT JOIN -( t2 LEFT JOIN -( t3 LEFT JOIN -t4 -ON t4.i = t3.i -) -ON t3.i = t2.i -) -ON t2.i = t1.i -WHERE t4.i IS NULL; -i i i i -2 NULL NULL NULL -3 3 NULL NULL -4 4 4 NULL -SELECT * FROM -t1 LEFT JOIN -( ( t2 LEFT JOIN -t3 -ON t3.i = t2.i -) -) -ON t2.i = t1.i -WHERE t3.i IS NULL; -i i i -2 NULL NULL -3 3 NULL -SELECT * FROM -t1 LEFT JOIN -( ( t2 LEFT JOIN -t3 -ON t3.i = t2.i -) -JOIN t4 -ON t4.i=t2.i -) -ON t2.i = t1.i -WHERE t3.i IS NULL; -i i i i -2 NULL NULL NULL -3 3 NULL 3 -4 NULL NULL NULL -SELECT * FROM -t1 LEFT JOIN -( ( t2 LEFT JOIN -t3 -ON t3.i = t2.i -) -JOIN (t4 AS t4a JOIN t4 AS t4b ON t4a.i=t4b.i) -ON t4a.i=t2.i -) -ON t2.i = t1.i -WHERE t3.i IS NULL; -i i i i i -2 NULL NULL NULL NULL -3 3 NULL 3 3 -4 NULL NULL NULL NULL -SELECT * FROM -t1 LEFT JOIN -( ( t2 LEFT JOIN -t3 -ON t3.i = t2.i -) -JOIN (t4 AS t4a, t4 AS t4b) -ON t4a.i=t2.i -) -ON t2.i = t1.i -WHERE t3.i IS NULL; -i i i i i -2 NULL NULL NULL NULL -3 3 NULL 3 0 -3 3 NULL 3 1 -3 3 NULL 3 2 -3 3 NULL 3 3 -4 NULL NULL NULL NULL -DROP TABLE t1,t2,t3,t4; -# -# Bug#49322(Duplicate): Server is adding extra NULL row -# on processing a WHERE clause -# -CREATE TABLE h (pk INT NOT NULL, col_int_key INT); -INSERT INTO h VALUES (1,NULL),(4,2),(5,2),(3,4),(2,8); -CREATE TABLE m (pk INT NOT NULL, col_int_key INT); -INSERT INTO m VALUES (1,2),(2,7),(3,5),(4,7),(5,5),(6,NULL),(7,NULL),(8,9); -CREATE TABLE k (pk INT NOT NULL, col_int_key INT); -INSERT INTO k VALUES (1,9),(2,2),(3,5),(4,2),(5,7),(6,0),(7,5); -SELECT TABLE1.pk FROM k TABLE1 -RIGHT JOIN h TABLE2 ON TABLE1.col_int_key=TABLE2.col_int_key -RIGHT JOIN m TABLE4 ON TABLE2.col_int_key=TABLE4.col_int_key; -pk -2 -4 -2 -4 -NULL -NULL -NULL -NULL -NULL -NULL -NULL -SELECT TABLE1.pk FROM k TABLE1 -RIGHT JOIN h TABLE2 ON TABLE1.col_int_key=TABLE2.col_int_key -RIGHT JOIN m TABLE4 ON TABLE2.col_int_key=TABLE4.col_int_key -WHERE TABLE1.pk IS NULL; -pk -NULL -NULL -NULL -NULL -NULL -NULL -NULL -DROP TABLE h,m,k; -# -# Bug#57688 Assertion `!table || (!table->write_set || bitmap_is_set(table->write_set, field -# -CREATE TABLE t1 (f1 INT NOT NULL, PRIMARY KEY (f1)); -CREATE TABLE t2 (f1 INT NOT NULL, f2 INT NOT NULL, PRIMARY KEY (f1, f2)); -INSERT INTO t1 VALUES (4); -INSERT INTO t2 VALUES (3, 3); -INSERT INTO t2 VALUES (7, 7); -EXPLAIN SELECT * FROM t1 LEFT JOIN t2 ON t2.f1 = t1.f1 -WHERE t1.f1 = 4 -GROUP BY t2.f1, t2.f2; -id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 system PRIMARY NULL NULL NULL 1 Using temporary; Using filesort -1 SIMPLE t2 ref PRIMARY PRIMARY 4 const 1 Using index -SELECT * FROM t1 LEFT JOIN t2 ON t2.f1 = t1.f1 -WHERE t1.f1 = 4 -GROUP BY t2.f1, t2.f2; -f1 f1 f2 -4 NULL NULL -EXPLAIN SELECT * FROM t1 LEFT JOIN t2 ON t2.f1 = t1.f1 -WHERE t1.f1 = 4 AND t2.f1 IS NOT NULL AND t2.f2 IS NOT NULL -GROUP BY t2.f1, t2.f2; -id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 system PRIMARY NULL NULL NULL 1 Using filesort -1 SIMPLE t2 ref PRIMARY PRIMARY 4 const 1 Using where; Using index -SELECT * FROM t1 LEFT JOIN t2 ON t2.f1 = t1.f1 -WHERE t1.f1 = 4 AND t2.f1 IS NOT NULL AND t2.f2 IS NOT NULL -GROUP BY t2.f1, t2.f2; -f1 f1 f2 DROP TABLE t1,t2; # # Bug#57034 incorrect OUTER JOIN result when joined on unique key === modified file 'mysql-test/t/join_outer.test' --- a/mysql-test/t/join_outer.test 2011-05-20 11:50:50 +0000 +++ b/mysql-test/t/join_outer.test 2011-06-10 09:13:45 +0000 @@ -1022,286 +1022,6 @@ SELECT * FROM t1 LEFT JOIN t2 ON t2.f1 = WHERE t1.f1 = 4 AND t2.f1 IS NOT NULL AND t2.f2 IS NOT NULL GROUP BY t2.f1, t2.f2; -DROP TABLE t1, t2; - ---echo # ---echo # Bug#57034 incorrect OUTER JOIN result when joined on unique key ---echo # - - -CREATE TABLE t1 (pk INT PRIMARY KEY, - col_int INT, - col_int_unique INT UNIQUE KEY); -INSERT INTO t1 VALUES (1,NULL,2), (2,0,0); - -CREATE TABLE t2 (pk INT PRIMARY KEY, - col_int INT, - col_int_unique INT UNIQUE KEY); -INSERT INTO t2 VALUES (1,0,1), (2,0,2); - -EXPLAIN -SELECT * FROM t1 LEFT JOIN t2 - ON t1.col_int_unique = t2.col_int_unique AND t1.col_int = t2.col_int - WHERE t1.pk=1; - -SELECT * FROM t1 LEFT JOIN t2 - ON t1.col_int_unique = t2.col_int_unique AND t1.col_int = t2.col_int - WHERE t1.pk=1; - -DROP TABLE t1, t2; - ---echo # ---echo # Bug#48046 Server incorrectly processing JOINs on NULL values ---echo # - -# bug#48046 is a duplicate of bug#57034 - -CREATE TABLE `BB` ( - `pk` int(11) NOT NULL AUTO_INCREMENT, - `time_key` time DEFAULT NULL, - `varchar_key` varchar(1) DEFAULT NULL, - `varchar_nokey` varchar(1) DEFAULT NULL, - PRIMARY KEY (`pk`), - KEY `time_key` (`time_key`), - KEY `varchar_key` (`varchar_key`) -) ENGINE=MyISAM AUTO_INCREMENT=11 DEFAULT CHARSET=latin1; - -INSERT INTO `BB` VALUES (10,'18:27:58',NULL,NULL); - -SELECT table1.time_key AS field1, table2.pk -FROM BB table1 LEFT JOIN BB table2 - ON table2.varchar_nokey = table1.varchar_key - HAVING field1; - -DROP TABLE BB; - ---echo # ---echo # Bug#49600 Server incorrectly processing RIGHT JOIN with ---echo # constant WHERE clause and no index ---echo # - -# bug#49600 is a duplicate of bug#57034 - -CREATE TABLE `BB` ( - `col_datetime_key` datetime DEFAULT NULL, - `col_varchar_key` varchar(1) DEFAULT NULL, - `col_varchar_nokey` varchar(1) DEFAULT NULL, - KEY `col_datetime_key` (`col_datetime_key`), - KEY `col_varchar_key` (`col_varchar_key`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1; - -INSERT INTO `BB` VALUES ('1900-01-01 00:00:00',NULL,NULL); - -SELECT table1.col_datetime_key -FROM BB table1 RIGHT JOIN BB table2 - ON table2 .col_varchar_nokey = table1.col_varchar_key - WHERE 7; - -# Disable keys, and we get incorrect result for the same query -ALTER TABLE BB DISABLE KEYS; - -SELECT table1.col_datetime_key -FROM BB table1 RIGHT JOIN BB table2 - ON table2 .col_varchar_nokey = table1.col_varchar_key - WHERE 7; - -DROP TABLE BB; - ---echo # ---echo # Bug#58626 Incorrect result for WHERE IN () IS UNKNOWN ---echo # - -CREATE TABLE t1 (I INT NOT NULL); -INSERT INTO t1 VALUES (1),(2); -CREATE TABLE t2 (I INT NOT NULL); -INSERT INTO t2 VALUES (3); -CREATE TABLE t3 (PK1 INT, PK2 INT, PRIMARY KEY(PK1,PK2)); -INSERT INTO t3 VALUES (1,1),(2,2),(3,3); - -##'IS UNKNOWN' should not return any rows as subquery returns an empty set -SELECT * FROM - t1 LEFT JOIN t2 ON t2.i = t1.i - WHERE t2.i IN - ( - SELECT STRAIGHT_JOIN t3.pk1 FROM t3 JOIN t3 as t4 - ON t4.pk1=t3.pk1 - WHERE t3.pk2 = t2.i - ) - IS UNKNOWN; - -SELECT * FROM - t1 LEFT JOIN t2 ON t2.i = t1.i - WHERE t2.i IN - ( - SELECT t3.pk1 FROM t3 LEFT JOIN t3 as t4 - ON t4.pk1=t3.pk1 - WHERE t3.pk2 = t2.i - ) - IS UNKNOWN; - -SELECT * FROM - t1 LEFT JOIN t2 ON t2.i = t1.i - WHERE t2.i IN - ( - SELECT t3.pk1 FROM t3 JOIN t3 as t4 - ON t4.pk1=t3.pk1 - WHERE t3.pk2 = t2.i - ) - IS UNKNOWN; - -DROP TABLE t1,t2,t3; - - ---echo # ---echo # Bug#58490: Incorrect result in multi level OUTER JOIN ---echo # in combination with IS NULL ---echo # - -CREATE TABLE t1 (i INT NOT NULL); -INSERT INTO t1 VALUES (0), (2),(3),(4); -CREATE TABLE t2 (i INT NOT NULL); -INSERT INTO t2 VALUES (0),(1), (3),(4); -CREATE TABLE t3 (i INT NOT NULL); -INSERT INTO t3 VALUES (0),(1),(2), (4); -CREATE TABLE t4 (i INT NOT NULL); -INSERT INTO t4 VALUES (0),(1),(2),(3) ; - -SELECT * FROM - t1 LEFT JOIN - ( t2 LEFT JOIN - ( t3 LEFT JOIN - t4 - ON t4.i = t3.i - ) - ON t3.i = t2.i - ) - ON t2.i = t1.i - ; - -SELECT * FROM - t1 LEFT JOIN - ( t2 LEFT JOIN - ( t3 LEFT JOIN - t4 - ON t4.i = t3.i - ) - ON t3.i = t2.i - ) - ON t2.i = t1.i - WHERE t4.i IS NULL; - - -# Most simplified testcase to reproduce the bug. -# (Has to be at least a two level nested outer join) -SELECT * FROM - t1 LEFT JOIN - ( ( t2 LEFT JOIN - t3 - ON t3.i = t2.i - ) - ) - ON t2.i = t1.i - WHERE t3.i IS NULL; - - -# Extended testing: -# We then add some equi-join inside the query above: -# (There Used to be some problems here with first -# proposed patch for this bug) -SELECT * FROM - t1 LEFT JOIN - ( ( t2 LEFT JOIN - t3 - ON t3.i = t2.i - ) - JOIN t4 - ON t4.i=t2.i - ) - ON t2.i = t1.i - WHERE t3.i IS NULL; - -SELECT * FROM - t1 LEFT JOIN - ( ( t2 LEFT JOIN - t3 - ON t3.i = t2.i - ) - JOIN (t4 AS t4a JOIN t4 AS t4b ON t4a.i=t4b.i) - ON t4a.i=t2.i - ) - ON t2.i = t1.i - WHERE t3.i IS NULL; - -SELECT * FROM - t1 LEFT JOIN - ( ( t2 LEFT JOIN - t3 - ON t3.i = t2.i - ) - JOIN (t4 AS t4a, t4 AS t4b) - ON t4a.i=t2.i - ) - ON t2.i = t1.i - WHERE t3.i IS NULL; - - -DROP TABLE t1,t2,t3,t4; - -## Bug#49322 & bug#58490 are duplicates. However, we include testcases -## for both. ---echo # ---echo # Bug#49322(Duplicate): Server is adding extra NULL row ---echo # on processing a WHERE clause ---echo # - -CREATE TABLE h (pk INT NOT NULL, col_int_key INT); -INSERT INTO h VALUES (1,NULL),(4,2),(5,2),(3,4),(2,8); - -CREATE TABLE m (pk INT NOT NULL, col_int_key INT); -INSERT INTO m VALUES (1,2),(2,7),(3,5),(4,7),(5,5),(6,NULL),(7,NULL),(8,9); -CREATE TABLE k (pk INT NOT NULL, col_int_key INT); -INSERT INTO k VALUES (1,9),(2,2),(3,5),(4,2),(5,7),(6,0),(7,5); - -# Baseline query wo/ 'WHERE ... IS NULL' - was correct -SELECT TABLE1.pk FROM k TABLE1 -RIGHT JOIN h TABLE2 ON TABLE1.col_int_key=TABLE2.col_int_key -RIGHT JOIN m TABLE4 ON TABLE2.col_int_key=TABLE4.col_int_key; - -# Adding 'WHERE ... IS NULL' -> incorrect result -SELECT TABLE1.pk FROM k TABLE1 -RIGHT JOIN h TABLE2 ON TABLE1.col_int_key=TABLE2.col_int_key -RIGHT JOIN m TABLE4 ON TABLE2.col_int_key=TABLE4.col_int_key -WHERE TABLE1.pk IS NULL; - -DROP TABLE h,m,k; - ---echo # ---echo # Bug#57688 Assertion `!table || (!table->write_set || bitmap_is_set(table->write_set, field ---echo # - -CREATE TABLE t1 (f1 INT NOT NULL, PRIMARY KEY (f1)); -CREATE TABLE t2 (f1 INT NOT NULL, f2 INT NOT NULL, PRIMARY KEY (f1, f2)); - -INSERT INTO t1 VALUES (4); -INSERT INTO t2 VALUES (3, 3); -INSERT INTO t2 VALUES (7, 7); - -EXPLAIN SELECT * FROM t1 LEFT JOIN t2 ON t2.f1 = t1.f1 -WHERE t1.f1 = 4 -GROUP BY t2.f1, t2.f2; - -SELECT * FROM t1 LEFT JOIN t2 ON t2.f1 = t1.f1 -WHERE t1.f1 = 4 -GROUP BY t2.f1, t2.f2; - -EXPLAIN SELECT * FROM t1 LEFT JOIN t2 ON t2.f1 = t1.f1 -WHERE t1.f1 = 4 AND t2.f1 IS NOT NULL AND t2.f2 IS NOT NULL -GROUP BY t2.f1, t2.f2; - -SELECT * FROM t1 LEFT JOIN t2 ON t2.f1 = t1.f1 -WHERE t1.f1 = 4 AND t2.f1 IS NOT NULL AND t2.f2 IS NOT NULL -GROUP BY t2.f1, t2.f2; - DROP TABLE t1,t2; --echo # --===============3559646402217303375== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/magnus.blaudd@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: magnus.blaudd@stripped\ # bbteruf3ba4aw1vn # target_branch: file:///data0/magnus/mysql/trunk-cluster/ # testament_sha1: 037a1a86965f4ae7f51e7711f9e8fd5eabfeed2a # timestamp: 2011-06-10 11:14:32 +0200 # source_branch: file:///data0/magnus/mysql/5.5-cluster/ # base_revision_id: magnus.blaudd@stripped\ # fotc6x0esckycx3u # # Begin bundle IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWcXTdEUAAfHfgAAQUGP/91IA AAC////wUARj3kDmZxut2qAJJJqYU9A2TIKn5TSP1T2qaepoHqBKmppiCfoRNTyhphGaIDEwYABo 00AZNAaDIDQEkUxpQYpiG0J6I0NA0BoJJBAaJhMSeSn6m1MUeoTR6mLCS9/j+eCcvPtYonSXJM0m F+qDK1+T3cWha6J9DIZmZld7r9vqb0Y0ocur3Bw3PxP7ZZ3dSbGrJcKafFuGNOjycLpkPlsqGSIW tYH5QsQJmKfoWO8ByJF+VxlGWQliJQSuJUQHEoIKWoczrXDsQrCADgBwfSDF15WiqTQrLIA6ltCa 94kTlL+VCpnFNbqgcpEkL6LuFqtSVZTsRqv6ny5sQNmkJHuvuvc74EytBvXWGFriRRWZ46Z/JpMH wBltDwFbITiCk6DywLH4l/TVUMGV72dGlE8/PE+B58tsWnpiwqOpfyUiAE51Hl0TkTX2H0AY+XHZ ZYngnKlU6oORpxy4iRGUTIChcOMqyYrwXtSA4gM6ojQRnAfIrIGcQjAaFDDMFuaJdjm5PMh/TEt5 FicMB0dCKNDnWQXxAlCYTKcwNyA/wUqjPG/BtyzML5JK99wPrWeQ8eYunQwaJlIdeOfCiRG8ssGs g2YCIykhWQCcaoxFkilpaQcLGNKUoW1JNhNe6nOwGo01CIo2b1XbcZBjzLUbOY4lE2ZMzfb0qOk6 T4+roz3WCa+81IMK6qaemBU8j0YSouuc9HwJbwMIX7F1SX2pUBLjmBE39vXuaDGZIYDdj0BxsNse RL7wA7JazEtCbb3NV9C4hpoSHG3myZWduzd6HQThLAmJXQMDhuoGax9JVD+OVxMuCwJGRRXOssRg JcN44iUfVda/h/sasANVCruXwJFOo8+941RsZ7nzZ3QpRvlzKM9OPRu0dSk0i11jRocqtHRODgb2 62tjhBjMDRmWMSE2YQ6KFDbtkoH4YGOocKNNTIs/z0MyBX5tFzYlgun4E0a7BKKLATV9pEilq1lp dn4Nbk6IaMV1i7ywqR7pNejn5nfRFFZFGtBt49YHJzie5ngNaWm2KO/OZUhYPR5OWsfIy9GwlwVC TBxp49xgtJTnvFuXehZRjFHydyYc4q4nvlBt3k6TUz4zlDEkygYZOApKHIohF8JsDU3OiUzBeJOX fG0v/5LJC5DEI8JnQShFVvdOtW7ils0iwwYYOZJQ5l7YtcalnnckabHs1zhGZySDtsYEZ0v0HPDh yiq6lc7nBQYCA5c6oOQEK+t9EwS3ZVkxehx5qDx0O53Zm8EgLiSHA1/a/VmGLej/EzyPyDGidQ+t K92wF2ykag0q6uQ6y8nK0PWLPmneGepqaSEtwnA4kDhoalQlEuLkuCC1rj3ejc/QH11LAMhj7LRV UUodgupUqjMyK2NFRTf/RdyRThQkMXTdEUA= --===============3559646402217303375==--