Wrong rows estimations with joins of CTEs slows queries by more than factor 500

Started by Hans Buschmannalmost 3 years ago32 messages
#1Hans Buschmann
buschmann@nidsa.net

During data refactoring of our Application I encountered $subject when joining 4 CTEs with left join or inner join.

1. Background

PG 15.1 on Windows x64 (OS seems no to have no meening here)

I try to collect data from 4 (analyzed) tables (up,li,in,ou) by grouping certain data (4 CTEs qup,qli,qin,qou)

The grouping of the data in the CTEs gives estimated row counts of about 1000 (1 tenth of the real value) This is OK for estimation.

These 4 CTEs are then used to combine the data by joining them.

2. Problem

The 4 CTEs are joined by left joins as shown below:

from qup
left join qli on (qli.curr_season=qup.curr_season and qli.curr_code=qup.curr_code and qli.ibitmask>0 and cardinality(qli.mat_arr) <=8)
left join qin on (qin.curr_season=qup.curr_season and qin.curr_code=qup.curr_code and qin.ibitmask>0 and cardinality(qin.mat_arr) <=8)
left join qou on (qou.curr_season=qup.curr_season and qou.curr_code=qup.curr_code and qou.ibitmask>0 and cardinality(qou.mat_arr) <=11)
where qup.ibitmask>0 and cardinality(qup.mat_arr) <=21

The plan first retrieves qup and qli, taking the estimated row counts of 1163 and 1147 respectively

BUT the result is then hashed and the row count is estimated as 33!

In a Left join the row count stays always the same as the one of left table (here qup with 1163 rows)

The same algorithm which reduces the row estimation from 1163 to 33 is used in the next step to give an estimation of 1 row.

This is totally wrong.

Here is the execution plan of the query:

(search the plan for rows=33)

QUERY PLAN
--------------------------------------------------------------------------------------------------------------------------------------------------
Append (cost=13673.81..17463.30 rows=5734 width=104) (actual time=168.307..222.670 rows=9963 loops=1)
CTE qup
-> GroupAggregate (cost=5231.22..6303.78 rows=10320 width=80) (actual time=35.466..68.131 rows=10735 loops=1)
Group Key: sa_upper.sup_season, sa_upper.sup_sa_code
-> Sort (cost=5231.22..5358.64 rows=50969 width=18) (actual time=35.454..36.819 rows=50969 loops=1)
Sort Key: sa_upper.sup_season, sa_upper.sup_sa_code COLLATE "C"
Sort Method: quicksort Memory: 4722kB
-> Hash Left Join (cost=41.71..1246.13 rows=50969 width=18) (actual time=0.148..10.687 rows=50969 loops=1)
Hash Cond: ((sa_upper.sup_mat_code)::text = upper_target.up_mat_code)
-> Seq Scan on sa_upper (cost=0.00..884.69 rows=50969 width=16) (actual time=0.005..1.972 rows=50969 loops=1)
-> Hash (cost=35.53..35.53 rows=495 width=6) (actual time=0.140..0.140 rows=495 loops=1)
Buckets: 1024 Batches: 1 Memory Usage: 27kB
-> Seq Scan on upper_target (cost=0.00..35.53 rows=495 width=6) (actual time=0.007..0.103 rows=495 loops=1)
Filter: (id_up <= 495)
Rows Removed by Filter: 1467
CTE qli
-> GroupAggregate (cost=1097.31..1486.56 rows=10469 width=80) (actual time=9.446..27.388 rows=10469 loops=1)
Group Key: sa_lining.sli_season, sa_lining.sli_sa_code
-> Sort (cost=1097.31..1126.74 rows=11774 width=18) (actual time=9.440..9.811 rows=11774 loops=1)
Sort Key: sa_lining.sli_season, sa_lining.sli_sa_code COLLATE "C"
Sort Method: quicksort Memory: 1120kB
-> Hash Left Join (cost=7.34..301.19 rows=11774 width=18) (actual time=0.045..2.438 rows=11774 loops=1)
Hash Cond: ((sa_lining.sli_mat_code)::text = lining_target.li_mat_code)
-> Seq Scan on sa_lining (cost=0.00..204.74 rows=11774 width=16) (actual time=0.008..0.470 rows=11774 loops=1)
-> Hash (cost=5.86..5.86 rows=118 width=6) (actual time=0.034..0.034 rows=119 loops=1)
Buckets: 1024 Batches: 1 Memory Usage: 13kB
-> Seq Scan on lining_target (cost=0.00..5.86 rows=118 width=6) (actual time=0.008..0.024 rows=119 loops=1)
Filter: (id_li <= 119)
Rows Removed by Filter: 190
CTE qin
-> GroupAggregate (cost=1427.34..1880.73 rows=10678 width=80) (actual time=11.424..31.508 rows=10678 loops=1)
Group Key: sa_insole.sin_season, sa_insole.sin_sa_code
-> Sort (cost=1427.34..1465.41 rows=15230 width=18) (actual time=11.416..11.908 rows=15230 loops=1)
Sort Key: sa_insole.sin_season, sa_insole.sin_sa_code COLLATE "C"
Sort Method: quicksort Memory: 1336kB
-> Hash Left Join (cost=10.49..369.26 rows=15230 width=18) (actual time=0.051..3.108 rows=15230 loops=1)
Hash Cond: ((sa_insole.sin_mat_code)::text = insole_target.in_mat_code)
-> Seq Scan on sa_insole (cost=0.00..264.30 rows=15230 width=16) (actual time=0.006..0.606 rows=15230 loops=1)
-> Hash (cost=9.01..9.01 rows=118 width=6) (actual time=0.042..0.043 rows=119 loops=1)
Buckets: 1024 Batches: 1 Memory Usage: 13kB
-> Seq Scan on insole_target (cost=0.00..9.01 rows=118 width=6) (actual time=0.008..0.032 rows=119 loops=1)
Filter: (id_in <= 119)
Rows Removed by Filter: 362
CTE qou
-> GroupAggregate (cost=2366.22..2986.89 rows=10699 width=80) (actual time=18.198..41.812 rows=10699 loops=1)
Group Key: sa_outsole.sou_season, sa_outsole.sou_sa_code
-> Sort (cost=2366.22..2428.14 rows=24768 width=18) (actual time=18.187..18.967 rows=24768 loops=1)
Sort Key: sa_outsole.sou_season, sa_outsole.sou_sa_code COLLATE "C"
Sort Method: quicksort Memory: 2317kB
-> Hash Left Join (cost=5.39..558.63 rows=24768 width=18) (actual time=0.046..5.132 rows=24768 loops=1)
Hash Cond: ((sa_outsole.sou_mat_code)::text = outsole_target.ou_mat_code)
-> Seq Scan on sa_outsole (cost=0.00..430.68 rows=24768 width=16) (actual time=0.010..1.015 rows=24768 loops=1)
-> Hash (cost=5.03..5.03 rows=29 width=6) (actual time=0.032..0.032 rows=29 loops=1)
Buckets: 1024 Batches: 1 Memory Usage: 10kB
-> Seq Scan on outsole_target (cost=0.00..5.03 rows=29 width=6) (actual time=0.010..0.025 rows=29 loops=1)
Filter: (id_ou <= 29)
Rows Removed by Filter: 213
-> Hash Join (cost=1015.85..1319.50 rows=1 width=104) (actual time=168.307..215.513 rows=8548 loops=1)
Hash Cond: ((qou.curr_season = qli.curr_season) AND ((qou.curr_code)::text = (qli.curr_code)::text))
Join Filter: ((((qup.ibitmask | qin.ibitmask) | qli.ibitmask) | qou.ibitmask) IS NOT NULL)
-> CTE Scan on qou (cost=0.00..294.22 rows=1189 width=76) (actual time=18.200..45.188 rows=10275 loops=1)
Filter: ((ibitmask > 0) AND (cardinality(mat_arr) <= 11))
Rows Removed by Filter: 424
-> Hash (cost=1015.83..1015.83 rows=1 width=228) (actual time=150.094..150.095 rows=8845 loops=1)
Buckets: 16384 (originally 1024) Batches: 1 (originally 1) Memory Usage: 1899kB
-> Hash Join (cost=707.35..1015.83 rows=1 width=228) (actual time=121.898..147.726 rows=8845 loops=1)
Hash Cond: ((qin.curr_season = qli.curr_season) AND ((qin.curr_code)::text = (qli.curr_code)::text))
-> CTE Scan on qin (cost=0.00..293.65 rows=1186 width=76) (actual time=11.425..34.674 rows=10197 loops=1)
Filter: ((ibitmask > 0) AND (cardinality(mat_arr) <= 8))
Rows Removed by Filter: 481
-> Hash (cost=706.86..706.86 rows=33 width=152) (actual time=110.470..110.470 rows=9007 loops=1)
Buckets: 16384 (originally 1024) Batches: 1 (originally 1) Memory Usage: 1473kB
-> Merge Join (cost=689.20..706.86 rows=33 width=152) (actual time=105.862..108.925 rows=9007 loops=1)
Merge Cond: ((qup.curr_season = qli.curr_season) AND ((qup.curr_code)::text = (qli.curr_code)::text))
-> Sort (cost=342.09..344.96 rows=1147 width=76) (actual time=73.419..73.653 rows=9320 loops=1)
Sort Key: qup.curr_season, qup.curr_code COLLATE "C"
Sort Method: quicksort Memory: 1391kB
-> CTE Scan on qup (cost=0.00..283.80 rows=1147 width=76) (actual time=35.467..71.904 rows=9320 loops=1)
Filter: ((ibitmask > 0) AND (cardinality(mat_arr) <= 21))
Rows Removed by Filter: 1415
-> Sort (cost=347.12..350.02 rows=1163 width=76) (actual time=32.440..32.697 rows=10289 loops=1)
Sort Key: qli.curr_season, qli.curr_code COLLATE "C"
Sort Method: quicksort Memory: 1349kB
-> CTE Scan on qli (cost=0.00..287.90 rows=1163 width=76) (actual time=9.447..30.666 rows=10289 loops=1)
Filter: ((ibitmask > 0) AND (cardinality(mat_arr) <= 8))
Rows Removed by Filter: 180
-> Merge Left Join (cost=2625.49..3399.84 rows=5733 width=104) (actual time=4.597..6.700 rows=1415 loops=1)
Merge Cond: ((qup_1.curr_season = qou_1.curr_season) AND ((qup_1.curr_code)::text = (qou_1.curr_code)::text))
-> Merge Left Join (cost=1958.66..2135.28 rows=5733 width=136) (actual time=3.427..3.863 rows=1415 loops=1)
Merge Cond: ((qup_1.curr_season = qin_1.curr_season) AND ((qup_1.curr_code)::text = (qin_1.curr_code)::text))
-> Merge Left Join (cost=1293.25..1388.21 rows=5733 width=104) (actual time=2.321..2.556 rows=1415 loops=1)
Merge Cond: ((qup_1.curr_season = qli_1.curr_season) AND ((qup_1.curr_code)::text = (qli_1.curr_code)::text))
-> Sort (cost=641.68..656.02 rows=5733 width=72) (actual time=1.286..1.324 rows=1415 loops=1)
Sort Key: qup_1.curr_season, qup_1.curr_code COLLATE "C"
Sort Method: quicksort Memory: 204kB
-> CTE Scan on qup qup_1 (cost=0.00..283.80 rows=5733 width=72) (actual time=0.009..1.093 rows=1415 loops=1)
Filter: ((ibitmask < 0) OR (cardinality(mat_arr) > 21))
Rows Removed by Filter: 9320
-> Sort (cost=651.57..666.11 rows=5816 width=72) (actual time=1.033..1.038 rows=180 loops=1)
Sort Key: qli_1.curr_season, qli_1.curr_code COLLATE "C"
Sort Method: quicksort Memory: 41kB
-> CTE Scan on qli qli_1 (cost=0.00..287.90 rows=5816 width=72) (actual time=0.055..1.007 rows=180 loops=1)
Filter: ((ibitmask < 0) OR (cardinality(mat_arr) > 8))
Rows Removed by Filter: 10289
-> Sort (cost=665.41..680.24 rows=5932 width=72) (actual time=1.104..1.117 rows=481 loops=1)
Sort Key: qin_1.curr_season, qin_1.curr_code COLLATE "C"
Sort Method: quicksort Memory: 68kB
-> CTE Scan on qin qin_1 (cost=0.00..293.65 rows=5932 width=72) (actual time=0.016..1.038 rows=481 loops=1)
Filter: ((ibitmask < 0) OR (cardinality(mat_arr) > 8))
Rows Removed by Filter: 10197
-> Sort (cost=666.83..681.69 rows=5944 width=72) (actual time=1.163..1.174 rows=417 loops=1)
Sort Key: qou_1.curr_season, qou_1.curr_code COLLATE "C"
Sort Method: quicksort Memory: 68kB
-> CTE Scan on qou qou_1 (cost=0.00..294.22 rows=5944 width=72) (actual time=0.029..1.068 rows=424 loops=1)
Filter: ((ibitmask < 0) OR (cardinality(mat_arr) > 11))
Rows Removed by Filter: 10275
Planning Time: 2.297 ms
Execution Time: 224.759 ms
(118 Zeilen)

3. Slow query from wrong plan as result on similar case with inner join

When the 3 left joins above are changed to inner joins like:

from qup
join qli on (qli.curr_season=qup.curr_season and qli.curr_code=qup.curr_code and qli.ibitmask>0 and cardinality(qli.mat_arr) <=8)
join qin on (qin.curr_season=qup.curr_season and qin.curr_code=qup.curr_code and qin.ibitmask>0 and cardinality(qin.mat_arr) <=8)
join qou on (qou.curr_season=qup.curr_season and qou.curr_code=qup.curr_code and qou.ibitmask>0 and cardinality(qou.mat_arr) <=11)
where qup.ibitmask>0 and cardinality(qup.mat_arr) <=21

The same rows estimation takes place as with the left joins, but the planner now decides to use a nested loop for the last join, which results in a 500fold execution time:

QUERY PLAN
--------------------------------------------------------------------------------------------------------------------------------------------
Append (cost=13365.31..17472.18 rows=5734 width=104) (actual time=139.037..13403.310 rows=9963 loops=1)
CTE qup
-> GroupAggregate (cost=5231.22..6303.78 rows=10320 width=80) (actual time=35.399..67.102 rows=10735 loops=1)
Group Key: sa_upper.sup_season, sa_upper.sup_sa_code
-> Sort (cost=5231.22..5358.64 rows=50969 width=18) (actual time=35.382..36.743 rows=50969 loops=1)
Sort Key: sa_upper.sup_season, sa_upper.sup_sa_code COLLATE "C"
Sort Method: quicksort Memory: 4722kB
-> Hash Left Join (cost=41.71..1246.13 rows=50969 width=18) (actual time=0.157..10.715 rows=50969 loops=1)
Hash Cond: ((sa_upper.sup_mat_code)::text = upper_target.up_mat_code)
-> Seq Scan on sa_upper (cost=0.00..884.69 rows=50969 width=16) (actual time=0.008..2.001 rows=50969 loops=1)
-> Hash (cost=35.53..35.53 rows=495 width=6) (actual time=0.146..0.146 rows=495 loops=1)
Buckets: 1024 Batches: 1 Memory Usage: 27kB
-> Seq Scan on upper_target (cost=0.00..35.53 rows=495 width=6) (actual time=0.006..0.105 rows=495 loops=1)
Filter: (id_up <= 495)
Rows Removed by Filter: 1467
CTE qli
-> GroupAggregate (cost=1097.31..1486.56 rows=10469 width=80) (actual time=9.541..27.419 rows=10469 loops=1)
Group Key: sa_lining.sli_season, sa_lining.sli_sa_code
-> Sort (cost=1097.31..1126.74 rows=11774 width=18) (actual time=9.534..9.908 rows=11774 loops=1)
Sort Key: sa_lining.sli_season, sa_lining.sli_sa_code COLLATE "C"
Sort Method: quicksort Memory: 1120kB
-> Hash Left Join (cost=7.34..301.19 rows=11774 width=18) (actual time=0.049..2.451 rows=11774 loops=1)
Hash Cond: ((sa_lining.sli_mat_code)::text = lining_target.li_mat_code)
-> Seq Scan on sa_lining (cost=0.00..204.74 rows=11774 width=16) (actual time=0.010..0.462 rows=11774 loops=1)
-> Hash (cost=5.86..5.86 rows=118 width=6) (actual time=0.035..0.035 rows=119 loops=1)
Buckets: 1024 Batches: 1 Memory Usage: 13kB
-> Seq Scan on lining_target (cost=0.00..5.86 rows=118 width=6) (actual time=0.008..0.025 rows=119 loops=1)
Filter: (id_li <= 119)
Rows Removed by Filter: 190
CTE qin
-> GroupAggregate (cost=1427.34..1880.73 rows=10678 width=80) (actual time=11.649..30.910 rows=10678 loops=1)
Group Key: sa_insole.sin_season, sa_insole.sin_sa_code
-> Sort (cost=1427.34..1465.41 rows=15230 width=18) (actual time=11.642..12.115 rows=15230 loops=1)
Sort Key: sa_insole.sin_season, sa_insole.sin_sa_code COLLATE "C"
Sort Method: quicksort Memory: 1336kB
-> Hash Left Join (cost=10.49..369.26 rows=15230 width=18) (actual time=0.056..3.144 rows=15230 loops=1)
Hash Cond: ((sa_insole.sin_mat_code)::text = insole_target.in_mat_code)
-> Seq Scan on sa_insole (cost=0.00..264.30 rows=15230 width=16) (actual time=0.008..0.594 rows=15230 loops=1)
-> Hash (cost=9.01..9.01 rows=118 width=6) (actual time=0.045..0.046 rows=119 loops=1)
Buckets: 1024 Batches: 1 Memory Usage: 13kB
-> Seq Scan on insole_target (cost=0.00..9.01 rows=118 width=6) (actual time=0.008..0.034 rows=119 loops=1)
Filter: (id_in <= 119)
Rows Removed by Filter: 362
CTE qou
-> GroupAggregate (cost=2366.22..2986.89 rows=10699 width=80) (actual time=18.163..51.151 rows=10699 loops=1)
Group Key: sa_outsole.sou_season, sa_outsole.sou_sa_code
-> Sort (cost=2366.22..2428.14 rows=24768 width=18) (actual time=18.150..20.000 rows=24768 loops=1)
Sort Key: sa_outsole.sou_season, sa_outsole.sou_sa_code COLLATE "C"
Sort Method: quicksort Memory: 2317kB
-> Hash Left Join (cost=5.39..558.63 rows=24768 width=18) (actual time=0.036..5.106 rows=24768 loops=1)
Hash Cond: ((sa_outsole.sou_mat_code)::text = outsole_target.ou_mat_code)
-> Seq Scan on sa_outsole (cost=0.00..430.68 rows=24768 width=16) (actual time=0.008..1.005 rows=24768 loops=1)
-> Hash (cost=5.03..5.03 rows=29 width=6) (actual time=0.024..0.024 rows=29 loops=1)
Buckets: 1024 Batches: 1 Memory Usage: 10kB
-> Seq Scan on outsole_target (cost=0.00..5.03 rows=29 width=6) (actual time=0.007..0.018 rows=29 loops=1)
Filter: (id_ou <= 29)
Rows Removed by Filter: 213
-> Nested Loop (cost=707.35..1328.37 rows=1 width=104) (actual time=139.036..13395.820 rows=8548 loops=1)
Join Filter: ((qli.curr_season = qin.curr_season) AND ((qli.curr_code)::text = (qin.curr_code)::text))
Rows Removed by Join Filter: 88552397
-> Hash Join (cost=707.35..1016.45 rows=1 width=216) (actual time=127.374..168.249 rows=8685 loops=1)
Hash Cond: ((qou.curr_season = qli.curr_season) AND ((qou.curr_code)::text = (qli.curr_code)::text))
-> CTE Scan on qou (cost=0.00..294.22 rows=1189 width=72) (actual time=18.165..54.968 rows=10275 loops=1)
Filter: ((ibitmask > 0) AND (cardinality(mat_arr) <= 11))
Rows Removed by Filter: 424
-> Hash (cost=706.86..706.86 rows=33 width=144) (actual time=109.205..109.207 rows=9007 loops=1)
Buckets: 16384 (originally 1024) Batches: 1 (originally 1) Memory Usage: 1369kB
-> Merge Join (cost=689.20..706.86 rows=33 width=144) (actual time=104.785..107.748 rows=9007 loops=1)
Merge Cond: ((qup.curr_season = qli.curr_season) AND ((qup.curr_code)::text = (qli.curr_code)::text))
-> Sort (cost=342.09..344.96 rows=1147 width=72) (actual time=72.320..72.559 rows=9320 loops=1)
Sort Key: qup.curr_season, qup.curr_code COLLATE "C"
Sort Method: quicksort Memory: 1357kB
-> CTE Scan on qup (cost=0.00..283.80 rows=1147 width=72) (actual time=35.401..70.834 rows=9320 loops=1)
Filter: ((ibitmask > 0) AND (cardinality(mat_arr) <= 21))
Rows Removed by Filter: 1415
-> Sort (cost=347.12..350.02 rows=1163 width=72) (actual time=32.461..32.719 rows=10289 loops=1)
Sort Key: qli.curr_season, qli.curr_code COLLATE "C"
Sort Method: quicksort Memory: 1269kB
-> CTE Scan on qli (cost=0.00..287.90 rows=1163 width=72) (actual time=9.543..30.696 rows=10289 loops=1)
Filter: ((ibitmask > 0) AND (cardinality(mat_arr) <= 8))
Rows Removed by Filter: 180
-> CTE Scan on qin (cost=0.00..293.65 rows=1186 width=72) (actual time=0.001..1.159 rows=10197 loops=8685)
Filter: ((ibitmask > 0) AND (cardinality(mat_arr) <= 8))
Rows Removed by Filter: 481
-> Merge Left Join (cost=2625.49..3399.84 rows=5733 width=104) (actual time=4.606..6.733 rows=1415 loops=1)
Merge Cond: ((qup_1.curr_season = qou_1.curr_season) AND ((qup_1.curr_code)::text = (qou_1.curr_code)::text))
-> Merge Left Join (cost=1958.66..2135.28 rows=5733 width=136) (actual time=3.479..3.930 rows=1415 loops=1)
Merge Cond: ((qup_1.curr_season = qin_1.curr_season) AND ((qup_1.curr_code)::text = (qin_1.curr_code)::text))
-> Merge Left Join (cost=1293.25..1388.21 rows=5733 width=104) (actual time=2.368..2.610 rows=1415 loops=1)
Merge Cond: ((qup_1.curr_season = qli_1.curr_season) AND ((qup_1.curr_code)::text = (qli_1.curr_code)::text))
-> Sort (cost=641.68..656.02 rows=5733 width=72) (actual time=1.296..1.335 rows=1415 loops=1)
Sort Key: qup_1.curr_season, qup_1.curr_code COLLATE "C"
Sort Method: quicksort Memory: 204kB
-> CTE Scan on qup qup_1 (cost=0.00..283.80 rows=5733 width=72) (actual time=0.010..1.119 rows=1415 loops=1)
Filter: ((ibitmask < 0) OR (cardinality(mat_arr) > 21))
Rows Removed by Filter: 9320
-> Sort (cost=651.57..666.11 rows=5816 width=72) (actual time=1.069..1.075 rows=180 loops=1)
Sort Key: qli_1.curr_season, qli_1.curr_code COLLATE "C"
Sort Method: quicksort Memory: 41kB
-> CTE Scan on qli qli_1 (cost=0.00..287.90 rows=5816 width=72) (actual time=0.057..1.026 rows=180 loops=1)
Filter: ((ibitmask < 0) OR (cardinality(mat_arr) > 8))
Rows Removed by Filter: 10289
-> Sort (cost=665.41..680.24 rows=5932 width=72) (actual time=1.110..1.124 rows=481 loops=1)
Sort Key: qin_1.curr_season, qin_1.curr_code COLLATE "C"
Sort Method: quicksort Memory: 68kB
-> CTE Scan on qin qin_1 (cost=0.00..293.65 rows=5932 width=72) (actual time=0.016..1.046 rows=481 loops=1)
Filter: ((ibitmask < 0) OR (cardinality(mat_arr) > 8))
Rows Removed by Filter: 10197
-> Sort (cost=666.83..681.69 rows=5944 width=72) (actual time=1.119..1.128 rows=417 loops=1)
Sort Key: qou_1.curr_season, qou_1.curr_code COLLATE "C"
Sort Method: quicksort Memory: 68kB
-> CTE Scan on qou qou_1 (cost=0.00..294.22 rows=5944 width=72) (actual time=0.029..1.056 rows=424 loops=1)
Filter: ((ibitmask < 0) OR (cardinality(mat_arr) > 11))
Rows Removed by Filter: 10275
Planning Time: 1.746 ms
Execution Time: 13405.503 ms
(116 Zeilen)

This case really brought me to detect the problem!

The original query and data are not shown here, but the principle should be clear from the execution plans.

I think the planner shouldn't change the row estimations on further steps after left joins at all, and be a bit more conservative on inner joins.
This may be related to the fact that this case has 2 join-conditions (xx_season an xx_code).

Thanks for looking

Hans Buschmann

#2Tomas Vondra
tomas.vondra@enterprisedb.com
In reply to: Hans Buschmann (#1)
Re: Wrong rows estimations with joins of CTEs slows queries by more than factor 500

On 2/8/23 14:55, Hans Buschmann wrote:

During data refactoring of our Application I encountered $subject when
joining 4 CTEs with left join or inner join.

1. Background

PG 15.1 on Windows x64 (OS seems no to have no meening here)

I try to collect data from 4 (analyzed) tables (up,li,in,ou) by grouping
certain data (4 CTEs qup,qli,qin,qou)

The grouping of the data in the CTEs gives estimated row counts of about
1000 (1 tenth of the real value) This is OK for estimation.

These 4 CTEs are then used to combine the data by joining them.

2. Problem

The 4 CTEs are joined by left joins as shown below:

...

This case really brought me to detect the problem!

The original query and data are not shown here, but the principle should
be clear from the execution plans.

I think the planner shouldn't change the row estimations on further
steps after left joins at all, and be a bit more conservative on inner
joins.

But the code should alredy do exactly that, see:

https://github.com/postgres/postgres/blob/dbe8a1726cfd5a09cf1ef99e76f5f89e2efada71/src/backend/optimizer/path/costsize.c#L5212

And in fact, the second part of the plains shows it's doing the trick:

-> Merge Left Join (cost=1293.25..1388.21 rows=5733 width=104)
(actual time=2.321..2.556 rows=1415 loops=1)
Merge Cond: ((qup_1.curr_season = qli_1.curr_season) AND
((qup_1.curr_code)::text = (qli_1.curr_code)::text))
-> Sort (cost=641.68..656.02 rows=5733 width=72)
-> Sort (cost=651.57..666.11 rows=5816 width=72)

But notice the first join (with rows=33) doesn't say "Left". And I see
there's Append on top, so presumably the query is much more complex, and
there's a regular join of these CTEs in some other part.

We'll need to se the whole query, not just one chunk of it.

FWIW it seems you're using materialized CTEs - that's likely pretty bad
for the estimates, because we don't propagate statistics from the CTE.
So a join on CTEs can't see statistics from the underlying tables, and
that can easily produce really bad estimates.

I'm assuming you're not using AS MATERIALIZED explicitly, so I'd bet
this happens because the "cardinality" function is marked as volatile.
Perhaps it can be redefined as stable/immutable.

This may be related to the fact that this case has 2 join-conditions
(xx_season an xx_code).

That shouldn't affect outer join estimates this way (but as I explained
above, the join does not seem to be "left" per the explain).
Multi-column joins can cause issues, no doubt about it - but CTEs make
it worse because we can't e.g. see foreign keys.

regards

--
Tomas Vondra
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

#3Hans Buschmann
buschmann@nidsa.net
In reply to: Tomas Vondra (#2)
AW: Wrong rows estimations with joins of CTEs slows queries by more than factor 500

Hello Tomas,

Thank you for looking at.

First, I miscalculated the factor which should be about 50, not 500. Sorry.

Then I want to show you the table definitions (simple, very similar, ommited child_tables and additional indexes, here using always "ONLY"):

cpsdb_matcol=# \d sa_upper;
Tabelle ╗public.sa_upper½
Spalte | Typ | Sortierfolge | NULL erlaubt? | Vorgabewert
--------------+-----------------------+--------------+---------------+----------------------------------
id_sup | integer | | not null | generated by default as identity
sup_season | smallint | | |
sup_sa_code | character varying(10) | C | |
sup_mat_code | character varying(4) | C | |
sup_clr_code | character varying(3) | C | |
Indexe:
"sa_upper_active_pkey" PRIMARY KEY, btree (id_sup)

cpsdb_matcol=# \d sa_lining+;
Tabelle ╗public.sa_lining½
Spalte | Typ | Sortierfolge | NULL erlaubt? | Vorgabewert
--------------+-----------------------+--------------+---------------+----------------------------------
id_sli | integer | | not null | generated by default as identity
sli_season | smallint | | |
sli_sa_code | character varying(10) | C | |
sli_mat_code | character varying(4) | C | |
sli_clr_code | character varying(3) | C | |
Indexe:
"sa_lining_active_pkey" PRIMARY KEY, btree (id_sli)

cpsdb_matcol=# \d sa_insole;
Tabelle ╗public.sa_insole½
Spalte | Typ | Sortierfolge | NULL erlaubt? | Vorgabewert
--------------+-----------------------+--------------+---------------+----------------------------------
id_sin | integer | | not null | generated by default as identity
sin_season | smallint | | |
sin_sa_code | character varying(10) | C | |
sin_mat_code | character varying(4) | C | |
sin_clr_code | character varying(3) | C | |
Indexe:
"sa_insole_active_pkey" PRIMARY KEY, btree (id_sin)

cpsdb_matcol=# \d sa_outsole;
Tabelle ╗public.sa_outsole½
Spalte | Typ | Sortierfolge | NULL erlaubt? | Vorgabewert
--------------+-----------------------+--------------+---------------+----------------------------------
id_sou | integer | | not null | generated by default as identity
sou_season | smallint | | |
sou_sa_code | character varying(10) | C | |
sou_mat_code | character varying(4) | C | |
sou_clr_code | character varying(3) | C | |
Indexe:
"sa_outsole_active_pkey" PRIMARY KEY, btree (id_sou)

The xxx_target tables are very similiar, here the upper one as an example:
They are count_aggregates of the whole dataset, where up_mat_code=sup_mat_code etc.

cpsdb_matcol=# \d upper_target
Tabelle ╗admin.upper_target½
Spalte | Typ | Sortierfolge | NULL erlaubt? | Vorgabewert
-------------+----------+--------------+---------------+-------------
id_up | smallint | | |
nup | integer | | |
up_mat_code | text | C | |

I have reworked the two queries to show their complete explain plans:

1. query with left join in the qupd CTE:

\set only 'ONLY'

cpsdb_matcol=# explain analyze -- explain analyze verbose -- explain -- select * from ( -- select count(*) from ( -- select length(sel) from (
cpsdb_matcol-# with
cpsdb_matcol-# qup as (
cpsdb_matcol(# select
cpsdb_matcol(# curr_season -- all xxx_seasosn are always smallint
cpsdb_matcol(# ,curr_code-- all xx_code are always varchar(10)
cpsdb_matcol(# ,array_agg(id_up order by id_up)||array_fill(0::smallint,array[10]) as mat_arr
cpsdb_matcol(# ,array_agg(curr_mat_code order by id_up) as matcode_arr
cpsdb_matcol(# ,bit_or(imask) as ibitmask
cpsdb_matcol(# from(
cpsdb_matcol(# select
cpsdb_matcol(# sup_season as curr_season
cpsdb_matcol(# ,sup_sa_code as curr_code
cpsdb_matcol(# ,sup_mat_code as curr_mat_code
cpsdb_matcol(# ,sup_clr_code as curr_clr_code
cpsdb_matcol(# ,id_up
cpsdb_matcol(# ,coalesce(id_up,-1) as imask
cpsdb_matcol(# from :only sa_upper
cpsdb_matcol(# left join upper_target on up_mat_code=sup_mat_code and id_up <= (512-1-16)
cpsdb_matcol(# )qr
cpsdb_matcol(# group by 1,2
cpsdb_matcol(# )
cpsdb_matcol-# ,qli as (
cpsdb_matcol(# select
cpsdb_matcol(# curr_season
cpsdb_matcol(# ,curr_code
cpsdb_matcol(# ,array_agg(id_li order by id_li)||array_fill(0::smallint,array[4]) as mat_arr
cpsdb_matcol(# ,array_agg(curr_mat_code order by id_li) as matcode_arr
cpsdb_matcol(# ,bit_or(imask) as ibitmask
cpsdb_matcol(# from(
cpsdb_matcol(# select
cpsdb_matcol(# sli_season as curr_season
cpsdb_matcol(# ,sli_sa_code as curr_code
cpsdb_matcol(# ,sli_mat_code as curr_mat_code
cpsdb_matcol(# ,sli_clr_code as curr_clr_code
cpsdb_matcol(# ,id_li
cpsdb_matcol(# ,coalesce(id_li,-1) as imask
cpsdb_matcol(# from :only sa_lining
cpsdb_matcol(# left join lining_target on li_mat_code=sli_mat_code and id_li <= (128-1-8)
cpsdb_matcol(# )qr
cpsdb_matcol(# group by 1,2
cpsdb_matcol(# )
cpsdb_matcol-# ,qin as (
cpsdb_matcol(# select
cpsdb_matcol(# curr_season
cpsdb_matcol(# ,curr_code
cpsdb_matcol(# ,array_agg(id_in order by id_in)||array_fill(0::smallint,array[4]) as mat_arr
cpsdb_matcol(# ,array_agg(curr_mat_code order by id_in) as matcode_arr
cpsdb_matcol(# ,bit_or(imask) as ibitmask
cpsdb_matcol(# from(
cpsdb_matcol(# select
cpsdb_matcol(# sin_season as curr_season
cpsdb_matcol(# ,sin_sa_code as curr_code
cpsdb_matcol(# ,sin_mat_code as curr_mat_code
cpsdb_matcol(# ,sin_clr_code as curr_clr_code
cpsdb_matcol(# ,id_in
cpsdb_matcol(# ,coalesce(id_in,-1) as imask
cpsdb_matcol(# from :only sa_insole
cpsdb_matcol(# left join insole_target on in_mat_code=sin_mat_code and id_in <= (128-1-8)
cpsdb_matcol(# )qr
cpsdb_matcol(# group by 1,2
cpsdb_matcol(# )
cpsdb_matcol-# ,qou as (
cpsdb_matcol(# select
cpsdb_matcol(# curr_season
cpsdb_matcol(# ,curr_code
cpsdb_matcol(# ,array_agg(id_ou order by id_ou)||array_fill(0::smallint,array[6]) as mat_arr
cpsdb_matcol(# ,array_agg(curr_mat_code order by id_ou) as matcode_arr
cpsdb_matcol(# ,bit_or(imask) as ibitmask
cpsdb_matcol(# from(
cpsdb_matcol(# select
cpsdb_matcol(# sou_season as curr_season
cpsdb_matcol(# ,sou_sa_code as curr_code
cpsdb_matcol(# ,sou_mat_code as curr_mat_code
cpsdb_matcol(# ,sou_clr_code as curr_clr_code
cpsdb_matcol(# ,id_ou
cpsdb_matcol(# ,coalesce(id_ou,-1) as imask
cpsdb_matcol(# from :only sa_outsole
cpsdb_matcol(# left join outsole_target on ou_mat_code=sou_mat_code and id_ou <= (32-1-2)
cpsdb_matcol(# )qr
cpsdb_matcol(# group by 1,2
cpsdb_matcol(# )
cpsdb_matcol-# ,qupd as (
cpsdb_matcol(# select * from (
cpsdb_matcol(# select
cpsdb_matcol(# qup.curr_season
cpsdb_matcol(# ,qup.curr_code
cpsdb_matcol(# ,qup.ibitmask|qin.ibitmask|qli.ibitmask|qou.ibitmask as ibitmask
cpsdb_matcol(# -- the calculations of new_mat_x are simplified here
cpsdb_matcol(# -- in the production version they are a more complex combination of bit masks, bit shifts and bit or of different elements of the arrays
cpsdb_matcol(# ,(qup.mat_arr[1]|qli.mat_arr[1]|qin.mat_arr[1]|qou.mat_arr[1])::bigint as new_mat_1
cpsdb_matcol(#
cpsdb_matcol(# ,(qup.mat_arr[2]|qli.mat_arr[2]|qin.mat_arr[2]|qou.mat_arr[2])::bigint as new_mat_2
cpsdb_matcol(#
cpsdb_matcol(# ,(qup.mat_arr[3]|qli.mat_arr[3]|qin.mat_arr[3]|qou.mat_arr[3])::bigint as new_mat_3
cpsdb_matcol(#
cpsdb_matcol(# from qup
cpsdb_matcol(# left join qli on (qli.curr_season=qup.curr_season and qli.curr_code=qup.curr_code and qli.ibitmask>0 and cardinality(qli.mat_arr) <=8)
cpsdb_matcol(# left join qin on (qin.curr_season=qup.curr_season and qin.curr_code=qup.curr_code and qin.ibitmask>0 and cardinality(qin.mat_arr) <=8)
cpsdb_matcol(# left join qou on (qou.curr_season=qup.curr_season and qou.curr_code=qup.curr_code and qou.ibitmask>0 and cardinality(qou.mat_arr) <=11)
cpsdb_matcol(# where qup.ibitmask>0 and cardinality(qup.mat_arr) <=21
cpsdb_matcol(# )qj
cpsdb_matcol(# where ibitmask is not null
cpsdb_matcol(# )
cpsdb_matcol-# ,qupda as (
cpsdb_matcol(# select
cpsdb_matcol(# qup.curr_season
cpsdb_matcol(# ,qup.curr_code
cpsdb_matcol(# ,repeat('0',64)||
cpsdb_matcol(# repeat('11',coalesce(cardinality(qou.matcode_arr),0))||repeat('10',coalesce(cardinality(qin.matcode_arr),0))||
cpsdb_matcol(# repeat('01',coalesce(cardinality(qou.matcode_arr),0))||repeat('00',coalesce(cardinality(qup.matcode_arr),0))||
cpsdb_matcol(# '00' as curr_mattype_bitmask
cpsdb_matcol(# ,qup.matcode_arr||qli.matcode_arr||qin.matcode_arr||qou.matcode_arr as curr_matcode_arr
cpsdb_matcol(# from qup
cpsdb_matcol(# left join qli on qli.curr_season=qup.curr_season and qli.curr_code=qup.curr_code and (qli.ibitmask<0 or cardinality(qli.mat_arr) >8)
cpsdb_matcol(# left join qin on qin.curr_season=qup.curr_season and qin.curr_code=qup.curr_code and (qin.ibitmask<0 or cardinality(qin.mat_arr) >8)
cpsdb_matcol(# left join qou on qou.curr_season=qup.curr_season and qou.curr_code=qup.curr_code and (qou.ibitmask<0 or cardinality(qou.mat_arr) >11)
cpsdb_matcol(# where qup.ibitmask<0 or cardinality(qup.mat_arr) >21
cpsdb_matcol(# )
cpsdb_matcol-# select
cpsdb_matcol-# curr_season
cpsdb_matcol-# ,curr_code
cpsdb_matcol-# ,new_mat_1
cpsdb_matcol-# ,new_mat_2
cpsdb_matcol-# ,new_mat_3
cpsdb_matcol-# ,NULL::bigint as new_mattype_bitmask
cpsdb_matcol-# ,NULL as new_mat_codes
cpsdb_matcol-# from qupd
cpsdb_matcol-# union all
cpsdb_matcol-# select
cpsdb_matcol-# curr_season
cpsdb_matcol-# ,curr_code
cpsdb_matcol-# ,NULL::bigint as new_mat_1
cpsdb_matcol-# ,NULL::bigint as new_mat_2
cpsdb_matcol-# ,NULL::bigint as new_mat_3
cpsdb_matcol-# ,substr(curr_mattype_bitmask,length(curr_mattype_bitmask)-63)::bit(64)::bigint as new_mattype_bitmask
cpsdb_matcol-# ,curr_matcode_arr as new_mat_codes
cpsdb_matcol-# from qupda
cpsdb_matcol-# ;
QUERY PLAN
--------------------------------------------------------------------------------------------------------------------------------------------------
Append (cost=13673.81..17462.84 rows=5734 width=104) (actual time=169.382..210.799 rows=9963 loops=1)
CTE qup
-> GroupAggregate (cost=5231.22..6303.78 rows=10320 width=80) (actual time=35.064..68.308 rows=10735 loops=1)
Group Key: sa_upper.sup_season, sa_upper.sup_sa_code
-> Sort (cost=5231.22..5358.64 rows=50969 width=18) (actual time=35.053..36.412 rows=50969 loops=1)
Sort Key: sa_upper.sup_season, sa_upper.sup_sa_code COLLATE "C"
Sort Method: quicksort Memory: 4722kB
-> Hash Left Join (cost=41.71..1246.13 rows=50969 width=18) (actual time=0.165..10.562 rows=50969 loops=1)
Hash Cond: ((sa_upper.sup_mat_code)::text = upper_target.up_mat_code)
-> Seq Scan on sa_upper (cost=0.00..884.69 rows=50969 width=16) (actual time=0.006..1.990 rows=50969 loops=1)
-> Hash (cost=35.53..35.53 rows=495 width=6) (actual time=0.157..0.157 rows=495 loops=1)
Buckets: 1024 Batches: 1 Memory Usage: 27kB
-> Seq Scan on upper_target (cost=0.00..35.53 rows=495 width=6) (actual time=0.006..0.115 rows=495 loops=1)
Filter: (id_up <= 495)
Rows Removed by Filter: 1467
CTE qli
-> GroupAggregate (cost=1097.31..1486.56 rows=10469 width=80) (actual time=9.354..28.199 rows=10469 loops=1)
Group Key: sa_lining.sli_season, sa_lining.sli_sa_code
-> Sort (cost=1097.31..1126.74 rows=11774 width=18) (actual time=9.347..9.711 rows=11774 loops=1)
Sort Key: sa_lining.sli_season, sa_lining.sli_sa_code COLLATE "C"
Sort Method: quicksort Memory: 1120kB
-> Hash Left Join (cost=7.34..301.19 rows=11774 width=18) (actual time=0.049..2.397 rows=11774 loops=1)
Hash Cond: ((sa_lining.sli_mat_code)::text = lining_target.li_mat_code)
-> Seq Scan on sa_lining (cost=0.00..204.74 rows=11774 width=16) (actual time=0.009..0.469 rows=11774 loops=1)
-> Hash (cost=5.86..5.86 rows=118 width=6) (actual time=0.037..0.037 rows=119 loops=1)
Buckets: 1024 Batches: 1 Memory Usage: 13kB
-> Seq Scan on lining_target (cost=0.00..5.86 rows=118 width=6) (actual time=0.008..0.025 rows=119 loops=1)
Filter: (id_li <= 119)
Rows Removed by Filter: 190
CTE qin
-> GroupAggregate (cost=1427.34..1880.73 rows=10678 width=80) (actual time=11.453..32.317 rows=10678 loops=1)
Group Key: sa_insole.sin_season, sa_insole.sin_sa_code
-> Sort (cost=1427.34..1465.41 rows=15230 width=18) (actual time=11.444..11.943 rows=15230 loops=1)
Sort Key: sa_insole.sin_season, sa_insole.sin_sa_code COLLATE "C"
Sort Method: quicksort Memory: 1336kB
-> Hash Left Join (cost=10.49..369.26 rows=15230 width=18) (actual time=0.051..3.098 rows=15230 loops=1)
Hash Cond: ((sa_insole.sin_mat_code)::text = insole_target.in_mat_code)
-> Seq Scan on sa_insole (cost=0.00..264.30 rows=15230 width=16) (actual time=0.007..0.608 rows=15230 loops=1)
-> Hash (cost=9.01..9.01 rows=118 width=6) (actual time=0.041..0.041 rows=119 loops=1)
Buckets: 1024 Batches: 1 Memory Usage: 13kB
-> Seq Scan on insole_target (cost=0.00..9.01 rows=118 width=6) (actual time=0.007..0.031 rows=119 loops=1)
Filter: (id_in <= 119)
Rows Removed by Filter: 362
CTE qou
-> GroupAggregate (cost=2366.22..2986.89 rows=10699 width=80) (actual time=18.055..42.079 rows=10699 loops=1)
Group Key: sa_outsole.sou_season, sa_outsole.sou_sa_code
-> Sort (cost=2366.22..2428.14 rows=24768 width=18) (actual time=18.043..18.798 rows=24768 loops=1)
Sort Key: sa_outsole.sou_season, sa_outsole.sou_sa_code COLLATE "C"
Sort Method: quicksort Memory: 2317kB
-> Hash Left Join (cost=5.39..558.63 rows=24768 width=18) (actual time=0.037..5.017 rows=24768 loops=1)
Hash Cond: ((sa_outsole.sou_mat_code)::text = outsole_target.ou_mat_code)
-> Seq Scan on sa_outsole (cost=0.00..430.68 rows=24768 width=16) (actual time=0.008..0.998 rows=24768 loops=1)
-> Hash (cost=5.03..5.03 rows=29 width=6) (actual time=0.025..0.025 rows=29 loops=1)
Buckets: 1024 Batches: 1 Memory Usage: 10kB
-> Seq Scan on outsole_target (cost=0.00..5.03 rows=29 width=6) (actual time=0.009..0.020 rows=29 loops=1)
Filter: (id_ou <= 29)
Rows Removed by Filter: 213
-> Hash Join (cost=1015.85..1319.04 rows=1 width=104) (actual time=169.382..203.707 rows=8548 loops=1)
Hash Cond: ((qou.curr_season = qli.curr_season) AND ((qou.curr_code)::text = (qli.curr_code)::text))
Join Filter: ((((qup.ibitmask | qin.ibitmask) | qli.ibitmask) | qou.ibitmask) IS NOT NULL)
-> CTE Scan on qou (cost=0.00..294.22 rows=1189 width=76) (actual time=18.057..45.448 rows=10275 loops=1)
Filter: ((ibitmask > 0) AND (cardinality(mat_arr) <= 11))
Rows Removed by Filter: 424
-> Hash (cost=1015.83..1015.83 rows=1 width=228) (actual time=151.316..151.317 rows=8845 loops=1)
Buckets: 16384 (originally 1024) Batches: 1 (originally 1) Memory Usage: 1899kB
-> Hash Join (cost=707.35..1015.83 rows=1 width=228) (actual time=122.483..149.030 rows=8845 loops=1)
Hash Cond: ((qin.curr_season = qli.curr_season) AND ((qin.curr_code)::text = (qli.curr_code)::text))
-> CTE Scan on qin (cost=0.00..293.65 rows=1186 width=76) (actual time=11.454..35.456 rows=10197 loops=1)
Filter: ((ibitmask > 0) AND (cardinality(mat_arr) <= 8))
Rows Removed by Filter: 481
-> Hash (cost=706.86..706.86 rows=33 width=152) (actual time=111.026..111.027 rows=9007 loops=1)
Buckets: 16384 (originally 1024) Batches: 1 (originally 1) Memory Usage: 1473kB
-> Merge Join (cost=689.20..706.86 rows=33 width=152) (actual time=106.441..109.505 rows=9007 loops=1)
Merge Cond: ((qup.curr_season = qli.curr_season) AND ((qup.curr_code)::text = (qli.curr_code)::text))
-> Sort (cost=342.09..344.96 rows=1147 width=76) (actual time=73.200..73.429 rows=9320 loops=1)
Sort Key: qup.curr_season, qup.curr_code COLLATE "C"
Sort Method: quicksort Memory: 1391kB
-> CTE Scan on qup (cost=0.00..283.80 rows=1147 width=76) (actual time=35.067..71.872 rows=9320 loops=1)
Filter: ((ibitmask > 0) AND (cardinality(mat_arr) <= 21))
Rows Removed by Filter: 1415
-> Sort (cost=347.12..350.02 rows=1163 width=76) (actual time=33.239..33.490 rows=10289 loops=1)
Sort Key: qli.curr_season, qli.curr_code COLLATE "C"
Sort Method: quicksort Memory: 1349kB
-> CTE Scan on qli (cost=0.00..287.90 rows=1163 width=76) (actual time=9.355..31.457 rows=10289 loops=1)
Filter: ((ibitmask > 0) AND (cardinality(mat_arr) <= 8))
Rows Removed by Filter: 180
-> Merge Left Join (cost=2625.49..3399.84 rows=5733 width=104) (actual time=4.529..6.645 rows=1415 loops=1)
Merge Cond: ((qup_1.curr_season = qou_1.curr_season) AND ((qup_1.curr_code)::text = (qou_1.curr_code)::text))
-> Merge Left Join (cost=1958.66..2135.28 rows=5733 width=136) (actual time=3.388..3.833 rows=1415 loops=1)
Merge Cond: ((qup_1.curr_season = qin_1.curr_season) AND ((qup_1.curr_code)::text = (qin_1.curr_code)::text))
-> Merge Left Join (cost=1293.25..1388.21 rows=5733 width=104) (actual time=2.297..2.534 rows=1415 loops=1)
Merge Cond: ((qup_1.curr_season = qli_1.curr_season) AND ((qup_1.curr_code)::text = (qli_1.curr_code)::text))
-> Sort (cost=641.68..656.02 rows=5733 width=72) (actual time=1.278..1.315 rows=1415 loops=1)
Sort Key: qup_1.curr_season, qup_1.curr_code COLLATE "C"
Sort Method: quicksort Memory: 204kB
-> CTE Scan on qup qup_1 (cost=0.00..283.80 rows=5733 width=72) (actual time=0.009..1.081 rows=1415 loops=1)
Filter: ((ibitmask < 0) OR (cardinality(mat_arr) > 21))
Rows Removed by Filter: 9320
-> Sort (cost=651.57..666.11 rows=5816 width=72) (actual time=1.017..1.022 rows=180 loops=1)
Sort Key: qli_1.curr_season, qli_1.curr_code COLLATE "C"
Sort Method: quicksort Memory: 41kB
-> CTE Scan on qli qli_1 (cost=0.00..287.90 rows=5816 width=72) (actual time=0.054..0.994 rows=180 loops=1)
Filter: ((ibitmask < 0) OR (cardinality(mat_arr) > 8))
Rows Removed by Filter: 10289
-> Sort (cost=665.41..680.24 rows=5932 width=72) (actual time=1.089..1.103 rows=481 loops=1)
Sort Key: qin_1.curr_season, qin_1.curr_code COLLATE "C"
Sort Method: quicksort Memory: 68kB
-> CTE Scan on qin qin_1 (cost=0.00..293.65 rows=5932 width=72) (actual time=0.016..1.022 rows=481 loops=1)
Filter: ((ibitmask < 0) OR (cardinality(mat_arr) > 8))
Rows Removed by Filter: 10197
-> Sort (cost=666.83..681.69 rows=5944 width=72) (actual time=1.134..1.145 rows=417 loops=1)
Sort Key: qou_1.curr_season, qou_1.curr_code COLLATE "C"
Sort Method: quicksort Memory: 68kB
-> CTE Scan on qou qou_1 (cost=0.00..294.22 rows=5944 width=72) (actual time=0.029..1.038 rows=424 loops=1)
Filter: ((ibitmask < 0) OR (cardinality(mat_arr) > 11))
Rows Removed by Filter: 10275
Planning Time: 1.055 ms
Execution Time: 212.800 ms
(118 Zeilen)

As seen in the line of the qupd CTE

-> Merge Join (cost=689.20..706.86 rows=33 width=152) (actual time=106.441..109.505 rows=9007 loops=1)

the row count of the second join round drops to 33 and for the third round it drops to 1

-> Hash Join (cost=707.35..1015.83 rows=1 width=228) (actual time=122.483..149.030 rows=8845 loops=1)

BTW, I don't know, why the second join group (part of qupda) gets a complete different plan.

--------------------------------------------

Here is the second question, different from the first only by replacing the left join to inner join in the join group of qupd:

\set only 'ONLY'

cpsdb_matcol=# explain analyze -- explain analyze verbose -- explain -- select * from ( -- select count(*) from ( -- select length(sel) from (
cpsdb_matcol-# with
cpsdb_matcol-# qup as (
cpsdb_matcol(# select
cpsdb_matcol(# curr_season -- all xxx_seasosn are always smallint
cpsdb_matcol(# ,curr_code-- all xx_code are always varchar(10)
cpsdb_matcol(# ,array_agg(id_up order by id_up)||array_fill(0::smallint,array[10]) as mat_arr
cpsdb_matcol(# ,array_agg(curr_mat_code order by id_up) as matcode_arr
cpsdb_matcol(# ,bit_or(imask) as ibitmask
cpsdb_matcol(# from(
cpsdb_matcol(# select
cpsdb_matcol(# sup_season as curr_season
cpsdb_matcol(# ,sup_sa_code as curr_code
cpsdb_matcol(# ,sup_mat_code as curr_mat_code
cpsdb_matcol(# ,sup_clr_code as curr_clr_code
cpsdb_matcol(# ,id_up
cpsdb_matcol(# ,coalesce(id_up,-1) as imask
cpsdb_matcol(# from :only sa_upper
cpsdb_matcol(# left join upper_target on up_mat_code=sup_mat_code and id_up <= (512-1-16)
cpsdb_matcol(# )qr
cpsdb_matcol(# group by 1,2
cpsdb_matcol(# )
cpsdb_matcol-# ,qli as (
cpsdb_matcol(# select
cpsdb_matcol(# curr_season
cpsdb_matcol(# ,curr_code
cpsdb_matcol(# ,array_agg(id_li order by id_li)||array_fill(0::smallint,array[4]) as mat_arr
cpsdb_matcol(# ,array_agg(curr_mat_code order by id_li) as matcode_arr
cpsdb_matcol(# ,bit_or(imask) as ibitmask
cpsdb_matcol(# from(
cpsdb_matcol(# select
cpsdb_matcol(# sli_season as curr_season
cpsdb_matcol(# ,sli_sa_code as curr_code
cpsdb_matcol(# ,sli_mat_code as curr_mat_code
cpsdb_matcol(# ,sli_clr_code as curr_clr_code
cpsdb_matcol(# ,id_li
cpsdb_matcol(# ,coalesce(id_li,-1) as imask
cpsdb_matcol(# from :only sa_lining
cpsdb_matcol(# left join lining_target on li_mat_code=sli_mat_code and id_li <= (128-1-8)
cpsdb_matcol(# )qr
cpsdb_matcol(# group by 1,2
cpsdb_matcol(# )
cpsdb_matcol-# ,qin as (
cpsdb_matcol(# select
cpsdb_matcol(# curr_season
cpsdb_matcol(# ,curr_code
cpsdb_matcol(# ,array_agg(id_in order by id_in)||array_fill(0::smallint,array[4]) as mat_arr
cpsdb_matcol(# ,array_agg(curr_mat_code order by id_in) as matcode_arr
cpsdb_matcol(# ,bit_or(imask) as ibitmask
cpsdb_matcol(# from(
cpsdb_matcol(# select
cpsdb_matcol(# sin_season as curr_season
cpsdb_matcol(# ,sin_sa_code as curr_code
cpsdb_matcol(# ,sin_mat_code as curr_mat_code
cpsdb_matcol(# ,sin_clr_code as curr_clr_code
cpsdb_matcol(# ,id_in
cpsdb_matcol(# ,coalesce(id_in,-1) as imask
cpsdb_matcol(# from :only sa_insole
cpsdb_matcol(# left join insole_target on in_mat_code=sin_mat_code and id_in <= (128-1-8)
cpsdb_matcol(# )qr
cpsdb_matcol(# group by 1,2
cpsdb_matcol(# )
cpsdb_matcol-# ,qou as (
cpsdb_matcol(# select
cpsdb_matcol(# curr_season
cpsdb_matcol(# ,curr_code
cpsdb_matcol(# ,array_agg(id_ou order by id_ou)||array_fill(0::smallint,array[6]) as mat_arr
cpsdb_matcol(# ,array_agg(curr_mat_code order by id_ou) as matcode_arr
cpsdb_matcol(# ,bit_or(imask) as ibitmask
cpsdb_matcol(# from(
cpsdb_matcol(# select
cpsdb_matcol(# sou_season as curr_season
cpsdb_matcol(# ,sou_sa_code as curr_code
cpsdb_matcol(# ,sou_mat_code as curr_mat_code
cpsdb_matcol(# ,sou_clr_code as curr_clr_code
cpsdb_matcol(# ,id_ou
cpsdb_matcol(# ,coalesce(id_ou,-1) as imask
cpsdb_matcol(# from :only sa_outsole
cpsdb_matcol(# left join outsole_target on ou_mat_code=sou_mat_code and id_ou <= (32-1-2)
cpsdb_matcol(# )qr
cpsdb_matcol(# group by 1,2
cpsdb_matcol(# )
cpsdb_matcol-# ,qupd as (
cpsdb_matcol(# select
cpsdb_matcol(# qup.curr_season
cpsdb_matcol(# ,qup.curr_code
cpsdb_matcol(# ,qup.ibitmask|qin.ibitmask|qli.ibitmask|qou.ibitmask as ibitmask
cpsdb_matcol(# -- the calculations of new_mat_x are simplified here
cpsdb_matcol(# -- in the production version they are a more complex combination of bit masks, bit shifts and bit or of different elements of the arrays
cpsdb_matcol(# ,(qup.mat_arr[1]|qli.mat_arr[1]|qin.mat_arr[1]|qou.mat_arr[1])::bigint as new_mat_1
cpsdb_matcol(#
cpsdb_matcol(# ,(qup.mat_arr[2]|qli.mat_arr[2]|qin.mat_arr[2]|qou.mat_arr[2])::bigint as new_mat_2
cpsdb_matcol(#
cpsdb_matcol(# ,(qup.mat_arr[3]|qli.mat_arr[3]|qin.mat_arr[3]|qou.mat_arr[3])::bigint as new_mat_3
cpsdb_matcol(#
cpsdb_matcol(# from qup
cpsdb_matcol(# join qli on (qli.curr_season=qup.curr_season and qli.curr_code=qup.curr_code and qli.ibitmask>0 and cardinality(qli.mat_arr) <=8)
cpsdb_matcol(# join qin on (qin.curr_season=qup.curr_season and qin.curr_code=qup.curr_code and qin.ibitmask>0 and cardinality(qin.mat_arr) <=8)
cpsdb_matcol(# join qou on (qou.curr_season=qup.curr_season and qou.curr_code=qup.curr_code and qou.ibitmask>0 and cardinality(qou.mat_arr) <=11)
cpsdb_matcol(# where qup.ibitmask>0 and cardinality(qup.mat_arr) <=21
cpsdb_matcol(# )
cpsdb_matcol-# ,qupda as (
cpsdb_matcol(# select
cpsdb_matcol(# qup.curr_season
cpsdb_matcol(# ,qup.curr_code
cpsdb_matcol(# ,repeat('0',64)||
cpsdb_matcol(# repeat('11',coalesce(cardinality(qou.matcode_arr),0))||repeat('10',coalesce(cardinality(qin.matcode_arr),0))||
cpsdb_matcol(# repeat('01',coalesce(cardinality(qou.matcode_arr),0))||repeat('00',coalesce(cardinality(qup.matcode_arr),0))||
cpsdb_matcol(# '00' as curr_mattype_bitmask
cpsdb_matcol(# ,qup.matcode_arr||qli.matcode_arr||qin.matcode_arr||qou.matcode_arr as curr_matcode_arr
cpsdb_matcol(# from qup
cpsdb_matcol(# left join qli on qli.curr_season=qup.curr_season and qli.curr_code=qup.curr_code and (qli.ibitmask<0 or cardinality(qli.mat_arr) >8)
cpsdb_matcol(# left join qin on qin.curr_season=qup.curr_season and qin.curr_code=qup.curr_code and (qin.ibitmask<0 or cardinality(qin.mat_arr) >8)
cpsdb_matcol(# left join qou on qou.curr_season=qup.curr_season and qou.curr_code=qup.curr_code and (qou.ibitmask<0 or cardinality(qou.mat_arr) >11)
cpsdb_matcol(# where qup.ibitmask<0 or cardinality(qup.mat_arr) >21
cpsdb_matcol(# )
cpsdb_matcol-# select
cpsdb_matcol-# curr_season
cpsdb_matcol-# ,curr_code
cpsdb_matcol-# ,new_mat_1
cpsdb_matcol-# ,new_mat_2
cpsdb_matcol-# ,new_mat_3
cpsdb_matcol-# ,NULL::bigint as new_mattype_bitmask
cpsdb_matcol-# ,NULL as new_mat_codes
cpsdb_matcol-# from qupd
cpsdb_matcol-# union all
cpsdb_matcol-# select
cpsdb_matcol-# curr_season
cpsdb_matcol-# ,curr_code
cpsdb_matcol-# ,NULL::bigint as new_mat_1
cpsdb_matcol-# ,NULL::bigint as new_mat_2
cpsdb_matcol-# ,NULL::bigint as new_mat_3
cpsdb_matcol-# ,substr(curr_mattype_bitmask,length(curr_mattype_bitmask)-63)::bit(64)::bigint as new_mattype_bitmask
cpsdb_matcol-# ,curr_matcode_arr as new_mat_codes
cpsdb_matcol-# from qupda
cpsdb_matcol-# ;
QUERY PLAN
--------------------------------------------------------------------------------------------------------------------------------------------
Append (cost=13365.31..17471.72 rows=5734 width=104) (actual time=139.730..13430.641 rows=9963 loops=1)
CTE qup
-> GroupAggregate (cost=5231.22..6303.78 rows=10320 width=80) (actual time=35.337..67.779 rows=10735 loops=1)
Group Key: sa_upper.sup_season, sa_upper.sup_sa_code
-> Sort (cost=5231.22..5358.64 rows=50969 width=18) (actual time=35.326..36.704 rows=50969 loops=1)
Sort Key: sa_upper.sup_season, sa_upper.sup_sa_code COLLATE "C"
Sort Method: quicksort Memory: 4722kB
-> Hash Left Join (cost=41.71..1246.13 rows=50969 width=18) (actual time=0.179..10.787 rows=50969 loops=1)
Hash Cond: ((sa_upper.sup_mat_code)::text = upper_target.up_mat_code)
-> Seq Scan on sa_upper (cost=0.00..884.69 rows=50969 width=16) (actual time=0.009..1.990 rows=50969 loops=1)
-> Hash (cost=35.53..35.53 rows=495 width=6) (actual time=0.164..0.164 rows=495 loops=1)
Buckets: 1024 Batches: 1 Memory Usage: 27kB
-> Seq Scan on upper_target (cost=0.00..35.53 rows=495 width=6) (actual time=0.006..0.128 rows=495 loops=1)
Filter: (id_up <= 495)
Rows Removed by Filter: 1467
CTE qli
-> GroupAggregate (cost=1097.31..1486.56 rows=10469 width=80) (actual time=9.434..27.620 rows=10469 loops=1)
Group Key: sa_lining.sli_season, sa_lining.sli_sa_code
-> Sort (cost=1097.31..1126.74 rows=11774 width=18) (actual time=9.424..9.796 rows=11774 loops=1)
Sort Key: sa_lining.sli_season, sa_lining.sli_sa_code COLLATE "C"
Sort Method: quicksort Memory: 1120kB
-> Hash Left Join (cost=7.34..301.19 rows=11774 width=18) (actual time=0.049..2.444 rows=11774 loops=1)
Hash Cond: ((sa_lining.sli_mat_code)::text = lining_target.li_mat_code)
-> Seq Scan on sa_lining (cost=0.00..204.74 rows=11774 width=16) (actual time=0.009..0.476 rows=11774 loops=1)
-> Hash (cost=5.86..5.86 rows=118 width=6) (actual time=0.036..0.036 rows=119 loops=1)
Buckets: 1024 Batches: 1 Memory Usage: 13kB
-> Seq Scan on lining_target (cost=0.00..5.86 rows=118 width=6) (actual time=0.008..0.026 rows=119 loops=1)
Filter: (id_li <= 119)
Rows Removed by Filter: 190
CTE qin
-> GroupAggregate (cost=1427.34..1880.73 rows=10678 width=80) (actual time=11.578..31.510 rows=10678 loops=1)
Group Key: sa_insole.sin_season, sa_insole.sin_sa_code
-> Sort (cost=1427.34..1465.41 rows=15230 width=18) (actual time=11.572..12.044 rows=15230 loops=1)
Sort Key: sa_insole.sin_season, sa_insole.sin_sa_code COLLATE "C"
Sort Method: quicksort Memory: 1336kB
-> Hash Left Join (cost=10.49..369.26 rows=15230 width=18) (actual time=0.056..3.120 rows=15230 loops=1)
Hash Cond: ((sa_insole.sin_mat_code)::text = insole_target.in_mat_code)
-> Seq Scan on sa_insole (cost=0.00..264.30 rows=15230 width=16) (actual time=0.008..0.609 rows=15230 loops=1)
-> Hash (cost=9.01..9.01 rows=118 width=6) (actual time=0.044..0.045 rows=119 loops=1)
Buckets: 1024 Batches: 1 Memory Usage: 13kB
-> Seq Scan on insole_target (cost=0.00..9.01 rows=118 width=6) (actual time=0.008..0.033 rows=119 loops=1)
Filter: (id_in <= 119)
Rows Removed by Filter: 362
CTE qou
-> GroupAggregate (cost=2366.22..2986.89 rows=10699 width=80) (actual time=18.295..51.236 rows=10699 loops=1)
Group Key: sa_outsole.sou_season, sa_outsole.sou_sa_code
-> Sort (cost=2366.22..2428.14 rows=24768 width=18) (actual time=18.281..20.157 rows=24768 loops=1)
Sort Key: sa_outsole.sou_season, sa_outsole.sou_sa_code COLLATE "C"
Sort Method: quicksort Memory: 2317kB
-> Hash Left Join (cost=5.39..558.63 rows=24768 width=18) (actual time=0.036..5.080 rows=24768 loops=1)
Hash Cond: ((sa_outsole.sou_mat_code)::text = outsole_target.ou_mat_code)
-> Seq Scan on sa_outsole (cost=0.00..430.68 rows=24768 width=16) (actual time=0.009..1.017 rows=24768 loops=1)
-> Hash (cost=5.03..5.03 rows=29 width=6) (actual time=0.024..0.025 rows=29 loops=1)
Buckets: 1024 Batches: 1 Memory Usage: 10kB
-> Seq Scan on outsole_target (cost=0.00..5.03 rows=29 width=6) (actual time=0.007..0.018 rows=29 loops=1)
Filter: (id_ou <= 29)
Rows Removed by Filter: 213
-> Nested Loop (cost=707.35..1327.91 rows=1 width=104) (actual time=139.729..13423.084 rows=8548 loops=1)
Join Filter: ((qli.curr_season = qin.curr_season) AND ((qli.curr_code)::text = (qin.curr_code)::text))
Rows Removed by Join Filter: 88552397
-> Hash Join (cost=707.35..1016.45 rows=1 width=216) (actual time=128.145..169.287 rows=8685 loops=1)
Hash Cond: ((qou.curr_season = qli.curr_season) AND ((qou.curr_code)::text = (qli.curr_code)::text))
-> CTE Scan on qou (cost=0.00..294.22 rows=1189 width=72) (actual time=18.297..55.085 rows=10275 loops=1)
Filter: ((ibitmask > 0) AND (cardinality(mat_arr) <= 11))
Rows Removed by Filter: 424
-> Hash (cost=706.86..706.86 rows=33 width=144) (actual time=109.843..109.845 rows=9007 loops=1)
Buckets: 16384 (originally 1024) Batches: 1 (originally 1) Memory Usage: 1369kB
-> Merge Join (cost=689.20..706.86 rows=33 width=144) (actual time=105.294..108.377 rows=9007 loops=1)
Merge Cond: ((qup.curr_season = qli.curr_season) AND ((qup.curr_code)::text = (qli.curr_code)::text))
-> Sort (cost=342.09..344.96 rows=1147 width=72) (actual time=72.693..72.923 rows=9320 loops=1)
Sort Key: qup.curr_season, qup.curr_code COLLATE "C"
Sort Method: quicksort Memory: 1357kB
-> CTE Scan on qup (cost=0.00..283.80 rows=1147 width=72) (actual time=35.339..71.419 rows=9320 loops=1)
Filter: ((ibitmask > 0) AND (cardinality(mat_arr) <= 21))
Rows Removed by Filter: 1415
-> Sort (cost=347.12..350.02 rows=1163 width=72) (actual time=32.598..32.861 rows=10289 loops=1)
Sort Key: qli.curr_season, qli.curr_code COLLATE "C"
Sort Method: quicksort Memory: 1269kB
-> CTE Scan on qli (cost=0.00..287.90 rows=1163 width=72) (actual time=9.436..30.852 rows=10289 loops=1)
Filter: ((ibitmask > 0) AND (cardinality(mat_arr) <= 8))
Rows Removed by Filter: 180
-> CTE Scan on qin (cost=0.00..293.65 rows=1186 width=72) (actual time=0.001..1.163 rows=10197 loops=8685)
Filter: ((ibitmask > 0) AND (cardinality(mat_arr) <= 8))
Rows Removed by Filter: 481
-> Merge Left Join (cost=2625.49..3399.84 rows=5733 width=104) (actual time=4.622..6.715 rows=1415 loops=1)
Merge Cond: ((qup_1.curr_season = qou_1.curr_season) AND ((qup_1.curr_code)::text = (qou_1.curr_code)::text))
-> Merge Left Join (cost=1958.66..2135.28 rows=5733 width=136) (actual time=3.489..3.937 rows=1415 loops=1)
Merge Cond: ((qup_1.curr_season = qin_1.curr_season) AND ((qup_1.curr_code)::text = (qin_1.curr_code)::text))
-> Merge Left Join (cost=1293.25..1388.21 rows=5733 width=104) (actual time=2.376..2.614 rows=1415 loops=1)
Merge Cond: ((qup_1.curr_season = qli_1.curr_season) AND ((qup_1.curr_code)::text = (qli_1.curr_code)::text))
-> Sort (cost=641.68..656.02 rows=5733 width=72) (actual time=1.300..1.337 rows=1415 loops=1)
Sort Key: qup_1.curr_season, qup_1.curr_code COLLATE "C"
Sort Method: quicksort Memory: 204kB
-> CTE Scan on qup qup_1 (cost=0.00..283.80 rows=5733 width=72) (actual time=0.010..1.119 rows=1415 loops=1)
Filter: ((ibitmask < 0) OR (cardinality(mat_arr) > 21))
Rows Removed by Filter: 9320
-> Sort (cost=651.57..666.11 rows=5816 width=72) (actual time=1.073..1.078 rows=180 loops=1)
Sort Key: qli_1.curr_season, qli_1.curr_code COLLATE "C"
Sort Method: quicksort Memory: 41kB
-> CTE Scan on qli qli_1 (cost=0.00..287.90 rows=5816 width=72) (actual time=0.057..1.029 rows=180 loops=1)
Filter: ((ibitmask < 0) OR (cardinality(mat_arr) > 8))
Rows Removed by Filter: 10289
-> Sort (cost=665.41..680.24 rows=5932 width=72) (actual time=1.111..1.124 rows=481 loops=1)
Sort Key: qin_1.curr_season, qin_1.curr_code COLLATE "C"
Sort Method: quicksort Memory: 68kB
-> CTE Scan on qin qin_1 (cost=0.00..293.65 rows=5932 width=72) (actual time=0.016..1.045 rows=481 loops=1)
Filter: ((ibitmask < 0) OR (cardinality(mat_arr) > 8))
Rows Removed by Filter: 10197
-> Sort (cost=666.83..681.69 rows=5944 width=72) (actual time=1.125..1.135 rows=417 loops=1)
Sort Key: qou_1.curr_season, qou_1.curr_code COLLATE "C"
Sort Method: quicksort Memory: 68kB
-> CTE Scan on qou qou_1 (cost=0.00..294.22 rows=5944 width=72) (actual time=0.029..1.063 rows=424 loops=1)
Filter: ((ibitmask < 0) OR (cardinality(mat_arr) > 11))
Rows Removed by Filter: 10275
Planning Time: 0.969 ms
Execution Time: 13432.726 ms
(116 Zeilen)

(All plans are unchanged, cut/pasted from psql window)

In qupd we find the same rows estimations as above, as shown in the lines

-> Hash (cost=706.86..706.86 rows=33 width=144) (actual time=109.843..109.845 rows=9007 loops=1)

-> Nested Loop (cost=707.35..1327.91 rows=1 width=104) (actual time=139.729..13423.084 rows=8548 loops=1)

---------

In both queries I haven't used materialized CTEs explicitely, but the first 4 CTE's are used in 2 different subsequent CTE's.

This query is not fully optimized for frequent use, it is only used for refactoring old data, but finally it will use a 10fold bigger dataset.
(Optimizing could eleminate the cardinality function in join conditions, eliminate materialized CTEs etc).

I only encountered the long execution time in the second query (with inner joins), which let me analyze and dig to the root cause.
The use of the nested loop in the third inner join round took very long and eliminated about 9 million rows (on a quad join with 4 datasets of about 10000 tuples).

I wanted to draw attention on my accidently findings, but I am not able to fully understand or investigate in the source code :-(.

I conclude that the row estimation in this example seems wrong ((left) outer join case) or too strict (inner join case, only 1/33 estimated from the previous step!)

I Hope this updated information may help you

Hans Buschmann

________________________________
Von: Tomas Vondra <tomas.vondra@enterprisedb.com>
Gesendet: Mittwoch, 8. Februar 2023 22:27
An: Hans Buschmann; pgsql-hackers@lists.postgresql.org
Betreff: Re: Wrong rows estimations with joins of CTEs slows queries by more than factor 500

On 2/8/23 14:55, Hans Buschmann wrote:

During data refactoring of our Application I encountered $subject when
joining 4 CTEs with left join or inner join.

1. Background

PG 15.1 on Windows x64 (OS seems no to have no meening here)

I try to collect data from 4 (analyzed) tables (up,li,in,ou) by grouping
certain data (4 CTEs qup,qli,qin,qou)

The grouping of the data in the CTEs gives estimated row counts of about
1000 (1 tenth of the real value) This is OK for estimation.

These 4 CTEs are then used to combine the data by joining them.

2. Problem

The 4 CTEs are joined by left joins as shown below:

...

This case really brought me to detect the problem!

The original query and data are not shown here, but the principle should
be clear from the execution plans.

I think the planner shouldn't change the row estimations on further
steps after left joins at all, and be a bit more conservative on inner
joins.

But the code should alredy do exactly that, see:

https://github.com/postgres/postgres/blob/dbe8a1726cfd5a09cf1ef99e76f5f89e2efada71/src/backend/optimizer/path/costsize.c#L5212

And in fact, the second part of the plains shows it's doing the trick:

-> Merge Left Join (cost=1293.25..1388.21 rows=5733 width=104)
(actual time=2.321..2.556 rows=1415 loops=1)
Merge Cond: ((qup_1.curr_season = qli_1.curr_season) AND
((qup_1.curr_code)::text = (qli_1.curr_code)::text))
-> Sort (cost=641.68..656.02 rows=5733 width=72)
-> Sort (cost=651.57..666.11 rows=5816 width=72)

But notice the first join (with rows=33) doesn't say "Left". And I see
there's Append on top, so presumably the query is much more complex, and
there's a regular join of these CTEs in some other part.

We'll need to se the whole query, not just one chunk of it.

FWIW it seems you're using materialized CTEs - that's likely pretty bad
for the estimates, because we don't propagate statistics from the CTE.
So a join on CTEs can't see statistics from the underlying tables, and
that can easily produce really bad estimates.

I'm assuming you're not using AS MATERIALIZED explicitly, so I'd bet
this happens because the "cardinality" function is marked as volatile.
Perhaps it can be redefined as stable/immutable.

This may be related to the fact that this case has 2 join-conditions
(xx_season an xx_code).

That shouldn't affect outer join estimates this way (but as I explained
above, the join does not seem to be "left" per the explain).
Multi-column joins can cause issues, no doubt about it - but CTEs make
it worse because we can't e.g. see foreign keys.

regards

--
Tomas Vondra
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

#4Tomas Vondra
tomas.vondra@enterprisedb.com
In reply to: Hans Buschmann (#3)
Re: AW: Wrong rows estimations with joins of CTEs slows queries by more than factor 500

On 2/9/23 10:03, Hans Buschmann wrote:

Hello Tomas,

Thank you for looking at.

First, I miscalculated the factor which should be about 50, not 500. Sorry.

Then I want to show you the table definitions (simple, very similar,
ommited child_tables and additional indexes, here using always "ONLY"):

cpsdb_matcol=# \d sa_upper;
                                       Tabelle ╗public.sa_upper½
    Spalte    |          Typ          | Sortierfolge | NULL erlaubt? | 
         Vorgabewert
--------------+-----------------------+--------------+---------------+----------------------------------
 id_sup       | integer               |              | not null      |
generated by default as identity
 sup_season   | smallint              |              |               |
 sup_sa_code  | character varying(10) | C            |               |
 sup_mat_code | character varying(4)  | C            |               |
 sup_clr_code | character varying(3)  | C            |               |
Indexe:
    "sa_upper_active_pkey" PRIMARY KEY, btree (id_sup)
 

cpsdb_matcol=# \d sa_lining+;
                                       Tabelle ╗public.sa_lining½
    Spalte    |          Typ          | Sortierfolge | NULL erlaubt? | 
         Vorgabewert
--------------+-----------------------+--------------+---------------+----------------------------------
 id_sli       | integer               |              | not null      |
generated by default as identity
 sli_season   | smallint              |              |               |
 sli_sa_code  | character varying(10) | C            |               |
 sli_mat_code | character varying(4)  | C            |               |
 sli_clr_code | character varying(3)  | C            |               |
Indexe:
    "sa_lining_active_pkey" PRIMARY KEY, btree (id_sli)
 

cpsdb_matcol=# \d sa_insole;
                                       Tabelle ╗public.sa_insole½
    Spalte    |          Typ          | Sortierfolge | NULL erlaubt? | 
         Vorgabewert
--------------+-----------------------+--------------+---------------+----------------------------------
 id_sin       | integer               |              | not null      |
generated by default as identity
 sin_season   | smallint              |              |               |
 sin_sa_code  | character varying(10) | C            |               |
 sin_mat_code | character varying(4)  | C            |               |
 sin_clr_code | character varying(3)  | C            |               |
Indexe:
    "sa_insole_active_pkey" PRIMARY KEY, btree (id_sin)
 

cpsdb_matcol=# \d sa_outsole;
                                      Tabelle ╗public.sa_outsole½
    Spalte    |          Typ          | Sortierfolge | NULL erlaubt? | 
         Vorgabewert
--------------+-----------------------+--------------+---------------+----------------------------------
 id_sou       | integer               |              | not null      |
generated by default as identity
 sou_season   | smallint              |              |               |
 sou_sa_code  | character varying(10) | C            |               |
 sou_mat_code | character varying(4)  | C            |               |
 sou_clr_code | character varying(3)  | C            |               |
Indexe:
    "sa_outsole_active_pkey" PRIMARY KEY, btree (id_sou)
 
The xxx_target tables are very similiar, here the upper one as an example:
They are count_aggregates of the whole dataset, where
up_mat_code=sup_mat_code etc.

cpsdb_matcol=# \d upper_target
                    Tabelle ╗admin.upper_target½
   Spalte    |   Typ    | Sortierfolge | NULL erlaubt? | Vorgabewert
-------------+----------+--------------+---------------+-------------
 id_up       | smallint |              |               |
 nup         | integer  |              |               |
 up_mat_code | text     | C            |               |

I have reworked the two queries to show their complete explain plans:

1. query with left join in the qupd CTE:

\set only 'ONLY'

cpsdb_matcol=# explain analyze -- explain analyze verbose -- explain --
select * from ( -- select count(*) from ( -- select length(sel) from (
cpsdb_matcol-# with
cpsdb_matcol-# qup as (
cpsdb_matcol(# select
cpsdb_matcol(#  curr_season -- all xxx_seasosn are always smallint
cpsdb_matcol(# ,curr_code-- all xx_code are always varchar(10)
cpsdb_matcol(# ,array_agg(id_up order by
id_up)||array_fill(0::smallint,array[10]) as mat_arr
cpsdb_matcol(# ,array_agg(curr_mat_code order by id_up) as matcode_arr
cpsdb_matcol(# ,bit_or(imask) as ibitmask
cpsdb_matcol(# from(
cpsdb_matcol(# select
cpsdb_matcol(#  sup_season as curr_season
cpsdb_matcol(# ,sup_sa_code as curr_code
cpsdb_matcol(# ,sup_mat_code as curr_mat_code
cpsdb_matcol(# ,sup_clr_code as curr_clr_code
cpsdb_matcol(# ,id_up
cpsdb_matcol(# ,coalesce(id_up,-1) as imask
cpsdb_matcol(# from :only sa_upper
cpsdb_matcol(# left join upper_target on up_mat_code=sup_mat_code and
id_up <= (512-1-16)
cpsdb_matcol(# )qr
cpsdb_matcol(# group by 1,2
cpsdb_matcol(# )
cpsdb_matcol-# ,qli as (
cpsdb_matcol(# select
cpsdb_matcol(#  curr_season
cpsdb_matcol(# ,curr_code
cpsdb_matcol(# ,array_agg(id_li order by
id_li)||array_fill(0::smallint,array[4]) as mat_arr
cpsdb_matcol(# ,array_agg(curr_mat_code order by id_li) as matcode_arr
cpsdb_matcol(# ,bit_or(imask) as ibitmask
cpsdb_matcol(# from(
cpsdb_matcol(# select
cpsdb_matcol(#  sli_season as curr_season
cpsdb_matcol(# ,sli_sa_code as curr_code
cpsdb_matcol(# ,sli_mat_code as curr_mat_code
cpsdb_matcol(# ,sli_clr_code as curr_clr_code
cpsdb_matcol(# ,id_li
cpsdb_matcol(# ,coalesce(id_li,-1) as imask
cpsdb_matcol(# from :only sa_lining
cpsdb_matcol(# left join lining_target on li_mat_code=sli_mat_code and
id_li <= (128-1-8)
cpsdb_matcol(# )qr
cpsdb_matcol(# group by 1,2
cpsdb_matcol(# )
cpsdb_matcol-# ,qin as (
cpsdb_matcol(# select
cpsdb_matcol(#  curr_season
cpsdb_matcol(# ,curr_code
cpsdb_matcol(# ,array_agg(id_in order by
id_in)||array_fill(0::smallint,array[4]) as mat_arr
cpsdb_matcol(# ,array_agg(curr_mat_code order by id_in) as matcode_arr
cpsdb_matcol(# ,bit_or(imask) as ibitmask
cpsdb_matcol(# from(
cpsdb_matcol(# select
cpsdb_matcol(#  sin_season as curr_season
cpsdb_matcol(# ,sin_sa_code as curr_code
cpsdb_matcol(# ,sin_mat_code as curr_mat_code
cpsdb_matcol(# ,sin_clr_code as curr_clr_code
cpsdb_matcol(# ,id_in
cpsdb_matcol(# ,coalesce(id_in,-1) as imask
cpsdb_matcol(# from :only sa_insole
cpsdb_matcol(# left join insole_target on in_mat_code=sin_mat_code and
id_in <= (128-1-8)
cpsdb_matcol(# )qr
cpsdb_matcol(# group by 1,2
cpsdb_matcol(# )
cpsdb_matcol-# ,qou as (
cpsdb_matcol(# select
cpsdb_matcol(#  curr_season
cpsdb_matcol(# ,curr_code
cpsdb_matcol(# ,array_agg(id_ou order by
id_ou)||array_fill(0::smallint,array[6]) as mat_arr
cpsdb_matcol(# ,array_agg(curr_mat_code order by id_ou) as matcode_arr
cpsdb_matcol(# ,bit_or(imask) as ibitmask
cpsdb_matcol(# from(
cpsdb_matcol(# select
cpsdb_matcol(#  sou_season as curr_season
cpsdb_matcol(# ,sou_sa_code as curr_code
cpsdb_matcol(# ,sou_mat_code as curr_mat_code
cpsdb_matcol(# ,sou_clr_code as curr_clr_code
cpsdb_matcol(# ,id_ou
cpsdb_matcol(# ,coalesce(id_ou,-1) as imask
cpsdb_matcol(# from :only sa_outsole
cpsdb_matcol(# left join outsole_target on ou_mat_code=sou_mat_code and
id_ou <= (32-1-2)
cpsdb_matcol(# )qr
cpsdb_matcol(# group by 1,2
cpsdb_matcol(# )
cpsdb_matcol-# ,qupd as (
cpsdb_matcol(# select * from (
cpsdb_matcol(# select
cpsdb_matcol(#  qup.curr_season
cpsdb_matcol(# ,qup.curr_code
cpsdb_matcol(# ,qup.ibitmask|qin.ibitmask|qli.ibitmask|qou.ibitmask as
ibitmask
cpsdb_matcol(# -- the calculations of new_mat_x are simplified here
cpsdb_matcol(# -- in the production version they are a more complex
combination of bit masks, bit shifts and bit or of different elements of
the arrays
cpsdb_matcol(#
,(qup.mat_arr[1]|qli.mat_arr[1]|qin.mat_arr[1]|qou.mat_arr[1])::bigint
as new_mat_1
cpsdb_matcol(#
cpsdb_matcol(#
,(qup.mat_arr[2]|qli.mat_arr[2]|qin.mat_arr[2]|qou.mat_arr[2])::bigint
as new_mat_2
cpsdb_matcol(#
cpsdb_matcol(#
,(qup.mat_arr[3]|qli.mat_arr[3]|qin.mat_arr[3]|qou.mat_arr[3])::bigint
as new_mat_3
cpsdb_matcol(#
cpsdb_matcol(# from qup
cpsdb_matcol(# left join qli on (qli.curr_season=qup.curr_season and
qli.curr_code=qup.curr_code and qli.ibitmask>0 and
cardinality(qli.mat_arr) <=8)
cpsdb_matcol(# left join qin on (qin.curr_season=qup.curr_season and
qin.curr_code=qup.curr_code and qin.ibitmask>0 and
cardinality(qin.mat_arr) <=8)
cpsdb_matcol(# left join qou on (qou.curr_season=qup.curr_season and
qou.curr_code=qup.curr_code and qou.ibitmask>0 and
cardinality(qou.mat_arr) <=11)
cpsdb_matcol(# where qup.ibitmask>0 and cardinality(qup.mat_arr) <=21
cpsdb_matcol(# )qj
cpsdb_matcol(# where ibitmask is not null
cpsdb_matcol(# )
cpsdb_matcol-# ,qupda as (
cpsdb_matcol(# select
cpsdb_matcol(#  qup.curr_season
cpsdb_matcol(# ,qup.curr_code
cpsdb_matcol(# ,repeat('0',64)||
cpsdb_matcol(#
repeat('11',coalesce(cardinality(qou.matcode_arr),0))||repeat('10',coalesce(cardinality(qin.matcode_arr),0))||
cpsdb_matcol(#
repeat('01',coalesce(cardinality(qou.matcode_arr),0))||repeat('00',coalesce(cardinality(qup.matcode_arr),0))||
cpsdb_matcol(# '00' as curr_mattype_bitmask
cpsdb_matcol(#
,qup.matcode_arr||qli.matcode_arr||qin.matcode_arr||qou.matcode_arr as
curr_matcode_arr
cpsdb_matcol(# from qup
cpsdb_matcol(# left join qli on qli.curr_season=qup.curr_season and
qli.curr_code=qup.curr_code and (qli.ibitmask<0 or
cardinality(qli.mat_arr) >8)
cpsdb_matcol(# left join qin on qin.curr_season=qup.curr_season and
qin.curr_code=qup.curr_code and (qin.ibitmask<0 or
cardinality(qin.mat_arr) >8)
cpsdb_matcol(# left join qou on qou.curr_season=qup.curr_season and
qou.curr_code=qup.curr_code and (qou.ibitmask<0 or
cardinality(qou.mat_arr) >11)
cpsdb_matcol(# where qup.ibitmask<0 or cardinality(qup.mat_arr) >21
cpsdb_matcol(# )
cpsdb_matcol-# select
cpsdb_matcol-#  curr_season
cpsdb_matcol-# ,curr_code
cpsdb_matcol-# ,new_mat_1
cpsdb_matcol-# ,new_mat_2
cpsdb_matcol-# ,new_mat_3
cpsdb_matcol-# ,NULL::bigint as new_mattype_bitmask
cpsdb_matcol-# ,NULL as new_mat_codes
cpsdb_matcol-# from qupd
cpsdb_matcol-# union all
cpsdb_matcol-# select
cpsdb_matcol-#  curr_season
cpsdb_matcol-# ,curr_code
cpsdb_matcol-# ,NULL::bigint as new_mat_1
cpsdb_matcol-# ,NULL::bigint as new_mat_2
cpsdb_matcol-# ,NULL::bigint as new_mat_3
cpsdb_matcol-#
,substr(curr_mattype_bitmask,length(curr_mattype_bitmask)-63)::bit(64)::bigint as new_mattype_bitmask
cpsdb_matcol-# ,curr_matcode_arr as new_mat_codes
cpsdb_matcol-# from qupda,qup.ibitmask|qin.ibitmask|qli.ibitmask|qou.ibitmask as ibitmask
cpsdb_matcol-# ;
                                                                   
QUERY PLAN
--------------------------------------------------------------------------------------------------------------------------------------------------
 Append  (cost=13673.81..17462.84 rows=5734 width=104) (actual
time=169.382..210.799 rows=9963 loops=1)
   CTE qup
     ->  GroupAggregate  (cost=5231.22..6303.78 rows=10320 width=80)
(actual time=35.064..68.308 rows=10735 loops=1)
           Group Key: sa_upper.sup_season, sa_upper.sup_sa_code
           ->  Sort  (cost=5231.22..5358.64 rows=50969 width=18) (actual
time=35.053..36.412 rows=50969 loops=1)
                 Sort Key: sa_upper.sup_season, sa_upper.sup_sa_code
COLLATE "C"
                 Sort Method: quicksort  Memory: 4722kB
                 ->  Hash Left Join  (cost=41.71..1246.13 rows=50969
width=18) (actual time=0.165..10.562 rows=50969 loops=1)
                       Hash Cond: ((sa_upper.sup_mat_code)::text =
upper_target.up_mat_code)
                       ->  Seq Scan on sa_upper  (cost=0.00..884.69
rows=50969 width=16) (actual time=0.006..1.990 rows=50969 loops=1)
                       ->  Hash  (cost=35.53..35.53 rows=495 width=6)
(actual time=0.157..0.157 rows=495 loops=1)
                             Buckets: 1024  Batches: 1  Memory Usage: 27kB
                             ->  Seq Scan on upper_target 
(cost=0.00..35.53 rows=495 width=6) (actual time=0.006..0.115 rows=495
loops=1)
                                   Filter: (id_up <= 495)
                                   Rows Removed by Filter: 1467
   CTE qli
     ->  GroupAggregate  (cost=1097.31..1486.56 rows=10469 width=80)
(actual time=9.354..28.199 rows=10469 loops=1)
           Group Key: sa_lining.sli_season, sa_lining.sli_sa_code
           ->  Sort  (cost=1097.31..1126.74 rows=11774 width=18) (actual
time=9.347..9.711 rows=11774 loops=1)
                 Sort Key: sa_lining.sli_season, sa_lining.sli_sa_code
COLLATE "C"
                 Sort Method: quicksort  Memory: 1120kB
                 ->  Hash Left Join  (cost=7.34..301.19 rows=11774
width=18) (actual time=0.049..2.397 rows=11774 loops=1)
                       Hash Cond: ((sa_lining.sli_mat_code)::text =
lining_target.li_mat_code)
                       ->  Seq Scan on sa_lining  (cost=0.00..204.74
rows=11774 width=16) (actual time=0.009..0.469 rows=11774 loops=1)
                       ->  Hash  (cost=5.86..5.86 rows=118 width=6)
(actual time=0.037..0.037 rows=119 loops=1)
                             Buckets: 1024  Batches: 1  Memory Usage: 13kB
                             ->  Seq Scan on lining_target 
(cost=0.00..5.86 rows=118 width=6) (actual time=0.008..0.025 rows=119
loops=1)
                                   Filter: (id_li <= 119)
                                   Rows Removed by Filter: 190
   CTE qin
     ->  GroupAggregate  (cost=1427.34..1880.73 rows=10678 width=80)
(actual time=11.453..32.317 rows=10678 loops=1)
           Group Key: sa_insole.sin_season, sa_insole.sin_sa_code
           ->  Sort  (cost=1427.34..1465.41 rows=15230 width=18) (actual
time=11.444..11.943 rows=15230 loops=1)
                 Sort Key: sa_insole.sin_season, sa_insole.sin_sa_code
COLLATE "C"
                 Sort Method: quicksort  Memory: 1336kB
                 ->  Hash Left Join  (cost=10.49..369.26 rows=15230
width=18) (actual time=0.051..3.098 rows=15230 loops=1)
                       Hash Cond: ((sa_insole.sin_mat_code)::text =
insole_target.in_mat_code)
                       ->  Seq Scan on sa_insole  (cost=0.00..264.30
rows=15230 width=16) (actual time=0.007..0.608 rows=15230 loops=1)
                       ->  Hash  (cost=9.01..9.01 rows=118 width=6)
(actual time=0.041..0.041 rows=119 loops=1)
                             Buckets: 1024  Batches: 1  Memory Usage: 13kB
                             ->  Seq Scan on insole_target 
(cost=0.00..9.01 rows=118 width=6) (actual time=0.007..0.031 rows=119
loops=1)
                                   Filter: (id_in <= 119)
                                   Rows Removed by Filter: 362
   CTE qou
     ->  GroupAggregate  (cost=2366.22..2986.89 rows=10699 width=80)
(actual time=18.055..42.079 rows=10699 loops=1)
           Group Key: sa_outsole.sou_season, sa_outsole.sou_sa_code
           ->  Sort  (cost=2366.22..2428.14 rows=24768 width=18) (actual
time=18.043..18.798 rows=24768 loops=1)
                 Sort Key: sa_outsole.sou_season, sa_outsole.sou_sa_code
COLLATE "C"
                 Sort Method: quicksort  Memory: 2317kB
                 ->  Hash Left Join  (cost=5.39..558.63 rows=24768
width=18) (actual time=0.037..5.017 rows=24768 loops=1)
                       Hash Cond: ((sa_outsole.sou_mat_code)::text =
outsole_target.ou_mat_code)
                       ->  Seq Scan on sa_outsole  (cost=0.00..430.68
rows=24768 width=16) (actual time=0.008..0.998 rows=24768 loops=1)
                       ->  Hash  (cost=5.03..5.03 rows=29 width=6)
(actual time=0.025..0.025 rows=29 loops=1)
                             Buckets: 1024  Batches: 1  Memory Usage: 10kB
                             ->  Seq Scan on outsole_target 
(cost=0.00..5.03 rows=29 width=6) (actual time=0.009..0.020 rows=29 loops=1)
                                   Filter: (id_ou <= 29)
                                   Rows Removed by Filter: 213
   ->  Hash Join  (cost=1015.85..1319.04 rows=1 width=104) (actual
time=169.382..203.707 rows=8548 loops=1)
         Hash Cond: ((qou.curr_season = qli.curr_season) AND
((qou.curr_code)::text = (qli.curr_code)::text))
         Join Filter: ((((qup.ibitmask | qin.ibitmask) | qli.ibitmask) |
qou.ibitmask) IS NOT NULL)
         ->  CTE Scan on qou  (cost=0.00..294.22 rows=1189 width=76)
(actual time=18.057..45.448 rows=10275 loops=1)
               Filter: ((ibitmask > 0) AND (cardinality(mat_arr) <= 11))
               Rows Removed by Filter: 424
         ->  Hash  (cost=1015.83..1015.83 rows=1 width=228) (actual
time=151.316..151.317 rows=8845 loops=1)
               Buckets: 16384 (originally 1024)  Batches: 1 (originally
1)  Memory Usage: 1899kB
               ->  Hash Join  (cost=707.35..1015.83 rows=1 width=228)
(actual time=122.483..149.030 rows=8845 loops=1)
                     Hash Cond: ((qin.curr_season = qli.curr_season) AND
((qin.curr_code)::text = (qli.curr_code)::text))
                     ->  CTE Scan on qin  (cost=0.00..293.65 rows=1186
width=76) (actual time=11.454..35.456 rows=10197 loops=1)
                           Filter: ((ibitmask > 0) AND
(cardinality(mat_arr) <= 8))
                           Rows Removed by Filter: 481
                     ->  Hash  (cost=706.86..706.86 rows=33 width=152)
(actual time=111.026..111.027 rows=9007 loops=1)
                           Buckets: 16384 (originally 1024)  Batches: 1
(originally 1)  Memory Usage: 1473kB
                           ->  Merge Join  (cost=689.20..706.86 rows=33
width=152) (actual time=106.441..109.505 rows=9007 loops=1)
                                 Merge Cond: ((qup.curr_season =
qli.curr_season) AND ((qup.curr_code)::text = (qli.curr_code)::text))
                                 ->  Sort  (cost=342.09..344.96
rows=1147 width=76) (actual time=73.200..73.429 rows=9320 loops=1)
                                       Sort Key: qup.curr_season,
qup.curr_code COLLATE "C"
                                       Sort Method: quicksort  Memory:
1391kB
                                       ->  CTE Scan on qup 
(cost=0.00..283.80 rows=1147 width=76) (actual time=35.067..71.872
rows=9320 loops=1)
                                             Filter: ((ibitmask > 0) AND
(cardinality(mat_arr) <= 21))
                                             Rows Removed by Filter: 1415
                                 ->  Sort  (cost=347.12..350.02
rows=1163 width=76) (actual time=33.239..33.490 rows=10289 loops=1)
                                       Sort Key: qli.curr_season,
qli.curr_code COLLATE "C"
                                       Sort Method: quicksort  Memory:
1349kB
                                       ->  CTE Scan on qli 
(cost=0.00..287.90 rows=1163 width=76) (actual time=9.355..31.457
rows=10289 loops=1)
                                             Filter: ((ibitmask > 0) AND
(cardinality(mat_arr) <= 8))
                                             Rows Removed by Filter: 180
   ->  Merge Left Join  (cost=2625.49..3399.84 rows=5733 width=104)
(actual time=4.529..6.645 rows=1415 loops=1)
         Merge Cond: ((qup_1.curr_season = qou_1.curr_season) AND
((qup_1.curr_code)::text = (qou_1.curr_code)::text))
         ->  Merge Left Join  (cost=1958.66..2135.28 rows=5733
width=136) (actual time=3.388..3.833 rows=1415 loops=1)
               Merge Cond: ((qup_1.curr_season = qin_1.curr_season) AND
((qup_1.curr_code)::text = (qin_1.curr_code)::text))
               ->  Merge Left Join  (cost=1293.25..1388.21 rows=5733
width=104) (actual time=2.297..2.534 rows=1415 loops=1)
                     Merge Cond: ((qup_1.curr_season =
qli_1.curr_season) AND ((qup_1.curr_code)::text = (qli_1.curr_code)::text))
                     ->  Sort  (cost=641.68..656.02 rows=5733 width=72)
(actual time=1.278..1.315 rows=1415 loops=1)
                           Sort Key: qup_1.curr_season, qup_1.curr_code
COLLATE "C"
                           Sort Method: quicksort  Memory: 204kB
                           ->  CTE Scan on qup qup_1  (cost=0.00..283.80
rows=5733 width=72) (actual time=0.009..1.081 rows=1415 loops=1)
                                 Filter: ((ibitmask < 0) OR
(cardinality(mat_arr) > 21))
                                 Rows Removed by Filter: 9320
                     ->  Sort  (cost=651.57..666.11 rows=5816 width=72)
(actual time=1.017..1.022 rows=180 loops=1)
                           Sort Key: qli_1.curr_season, qli_1.curr_code
COLLATE "C"
                           Sort Method: quicksort  Memory: 41kB
                           ->  CTE Scan on qli qli_1  (cost=0.00..287.90
rows=5816 width=72) (actual time=0.054..0.994 rows=180 loops=1)
                                 Filter: ((ibitmask < 0) OR
(cardinality(mat_arr) > 8))
                                 Rows Removed by Filter: 10289
               ->  Sort  (cost=665.41..680.24 rows=5932 width=72)
(actual time=1.089..1.103 rows=481 loops=1)
                     Sort Key: qin_1.curr_season, qin_1.curr_code
COLLATE "C"
                     Sort Method: quicksort  Memory: 68kB
                     ->  CTE Scan on qin qin_1  (cost=0.00..293.65
rows=5932 width=72) (actual time=0.016..1.022 rows=481 loops=1)
                           Filter: ((ibitmask < 0) OR
(cardinality(mat_arr) > 8))
                           Rows Removed by Filter: 10197
         ->  Sort  (cost=666.83..681.69 rows=5944 width=72) (actual
time=1.134..1.145 rows=417 loops=1)
               Sort Key: qou_1.curr_season, qou_1.curr_code COLLATE "C"
               Sort Method: quicksort  Memory: 68kB
               ->  CTE Scan on qou qou_1  (cost=0.00..294.22 rows=5944
width=72) (actual time=0.029..1.038 rows=424 loops=1)
                     Filter: ((ibitmask < 0) OR (cardinality(mat_arr) > 11))
                     Rows Removed by Filter: 10275
 Planning Time: 1.055 ms
 Execution Time: 212.800 ms
(118 Zeilen)

As seen in the line of the qupd CTE

                           ->  Merge Join  (cost=689.20..706.86 rows=33
width=152) (actual time=106.441..109.505 rows=9007 loops=1)

the row count of the second join round drops to 33 and for the third
round it drops to 1

               ->  Hash Join  (cost=707.35..1015.83 rows=1 width=228)
(actual time=122.483..149.030 rows=8845 loops=1)

BTW, I don't know, why the second join group (part of qupda) gets a
complete different plan.

It gets a different plan because the "qupd" CTE does this:

SELECT
...
,qup.ibitmask|qin.ibitmask|qli.ibitmask|qou.ibitmask as ibitmask
...
FROM ... left join of the CTEs
WHERE qup.ibitmask>0 AND ..

Which means all the inputs must be non-NULL, hence the optimizer changes
the plan to inner join (and that seems to be perfectly correct).

I think this suggests this join cardinality estimation is not the real
issue. The estimates are off, but there's an order of magnitude
difference for the scans, like here:

-> CTE Scan on qup (cost=0.00..283.80 rows=1147 width=72)
(actual time=35.339..71.419 rows=9320 loops=1)

and this tends to "snowball" in the join estimation (it amplifies the
issue - it can't really improve them, except by chance).

FWIW the UNION ALL also explains why we materialize the CTEs, because by
default we fold CTEs into the query only when there's a single
reference. And here both "qupd" and "qupda" reference them.

I'd suggest adding AS NOT MATERIALIZED to the CTEs, to fold them into
the main query despite multiple references. That might improve the
estimate, with a bit of luck.

If not, you'll need to look into improving the scan estimates first,
it's pointless to try to make join estimates better when the input
estimates are this off. This however depends on the conditions, and as
the CTEs do aggregations that may not be possible.

FWIW I suggest you provide the data in a form that's easier to use (like
a working SQL script). More people are likely to look and help than when
they have to extract stuff from an e-mail, fill in missing pieces etc.

regards

--
Tomas Vondra
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

#5Tomas Vondra
tomas.vondra@enterprisedb.com
In reply to: Tomas Vondra (#4)
3 attachment(s)
Re: AW: Wrong rows estimations with joins of CTEs slows queries by more than factor 500

FWIW I suggest you provide the data in a form that's easier to use (like
a working SQL script). More people are likely to look and help than when
they have to extract stuff from an e-mail, fill in missing pieces etc.

BTW if anyone wants to play with this, here are the SQL scripts I used
to create the tables and the queries. There's no data, but it's enough
to see how the plans change.

regards

--
Tomas Vondra
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Attachments:

query-complete.sqlapplication/sql; name=query-complete.sqlDownload
query-smaller.sqlapplication/sql; name=query-smaller.sqlDownload
create-join.sqlapplication/sql; name=create-join.sqlDownload
#6Jian Guo
gjian@vmware.com
In reply to: Hans Buschmann (#1)
1 attachment(s)
Re: Wrong rows estimations with joins of CTEs slows queries by more than factor 500

Hi hackers,

I have written a patch to add stats info for Vars in CTEs. With this patch, the join size estimation on the upper of CTE scans became more accurate.

In the function selfuncs.c:eqjoinsel it uses the number of the distinct values of the two join variables to estimate join size, and in the function selfuncs.c:get_variable_numdistinct return a default value DEFAULT_NUM_DISTINCT (200 in Postgres and 1000 in Greenplum), with the default value, you can never expect a good plan.

Thanks if anyone could give a review.

Regards,
Jian

________________________________
From: Hans Buschmann <buschmann@nidsa.net>
Sent: Wednesday, February 8, 2023 21:55
To: pgsql-hackers@lists.postgresql.org <pgsql-hackers@lists.postgresql.org>
Subject: Wrong rows estimations with joins of CTEs slows queries by more than factor 500

!! External Email

During data refactoring of our Application I encountered $subject when joining 4 CTEs with left join or inner join.

1. Background

PG 15.1 on Windows x64 (OS seems no to have no meening here)

I try to collect data from 4 (analyzed) tables (up,li,in,ou) by grouping certain data (4 CTEs qup,qli,qin,qou)

The grouping of the data in the CTEs gives estimated row counts of about 1000 (1 tenth of the real value) This is OK for estimation.

These 4 CTEs are then used to combine the data by joining them.

2. Problem

The 4 CTEs are joined by left joins as shown below:

from qup
left join qli on (qli.curr_season=qup.curr_season and qli.curr_code=qup.curr_code and qli.ibitmask>0 and cardinality(qli.mat_arr) <=8)
left join qin on (qin.curr_season=qup.curr_season and qin.curr_code=qup.curr_code and qin.ibitmask>0 and cardinality(qin.mat_arr) <=8)
left join qou on (qou.curr_season=qup.curr_season and qou.curr_code=qup.curr_code and qou.ibitmask>0 and cardinality(qou.mat_arr) <=11)
where qup.ibitmask>0 and cardinality(qup.mat_arr) <=21

The plan first retrieves qup and qli, taking the estimated row counts of 1163 and 1147 respectively

BUT the result is then hashed and the row count is estimated as 33!

In a Left join the row count stays always the same as the one of left table (here qup with 1163 rows)

The same algorithm which reduces the row estimation from 1163 to 33 is used in the next step to give an estimation of 1 row.

This is totally wrong.

Here is the execution plan of the query:

(search the plan for rows=33)

QUERY PLAN
--------------------------------------------------------------------------------------------------------------------------------------------------
Append (cost=13673.81..17463.30 rows=5734 width=104) (actual time=168.307..222.670 rows=9963 loops=1)
CTE qup
-> GroupAggregate (cost=5231.22..6303.78 rows=10320 width=80) (actual time=35.466..68.131 rows=10735 loops=1)
Group Key: sa_upper.sup_season, sa_upper.sup_sa_code
-> Sort (cost=5231.22..5358.64 rows=50969 width=18) (actual time=35.454..36.819 rows=50969 loops=1)
Sort Key: sa_upper.sup_season, sa_upper.sup_sa_code COLLATE "C"
Sort Method: quicksort Memory: 4722kB
-> Hash Left Join (cost=41.71..1246.13 rows=50969 width=18) (actual time=0.148..10.687 rows=50969 loops=1)
Hash Cond: ((sa_upper.sup_mat_code)::text = upper_target.up_mat_code)
-> Seq Scan on sa_upper (cost=0.00..884.69 rows=50969 width=16) (actual time=0.005..1.972 rows=50969 loops=1)
-> Hash (cost=35.53..35.53 rows=495 width=6) (actual time=0.140..0.140 rows=495 loops=1)
Buckets: 1024 Batches: 1 Memory Usage: 27kB
-> Seq Scan on upper_target (cost=0.00..35.53 rows=495 width=6) (actual time=0.007..0.103 rows=495 loops=1)
Filter: (id_up <= 495)
Rows Removed by Filter: 1467
CTE qli
-> GroupAggregate (cost=1097.31..1486.56 rows=10469 width=80) (actual time=9.446..27.388 rows=10469 loops=1)
Group Key: sa_lining.sli_season, sa_lining.sli_sa_code
-> Sort (cost=1097.31..1126.74 rows=11774 width=18) (actual time=9.440..9.811 rows=11774 loops=1)
Sort Key: sa_lining.sli_season, sa_lining.sli_sa_code COLLATE "C"
Sort Method: quicksort Memory: 1120kB
-> Hash Left Join (cost=7.34..301.19 rows=11774 width=18) (actual time=0.045..2.438 rows=11774 loops=1)
Hash Cond: ((sa_lining.sli_mat_code)::text = lining_target.li_mat_code)
-> Seq Scan on sa_lining (cost=0.00..204.74 rows=11774 width=16) (actual time=0.008..0.470 rows=11774 loops=1)
-> Hash (cost=5.86..5.86 rows=118 width=6) (actual time=0.034..0.034 rows=119 loops=1)
Buckets: 1024 Batches: 1 Memory Usage: 13kB
-> Seq Scan on lining_target (cost=0.00..5.86 rows=118 width=6) (actual time=0.008..0.024 rows=119 loops=1)
Filter: (id_li <= 119)
Rows Removed by Filter: 190
CTE qin
-> GroupAggregate (cost=1427.34..1880.73 rows=10678 width=80) (actual time=11.424..31.508 rows=10678 loops=1)
Group Key: sa_insole.sin_season, sa_insole.sin_sa_code
-> Sort (cost=1427.34..1465.41 rows=15230 width=18) (actual time=11.416..11.908 rows=15230 loops=1)
Sort Key: sa_insole.sin_season, sa_insole.sin_sa_code COLLATE "C"
Sort Method: quicksort Memory: 1336kB
-> Hash Left Join (cost=10.49..369.26 rows=15230 width=18) (actual time=0.051..3.108 rows=15230 loops=1)
Hash Cond: ((sa_insole.sin_mat_code)::text = insole_target.in_mat_code)
-> Seq Scan on sa_insole (cost=0.00..264.30 rows=15230 width=16) (actual time=0.006..0.606 rows=15230 loops=1)
-> Hash (cost=9.01..9.01 rows=118 width=6) (actual time=0.042..0.043 rows=119 loops=1)
Buckets: 1024 Batches: 1 Memory Usage: 13kB
-> Seq Scan on insole_target (cost=0.00..9.01 rows=118 width=6) (actual time=0.008..0.032 rows=119 loops=1)
Filter: (id_in <= 119)
Rows Removed by Filter: 362
CTE qou
-> GroupAggregate (cost=2366.22..2986.89 rows=10699 width=80) (actual time=18.198..41.812 rows=10699 loops=1)
Group Key: sa_outsole.sou_season, sa_outsole.sou_sa_code
-> Sort (cost=2366.22..2428.14 rows=24768 width=18) (actual time=18.187..18.967 rows=24768 loops=1)
Sort Key: sa_outsole.sou_season, sa_outsole.sou_sa_code COLLATE "C"
Sort Method: quicksort Memory: 2317kB
-> Hash Left Join (cost=5.39..558.63 rows=24768 width=18) (actual time=0.046..5.132 rows=24768 loops=1)
Hash Cond: ((sa_outsole.sou_mat_code)::text = outsole_target.ou_mat_code)
-> Seq Scan on sa_outsole (cost=0.00..430.68 rows=24768 width=16) (actual time=0.010..1.015 rows=24768 loops=1)
-> Hash (cost=5.03..5.03 rows=29 width=6) (actual time=0.032..0.032 rows=29 loops=1)
Buckets: 1024 Batches: 1 Memory Usage: 10kB
-> Seq Scan on outsole_target (cost=0.00..5.03 rows=29 width=6) (actual time=0.010..0.025 rows=29 loops=1)
Filter: (id_ou <= 29)
Rows Removed by Filter: 213
-> Hash Join (cost=1015.85..1319.50 rows=1 width=104) (actual time=168.307..215.513 rows=8548 loops=1)
Hash Cond: ((qou.curr_season = qli.curr_season) AND ((qou.curr_code)::text = (qli.curr_code)::text))
Join Filter: ((((qup.ibitmask | qin.ibitmask) | qli.ibitmask) | qou.ibitmask) IS NOT NULL)
-> CTE Scan on qou (cost=0.00..294.22 rows=1189 width=76) (actual time=18.200..45.188 rows=10275 loops=1)
Filter: ((ibitmask > 0) AND (cardinality(mat_arr) <= 11))
Rows Removed by Filter: 424
-> Hash (cost=1015.83..1015.83 rows=1 width=228) (actual time=150.094..150.095 rows=8845 loops=1)
Buckets: 16384 (originally 1024) Batches: 1 (originally 1) Memory Usage: 1899kB
-> Hash Join (cost=707.35..1015.83 rows=1 width=228) (actual time=121.898..147.726 rows=8845 loops=1)
Hash Cond: ((qin.curr_season = qli.curr_season) AND ((qin.curr_code)::text = (qli.curr_code)::text))
-> CTE Scan on qin (cost=0.00..293.65 rows=1186 width=76) (actual time=11.425..34.674 rows=10197 loops=1)
Filter: ((ibitmask > 0) AND (cardinality(mat_arr) <= 8))
Rows Removed by Filter: 481
-> Hash (cost=706.86..706.86 rows=33 width=152) (actual time=110.470..110.470 rows=9007 loops=1)
Buckets: 16384 (originally 1024) Batches: 1 (originally 1) Memory Usage: 1473kB
-> Merge Join (cost=689.20..706.86 rows=33 width=152) (actual time=105.862..108.925 rows=9007 loops=1)
Merge Cond: ((qup.curr_season = qli.curr_season) AND ((qup.curr_code)::text = (qli.curr_code)::text))
-> Sort (cost=342.09..344.96 rows=1147 width=76) (actual time=73.419..73.653 rows=9320 loops=1)
Sort Key: qup.curr_season, qup.curr_code COLLATE "C"
Sort Method: quicksort Memory: 1391kB
-> CTE Scan on qup (cost=0.00..283.80 rows=1147 width=76) (actual time=35.467..71.904 rows=9320 loops=1)
Filter: ((ibitmask > 0) AND (cardinality(mat_arr) <= 21))
Rows Removed by Filter: 1415
-> Sort (cost=347.12..350.02 rows=1163 width=76) (actual time=32.440..32.697 rows=10289 loops=1)
Sort Key: qli.curr_season, qli.curr_code COLLATE "C"
Sort Method: quicksort Memory: 1349kB
-> CTE Scan on qli (cost=0.00..287.90 rows=1163 width=76) (actual time=9.447..30.666 rows=10289 loops=1)
Filter: ((ibitmask > 0) AND (cardinality(mat_arr) <= 8))
Rows Removed by Filter: 180
-> Merge Left Join (cost=2625.49..3399.84 rows=5733 width=104) (actual time=4.597..6.700 rows=1415 loops=1)
Merge Cond: ((qup_1.curr_season = qou_1.curr_season) AND ((qup_1.curr_code)::text = (qou_1.curr_code)::text))
-> Merge Left Join (cost=1958.66..2135.28 rows=5733 width=136) (actual time=3.427..3.863 rows=1415 loops=1)
Merge Cond: ((qup_1.curr_season = qin_1.curr_season) AND ((qup_1.curr_code)::text = (qin_1.curr_code)::text))
-> Merge Left Join (cost=1293.25..1388.21 rows=5733 width=104) (actual time=2.321..2.556 rows=1415 loops=1)
Merge Cond: ((qup_1.curr_season = qli_1.curr_season) AND ((qup_1.curr_code)::text = (qli_1.curr_code)::text))
-> Sort (cost=641.68..656.02 rows=5733 width=72) (actual time=1.286..1.324 rows=1415 loops=1)
Sort Key: qup_1.curr_season, qup_1.curr_code COLLATE "C"
Sort Method: quicksort Memory: 204kB
-> CTE Scan on qup qup_1 (cost=0.00..283.80 rows=5733 width=72) (actual time=0.009..1.093 rows=1415 loops=1)
Filter: ((ibitmask < 0) OR (cardinality(mat_arr) > 21))
Rows Removed by Filter: 9320
-> Sort (cost=651.57..666.11 rows=5816 width=72) (actual time=1.033..1.038 rows=180 loops=1)
Sort Key: qli_1.curr_season, qli_1.curr_code COLLATE "C"
Sort Method: quicksort Memory: 41kB
-> CTE Scan on qli qli_1 (cost=0.00..287.90 rows=5816 width=72) (actual time=0.055..1.007 rows=180 loops=1)
Filter: ((ibitmask < 0) OR (cardinality(mat_arr) > 8))
Rows Removed by Filter: 10289
-> Sort (cost=665.41..680.24 rows=5932 width=72) (actual time=1.104..1.117 rows=481 loops=1)
Sort Key: qin_1.curr_season, qin_1.curr_code COLLATE "C"
Sort Method: quicksort Memory: 68kB
-> CTE Scan on qin qin_1 (cost=0.00..293.65 rows=5932 width=72) (actual time=0.016..1.038 rows=481 loops=1)
Filter: ((ibitmask < 0) OR (cardinality(mat_arr) > 8))
Rows Removed by Filter: 10197
-> Sort (cost=666.83..681.69 rows=5944 width=72) (actual time=1.163..1.174 rows=417 loops=1)
Sort Key: qou_1.curr_season, qou_1.curr_code COLLATE "C"
Sort Method: quicksort Memory: 68kB
-> CTE Scan on qou qou_1 (cost=0.00..294.22 rows=5944 width=72) (actual time=0.029..1.068 rows=424 loops=1)
Filter: ((ibitmask < 0) OR (cardinality(mat_arr) > 11))
Rows Removed by Filter: 10275
Planning Time: 2.297 ms
Execution Time: 224.759 ms
(118 Zeilen)

3. Slow query from wrong plan as result on similar case with inner join

When the 3 left joins above are changed to inner joins like:

from qup
join qli on (qli.curr_season=qup.curr_season and qli.curr_code=qup.curr_code and qli.ibitmask>0 and cardinality(qli.mat_arr) <=8)
join qin on (qin.curr_season=qup.curr_season and qin.curr_code=qup.curr_code and qin.ibitmask>0 and cardinality(qin.mat_arr) <=8)
join qou on (qou.curr_season=qup.curr_season and qou.curr_code=qup.curr_code and qou.ibitmask>0 and cardinality(qou.mat_arr) <=11)
where qup.ibitmask>0 and cardinality(qup.mat_arr) <=21

The same rows estimation takes place as with the left joins, but the planner now decides to use a nested loop for the last join, which results in a 500fold execution time:

QUERY PLAN
--------------------------------------------------------------------------------------------------------------------------------------------
Append (cost=13365.31..17472.18 rows=5734 width=104) (actual time=139.037..13403.310 rows=9963 loops=1)
CTE qup
-> GroupAggregate (cost=5231.22..6303.78 rows=10320 width=80) (actual time=35.399..67.102 rows=10735 loops=1)
Group Key: sa_upper.sup_season, sa_upper.sup_sa_code
-> Sort (cost=5231.22..5358.64 rows=50969 width=18) (actual time=35.382..36.743 rows=50969 loops=1)
Sort Key: sa_upper.sup_season, sa_upper.sup_sa_code COLLATE "C"
Sort Method: quicksort Memory: 4722kB
-> Hash Left Join (cost=41.71..1246.13 rows=50969 width=18) (actual time=0.157..10.715 rows=50969 loops=1)
Hash Cond: ((sa_upper.sup_mat_code)::text = upper_target.up_mat_code)
-> Seq Scan on sa_upper (cost=0.00..884.69 rows=50969 width=16) (actual time=0.008..2.001 rows=50969 loops=1)
-> Hash (cost=35.53..35.53 rows=495 width=6) (actual time=0.146..0.146 rows=495 loops=1)
Buckets: 1024 Batches: 1 Memory Usage: 27kB
-> Seq Scan on upper_target (cost=0.00..35.53 rows=495 width=6) (actual time=0.006..0.105 rows=495 loops=1)
Filter: (id_up <= 495)
Rows Removed by Filter: 1467
CTE qli
-> GroupAggregate (cost=1097.31..1486.56 rows=10469 width=80) (actual time=9.541..27.419 rows=10469 loops=1)
Group Key: sa_lining.sli_season, sa_lining.sli_sa_code
-> Sort (cost=1097.31..1126.74 rows=11774 width=18) (actual time=9.534..9.908 rows=11774 loops=1)
Sort Key: sa_lining.sli_season, sa_lining.sli_sa_code COLLATE "C"
Sort Method: quicksort Memory: 1120kB
-> Hash Left Join (cost=7.34..301.19 rows=11774 width=18) (actual time=0.049..2.451 rows=11774 loops=1)
Hash Cond: ((sa_lining.sli_mat_code)::text = lining_target.li_mat_code)
-> Seq Scan on sa_lining (cost=0.00..204.74 rows=11774 width=16) (actual time=0.010..0.462 rows=11774 loops=1)
-> Hash (cost=5.86..5.86 rows=118 width=6) (actual time=0.035..0.035 rows=119 loops=1)
Buckets: 1024 Batches: 1 Memory Usage: 13kB
-> Seq Scan on lining_target (cost=0.00..5.86 rows=118 width=6) (actual time=0.008..0.025 rows=119 loops=1)
Filter: (id_li <= 119)
Rows Removed by Filter: 190
CTE qin
-> GroupAggregate (cost=1427.34..1880.73 rows=10678 width=80) (actual time=11.649..30.910 rows=10678 loops=1)
Group Key: sa_insole.sin_season, sa_insole.sin_sa_code
-> Sort (cost=1427.34..1465.41 rows=15230 width=18) (actual time=11.642..12.115 rows=15230 loops=1)
Sort Key: sa_insole.sin_season, sa_insole.sin_sa_code COLLATE "C"
Sort Method: quicksort Memory: 1336kB
-> Hash Left Join (cost=10.49..369.26 rows=15230 width=18) (actual time=0.056..3.144 rows=15230 loops=1)
Hash Cond: ((sa_insole.sin_mat_code)::text = insole_target.in_mat_code)
-> Seq Scan on sa_insole (cost=0.00..264.30 rows=15230 width=16) (actual time=0.008..0.594 rows=15230 loops=1)
-> Hash (cost=9.01..9.01 rows=118 width=6) (actual time=0.045..0.046 rows=119 loops=1)
Buckets: 1024 Batches: 1 Memory Usage: 13kB
-> Seq Scan on insole_target (cost=0.00..9.01 rows=118 width=6) (actual time=0.008..0.034 rows=119 loops=1)
Filter: (id_in <= 119)
Rows Removed by Filter: 362
CTE qou
-> GroupAggregate (cost=2366.22..2986.89 rows=10699 width=80) (actual time=18.163..51.151 rows=10699 loops=1)
Group Key: sa_outsole.sou_season, sa_outsole.sou_sa_code
-> Sort (cost=2366.22..2428.14 rows=24768 width=18) (actual time=18.150..20.000 rows=24768 loops=1)
Sort Key: sa_outsole.sou_season, sa_outsole.sou_sa_code COLLATE "C"
Sort Method: quicksort Memory: 2317kB
-> Hash Left Join (cost=5.39..558.63 rows=24768 width=18) (actual time=0.036..5.106 rows=24768 loops=1)
Hash Cond: ((sa_outsole.sou_mat_code)::text = outsole_target.ou_mat_code)
-> Seq Scan on sa_outsole (cost=0.00..430.68 rows=24768 width=16) (actual time=0.008..1.005 rows=24768 loops=1)
-> Hash (cost=5.03..5.03 rows=29 width=6) (actual time=0.024..0.024 rows=29 loops=1)
Buckets: 1024 Batches: 1 Memory Usage: 10kB
-> Seq Scan on outsole_target (cost=0.00..5.03 rows=29 width=6) (actual time=0.007..0.018 rows=29 loops=1)
Filter: (id_ou <= 29)
Rows Removed by Filter: 213
-> Nested Loop (cost=707.35..1328.37 rows=1 width=104) (actual time=139.036..13395.820 rows=8548 loops=1)
Join Filter: ((qli.curr_season = qin.curr_season) AND ((qli.curr_code)::text = (qin.curr_code)::text))
Rows Removed by Join Filter: 88552397
-> Hash Join (cost=707.35..1016.45 rows=1 width=216) (actual time=127.374..168.249 rows=8685 loops=1)
Hash Cond: ((qou.curr_season = qli.curr_season) AND ((qou.curr_code)::text = (qli.curr_code)::text))
-> CTE Scan on qou (cost=0.00..294.22 rows=1189 width=72) (actual time=18.165..54.968 rows=10275 loops=1)
Filter: ((ibitmask > 0) AND (cardinality(mat_arr) <= 11))
Rows Removed by Filter: 424
-> Hash (cost=706.86..706.86 rows=33 width=144) (actual time=109.205..109.207 rows=9007 loops=1)
Buckets: 16384 (originally 1024) Batches: 1 (originally 1) Memory Usage: 1369kB
-> Merge Join (cost=689.20..706.86 rows=33 width=144) (actual time=104.785..107.748 rows=9007 loops=1)
Merge Cond: ((qup.curr_season = qli.curr_season) AND ((qup.curr_code)::text = (qli.curr_code)::text))
-> Sort (cost=342.09..344.96 rows=1147 width=72) (actual time=72.320..72.559 rows=9320 loops=1)
Sort Key: qup.curr_season, qup.curr_code COLLATE "C"
Sort Method: quicksort Memory: 1357kB
-> CTE Scan on qup (cost=0.00..283.80 rows=1147 width=72) (actual time=35.401..70.834 rows=9320 loops=1)
Filter: ((ibitmask > 0) AND (cardinality(mat_arr) <= 21))
Rows Removed by Filter: 1415
-> Sort (cost=347.12..350.02 rows=1163 width=72) (actual time=32.461..32.719 rows=10289 loops=1)
Sort Key: qli.curr_season, qli.curr_code COLLATE "C"
Sort Method: quicksort Memory: 1269kB
-> CTE Scan on qli (cost=0.00..287.90 rows=1163 width=72) (actual time=9.543..30.696 rows=10289 loops=1)
Filter: ((ibitmask > 0) AND (cardinality(mat_arr) <= 8))
Rows Removed by Filter: 180
-> CTE Scan on qin (cost=0.00..293.65 rows=1186 width=72) (actual time=0.001..1.159 rows=10197 loops=8685)
Filter: ((ibitmask > 0) AND (cardinality(mat_arr) <= 8))
Rows Removed by Filter: 481
-> Merge Left Join (cost=2625.49..3399.84 rows=5733 width=104) (actual time=4.606..6.733 rows=1415 loops=1)
Merge Cond: ((qup_1.curr_season = qou_1.curr_season) AND ((qup_1.curr_code)::text = (qou_1.curr_code)::text))
-> Merge Left Join (cost=1958.66..2135.28 rows=5733 width=136) (actual time=3.479..3.930 rows=1415 loops=1)
Merge Cond: ((qup_1.curr_season = qin_1.curr_season) AND ((qup_1.curr_code)::text = (qin_1.curr_code)::text))
-> Merge Left Join (cost=1293.25..1388.21 rows=5733 width=104) (actual time=2.368..2.610 rows=1415 loops=1)
Merge Cond: ((qup_1.curr_season = qli_1.curr_season) AND ((qup_1.curr_code)::text = (qli_1.curr_code)::text))
-> Sort (cost=641.68..656.02 rows=5733 width=72) (actual time=1.296..1.335 rows=1415 loops=1)
Sort Key: qup_1.curr_season, qup_1.curr_code COLLATE "C"
Sort Method: quicksort Memory: 204kB
-> CTE Scan on qup qup_1 (cost=0.00..283.80 rows=5733 width=72) (actual time=0.010..1.119 rows=1415 loops=1)
Filter: ((ibitmask < 0) OR (cardinality(mat_arr) > 21))
Rows Removed by Filter: 9320
-> Sort (cost=651.57..666.11 rows=5816 width=72) (actual time=1.069..1.075 rows=180 loops=1)
Sort Key: qli_1.curr_season, qli_1.curr_code COLLATE "C"
Sort Method: quicksort Memory: 41kB
-> CTE Scan on qli qli_1 (cost=0.00..287.90 rows=5816 width=72) (actual time=0.057..1.026 rows=180 loops=1)
Filter: ((ibitmask < 0) OR (cardinality(mat_arr) > 8))
Rows Removed by Filter: 10289
-> Sort (cost=665.41..680.24 rows=5932 width=72) (actual time=1.110..1.124 rows=481 loops=1)
Sort Key: qin_1.curr_season, qin_1.curr_code COLLATE "C"
Sort Method: quicksort Memory: 68kB
-> CTE Scan on qin qin_1 (cost=0.00..293.65 rows=5932 width=72) (actual time=0.016..1.046 rows=481 loops=1)
Filter: ((ibitmask < 0) OR (cardinality(mat_arr) > 8))
Rows Removed by Filter: 10197
-> Sort (cost=666.83..681.69 rows=5944 width=72) (actual time=1.119..1.128 rows=417 loops=1)
Sort Key: qou_1.curr_season, qou_1.curr_code COLLATE "C"
Sort Method: quicksort Memory: 68kB
-> CTE Scan on qou qou_1 (cost=0.00..294.22 rows=5944 width=72) (actual time=0.029..1.056 rows=424 loops=1)
Filter: ((ibitmask < 0) OR (cardinality(mat_arr) > 11))
Rows Removed by Filter: 10275
Planning Time: 1.746 ms
Execution Time: 13405.503 ms
(116 Zeilen)

This case really brought me to detect the problem!

The original query and data are not shown here, but the principle should be clear from the execution plans.

I think the planner shouldn't change the row estimations on further steps after left joins at all, and be a bit more conservative on inner joins.
This may be related to the fact that this case has 2 join-conditions (xx_season an xx_code).

Thanks for looking

Hans Buschmann

!! External Email: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender.

Attachments:

0001-Add-stats-info-for-Vars-in-CTEs.patchtext/x-patch; name=0001-Add-stats-info-for-Vars-in-CTEs.patchDownload
From 29db9f3a6e6592cf277b011b7f92bb7bc0c69baf Mon Sep 17 00:00:00 2001
From: Jian Guo <xihuke@gmail.com>
Date: Wed, 9 Aug 2023 03:32:01 -0400
Subject: [PATCH] Add stats info for Vars in CTEs.

Signed-off-by: Jian Guo <gjian@vmware.com>
---
 src/backend/utils/adt/selfuncs.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/backend/utils/adt/selfuncs.c b/src/backend/utils/adt/selfuncs.c
index 9f5536c04b6..b70b779a595 100644
--- a/src/backend/utils/adt/selfuncs.c
+++ b/src/backend/utils/adt/selfuncs.c
@@ -5343,7 +5343,10 @@ get_variable_numdistinct(VariableStatData *vardata, bool *isdefault)
 					stadistinct = getgpsegmentCount();
 					break;
 				default:
-					stadistinct = 0.0;	/* means "unknown" */
+					if (vardata->rel->rtekind == RTE_CTE)
+						stadistinct = -1.0;
+					else
+						stadistinct = 0.0;	/* means "unknown" */
 					break;
 			}
 		}
-- 
2.37.3

#7Tomas Vondra
tomas.vondra@enterprisedb.com
In reply to: Jian Guo (#6)
Re: Wrong rows estimations with joins of CTEs slows queries by more than factor 500

Hi,

I haven't looked at the patch, but please add the patch to the next
commit fest (2023-09), so that we don't lose track of it.

See https://commitfest.postgresql.org

regards

Tomas

On 8/14/23 13:12, Jian Guo wrote:

Hi hackers,

I have written a patch to add stats info for Vars in CTEs. With this
patch, the join size estimation on the upper of CTE scans became more
accurate.

In the function |selfuncs.c:eqjoinsel| it uses the number of the
distinct values of the two join variables to estimate join size, and in
the function |selfuncs.c:get_variable_numdistinct| return a default
value |DEFAULT_NUM_DISTINCT| (200 in Postgres and 1000 in Greenplum),
with the default value, you can never expect a good plan.

Thanks if anyone could give a review.

Regards,
Jian

------------------------------------------------------------------------
*From:* Hans Buschmann <buschmann@nidsa.net>
*Sent:* Wednesday, February 8, 2023 21:55
*To:* pgsql-hackers@lists.postgresql.org
<pgsql-hackers@lists.postgresql.org>
*Subject:* Wrong rows estimations with joins of CTEs slows queries by
more than factor 500
 

!! External Email

During data refactoring of our Application I encountered $subject when
joining 4 CTEs with left join or inner join.

1. Background

PG 15.1 on Windows x64 (OS seems no to have no meening here)

I try to collect data from 4 (analyzed) tables (up,li,in,ou) by grouping
certain data (4 CTEs qup,qli,qin,qou)

The grouping of the data in the CTEs gives estimated row counts of about
1000 (1 tenth of the real value) This is OK for estimation.

These 4 CTEs are then used to combine the data by joining them.

2. Problem

The 4 CTEs are joined by left joins as shown below:

from qup
left join qli on (qli.curr_season=qup.curr_season and
qli.curr_code=qup.curr_code and qli.ibitmask>0 and
cardinality(qli.mat_arr) <=8)
left join qin on (qin.curr_season=qup.curr_season and
qin.curr_code=qup.curr_code and qin.ibitmask>0 and
cardinality(qin.mat_arr) <=8)
left join qou on (qou.curr_season=qup.curr_season and
qou.curr_code=qup.curr_code and qou.ibitmask>0 and
cardinality(qou.mat_arr) <=11)
where qup.ibitmask>0 and cardinality(qup.mat_arr) <=21

The plan first retrieves qup and qli, taking the estimated row counts of
1163 and 1147 respectively

BUT the result is then hashed and the row count is estimated as 33!

In a Left join the row count stays always the same as the one of left
table (here qup with 1163 rows)

The same algorithm which reduces the row estimation from 1163 to 33 is
used in the next step to give an estimation of 1 row.

This is totally wrong.

Here is the execution plan of the query:

(search the plan for rows=33)

                                                                   
QUERY PLAN
--------------------------------------------------------------------------------------------------------------------------------------------------
 Append  (cost=13673.81..17463.30 rows=5734 width=104) (actual
time=168.307..222.670 rows=9963 loops=1)
   CTE qup
     ->  GroupAggregate  (cost=5231.22..6303.78 rows=10320 width=80)
(actual time=35.466..68.131 rows=10735 loops=1)
           Group Key: sa_upper.sup_season, sa_upper.sup_sa_code
           ->  Sort  (cost=5231.22..5358.64 rows=50969 width=18) (actual
time=35.454..36.819 rows=50969 loops=1)
                 Sort Key: sa_upper.sup_season, sa_upper.sup_sa_code
COLLATE "C"
                 Sort Method: quicksort  Memory: 4722kB
                 ->  Hash Left Join  (cost=41.71..1246.13 rows=50969
width=18) (actual time=0.148..10.687 rows=50969 loops=1)
                       Hash Cond: ((sa_upper.sup_mat_code)::text =
upper_target.up_mat_code)
                       ->  Seq Scan on sa_upper  (cost=0.00..884.69
rows=50969 width=16) (actual time=0.005..1.972 rows=50969 loops=1)
                       ->  Hash  (cost=35.53..35.53 rows=495 width=6)
(actual time=0.140..0.140 rows=495 loops=1)
                             Buckets: 1024  Batches: 1  Memory Usage: 27kB
                             ->  Seq Scan on upper_target 
(cost=0.00..35.53 rows=495 width=6) (actual time=0.007..0.103 rows=495
loops=1)
                                   Filter: (id_up <= 495)
                                   Rows Removed by Filter: 1467
   CTE qli
     ->  GroupAggregate  (cost=1097.31..1486.56 rows=10469 width=80)
(actual time=9.446..27.388 rows=10469 loops=1)
           Group Key: sa_lining.sli_season, sa_lining.sli_sa_code
           ->  Sort  (cost=1097.31..1126.74 rows=11774 width=18) (actual
time=9.440..9.811 rows=11774 loops=1)
                 Sort Key: sa_lining.sli_season, sa_lining.sli_sa_code
COLLATE "C"
                 Sort Method: quicksort  Memory: 1120kB
                 ->  Hash Left Join  (cost=7.34..301.19 rows=11774
width=18) (actual time=0.045..2.438 rows=11774 loops=1)
                       Hash Cond: ((sa_lining.sli_mat_code)::text =
lining_target.li_mat_code)
                       ->  Seq Scan on sa_lining  (cost=0.00..204.74
rows=11774 width=16) (actual time=0.008..0.470 rows=11774 loops=1)
                       ->  Hash  (cost=5.86..5.86 rows=118 width=6)
(actual time=0.034..0.034 rows=119 loops=1)
                             Buckets: 1024  Batches: 1  Memory Usage: 13kB
                             ->  Seq Scan on lining_target 
(cost=0.00..5.86 rows=118 width=6) (actual time=0.008..0.024 rows=119
loops=1)
                                   Filter: (id_li <= 119)
                                   Rows Removed by Filter: 190
   CTE qin
     ->  GroupAggregate  (cost=1427.34..1880.73 rows=10678 width=80)
(actual time=11.424..31.508 rows=10678 loops=1)
           Group Key: sa_insole.sin_season, sa_insole.sin_sa_code
           ->  Sort  (cost=1427.34..1465.41 rows=15230 width=18) (actual
time=11.416..11.908 rows=15230 loops=1)
                 Sort Key: sa_insole.sin_season, sa_insole.sin_sa_code
COLLATE "C"
                 Sort Method: quicksort  Memory: 1336kB
                 ->  Hash Left Join  (cost=10.49..369.26 rows=15230
width=18) (actual time=0.051..3.108 rows=15230 loops=1)
                       Hash Cond: ((sa_insole.sin_mat_code)::text =
insole_target.in_mat_code)
                       ->  Seq Scan on sa_insole  (cost=0.00..264.30
rows=15230 width=16) (actual time=0.006..0.606 rows=15230 loops=1)
                       ->  Hash  (cost=9.01..9.01 rows=118 width=6)
(actual time=0.042..0.043 rows=119 loops=1)
                             Buckets: 1024  Batches: 1  Memory Usage: 13kB
                             ->  Seq Scan on insole_target 
(cost=0.00..9.01 rows=118 width=6) (actual time=0.008..0.032 rows=119
loops=1)
                                   Filter: (id_in <= 119)
                                   Rows Removed by Filter: 362
   CTE qou
     ->  GroupAggregate  (cost=2366.22..2986.89 rows=10699 width=80)
(actual time=18.198..41.812 rows=10699 loops=1)
           Group Key: sa_outsole.sou_season, sa_outsole.sou_sa_code
           ->  Sort  (cost=2366.22..2428.14 rows=24768 width=18) (actual
time=18.187..18.967 rows=24768 loops=1)
                 Sort Key: sa_outsole.sou_season, sa_outsole.sou_sa_code
COLLATE "C"
                 Sort Method: quicksort  Memory: 2317kB
                 ->  Hash Left Join  (cost=5.39..558.63 rows=24768
width=18) (actual time=0.046..5.132 rows=24768 loops=1)
                       Hash Cond: ((sa_outsole.sou_mat_code)::text =
outsole_target.ou_mat_code)
                       ->  Seq Scan on sa_outsole  (cost=0.00..430.68
rows=24768 width=16) (actual time=0.010..1.015 rows=24768 loops=1)
                       ->  Hash  (cost=5.03..5.03 rows=29 width=6)
(actual time=0.032..0.032 rows=29 loops=1)
                             Buckets: 1024  Batches: 1  Memory Usage: 10kB
                             ->  Seq Scan on outsole_target 
(cost=0.00..5.03 rows=29 width=6) (actual time=0.010..0.025 rows=29 loops=1)
                                   Filter: (id_ou <= 29)
                                   Rows Removed by Filter: 213
   ->  Hash Join  (cost=1015.85..1319.50 rows=1 width=104) (actual
time=168.307..215.513 rows=8548 loops=1)
         Hash Cond: ((qou.curr_season = qli.curr_season) AND
((qou.curr_code)::text = (qli.curr_code)::text))
         Join Filter: ((((qup.ibitmask | qin.ibitmask) | qli.ibitmask) |
qou.ibitmask) IS NOT NULL)
         ->  CTE Scan on qou  (cost=0.00..294.22 rows=1189 width=76)
(actual time=18.200..45.188 rows=10275 loops=1)
               Filter: ((ibitmask > 0) AND (cardinality(mat_arr) <= 11))
               Rows Removed by Filter: 424
         ->  Hash  (cost=1015.83..1015.83 rows=1 width=228) (actual
time=150.094..150.095 rows=8845 loops=1)
               Buckets: 16384 (originally 1024)  Batches: 1 (originally
1)  Memory Usage: 1899kB
               ->  Hash Join  (cost=707.35..1015.83 rows=1 width=228)
(actual time=121.898..147.726 rows=8845 loops=1)
                     Hash Cond: ((qin.curr_season = qli.curr_season) AND
((qin.curr_code)::text = (qli.curr_code)::text))
                     ->  CTE Scan on qin  (cost=0.00..293.65 rows=1186
width=76) (actual time=11.425..34.674 rows=10197 loops=1)
                           Filter: ((ibitmask > 0) AND
(cardinality(mat_arr) <= 8))
                           Rows Removed by Filter: 481
                     ->  Hash  (cost=706.86..706.86 rows=33 width=152)
(actual time=110.470..110.470 rows=9007 loops=1)
                           Buckets: 16384 (originally 1024)  Batches: 1
(originally 1)  Memory Usage: 1473kB
                           ->  Merge Join  (cost=689.20..706.86 rows=33
width=152) (actual time=105.862..108.925 rows=9007 loops=1)
                                 Merge Cond: ((qup.curr_season =
qli.curr_season) AND ((qup.curr_code)::text = (qli.curr_code)::text))
                                 ->  Sort  (cost=342.09..344.96
rows=1147 width=76) (actual time=73.419..73.653 rows=9320 loops=1)
                                       Sort Key: qup.curr_season,
qup.curr_code COLLATE "C"
                                       Sort Method: quicksort  Memory:
1391kB
                                       ->  CTE Scan on qup 
(cost=0.00..283.80 rows=1147 width=76) (actual time=35.467..71.904
rows=9320 loops=1)
                                             Filter: ((ibitmask > 0) AND
(cardinality(mat_arr) <= 21))
                                             Rows Removed by Filter: 1415
                                 ->  Sort  (cost=347.12..350.02
rows=1163 width=76) (actual time=32.440..32.697 rows=10289 loops=1)
                                       Sort Key: qli.curr_season,
qli.curr_code COLLATE "C"
                                       Sort Method: quicksort  Memory:
1349kB
                                       ->  CTE Scan on qli 
(cost=0.00..287.90 rows=1163 width=76) (actual time=9.447..30.666
rows=10289 loops=1)
                                             Filter: ((ibitmask > 0) AND
(cardinality(mat_arr) <= 8))
                                             Rows Removed by Filter: 180
   ->  Merge Left Join  (cost=2625.49..3399.84 rows=5733 width=104)
(actual time=4.597..6.700 rows=1415 loops=1)
         Merge Cond: ((qup_1.curr_season = qou_1.curr_season) AND
((qup_1.curr_code)::text = (qou_1.curr_code)::text))
         ->  Merge Left Join  (cost=1958.66..2135.28 rows=5733
width=136) (actual time=3.427..3.863 rows=1415 loops=1)
               Merge Cond: ((qup_1.curr_season = qin_1.curr_season) AND
((qup_1.curr_code)::text = (qin_1.curr_code)::text))
               ->  Merge Left Join  (cost=1293.25..1388.21 rows=5733
width=104) (actual time=2.321..2.556 rows=1415 loops=1)
                     Merge Cond: ((qup_1.curr_season =
qli_1.curr_season) AND ((qup_1.curr_code)::text = (qli_1.curr_code)::text))
                     ->  Sort  (cost=641.68..656.02 rows=5733 width=72)
(actual time=1.286..1.324 rows=1415 loops=1)
                           Sort Key: qup_1.curr_season, qup_1.curr_code
COLLATE "C"
                           Sort Method: quicksort  Memory: 204kB
                           ->  CTE Scan on qup qup_1  (cost=0.00..283.80
rows=5733 width=72) (actual time=0.009..1.093 rows=1415 loops=1)
                                 Filter: ((ibitmask < 0) OR
(cardinality(mat_arr) > 21))
                                 Rows Removed by Filter: 9320
                     ->  Sort  (cost=651.57..666.11 rows=5816 width=72)
(actual time=1.033..1.038 rows=180 loops=1)
                           Sort Key: qli_1.curr_season, qli_1.curr_code
COLLATE "C"
                           Sort Method: quicksort  Memory: 41kB
                           ->  CTE Scan on qli qli_1  (cost=0.00..287.90
rows=5816 width=72) (actual time=0.055..1.007 rows=180 loops=1)
                                 Filter: ((ibitmask < 0) OR
(cardinality(mat_arr) > 8))
                                 Rows Removed by Filter: 10289
               ->  Sort  (cost=665.41..680.24 rows=5932 width=72)
(actual time=1.104..1.117 rows=481 loops=1)
                     Sort Key: qin_1.curr_season, qin_1.curr_code
COLLATE "C"
                     Sort Method: quicksort  Memory: 68kB
                     ->  CTE Scan on qin qin_1  (cost=0.00..293.65
rows=5932 width=72) (actual time=0.016..1.038 rows=481 loops=1)
                           Filter: ((ibitmask < 0) OR
(cardinality(mat_arr) > 8))
                           Rows Removed by Filter: 10197
         ->  Sort  (cost=666.83..681.69 rows=5944 width=72) (actual
time=1.163..1.174 rows=417 loops=1)
               Sort Key: qou_1.curr_season, qou_1.curr_code COLLATE "C"
               Sort Method: quicksort  Memory: 68kB
               ->  CTE Scan on qou qou_1  (cost=0.00..294.22 rows=5944
width=72) (actual time=0.029..1.068 rows=424 loops=1)
                     Filter: ((ibitmask < 0) OR (cardinality(mat_arr) > 11))
                     Rows Removed by Filter: 10275
 Planning Time: 2.297 ms
 Execution Time: 224.759 ms
(118 Zeilen)

3. Slow query from wrong plan as result on similar case with inner join

When the 3 left joins above are changed to inner joins like:

from qup
join qli on (qli.curr_season=qup.curr_season and
qli.curr_code=qup.curr_code and qli.ibitmask>0 and
cardinality(qli.mat_arr) <=8)
join qin on (qin.curr_season=qup.curr_season and
qin.curr_code=qup.curr_code and qin.ibitmask>0 and
cardinality(qin.mat_arr) <=8)
join qou on (qou.curr_season=qup.curr_season and
qou.curr_code=qup.curr_code and qou.ibitmask>0 and
cardinality(qou.mat_arr) <=11)
where qup.ibitmask>0 and cardinality(qup.mat_arr) <=21

The same rows estimation takes place as with the left joins, but the
planner now decides to use a nested loop for the last join, which
results in a 500fold execution time:

                                                                 QUERY PLAN
--------------------------------------------------------------------------------------------------------------------------------------------
 Append  (cost=13365.31..17472.18 rows=5734 width=104) (actual
time=139.037..13403.310 rows=9963 loops=1)
   CTE qup
     ->  GroupAggregate  (cost=5231.22..6303.78 rows=10320 width=80)
(actual time=35.399..67.102 rows=10735 loops=1)
           Group Key: sa_upper.sup_season, sa_upper.sup_sa_code
           ->  Sort  (cost=5231.22..5358.64 rows=50969 width=18) (actual
time=35.382..36.743 rows=50969 loops=1)
                 Sort Key: sa_upper.sup_season, sa_upper.sup_sa_code
COLLATE "C"
                 Sort Method: quicksort  Memory: 4722kB
                 ->  Hash Left Join  (cost=41.71..1246.13 rows=50969
width=18) (actual time=0.157..10.715 rows=50969 loops=1)
                       Hash Cond: ((sa_upper.sup_mat_code)::text =
upper_target.up_mat_code)
                       ->  Seq Scan on sa_upper  (cost=0.00..884.69
rows=50969 width=16) (actual time=0.008..2.001 rows=50969 loops=1)
                       ->  Hash  (cost=35.53..35.53 rows=495 width=6)
(actual time=0.146..0.146 rows=495 loops=1)
                             Buckets: 1024  Batches: 1  Memory Usage: 27kB
                             ->  Seq Scan on upper_target 
(cost=0.00..35.53 rows=495 width=6) (actual time=0.006..0.105 rows=495
loops=1)
                                   Filter: (id_up <= 495)
                                   Rows Removed by Filter: 1467
   CTE qli
     ->  GroupAggregate  (cost=1097.31..1486.56 rows=10469 width=80)
(actual time=9.541..27.419 rows=10469 loops=1)
           Group Key: sa_lining.sli_season, sa_lining.sli_sa_code
           ->  Sort  (cost=1097.31..1126.74 rows=11774 width=18) (actual
time=9.534..9.908 rows=11774 loops=1)
                 Sort Key: sa_lining.sli_season, sa_lining.sli_sa_code
COLLATE "C"
                 Sort Method: quicksort  Memory: 1120kB
                 ->  Hash Left Join  (cost=7.34..301.19 rows=11774
width=18) (actual time=0.049..2.451 rows=11774 loops=1)
                       Hash Cond: ((sa_lining.sli_mat_code)::text =
lining_target.li_mat_code)
                       ->  Seq Scan on sa_lining  (cost=0.00..204.74
rows=11774 width=16) (actual time=0.010..0.462 rows=11774 loops=1)
                       ->  Hash  (cost=5.86..5.86 rows=118 width=6)
(actual time=0.035..0.035 rows=119 loops=1)
                             Buckets: 1024  Batches: 1  Memory Usage: 13kB
                             ->  Seq Scan on lining_target 
(cost=0.00..5.86 rows=118 width=6) (actual time=0.008..0.025 rows=119
loops=1)
                                   Filter: (id_li <= 119)
                                   Rows Removed by Filter: 190
   CTE qin
     ->  GroupAggregate  (cost=1427.34..1880.73 rows=10678 width=80)
(actual time=11.649..30.910 rows=10678 loops=1)
           Group Key: sa_insole.sin_season, sa_insole.sin_sa_code
           ->  Sort  (cost=1427.34..1465.41 rows=15230 width=18) (actual
time=11.642..12.115 rows=15230 loops=1)
                 Sort Key: sa_insole.sin_season, sa_insole.sin_sa_code
COLLATE "C"
                 Sort Method: quicksort  Memory: 1336kB
                 ->  Hash Left Join  (cost=10.49..369.26 rows=15230
width=18) (actual time=0.056..3.144 rows=15230 loops=1)
                       Hash Cond: ((sa_insole.sin_mat_code)::text =
insole_target.in_mat_code)
                       ->  Seq Scan on sa_insole  (cost=0.00..264.30
rows=15230 width=16) (actual time=0.008..0.594 rows=15230 loops=1)
                       ->  Hash  (cost=9.01..9.01 rows=118 width=6)
(actual time=0.045..0.046 rows=119 loops=1)
                             Buckets: 1024  Batches: 1  Memory Usage: 13kB
                             ->  Seq Scan on insole_target 
(cost=0.00..9.01 rows=118 width=6) (actual time=0.008..0.034 rows=119
loops=1)
                                   Filter: (id_in <= 119)
                                   Rows Removed by Filter: 362
   CTE qou
     ->  GroupAggregate  (cost=2366.22..2986.89 rows=10699 width=80)
(actual time=18.163..51.151 rows=10699 loops=1)
           Group Key: sa_outsole.sou_season, sa_outsole.sou_sa_code
           ->  Sort  (cost=2366.22..2428.14 rows=24768 width=18) (actual
time=18.150..20.000 rows=24768 loops=1)
                 Sort Key: sa_outsole.sou_season, sa_outsole.sou_sa_code
COLLATE "C"
                 Sort Method: quicksort  Memory: 2317kB
                 ->  Hash Left Join  (cost=5.39..558.63 rows=24768
width=18) (actual time=0.036..5.106 rows=24768 loops=1)
                       Hash Cond: ((sa_outsole.sou_mat_code)::text =
outsole_target.ou_mat_code)
                       ->  Seq Scan on sa_outsole  (cost=0.00..430.68
rows=24768 width=16) (actual time=0.008..1.005 rows=24768 loops=1)
                       ->  Hash  (cost=5.03..5.03 rows=29 width=6)
(actual time=0.024..0.024 rows=29 loops=1)
                             Buckets: 1024  Batches: 1  Memory Usage: 10kB
                             ->  Seq Scan on outsole_target 
(cost=0.00..5.03 rows=29 width=6) (actual time=0.007..0.018 rows=29 loops=1)
                                   Filter: (id_ou <= 29)
                                   Rows Removed by Filter: 213
   ->  Nested Loop  (cost=707.35..1328.37 rows=1 width=104) (actual
time=139.036..13395.820 rows=8548 loops=1)
         Join Filter: ((qli.curr_season = qin.curr_season) AND
((qli.curr_code)::text = (qin.curr_code)::text))
         Rows Removed by Join Filter: 88552397
         ->  Hash Join  (cost=707.35..1016.45 rows=1 width=216) (actual
time=127.374..168.249 rows=8685 loops=1)
               Hash Cond: ((qou.curr_season = qli.curr_season) AND
((qou.curr_code)::text = (qli.curr_code)::text))
               ->  CTE Scan on qou  (cost=0.00..294.22 rows=1189
width=72) (actual time=18.165..54.968 rows=10275 loops=1)
                     Filter: ((ibitmask > 0) AND (cardinality(mat_arr)
<= 11))
                     Rows Removed by Filter: 424
               ->  Hash  (cost=706.86..706.86 rows=33 width=144) (actual
time=109.205..109.207 rows=9007 loops=1)
                     Buckets: 16384 (originally 1024)  Batches: 1
(originally 1)  Memory Usage: 1369kB
                     ->  Merge Join  (cost=689.20..706.86 rows=33
width=144) (actual time=104.785..107.748 rows=9007 loops=1)
                           Merge Cond: ((qup.curr_season =
qli.curr_season) AND ((qup.curr_code)::text = (qli.curr_code)::text))
                           ->  Sort  (cost=342.09..344.96 rows=1147
width=72) (actual time=72.320..72.559 rows=9320 loops=1)
                                 Sort Key: qup.curr_season,
qup.curr_code COLLATE "C"
                                 Sort Method: quicksort  Memory: 1357kB
                                 ->  CTE Scan on qup  (cost=0.00..283.80
rows=1147 width=72) (actual time=35.401..70.834 rows=9320 loops=1)
                                       Filter: ((ibitmask > 0) AND
(cardinality(mat_arr) <= 21))
                                       Rows Removed by Filter: 1415
                           ->  Sort  (cost=347.12..350.02 rows=1163
width=72) (actual time=32.461..32.719 rows=10289 loops=1)
                                 Sort Key: qli.curr_season,
qli.curr_code COLLATE "C"
                                 Sort Method: quicksort  Memory: 1269kB
                                 ->  CTE Scan on qli  (cost=0.00..287.90
rows=1163 width=72) (actual time=9.543..30.696 rows=10289 loops=1)
                                       Filter: ((ibitmask > 0) AND
(cardinality(mat_arr) <= 8))
                                       Rows Removed by Filter: 180
         ->  CTE Scan on qin  (cost=0.00..293.65 rows=1186 width=72)
(actual time=0.001..1.159 rows=10197 loops=8685)
               Filter: ((ibitmask > 0) AND (cardinality(mat_arr) <= 8))
               Rows Removed by Filter: 481
   ->  Merge Left Join  (cost=2625.49..3399.84 rows=5733 width=104)
(actual time=4.606..6.733 rows=1415 loops=1)
         Merge Cond: ((qup_1.curr_season = qou_1.curr_season) AND
((qup_1.curr_code)::text = (qou_1.curr_code)::text))
         ->  Merge Left Join  (cost=1958.66..2135.28 rows=5733
width=136) (actual time=3.479..3.930 rows=1415 loops=1)
               Merge Cond: ((qup_1.curr_season = qin_1.curr_season) AND
((qup_1.curr_code)::text = (qin_1.curr_code)::text))
               ->  Merge Left Join  (cost=1293.25..1388.21 rows=5733
width=104) (actual time=2.368..2.610 rows=1415 loops=1)
                     Merge Cond: ((qup_1.curr_season =
qli_1.curr_season) AND ((qup_1.curr_code)::text = (qli_1.curr_code)::text))
                     ->  Sort  (cost=641.68..656.02 rows=5733 width=72)
(actual time=1.296..1.335 rows=1415 loops=1)
                           Sort Key: qup_1.curr_season, qup_1.curr_code
COLLATE "C"
                           Sort Method: quicksort  Memory: 204kB
                           ->  CTE Scan on qup qup_1  (cost=0.00..283.80
rows=5733 width=72) (actual time=0.010..1.119 rows=1415 loops=1)
                                 Filter: ((ibitmask < 0) OR
(cardinality(mat_arr) > 21))
                                 Rows Removed by Filter: 9320
                     ->  Sort  (cost=651.57..666.11 rows=5816 width=72)
(actual time=1.069..1.075 rows=180 loops=1)
                           Sort Key: qli_1.curr_season, qli_1.curr_code
COLLATE "C"
                           Sort Method: quicksort  Memory: 41kB
                           ->  CTE Scan on qli qli_1  (cost=0.00..287.90
rows=5816 width=72) (actual time=0.057..1.026 rows=180 loops=1)
                                 Filter: ((ibitmask < 0) OR
(cardinality(mat_arr) > 8))
                                 Rows Removed by Filter: 10289
               ->  Sort  (cost=665.41..680.24 rows=5932 width=72)
(actual time=1.110..1.124 rows=481 loops=1)
                     Sort Key: qin_1.curr_season, qin_1.curr_code
COLLATE "C"
                     Sort Method: quicksort  Memory: 68kB
                     ->  CTE Scan on qin qin_1  (cost=0.00..293.65
rows=5932 width=72) (actual time=0.016..1.046 rows=481 loops=1)
                           Filter: ((ibitmask < 0) OR
(cardinality(mat_arr) > 8))
                           Rows Removed by Filter: 10197
         ->  Sort  (cost=666.83..681.69 rows=5944 width=72) (actual
time=1.119..1.128 rows=417 loops=1)
               Sort Key: qou_1.curr_season, qou_1.curr_code COLLATE "C"
               Sort Method: quicksort  Memory: 68kB
               ->  CTE Scan on qou qou_1  (cost=0.00..294.22 rows=5944
width=72) (actual time=0.029..1.056 rows=424 loops=1)
                     Filter: ((ibitmask < 0) OR (cardinality(mat_arr) > 11))
                     Rows Removed by Filter: 10275
 Planning Time: 1.746 ms
 Execution Time: 13405.503 ms
(116 Zeilen)

This case really brought me to detect the problem!

The original query and data are not shown here, but the principle should
be clear from the execution plans.

I think the planner shouldn't change the row estimations on further
steps after left joins at all, and be a bit more conservative on inner
joins.
This may be related to the fact that this case has 2 join-conditions
(xx_season an xx_code).

Thanks for looking

Hans Buschmann

!! External Email: This email originated from outside of the
organization. Do not click links or open attachments unless you
recognize the sender.

--
Tomas Vondra
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

#8Jian Guo
gjian@vmware.com
In reply to: Tomas Vondra (#7)
1 attachment(s)
Re: Wrong rows estimations with joins of CTEs slows queries by more than factor 500

Hi hackers,

I found a new approach to fix this issue, which seems better, so I would like to post another version of the patch here. The origin patch made the assumption of the values of Vars from CTE must be unique, which could be very wrong. This patch examines variables for Vars inside CTE, which avoided the bad assumption, so the results could be much more accurate.

Regards,
Jian

________________________________
From: Tomas Vondra <tomas.vondra@enterprisedb.com>
Sent: Monday, August 14, 2023 20:58
To: Jian Guo <gjian@vmware.com>; Hans Buschmann <buschmann@nidsa.net>; pgsql-hackers@lists.postgresql.org <pgsql-hackers@lists.postgresql.org>
Subject: Re: Wrong rows estimations with joins of CTEs slows queries by more than factor 500

!! External Email

Hi,

I haven't looked at the patch, but please add the patch to the next
commit fest (2023-09), so that we don't lose track of it.

See https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcommitfest.postgresql.org%2F&amp;data=05%7C01%7Cgjian%40vmware.com%7C9d40e84af2c946f3517a08db9cc61ee2%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C0%7C0%7C638276146959658928%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=EUlMgo%2BU4Oi%2BWf0cS%2FKnTmhHzZrYzu26PzfxYnZIDFs%3D&amp;reserved=0&lt;https://commitfest.postgresql.org/&gt;

regards

Tomas

On 8/14/23 13:12, Jian Guo wrote:

Hi hackers,

I have written a patch to add stats info for Vars in CTEs. With this
patch, the join size estimation on the upper of CTE scans became more
accurate.

In the function |selfuncs.c:eqjoinsel| it uses the number of the
distinct values of the two join variables to estimate join size, and in
the function |selfuncs.c:get_variable_numdistinct| return a default
value |DEFAULT_NUM_DISTINCT| (200 in Postgres and 1000 in Greenplum),
with the default value, you can never expect a good plan.

Thanks if anyone could give a review.

Regards,
Jian

------------------------------------------------------------------------
*From:* Hans Buschmann <buschmann@nidsa.net>
*Sent:* Wednesday, February 8, 2023 21:55
*To:* pgsql-hackers@lists.postgresql.org
<pgsql-hackers@lists.postgresql.org>
*Subject:* Wrong rows estimations with joins of CTEs slows queries by
more than factor 500

!! External Email

During data refactoring of our Application I encountered $subject when
joining 4 CTEs with left join or inner join.

1. Background

PG 15.1 on Windows x64 (OS seems no to have no meening here)

I try to collect data from 4 (analyzed) tables (up,li,in,ou) by grouping
certain data (4 CTEs qup,qli,qin,qou)

The grouping of the data in the CTEs gives estimated row counts of about
1000 (1 tenth of the real value) This is OK for estimation.

These 4 CTEs are then used to combine the data by joining them.

2. Problem

The 4 CTEs are joined by left joins as shown below:

from qup
left join qli on (qli.curr_season=qup.curr_season and
qli.curr_code=qup.curr_code and qli.ibitmask>0 and
cardinality(qli.mat_arr) <=8)
left join qin on (qin.curr_season=qup.curr_season and
qin.curr_code=qup.curr_code and qin.ibitmask>0 and
cardinality(qin.mat_arr) <=8)
left join qou on (qou.curr_season=qup.curr_season and
qou.curr_code=qup.curr_code and qou.ibitmask>0 and
cardinality(qou.mat_arr) <=11)
where qup.ibitmask>0 and cardinality(qup.mat_arr) <=21

The plan first retrieves qup and qli, taking the estimated row counts of
1163 and 1147 respectively

BUT the result is then hashed and the row count is estimated as 33!

In a Left join the row count stays always the same as the one of left
table (here qup with 1163 rows)

The same algorithm which reduces the row estimation from 1163 to 33 is
used in the next step to give an estimation of 1 row.

This is totally wrong.

Here is the execution plan of the query:

(search the plan for rows=33)

QUERY PLAN
--------------------------------------------------------------------------------------------------------------------------------------------------
Append (cost=13673.81..17463.30 rows=5734 width=104) (actual
time=168.307..222.670 rows=9963 loops=1)
CTE qup
-> GroupAggregate (cost=5231.22..6303.78 rows=10320 width=80)
(actual time=35.466..68.131 rows=10735 loops=1)
Group Key: sa_upper.sup_season, sa_upper.sup_sa_code
-> Sort (cost=5231.22..5358.64 rows=50969 width=18) (actual
time=35.454..36.819 rows=50969 loops=1)
Sort Key: sa_upper.sup_season, sa_upper.sup_sa_code
COLLATE "C"
Sort Method: quicksort Memory: 4722kB
-> Hash Left Join (cost=41.71..1246.13 rows=50969
width=18) (actual time=0.148..10.687 rows=50969 loops=1)
Hash Cond: ((sa_upper.sup_mat_code)::text =
upper_target.up_mat_code)
-> Seq Scan on sa_upper (cost=0.00..884.69
rows=50969 width=16) (actual time=0.005..1.972 rows=50969 loops=1)
-> Hash (cost=35.53..35.53 rows=495 width=6)
(actual time=0.140..0.140 rows=495 loops=1)
Buckets: 1024 Batches: 1 Memory Usage: 27kB
-> Seq Scan on upper_target
(cost=0.00..35.53 rows=495 width=6) (actual time=0.007..0.103 rows=495
loops=1)
Filter: (id_up <= 495)
Rows Removed by Filter: 1467
CTE qli
-> GroupAggregate (cost=1097.31..1486.56 rows=10469 width=80)
(actual time=9.446..27.388 rows=10469 loops=1)
Group Key: sa_lining.sli_season, sa_lining.sli_sa_code
-> Sort (cost=1097.31..1126.74 rows=11774 width=18) (actual
time=9.440..9.811 rows=11774 loops=1)
Sort Key: sa_lining.sli_season, sa_lining.sli_sa_code
COLLATE "C"
Sort Method: quicksort Memory: 1120kB
-> Hash Left Join (cost=7.34..301.19 rows=11774
width=18) (actual time=0.045..2.438 rows=11774 loops=1)
Hash Cond: ((sa_lining.sli_mat_code)::text =
lining_target.li_mat_code)
-> Seq Scan on sa_lining (cost=0.00..204.74
rows=11774 width=16) (actual time=0.008..0.470 rows=11774 loops=1)
-> Hash (cost=5.86..5.86 rows=118 width=6)
(actual time=0.034..0.034 rows=119 loops=1)
Buckets: 1024 Batches: 1 Memory Usage: 13kB
-> Seq Scan on lining_target
(cost=0.00..5.86 rows=118 width=6) (actual time=0.008..0.024 rows=119
loops=1)
Filter: (id_li <= 119)
Rows Removed by Filter: 190
CTE qin
-> GroupAggregate (cost=1427.34..1880.73 rows=10678 width=80)
(actual time=11.424..31.508 rows=10678 loops=1)
Group Key: sa_insole.sin_season, sa_insole.sin_sa_code
-> Sort (cost=1427.34..1465.41 rows=15230 width=18) (actual
time=11.416..11.908 rows=15230 loops=1)
Sort Key: sa_insole.sin_season, sa_insole.sin_sa_code
COLLATE "C"
Sort Method: quicksort Memory: 1336kB
-> Hash Left Join (cost=10.49..369.26 rows=15230
width=18) (actual time=0.051..3.108 rows=15230 loops=1)
Hash Cond: ((sa_insole.sin_mat_code)::text =
insole_target.in_mat_code)
-> Seq Scan on sa_insole (cost=0.00..264.30
rows=15230 width=16) (actual time=0.006..0.606 rows=15230 loops=1)
-> Hash (cost=9.01..9.01 rows=118 width=6)
(actual time=0.042..0.043 rows=119 loops=1)
Buckets: 1024 Batches: 1 Memory Usage: 13kB
-> Seq Scan on insole_target
(cost=0.00..9.01 rows=118 width=6) (actual time=0.008..0.032 rows=119
loops=1)
Filter: (id_in <= 119)
Rows Removed by Filter: 362
CTE qou
-> GroupAggregate (cost=2366.22..2986.89 rows=10699 width=80)
(actual time=18.198..41.812 rows=10699 loops=1)
Group Key: sa_outsole.sou_season, sa_outsole.sou_sa_code
-> Sort (cost=2366.22..2428.14 rows=24768 width=18) (actual
time=18.187..18.967 rows=24768 loops=1)
Sort Key: sa_outsole.sou_season, sa_outsole.sou_sa_code
COLLATE "C"
Sort Method: quicksort Memory: 2317kB
-> Hash Left Join (cost=5.39..558.63 rows=24768
width=18) (actual time=0.046..5.132 rows=24768 loops=1)
Hash Cond: ((sa_outsole.sou_mat_code)::text =
outsole_target.ou_mat_code)
-> Seq Scan on sa_outsole (cost=0.00..430.68
rows=24768 width=16) (actual time=0.010..1.015 rows=24768 loops=1)
-> Hash (cost=5.03..5.03 rows=29 width=6)
(actual time=0.032..0.032 rows=29 loops=1)
Buckets: 1024 Batches: 1 Memory Usage: 10kB
-> Seq Scan on outsole_target
(cost=0.00..5.03 rows=29 width=6) (actual time=0.010..0.025 rows=29 loops=1)
Filter: (id_ou <= 29)
Rows Removed by Filter: 213
-> Hash Join (cost=1015.85..1319.50 rows=1 width=104) (actual
time=168.307..215.513 rows=8548 loops=1)
Hash Cond: ((qou.curr_season = qli.curr_season) AND
((qou.curr_code)::text = (qli.curr_code)::text))
Join Filter: ((((qup.ibitmask | qin.ibitmask) | qli.ibitmask) |
qou.ibitmask) IS NOT NULL)
-> CTE Scan on qou (cost=0.00..294.22 rows=1189 width=76)
(actual time=18.200..45.188 rows=10275 loops=1)
Filter: ((ibitmask > 0) AND (cardinality(mat_arr) <= 11))
Rows Removed by Filter: 424
-> Hash (cost=1015.83..1015.83 rows=1 width=228) (actual
time=150.094..150.095 rows=8845 loops=1)
Buckets: 16384 (originally 1024) Batches: 1 (originally
1) Memory Usage: 1899kB
-> Hash Join (cost=707.35..1015.83 rows=1 width=228)
(actual time=121.898..147.726 rows=8845 loops=1)
Hash Cond: ((qin.curr_season = qli.curr_season) AND
((qin.curr_code)::text = (qli.curr_code)::text))
-> CTE Scan on qin (cost=0.00..293.65 rows=1186
width=76) (actual time=11.425..34.674 rows=10197 loops=1)
Filter: ((ibitmask > 0) AND
(cardinality(mat_arr) <= 8))
Rows Removed by Filter: 481
-> Hash (cost=706.86..706.86 rows=33 width=152)
(actual time=110.470..110.470 rows=9007 loops=1)
Buckets: 16384 (originally 1024) Batches: 1
(originally 1) Memory Usage: 1473kB
-> Merge Join (cost=689.20..706.86 rows=33
width=152) (actual time=105.862..108.925 rows=9007 loops=1)
Merge Cond: ((qup.curr_season =
qli.curr_season) AND ((qup.curr_code)::text = (qli.curr_code)::text))
-> Sort (cost=342.09..344.96
rows=1147 width=76) (actual time=73.419..73.653 rows=9320 loops=1)
Sort Key: qup.curr_season,
qup.curr_code COLLATE "C"
Sort Method: quicksort Memory:
1391kB
-> CTE Scan on qup
(cost=0.00..283.80 rows=1147 width=76) (actual time=35.467..71.904
rows=9320 loops=1)
Filter: ((ibitmask > 0) AND
(cardinality(mat_arr) <= 21))
Rows Removed by Filter: 1415
-> Sort (cost=347.12..350.02
rows=1163 width=76) (actual time=32.440..32.697 rows=10289 loops=1)
Sort Key: qli.curr_season,
qli.curr_code COLLATE "C"
Sort Method: quicksort Memory:
1349kB
-> CTE Scan on qli
(cost=0.00..287.90 rows=1163 width=76) (actual time=9.447..30.666
rows=10289 loops=1)
Filter: ((ibitmask > 0) AND
(cardinality(mat_arr) <= 8))
Rows Removed by Filter: 180
-> Merge Left Join (cost=2625.49..3399.84 rows=5733 width=104)
(actual time=4.597..6.700 rows=1415 loops=1)
Merge Cond: ((qup_1.curr_season = qou_1.curr_season) AND
((qup_1.curr_code)::text = (qou_1.curr_code)::text))
-> Merge Left Join (cost=1958.66..2135.28 rows=5733
width=136) (actual time=3.427..3.863 rows=1415 loops=1)
Merge Cond: ((qup_1.curr_season = qin_1.curr_season) AND
((qup_1.curr_code)::text = (qin_1.curr_code)::text))
-> Merge Left Join (cost=1293.25..1388.21 rows=5733
width=104) (actual time=2.321..2.556 rows=1415 loops=1)
Merge Cond: ((qup_1.curr_season =
qli_1.curr_season) AND ((qup_1.curr_code)::text = (qli_1.curr_code)::text))
-> Sort (cost=641.68..656.02 rows=5733 width=72)
(actual time=1.286..1.324 rows=1415 loops=1)
Sort Key: qup_1.curr_season, qup_1.curr_code
COLLATE "C"
Sort Method: quicksort Memory: 204kB
-> CTE Scan on qup qup_1 (cost=0.00..283.80
rows=5733 width=72) (actual time=0.009..1.093 rows=1415 loops=1)
Filter: ((ibitmask < 0) OR
(cardinality(mat_arr) > 21))
Rows Removed by Filter: 9320
-> Sort (cost=651.57..666.11 rows=5816 width=72)
(actual time=1.033..1.038 rows=180 loops=1)
Sort Key: qli_1.curr_season, qli_1.curr_code
COLLATE "C"
Sort Method: quicksort Memory: 41kB
-> CTE Scan on qli qli_1 (cost=0.00..287.90
rows=5816 width=72) (actual time=0.055..1.007 rows=180 loops=1)
Filter: ((ibitmask < 0) OR
(cardinality(mat_arr) > 8))
Rows Removed by Filter: 10289
-> Sort (cost=665.41..680.24 rows=5932 width=72)
(actual time=1.104..1.117 rows=481 loops=1)
Sort Key: qin_1.curr_season, qin_1.curr_code
COLLATE "C"
Sort Method: quicksort Memory: 68kB
-> CTE Scan on qin qin_1 (cost=0.00..293.65
rows=5932 width=72) (actual time=0.016..1.038 rows=481 loops=1)
Filter: ((ibitmask < 0) OR
(cardinality(mat_arr) > 8))
Rows Removed by Filter: 10197
-> Sort (cost=666.83..681.69 rows=5944 width=72) (actual
time=1.163..1.174 rows=417 loops=1)
Sort Key: qou_1.curr_season, qou_1.curr_code COLLATE "C"
Sort Method: quicksort Memory: 68kB
-> CTE Scan on qou qou_1 (cost=0.00..294.22 rows=5944
width=72) (actual time=0.029..1.068 rows=424 loops=1)
Filter: ((ibitmask < 0) OR (cardinality(mat_arr) > 11))
Rows Removed by Filter: 10275
Planning Time: 2.297 ms
Execution Time: 224.759 ms
(118 Zeilen)

3. Slow query from wrong plan as result on similar case with inner join

When the 3 left joins above are changed to inner joins like:

from qup
join qli on (qli.curr_season=qup.curr_season and
qli.curr_code=qup.curr_code and qli.ibitmask>0 and
cardinality(qli.mat_arr) <=8)
join qin on (qin.curr_season=qup.curr_season and
qin.curr_code=qup.curr_code and qin.ibitmask>0 and
cardinality(qin.mat_arr) <=8)
join qou on (qou.curr_season=qup.curr_season and
qou.curr_code=qup.curr_code and qou.ibitmask>0 and
cardinality(qou.mat_arr) <=11)
where qup.ibitmask>0 and cardinality(qup.mat_arr) <=21

The same rows estimation takes place as with the left joins, but the
planner now decides to use a nested loop for the last join, which
results in a 500fold execution time:

QUERY PLAN
--------------------------------------------------------------------------------------------------------------------------------------------
Append (cost=13365.31..17472.18 rows=5734 width=104) (actual
time=139.037..13403.310 rows=9963 loops=1)
CTE qup
-> GroupAggregate (cost=5231.22..6303.78 rows=10320 width=80)
(actual time=35.399..67.102 rows=10735 loops=1)
Group Key: sa_upper.sup_season, sa_upper.sup_sa_code
-> Sort (cost=5231.22..5358.64 rows=50969 width=18) (actual
time=35.382..36.743 rows=50969 loops=1)
Sort Key: sa_upper.sup_season, sa_upper.sup_sa_code
COLLATE "C"
Sort Method: quicksort Memory: 4722kB
-> Hash Left Join (cost=41.71..1246.13 rows=50969
width=18) (actual time=0.157..10.715 rows=50969 loops=1)
Hash Cond: ((sa_upper.sup_mat_code)::text =
upper_target.up_mat_code)
-> Seq Scan on sa_upper (cost=0.00..884.69
rows=50969 width=16) (actual time=0.008..2.001 rows=50969 loops=1)
-> Hash (cost=35.53..35.53 rows=495 width=6)
(actual time=0.146..0.146 rows=495 loops=1)
Buckets: 1024 Batches: 1 Memory Usage: 27kB
-> Seq Scan on upper_target
(cost=0.00..35.53 rows=495 width=6) (actual time=0.006..0.105 rows=495
loops=1)
Filter: (id_up <= 495)
Rows Removed by Filter: 1467
CTE qli
-> GroupAggregate (cost=1097.31..1486.56 rows=10469 width=80)
(actual time=9.541..27.419 rows=10469 loops=1)
Group Key: sa_lining.sli_season, sa_lining.sli_sa_code
-> Sort (cost=1097.31..1126.74 rows=11774 width=18) (actual
time=9.534..9.908 rows=11774 loops=1)
Sort Key: sa_lining.sli_season, sa_lining.sli_sa_code
COLLATE "C"
Sort Method: quicksort Memory: 1120kB
-> Hash Left Join (cost=7.34..301.19 rows=11774
width=18) (actual time=0.049..2.451 rows=11774 loops=1)
Hash Cond: ((sa_lining.sli_mat_code)::text =
lining_target.li_mat_code)
-> Seq Scan on sa_lining (cost=0.00..204.74
rows=11774 width=16) (actual time=0.010..0.462 rows=11774 loops=1)
-> Hash (cost=5.86..5.86 rows=118 width=6)
(actual time=0.035..0.035 rows=119 loops=1)
Buckets: 1024 Batches: 1 Memory Usage: 13kB
-> Seq Scan on lining_target
(cost=0.00..5.86 rows=118 width=6) (actual time=0.008..0.025 rows=119
loops=1)
Filter: (id_li <= 119)
Rows Removed by Filter: 190
CTE qin
-> GroupAggregate (cost=1427.34..1880.73 rows=10678 width=80)
(actual time=11.649..30.910 rows=10678 loops=1)
Group Key: sa_insole.sin_season, sa_insole.sin_sa_code
-> Sort (cost=1427.34..1465.41 rows=15230 width=18) (actual
time=11.642..12.115 rows=15230 loops=1)
Sort Key: sa_insole.sin_season, sa_insole.sin_sa_code
COLLATE "C"
Sort Method: quicksort Memory: 1336kB
-> Hash Left Join (cost=10.49..369.26 rows=15230
width=18) (actual time=0.056..3.144 rows=15230 loops=1)
Hash Cond: ((sa_insole.sin_mat_code)::text =
insole_target.in_mat_code)
-> Seq Scan on sa_insole (cost=0.00..264.30
rows=15230 width=16) (actual time=0.008..0.594 rows=15230 loops=1)
-> Hash (cost=9.01..9.01 rows=118 width=6)
(actual time=0.045..0.046 rows=119 loops=1)
Buckets: 1024 Batches: 1 Memory Usage: 13kB
-> Seq Scan on insole_target
(cost=0.00..9.01 rows=118 width=6) (actual time=0.008..0.034 rows=119
loops=1)
Filter: (id_in <= 119)
Rows Removed by Filter: 362
CTE qou
-> GroupAggregate (cost=2366.22..2986.89 rows=10699 width=80)
(actual time=18.163..51.151 rows=10699 loops=1)
Group Key: sa_outsole.sou_season, sa_outsole.sou_sa_code
-> Sort (cost=2366.22..2428.14 rows=24768 width=18) (actual
time=18.150..20.000 rows=24768 loops=1)
Sort Key: sa_outsole.sou_season, sa_outsole.sou_sa_code
COLLATE "C"
Sort Method: quicksort Memory: 2317kB
-> Hash Left Join (cost=5.39..558.63 rows=24768
width=18) (actual time=0.036..5.106 rows=24768 loops=1)
Hash Cond: ((sa_outsole.sou_mat_code)::text =
outsole_target.ou_mat_code)
-> Seq Scan on sa_outsole (cost=0.00..430.68
rows=24768 width=16) (actual time=0.008..1.005 rows=24768 loops=1)
-> Hash (cost=5.03..5.03 rows=29 width=6)
(actual time=0.024..0.024 rows=29 loops=1)
Buckets: 1024 Batches: 1 Memory Usage: 10kB
-> Seq Scan on outsole_target
(cost=0.00..5.03 rows=29 width=6) (actual time=0.007..0.018 rows=29 loops=1)
Filter: (id_ou <= 29)
Rows Removed by Filter: 213
-> Nested Loop (cost=707.35..1328.37 rows=1 width=104) (actual
time=139.036..13395.820 rows=8548 loops=1)
Join Filter: ((qli.curr_season = qin.curr_season) AND
((qli.curr_code)::text = (qin.curr_code)::text))
Rows Removed by Join Filter: 88552397
-> Hash Join (cost=707.35..1016.45 rows=1 width=216) (actual
time=127.374..168.249 rows=8685 loops=1)
Hash Cond: ((qou.curr_season = qli.curr_season) AND
((qou.curr_code)::text = (qli.curr_code)::text))
-> CTE Scan on qou (cost=0.00..294.22 rows=1189
width=72) (actual time=18.165..54.968 rows=10275 loops=1)
Filter: ((ibitmask > 0) AND (cardinality(mat_arr)
<= 11))
Rows Removed by Filter: 424
-> Hash (cost=706.86..706.86 rows=33 width=144) (actual
time=109.205..109.207 rows=9007 loops=1)
Buckets: 16384 (originally 1024) Batches: 1
(originally 1) Memory Usage: 1369kB
-> Merge Join (cost=689.20..706.86 rows=33
width=144) (actual time=104.785..107.748 rows=9007 loops=1)
Merge Cond: ((qup.curr_season =
qli.curr_season) AND ((qup.curr_code)::text = (qli.curr_code)::text))
-> Sort (cost=342.09..344.96 rows=1147
width=72) (actual time=72.320..72.559 rows=9320 loops=1)
Sort Key: qup.curr_season,
qup.curr_code COLLATE "C"
Sort Method: quicksort Memory: 1357kB
-> CTE Scan on qup (cost=0.00..283.80
rows=1147 width=72) (actual time=35.401..70.834 rows=9320 loops=1)
Filter: ((ibitmask > 0) AND
(cardinality(mat_arr) <= 21))
Rows Removed by Filter: 1415
-> Sort (cost=347.12..350.02 rows=1163
width=72) (actual time=32.461..32.719 rows=10289 loops=1)
Sort Key: qli.curr_season,
qli.curr_code COLLATE "C"
Sort Method: quicksort Memory: 1269kB
-> CTE Scan on qli (cost=0.00..287.90
rows=1163 width=72) (actual time=9.543..30.696 rows=10289 loops=1)
Filter: ((ibitmask > 0) AND
(cardinality(mat_arr) <= 8))
Rows Removed by Filter: 180
-> CTE Scan on qin (cost=0.00..293.65 rows=1186 width=72)
(actual time=0.001..1.159 rows=10197 loops=8685)
Filter: ((ibitmask > 0) AND (cardinality(mat_arr) <= 8))
Rows Removed by Filter: 481
-> Merge Left Join (cost=2625.49..3399.84 rows=5733 width=104)
(actual time=4.606..6.733 rows=1415 loops=1)
Merge Cond: ((qup_1.curr_season = qou_1.curr_season) AND
((qup_1.curr_code)::text = (qou_1.curr_code)::text))
-> Merge Left Join (cost=1958.66..2135.28 rows=5733
width=136) (actual time=3.479..3.930 rows=1415 loops=1)
Merge Cond: ((qup_1.curr_season = qin_1.curr_season) AND
((qup_1.curr_code)::text = (qin_1.curr_code)::text))
-> Merge Left Join (cost=1293.25..1388.21 rows=5733
width=104) (actual time=2.368..2.610 rows=1415 loops=1)
Merge Cond: ((qup_1.curr_season =
qli_1.curr_season) AND ((qup_1.curr_code)::text = (qli_1.curr_code)::text))
-> Sort (cost=641.68..656.02 rows=5733 width=72)
(actual time=1.296..1.335 rows=1415 loops=1)
Sort Key: qup_1.curr_season, qup_1.curr_code
COLLATE "C"
Sort Method: quicksort Memory: 204kB
-> CTE Scan on qup qup_1 (cost=0.00..283.80
rows=5733 width=72) (actual time=0.010..1.119 rows=1415 loops=1)
Filter: ((ibitmask < 0) OR
(cardinality(mat_arr) > 21))
Rows Removed by Filter: 9320
-> Sort (cost=651.57..666.11 rows=5816 width=72)
(actual time=1.069..1.075 rows=180 loops=1)
Sort Key: qli_1.curr_season, qli_1.curr_code
COLLATE "C"
Sort Method: quicksort Memory: 41kB
-> CTE Scan on qli qli_1 (cost=0.00..287.90
rows=5816 width=72) (actual time=0.057..1.026 rows=180 loops=1)
Filter: ((ibitmask < 0) OR
(cardinality(mat_arr) > 8))
Rows Removed by Filter: 10289
-> Sort (cost=665.41..680.24 rows=5932 width=72)
(actual time=1.110..1.124 rows=481 loops=1)
Sort Key: qin_1.curr_season, qin_1.curr_code
COLLATE "C"
Sort Method: quicksort Memory: 68kB
-> CTE Scan on qin qin_1 (cost=0.00..293.65
rows=5932 width=72) (actual time=0.016..1.046 rows=481 loops=1)
Filter: ((ibitmask < 0) OR
(cardinality(mat_arr) > 8))
Rows Removed by Filter: 10197
-> Sort (cost=666.83..681.69 rows=5944 width=72) (actual
time=1.119..1.128 rows=417 loops=1)
Sort Key: qou_1.curr_season, qou_1.curr_code COLLATE "C"
Sort Method: quicksort Memory: 68kB
-> CTE Scan on qou qou_1 (cost=0.00..294.22 rows=5944
width=72) (actual time=0.029..1.056 rows=424 loops=1)
Filter: ((ibitmask < 0) OR (cardinality(mat_arr) > 11))
Rows Removed by Filter: 10275
Planning Time: 1.746 ms
Execution Time: 13405.503 ms
(116 Zeilen)

This case really brought me to detect the problem!

The original query and data are not shown here, but the principle should
be clear from the execution plans.

I think the planner shouldn't change the row estimations on further
steps after left joins at all, and be a bit more conservative on inner
joins.
This may be related to the fact that this case has 2 join-conditions
(xx_season an xx_code).

Thanks for looking

Hans Buschmann

!! External Email: This email originated from outside of the
organization. Do not click links or open attachments unless you
recognize the sender.

--
Tomas Vondra
EnterpriseDB: https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.enterprisedb.com%2F&amp;data=05%7C01%7Cgjian%40vmware.com%7C9d40e84af2c946f3517a08db9cc61ee2%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C0%7C0%7C638276146959658928%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=VzTmxC6ay28C8%2BaA3Dsi%2BDDWxGEgh9UVaPfc%2BMiL5Mo%3D&amp;reserved=0&lt;http://www.enterprisedb.com/&gt;
The Enterprise PostgreSQL Company

!! External Email: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender.

Attachments:

0001-Examine-simple-variable-for-Var-in-CTE.patchtext/x-patch; name=0001-Examine-simple-variable-for-Var-in-CTE.patchDownload
From 0ade8f4e9a0741fa4f1a6998abf2488c5b846aa7 Mon Sep 17 00:00:00 2001
From: Jian Guo <gjian@vmware.com>
Date: Mon, 21 Aug 2023 16:07:41 +0800
Subject: [PATCH] Examine simple variable for Var in CTE.

Signed-off-by: Jian Guo <gjian@vmware.com>
---
 src/backend/utils/adt/selfuncs.c | 37 +++++++++++++++++++++++++++++---
 1 file changed, 34 insertions(+), 3 deletions(-)

diff --git a/src/backend/utils/adt/selfuncs.c b/src/backend/utils/adt/selfuncs.c
index c4fcd0076e..bcf0fb4e16 100644
--- a/src/backend/utils/adt/selfuncs.c
+++ b/src/backend/utils/adt/selfuncs.c
@@ -5598,13 +5598,43 @@ examine_simple_variable(PlannerInfo *root, Var *var,
 			examine_simple_variable(rel->subroot, var, vardata);
 		}
 	}
+	else if (rte->rtekind == RTE_CTE && !rte->inh)
+	{
+		/*
+		 * Punt if it's a whole-row var rather than a plain column reference.
+		 */
+		if (var->varattno == InvalidAttrNumber)
+			return;
+		/*
+		 * OK, fetch RelOptInfo for subquery. 
+		 */
+		RelOptInfo *rel = find_base_rel(root, var->varno);
+		/* Can only handle a simple Var of subquery's query level */
+		if (var && IsA(var, Var) &&
+			var->varlevelsup == 0)
+		{
+			/*
+			 * OK, recurse into the subquery.  Note that the original setting
+			 * of vardata->isunique (which will surely be false) is left
+			 * unchanged in this situation.  That's what we want, since even
+			 * if the underlying column is unique, the subquery may have
+			 * joined to other tables in a way that creates duplicates.
+			 */
+			Index varnoSaved = var->varno;
+			/* Mock a fake index for CTE */
+			var->varno = 1;
+			if (rel->subroot)
+				examine_simple_variable(rel->subroot, var, vardata);
+			var->varno = varnoSaved;
+		}
+	}
 	else
 	{
 		/*
-		 * Otherwise, the Var comes from a FUNCTION, VALUES, or CTE RTE.  (We
+		 * Otherwise, the Var comes from a FUNCTION, VALUES.  (We
 		 * won't see RTE_JOIN here because join alias Vars have already been
 		 * flattened.)	There's not much we can do with function outputs, but
-		 * maybe someday try to be smarter about VALUES and/or CTEs.
+		 * maybe someday try to be smarter about VALUES.
 		 */
 	}
 }
@@ -5866,7 +5896,8 @@ get_variable_range(PlannerInfo *root, VariableStatData *vardata,
 	 * data.  Proceed only if the MCVs represent the whole table (to within
 	 * roundoff error).
 	 */
-	if (get_attstatsslot(&sslot, vardata->statsTuple,
+	bool has_mcv = (!vardata->rel || vardata->rel->rtekind != RTE_CTE);
+	if (has_mcv && get_attstatsslot(&sslot, vardata->statsTuple,
 						 STATISTIC_KIND_MCV, InvalidOid,
 						 have_data ? ATTSTATSSLOT_VALUES :
 						 (ATTSTATSSLOT_VALUES | ATTSTATSSLOT_NUMBERS)))
-- 
2.41.0

#9Tomas Vondra
tomas.vondra@enterprisedb.com
In reply to: Jian Guo (#8)
Re: Wrong rows estimations with joins of CTEs slows queries by more than factor 500

On 8/21/23 10:16, Jian Guo wrote:

Hi hackers,

I found a new approach to fix this issue, which seems better, so I would
like to post another version of the patch here. The origin patch made
the assumption of the values of Vars from CTE must be unique, which
could be very wrong. This patch examines variables for Vars inside CTE,
which avoided the bad assumption, so the results could be much more
accurate.

No problem with posting a reworked patch to the same thread, but I'll
repeat my suggestion to register this in the CF app [1]https://commitfest.postgresql.org. The benefit is
that people are more likely to notice the patch and also cfbot [2]http://cfbot.cputube.org/ will
run regression tests.

[1]: https://commitfest.postgresql.org
[2]: http://cfbot.cputube.org/

--
Tomas Vondra
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

#10Jian Guo
gjian@vmware.com
In reply to: Tomas Vondra (#9)
Re: Wrong rows estimations with joins of CTEs slows queries by more than factor 500

Sure, Tomas.

Here is the PG Commitfest link: https://commitfest.postgresql.org/44/4510/
________________________________
From: Tomas Vondra <tomas.vondra@enterprisedb.com>
Sent: Monday, August 21, 2023 18:56
To: Jian Guo <gjian@vmware.com>; Hans Buschmann <buschmann@nidsa.net>; pgsql-hackers@lists.postgresql.org <pgsql-hackers@lists.postgresql.org>
Cc: Zhenghua Lyu <zlyu@vmware.com>
Subject: Re: Wrong rows estimations with joins of CTEs slows queries by more than factor 500

!! External Email

On 8/21/23 10:16, Jian Guo wrote:

Hi hackers,

I found a new approach to fix this issue, which seems better, so I would
like to post another version of the patch here. The origin patch made
the assumption of the values of Vars from CTE must be unique, which
could be very wrong. This patch examines variables for Vars inside CTE,
which avoided the bad assumption, so the results could be much more
accurate.

No problem with posting a reworked patch to the same thread, but I'll
repeat my suggestion to register this in the CF app [1]https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcommitfest.postgresql.org%2F&amp;data=05%7C01%7Cgjian%40vmware.com%7C4562125966b248a1e18308dba2353d8f%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C0%7C0%7C638282121775872407%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=OmMo0lQtSvDFWu8VbI0ZorDpZ3BuxsmkTjagGfnryEc%3D&amp;reserved=0&lt;https://commitfest.postgresql.org/&gt;. The benefit is
that people are more likely to notice the patch and also cfbot [2]https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fcfbot.cputube.org%2F&amp;data=05%7C01%7Cgjian%40vmware.com%7C4562125966b248a1e18308dba2353d8f%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C0%7C0%7C638282121775872407%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=xTYDRybLm0AYyvRNqtN85fZWeUJREshIq7PYhz8bMgU%3D&amp;reserved=0&lt;http://cfbot.cputube.org/&gt; will
run regression tests.

[1]: https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcommitfest.postgresql.org%2F&amp;data=05%7C01%7Cgjian%40vmware.com%7C4562125966b248a1e18308dba2353d8f%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C0%7C0%7C638282121775872407%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=OmMo0lQtSvDFWu8VbI0ZorDpZ3BuxsmkTjagGfnryEc%3D&amp;reserved=0&lt;https://commitfest.postgresql.org/&gt;
[2]: https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fcfbot.cputube.org%2F&amp;data=05%7C01%7Cgjian%40vmware.com%7C4562125966b248a1e18308dba2353d8f%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C0%7C0%7C638282121775872407%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=xTYDRybLm0AYyvRNqtN85fZWeUJREshIq7PYhz8bMgU%3D&amp;reserved=0&lt;http://cfbot.cputube.org/&gt;

--
Tomas Vondra
EnterpriseDB: https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.enterprisedb.com%2F&amp;data=05%7C01%7Cgjian%40vmware.com%7C4562125966b248a1e18308dba2353d8f%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C0%7C0%7C638282121775872407%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=Zn4W8nPFmKxCLQ3XM555UlnM%2F9q1XLkJU5PRxT1VSig%3D&amp;reserved=0&lt;http://www.enterprisedb.com/&gt;
The Enterprise PostgreSQL Company

!! External Email: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender.

#11jian he
jian.universality@gmail.com
In reply to: Jian Guo (#10)
1 attachment(s)
Re: Wrong rows estimations with joins of CTEs slows queries by more than factor 500

On Tue, Aug 22, 2023 at 10:35 AM Jian Guo <gjian@vmware.com> wrote:

Sure, Tomas.

Here is the PG Commitfest link: https://commitfest.postgresql.org/44/4510/
________________________________

hi.
wondering around http://cfbot.cputube.org/
there is a compiler warning: https://cirrus-ci.com/task/6052087599988736

I slightly edited the code, making the compiler warning out.

I am not sure if the following duplicate comment from (rte->rtekind ==
RTE_SUBQUERY && !rte->inh) branch is correct.
/*
* OK, recurse into the subquery. Note that the original setting
* of vardata->isunique (which will surely be false) is left
* unchanged in this situation. That's what we want, since even
* if the underlying column is unique, the subquery may have
* joined to other tables in a way that creates duplicates.
*/

Index varnoSaved = var->varno;
here varnoSaved should be int?

image attached is the coverage report
if I understand coverage report correctly,
`
if (rel->subroot) examine_simple_variable(rel->subroot, var, vardata);
`
the above never actually executed?

Attachments:

src_backend_utils_adt_selfuncs.c.gcov.html.pngimage/png; name=src_backend_utils_adt_selfuncs.c.gcov.html.pngDownload
�PNG


IHDRz�n�W�sBIT|d�tEXtSoftwaregnome-screenshot��>%tEXtCreation Time2023-09-06T13:45:09 CST�3� IDATx���\�u�������L��`G�(�E�z��s`�#i����I��'�v�J[5���~�D��<e��Jl����,ve����~�6�R7Dw��� �h������A~2��~�u�k�~�����z_��z�_�����Fd�q�H7ADDDDDD�2�LvRK~��{��d��>i7^�V�������������������\	�5�
���:=���d+�SDDDDDDDDDDDDDDDDDDd��tDDDDDDDDd��A�-N�~V�����c�A�]s�A��"�����������������������������\�H�z���n���������������������[#��+�=EDDDDDDDDDDDDDDDDDDDDDDDDDDDF��H7@D|����=�M�;7�>�M[�+F�>����������������%wN���n�����������M=EDDDDDDDDDDDDDDDDDDDDDDDDDDDF�=EDDDDDDDDDDDDDDDDDDDDDDDDDDDF�=EDDDDDDDDDDDDDDDDDDDDDDDDDDDF�=EDDDDDDDDDDDDDDDDDDDDDDDDDDDF�=EDDDDDDDDDDDDDDDDDDDDDDDDDDDF��H7@DDDDDDDD.�
�4�0��*�c6]�&��������������������
J���_Q�����	��k��������A��������]��s��dS��W����	���Am���k����Y��^����a������6���h�+f�@���<��*W3�
M������rxO""�B3�~������fI`���L�4�����|��w'L��x��L���TR�7����R]SG���|�-�����<v���c��e�k�8�������H�H�J��R��&�+r�'0�I�XL���h�����v/�������42wey9
T�^��E�����'.����%�rz�"�UK3�M�{�@l��71R
�8Z�a��������02~B���M}6kR38��F��o�����6������x����j�����������d�?�Q�A���h�0nODDDDDDDDDD���������sM��%�%�gu1{��&�=�{'8x����=�|m�n�c
����}�Nc���n����el����]�mh�u�q��,�������\D���~�_U^�������}7���B�4�\_O}[_3Xi���d'�������?��wk�I"2NO�p��R�������S�4����LXd,qw-$19���ah���]����e�����La�8�K��9��p�t=���K�Sc���w�Gp?A}���y>���OV��@��V_�LDD�����X_��oK_����b9J2X�v#������8��O2�8���J6Ug��A��<E�A��u4v7LW�zI�N�_T��>Db�<�I�6�����m�JK)�^�q������b����?1����9%���7S��j
N����l�?b����%Yl�W3�u["�<u�(L�l���.�����C%T�m���0aSo'���'~��]�9�3�'�%����CQY)���LVl�������3g^���k=����;(8XH�Y�s�y����g���$�[H���Q��My��_������\��r����PO���f�zt���7���M�������1��w5P�����������������������O�l�����n�u�uuw��A��j�t����2�����/��q��s���
�fsp��1��M�� c�/x���^������/�+c������(��0X���Y����o�o�/R�����������7�\Q�����SS�KMY.���`���<���>�rR�e	�vWz�<��I#l��k*e�����*p��1����c���gvs6��9��y��9�Q6yg���X����DO��M�&���1g+��I���I'7�fE���g�}c5yg;�������c#:���F�Nu&���}h!��#�&�
��-��=y�������h�D�\�Q��M� i�M�K�C?b��	�9�RU%��+�$�P�C&��� �t��2����pT%���^z!�������RO����|�O�����g���2C�]}&>��$����W���jw�8[A��
�J ���b^3G�S���Om����j�����\�������K��������}g������m�`�?,c�������;�Q���}�����""""""""""2���D�K����v���)�����>���{x�^l�����=�w�~�m�o�=�� #�G��������<�G��~�"r%����'�������\�<@��g"24.�E
:*������l;�>������i��i�~^9���8�CF�������B��@������^wR��:����cf������i�e!�����8��?�r�8xg���9(�)��G�I����}l+p�-	\3O��W��"���E�{�����J���9N��g}>��xz�f�L�]��T�Le���}&�������RjYF����JT��������a�J��TV�����c2���1n�"������^��7�xp�"}8`�������������.U���@��Ym�
����q��^�<-��m��N�C��B�MNW��q�	�a��m�����I�WO��G�x��IL���/������6���j����������ah���8�r��i%2L����UD�"�X(2�����������8�@�&'��j��Qt���������-aM�����X��U���o#U��F���|6���i��@l|<Q���g�����g�Su����
[�X_+�&�	��6�6Q[o�\�����.fE"""�c��	�tU��_��:@��Oa��������1L��x��P��g��F���Q�ID����B;��0:�����@hDA=�����i8[}�����2m�����S�U���	�4����&�6*#Z	�2�s��k�`�?���^���9�:��h���f�V��O�1���N�������>9N_TS{����|�U�QAS��P��`[�!���N\j&��'593N��������;(8xi�a�Vc�ga�V���Bb���Y������R��r�����L�2a�4�N�;>���.d%���D�Y�Qp2�y+y%E��""""""""""c���.�w
)���|�j���y�E�$����;^���;�������?�����!��{�\��!���a�[�7�b
��7{3������������y�C^_�+�0|�����9���
�_��#_\��DDDD��0nbI���?�q���~�����������`��5'U;W�g~1��P��f��d��W�u&�c��^T��z�^X�c��-����Y�����[�J�s�Rc�g��h��G��V��G�+��`K+��.#��DD�r�T1�|j7p��*CbIX��1��	��fWW(+���z������7~���n����ng�������L��lvn�"��a�39��>���iy,L���'i�m�����3�*�����;�����y������1�`�z(��=�<�f�d]V&q{Q;������vn�`WY�5�3'������d�3g}1���?+��b#�I\�������V�r(n�^_X�{d�M�x��h'<�Nx�B-��h���DN#s_�H�b�����weq�@3�L�O7r4IU=EDDDDDDDDD��o�t��&�}�?����W&�������'����o�b��(&���:�|�3C"�����3����i��O��k�_r��7�<�E8r����-����������:��`����uO��o����ye'��^k)e����o��-���;	r|2�K=����l#���w������f]J?I������E3.r��i���J�+j���8/b6$""2������+�������l�99����j��	�O��\DD�Sa�+Y���������������P�.W�d?��*�=��L^����$OO�[����?I&t��yEi����!�y�BR���g�:����m��De��K,)i��
�&rj��	O�'?@P�}����[���""""""""""2�(����x����?aw���;���z���^�a:�VxB?\����%���������y��_����,����f�,=8kw�'����/���?��<�Bk���xQ+�&/+�r@1?�@R���U�)�Y65]��b����#[��l�OuO�f<D���k������juzL[|y��Rk)d����I[�B���],�<�I�1������!�$h���{�
} �\~���p�_
 <)�pT��NN����C����:��=�o'����""��	�������u���EDDDDDDDDDd$����K����}���J�V�~b6w���V>���n�������X��7���v/x���d��A�����m��z�4V?���S-%����T��������}HQ�B���BY��]il�Z��E��6���%"2:�FD3�TH�;������v�G�Rc�j�w�:n�u%����vU��OA�a�)i���HW�j�x��]�	S�I4�m1p5Ss���S�445�
�mv��Eu[D���GW=5�����}���?[`��#�O� ����8�9ZQA��j[���k���G�5����2f9�vP��9@��s/����}���OS��L����9i<Y���Jj�5��
f[0�'�Ld�LB/���B��
�G����k-�T}RH��:N������Ld�LB�N��Z�+8��a��R�W-�9�����Kx�����c%�WV���V�&F�@� +���8UH�'�]������H |�>�+Z�$�x��������H��S}���w�q^	{p-���d�0����\=�����e\ ��/�RGc0���B�?<|Fux8��SS^����4:��@�=��������K�,;{vW�z(��S�X4���a�D������o
#�N�������F�Q�;�6�rg�$~V0��cy��9����e�00w�����o8x��;Md��@���������bz UC.���Kc;`� e��!%�7�|���

V"�/&r����'���{z�$��
�""�g���<{?(����<������%}I2a�5��L>���boA)�-��h	&���g/f���A'I5�fg�V�J*p�z��6e.Ii�,N��d	���y3���T�2G�����
�{���A���.���w��X�)��WjY7k��~��v'm�������T��&W;�������vjK6����}Zo���l��Y��L�#��Jv����������
�����~�f���_L����RI��a���8z���X������O�$n�H'�9)#��������"��^�~Z%o��A�1��m/��-�L����[2�������o'f��H_��Hc�H����j���8i5����^�������I�y1�L���4S�����dSt���*&+�1i,J_K���-�[�����r��l�-�E/�#}F_�m=yKo���>���&.c[�"}��c���d�$����@�^�B������I���A��K6�j_�S����|�Jb|�h cPaS�p��Ju���4\��M�����yZ��g��Q��v1�	��:���'�(>��0'���E`�����*�����$����#h����d��JQ���e�{�:k���o���w�XFP{=�?]����P���r���Y�:O��������<Y��+��w�;���*(8P���Fz�C��=Rs�����kc������`}}�O�`����2��>��[C��s|����x���d/7}��x���A�%|Y�N���"""�-'�?J��R�Wo~2��
o�����q��#���F���B�)~e5��9���7����799R^��e����#�R�o7�Cg?���4Y�K{)o?�������_���#E#��\�T�YB���><;�6TP�m������I�:�A��j<��o�j��tT�,����
��=��x�W5�_N�����$Oyr��g��B�d���J"GS�g��V�IL=��|�~���=	���Q��O��j�y�L�|X�����_\m������z��.h��\�~1�;��L�������1�<��>8m��gPtf�u��9���SE������v�72\�*(���l5�w$3'y1��>h.�g���39d�/a��~�cK5��W�m�\����7����sk��n�o�>�mk��vI}���;�-�����)J�I�S	�P9�IMn*+��R���8�G�M���ry������79���������~�-�z��~����l���p��i���x��~���T��f�'dl[<�7#���c����E�(>�1�eET��%V������Y	��r;�p���RR��mnP�=D��S��Lq�j��%LI�Rx�]����Ik(ui�����6���]O�c��~��M���5��uU���=���;�m�DY��	�N��S�X��J�D.�D�6��s��/�8���N�19��E���~_���	~�zG�����������k�d��A���s�0�J9.��^��X��3���I\<�	L����;B�'��
������#]�HDDdTpR��
J��,`�����)����wW��J���k;J2����cb|2�O�Z���J��0��Kd�`JW3�g�;*���:1�p���+���B���9��@%�&�V�r����)��F����#Xv�����V��Fc�1�4�>L�����W���Kwb��{��q�����ik�l��xl2Y	����!\�o���G}%U'�����/W%{���z�Z�~;'@KgOTP����tR[��+ {�J�F�}����D��!$wz�~z��W�4���Z��U�a�m	�
�����I�=���W��f?+���{=>��?�n/�>���z���h�n�c3;;~�����G{�������-��8�=����rx������"��_���/d���$yv~~�Wa��b�����wh�b��������9d,^����6;����C���������)�^V�k���er����X�B~��f|����#�\��b��7���T���j�.agW���I�Zim����g�2GI��H�����[�;��$OSa����	V\M�T����gr��q3Qf����\����<.��|�I�'�=�mP�L�����m�R'���L�t��U�z`0��0q)�Y����~h=��M�y%e$��)���K����g�"��b��S���;��@�$;A���K%5��m:�����]�X=cp������S�L�"��h��)oXI�$��qy%z�99����X~��z�=.���H�K��p����tM�y�V������?����
����s[��f������p/n���i�*B�����k��D���_7q� d���*��:�1u}�l�����9#\����M%� ��dR�Q=���/l�� ��l`�P�����=�=i�izW����-������J�DK���%~�bR��q2N�'9|x�������m9�a�����=�<OZ��'�3�����x;6�bWg���������\6
*��S�u�!��J��L�=s���UOU���� �����f�_\�&c���K2IOM&�ct'�E��BVW�GIo$��d��H�{���x�������t�����~G��Y��j������� f�U*1�[	�����r���NV��������DED��;i<]���\��������,���.X���O]GF��7`I`y���q��H�3�A�Aw,#���$����o(%o�*6���vU���������3"�V"�_K����*=��*)�������L���?o8�|~��7�`�����v�B<�����'tT�k���h!%�v����W�z����g���,���/���pm����R���I���	�<�����=�\���Y�K��P��8T����;�z��I�sR�����<���|�{,�����`��~AR���+�v���< IDAT�}��e��U����8�������'�3�����r��z�P%�IU�F��������6��q`%,1���,#&��J��a	��*i�4�r������p�rj��<�iu4�+���%�pW��J���xe��hU���Jj�h�
+�7E�����/K�������R��9����C���)���+�)Z�Q�����W� /��F��9c�������M�d��2���-,���3HS?ZOl�_���b'�X�q=���d���P�����?���i�j8\��~�	��C��]���'I�""""""""""2�]^���q��S���|G>*��Gel�����cI��7��k
OL6��W�!������������(�����Of��~�Z1�����_�s`#�\{
=�ok��&��g��q6����l��o��"����2��K�����5Q\��""""""����8�Dq5�X_M��)x?�����E[4��^'��`$'G�X�w�����,�Ee��:�C���x�)��d���\��j��P�����B�o�N�T_�8�x�.j��Q�c�/�4������S0qO�����m��|k4������,�?ZDf�/s��aEe�;-SW���J"�
������e,>UJ���7�8���w+��n�f���}�����[	�_��d|��@Gu���}�)
���9^Y�=i� ����
8�����	�S�����MLV���$~�L�ZIyn	#W���]YY�����{�W��z�f;~&I����	�c�k���r��F!�kG��y����������R�����O�)c����Osx����`'&q1�H#��`���%���4�j
 2�=^z2��I��@;�������%9}����������!�sj�o�E���,����${JK�n���W�w�R��q��^*UOLf���>���X{3�&+a����v.�6OI&}s_��fO����B�����9�c3Eol����#h�f^}9�k��.�g����Ok��5�g�����V"�:D�c����B6%�f���7�`����v�g9Z9ne�����N����kP_����h���d��?����:N�5�`%t�����c�3�������k��CY<�5��U�[��+��������^9
����FMx�45�0���u��y=�A[	�]I�&'��28��?m-��Mi$y��������"0S��o�L��J�=�*�""""""""""rI|k�0���V?���}5��m|~���y�~}�����}&yzp}��M����|��l�_~���������|�����	���	K��;U�m�a�����_���O���C�*�~��X"K�|7"""""4�. �;��������Sf���FC����[�X�o�fy�����6�����S)�V��rBS=
�n��qV��=��7�H���q2�������Vz�=��0V�K 1�	�""��O�(j����:��H��b� e�Zb:���)����al�W�x�j�1?4vn�I�=���$|�(�J���vW�L����G��Ap2O?��;9�QH^^�w
����3jN�;S&
��M�����^$����II�����agyw�y�J���#��������zK�{�����JL��y�L�����}����o���@h�mG5�{2���)���v�S��v��q�@��;y���</h������4\v�������3I��G���-6��)��p[+w��|(}�f�_����i�������$�N��x�����'��AC�G{=G��s>ix����6�������%��g21X�\.��X�vKw���1�f���L��G��x_���b��y"������q*S �l�o�^�1��ti������"��j�N�����`s_Jc�j����{��n��2^+��������~�?<2F�?<��7��I�����������0U����u��A���7|�kOU2>�+�e��i����������f���{s��Y��4�]�c�����"��G�K�l��������/�{���6��m{�O����L�?���-��o�z����_�����J]�m����|��e<����������GX��7t7���z<��/\!/|O�����=>��%����""""2����������o�4}����y!�*�����2Y���R��3`��V^z�D�o'.�-^�E-�����O�����K�K�qP��B��?���E���
���f-T ���W>{��HY��]����H��}�o��C����Rp5�����:���O�C���d���m��I0$;U��\j|�:���WSk8�B�/������L�����/4S��~w�`�[�����q3E������Oa���2+�3�x$�������I�;f��'��s��u/��M��� �P���7���_p�(Q�o�G?7t�ZM�fI+1,$�s_�WS\Tq���������0��yj�;v2g�}%���[	�1�1p�L��1��_����6k1�U�L&�n
DsYik��(���\�9���f��'�H�����A��g�e%���:r���8�9����k��������������~K�-3	����W��'K�?��T��'X��F������3	��.�mB�H1[z����j�*:�?<�F�?<LvR�c9�vCf3��wP�u��+����l�s��`""""""""""2:�
<��f	���)<?�k{}7�`a������ cw_v&I��2�����cZ������������1y���}5�������{��3�f�|�m�������+~��o88�^f������G����;��_{�������9�
�h������
��]u�
��>��=�@^�����"""=XIH���y�2S�#�x��l>o���h��I_�Fd�w���~���AK�sY���IF�h���-�wog&�l�G������&��*���2X�4�+������Y���%������uL��'���7��$�z�(���@�
����)?�=i�y�D�a���v����5�a�|�$i�V'�6tU�-���}fw����6���c���{z�nK,1���lGw��
�6fNr��z�����`��)>��������i-���!C�B�\g{?HPL<vS!U��T����>o�����I^KL�Z�>SH�/wS�o�g���j��eq4/�MS����b���	��l:g���XQO��C?�N����'yL�IT0T���l8VB-3�d�^OQ�<2vwW5O_��om&n,�b�u����a������pA��z����$+Q�	^\{X����mw����tC2�����"
�yL7���[��z��b��o�W��>�<o�������O.$���$�N[�$-+�1��v�k����-�X	����Y�p��i�U6�syi���\�ge�����8P�11����>&����g�t
lf�����L��'H[����h{%{~�8Q�w2��*�gr��N_��0��\I�(�X�`��s��?`x�u�?<z\������IL���/B'�
�o'��&`��������	!xtjFG�NDDDDDDDDDD�5�!NN��qof���/f�u��}����X�:���~`�%z�h�����#���/���9xh7���_���l?0�Y�/����25C�����T�q�L�Y��c�}��V���q���g�f��#x)�����m.��Z���;��U���c(;�;���$m,&�V�5s�pR���y����;W�y�(��6�bvv����uy���@���%#����4�F�"��-�Gd���=��������p�<��������j�w>Jz�/X��{��2@��l6����M���`I^��\4S��������6#����JiW O�/wP��y�	C�r�{�����c�_LL���"���c�i0$o�o�T a�D;6�J���=S�`��3	������Y����'�7u��{���������nL�����!�;��U�����!6KF��f��vWS����xb�B���R�e��3�L��D;��"j�T�J�����0OJ �����Lm�.���f��Bj
U'���B>{�H����5���`bbGY`o\���4�s�g9��MvBo����u�����B��Wm��v�����"'��������d����	���|�@�1���������1$���L���s�yZ4a��k�l/F�2���`"���W��c� ~���;��0��Fz�m�;/��p���j�7���������1���g��9]�l������Q����,/�cCI�1�Q���-�l{�����������fzI��%��W�k�j�;�]'�������\|��m�	�9��vf�	��+(���c�Kai�+��l�����?�
��.��G�a��~�����j�.� ��>��y�l�����M���h��""""""""""��1��98V�\q?�����#���"��SlH���Q���\���������n�_w3�=0��^�,���`�)\�{����U=�m��D�-�=�����y������k%m��w��������x��
��{�V�������@\-�4��F��GC}���������cY�����A<�kw�X?���5
b��-�_>�l���}�����+B�Y	�^��yb��Vo�@��\�������q��|6<�����1��������A�;��<}%����#��P��4R��M������uy^]H��L��\LC����1T���y�%^D�JU{������l�^�2(��������/����R�O���h����J��=��S��K��x�"��~���O	\�l{5g�����>���2o����W��/����i��:=�sY��Z��6-zp�
GH�����&���w_�z�S;@���MM4��������4m�2~RA>�����H#}F�-���`��-�?f8.�}3��~7~����#��j��gp��e����3V����x��Dq���9�yN�l	%G���5�D�K��8o����.H����>�a�
^��;�&8���rpTR��_������'Y���Iyh��Mx���g�I�hH���1��8)�~����al	��'+	���L�d�N�C��w�tG*�b�Y{�9�bx�f������(������)�9�^'������e�I�4�M���7c���KB���;d�2��%]�Q���=i��Q����&�k��ys��yo�}�.}������8��?w��
����������������
K��&���)l8|�����NQ�v3�.�~�"�z��_���������z���	k_����f�zl'����|���t�c����_��<E��c
w�W�_8�6.|��{iLM�_=�~�~D=���a^�
���x����8��[fV�s3/{�'"���d���f��8�;�^�����s�yea����b[�{^��������w��Q�]�Dz<�@��V���GSW�+�0�"����-���6Es��3��q�����Ys`#o�*[G�6�����Y~r����NO��d!�;_��	�N v�C�OJ���G��<��j�wfQ~�Mmwz�%c_��O?al�%lh�<����m�����tz^��J���k���gd�ChS���)��������A��)��c�rUS=
����J��Vz���<Fz����LMo����=�'j�N�<���`�ir]�a��D?��-�)c�%�����4��Z���3��������OM�^O��RY��IvV�������H&j���H5Fp��w_�����?f���/d��ET=���p��d����S\���k�����)��Kc��"����cAS�����TCB��l�����6Cu?S��T������NR�b7<�,�?����?<\L�&����;��z�<�q�JL�����,'���i��&N���9��^m��~)d��}~d��t]�������2���=G��4��q}�4���ea�W��ha�r���+��:������q��!�Q|�6�~RR#�`x��=E��63���=�65F��J�]�H��gCy6E����d����/��l���w�E��DD�,������=J�;���hg��g��#�m��t����c��Z��l`%�fo��c�e��B
������6~�CIC��9f!s�z5"">��J������#�M����wg����(?��u������T�f����?��Ew�����L�y�q��jK.�0~�V��1P�hm���k�r�8N�S�����SU�K�M���9�*T��0��;�.������L�i�����g�����x"7���
���3��:�D��JJ��a���c$[�\�n�K��Y�I���	�I���y��X^L�,o��K0��N�no���#�/3�R����d'nvB��Hm�������gWt������Of�u��9��ES�9�2>�#��i��t�����qub�	�1?�I�q�������a�h����Z;n�U����G�a����9i���3�~��������������������!�����^=!8��1��h�zo���������6�l��H�:�s�p�:���6���v�|i���<��<mM�8�� �ZS���������G�*���������Q�����o{�F���f,c����i-HeoQe�Cn���_������u�Ox�V0Oy��w��O �����_��DD���H�[Mq�{�vW�e�,��#H������G+�������~W���������]�R)�<���yp�J"��e�C2�L�������N�/&��������<��9o��Dd�Y�x��������m��Q2��)�����yh5����r���9z�������g���>���5�L�;x�b�����LR�ZH�E_�X�O��eeT�L���f�c����n���M�d�w���;z��5UP�/����(>V�k��y�L��3��E�L���p����X=�d���H��^g��g'jP����������%������?��G�j��i,��E\|{�(����g��3��:��s����:p����7�z����^��U�)>��R�e���W��6��#�v�Z2�� �������m^EQ�N��F����t3a���5����*��#��+V���:�l~v�n�kN+�Ol'�����P�=.���dd����h�9�I���������5��S��^O����l��Y�O�YaL(];�pCB��luW��S��p
2L�=�����+�Y��Q�R��e�M�}����kW���[�~=�Y��Y����P������e=�������a�L6u'zr���-pg%�:�i����!�L�T��U'�U������o?�D���5\����]���\R���9����[��g�i��	 l�
*��N��X
�W
�ImY���w]��TwO�;��O �8�_������,�����o��D��9����K�lUG��f��@+��A�"��e�0���b
 l�B�f,t����d	�E�`�����1��d�����.�#?��q@� vbR�?�����a�����z���j�(a4�[�E$������Vh�Nv�z�O3Y�
e��f��vQ�w�����2�����HJ^L�������8��g��[J�DI	V���[�I�H������Q�t5.�f����SL��WRrA`G��A��9�x�@���y'=^����
��i��������O
)��s��b�{��+FAIX���
�6�������{j�� =<��>5J��_�V����7y�2�����������hy~G=Jq���[S�vk1�g@{%G*��SQ�����u'�b������JL���F��R'G>9�n�������@�����?��=��m��t�����\�������������+�������������Xse&z����
&WqmI��N��d?8�Ym�+'�6��s-����������k���s|�Xp���8]u�z�6,�C�ve~�""���Eb����:*�t��Zz���0E0e�N����9���U-�R��?���s<���Z��("2*L�13����:j�����2X	�����	����(����?-�
�n�$��S�X4��Ep�� IDATM!L��x>���J���m��&'��-u46�G�M��m���&�mp���:`����	�������2��}�T5�@o��@�����Ld���p��P8��o�����.E@�)���<�^l��H-!��:ZK�~����o&n�e�S0�!V������z�;F5�uTv�+���K���8��g_�'���> Ic�D���vfw��Z+�(w,c��rLM����:�����Ii�[[D��������]k'��;�?�CQ��b�s���s!cEG'����,�<�|&G��	��:��J(�,����LtS��u	�U�f�6�>�PG���Whxi��w�:X&����T�1��L	t��Sc����L����o
%j���=����j��d���6'��-��/���j���`�&�~��������vW������k/�������o�m����H��8��q�������k������
��
�����3�"��+���i�kuTr����*��Ndltw5-��^�����|���M�g��.�����u�i+�oD���|�����6�I�?WUQDdT��fl�Rw����O���K�u+f����7|�[%��b���}�������Ux\�?��)��>���t�a�u�2Q��W,SSn
����O[%UdL&z��_2-�p��tL6V�R��@�X� �PA����}���{�o�X�	�_D���jE����4��>K4��Y�_�>��)��9�1+�Ol'�<�m�v����6<�����
zv������^���p��:������g�4���������
�G�I �3����
� �G���e��o!����������$�RUO_0����q������THaQ3s�.�AVF��	����*9r��E����_g��
V���X�l/=k��+�+9:l�bb:��L�	����������K���nm)ik	��>�yV%�C�9f!s��W���p����e���g�8+a��u.��D�6~x���U0����U��z����������q_�����C��q;S'�� ���Y���=��������8��8&������_b)�osf���7��_|��l�A�)V��6�;=�l���a�E
f%"""cW��R>;g�>x�S���QA�"^i����`b����K�wp2�7'n�'�x���:�m	,��qJ��H �T��sRUVH�cx�s����6�	�ipA������cr2�3������C�4���~��FD�?r���g��3���h7�O%w�~��&��Ir���z��9l���#s���)NZ�I6
�5���Jwe�fJ���H\�@�+����"�{��}������5rT1�1
�
J1x�S�V�Q�~�H�h�z�M��h���w'jm�&i���Sox{�VwI�$hDI�A�p���`�������aAt9<����3�y�,������Z������[$�kj���j������TR}w�+J����Z�����${��=V�j��]����?e�B5�	^��44z�F��V�&��$�6��I7�W/�tU�
:i@D���(��#M){�4�A
Tl=x�kRB�N��C��g��5S��k�7�uu{��Zo�}�3�DF��FG��ge$7���]b�����;F�pMx��&��Q��E�2V�)K*�z&-���t�l����A��!�|�M�����s��)����N�{�C������vm�����\#�U��Wi�?��c��q.�,��?�����������[���=�#x9J��|qh?|�f��k����k����
����uz`\����Z��p�dW^NvE(��E�k��������5G�-J������u�v
O
\�%�i���9*�m g�6�8U��f���Ut���gPO���!���a�:R����dh���i��G5�[m�������(�4�����4cSa���$]��P�s
3Z���n����h
0<I������D����mP�1���>u��P���I*5����x�h�7q^K���h�/U������[�����o�v�>�Sf�]:���������"���G#W�`�n����W
a���k����)�A��n��F�S�(u���n��/����OC��.��S�?��/\�E�&���Z�6/[Q�h:.��������c�����d�N��m�7����p^Z����w�����v�Av��\����
6���?���X���j��n�����xF}
o���G�S�kR��m��jY�U���5��`����M����1�����a���zl���cv��o���5����h�!�W���~�����o�������>�>w�U���HC���G����%���.�v�0k�&<v�w�N�i��F������2+�;���#q>|�q>�]�T�1���w����r�k�AO������)V��d��W����u��a���f����A���4���:�v���m��W�T�q��e�����t
��{DS�u8������n����e��}7�gz+������+e� �}?I'k>���B�l�� �R������S�
_a����Q��+�D�L����:Z�v�����u�����q��Q�qs�i[���0��:<�����3��/_Q���e�:���J�K���M'�������<�W�H��W���j��:o�����n��7�[wk����i�^
��K�p��2^�
7�n��Dm:Q���K����T���������Fj����_��d��[�C�k���}����������Bi�l������!���zg�m����a���Z���'hd��zv�ld��������k��;5<���(Z���|�}���vk���+?8�u�J�6&z����su�����
xV##
�n���%�B�+�t`Q#����4�1������k�g��q��>s-{Z	I��=����P/���:�>�4�(�g�Ft-O{�=���\8?������y����A�>��W�1�
4<$�D�KL������zjhD�s�VA0jX-]G�������[1��������������5����� MY�VLz��>�W�8��0����s����Z�2C��5xh��DtQXO�B�v�iWAV�v�w�Vm�U�1�i����i�w-Cy�(nZ��������i����r�\�'���&oG�RW���st����??�X�j`��iOj�������M��1S��o����Tr$C����\N�<z�X��=k��n�Z��wC���!@��
W�O�R����p���������]J���6��T����V�����m�8.A�6���Q����T�^��
�^�#B���������;~�49&�N71���������x
�R�}�������V��g���pG����[g34mJ��t����]N$+�����+IG�����p]��v���4j�B�U~S���z{� ��r�����"I&�:��}
�{����������(E>=NC�<�>�Uw�)=�^��Lm7�1�Rw����X/�O��A���Z��eM���q�
��b%�M���(e�}�/Y��f���P�@hZEh�� �[[��6Y���z����yE<��^I:P�<(My^/�\����������>P��]�p���)m�B��N��:�v�&�����q�;����������$���N����34��w�~Z����5v�"{7��[���C�������l�{�i]���F�PP��-!��6hV���iL�hm��~]�1W�F�k�	;4�"(oT�����?O��f�T��6��w�B���[���G�|���cK��4R�s�T��v������)������%�U���U7������'�m�gh�Z|E�[���,�>lM��5��r�F�^x5��}X�����1n���5�bV��W)���������y�;o����4�����-���y:z I{����e�����5����)�&��+v���y�VO��_$����n�>��Q������K���-�*�����S���+1[���W���Kk��W�����*��M{~�"o��b���u���w������ky��p�"�.����a�z�|�
-�|��p8E'o^��U��a��|��&��P�����j��3<L��6�CN�X�r8�Z�����e�����s%|��^�Wv}���Wk�2?��mQ�v&9.Zu�����Xy]��'�<�!�����[������TP^�������)$�����JN�U�We����V��O*�Y��h�Z��+r���?H�
U'�Z�!�9��m���oj�m8^p�8�t25Q'S��|Vk/_y�5K�.X�����W}^X�#���s�G�����5}I�
VR��+4��D��{�����]������t�R`5@��Y��V���9��}��K�|5`��F�}@�8q���kk3�oB�����5}�l�8\��-H������Ue���w<Sg����z��r��3���v��d�[��u�.�*T�����=V�VKs����dmw�ZwU�����"��%Y�����E�o���_�<����
��Eg��W��_���KGk�{�
����yyH��B](����*u���{�|�^{fv���n`wd*qB;����������y���&��>C��a���I�����lM���v�u�a�&���&����g����[����oV���o�n�3Ao����9�u�q}���hA���`��BB��Cy8���V��9i:Yt�$�YC��JC�]�=�c�+�4U�/��|�6�O���n�i[k��5l�k�^��"����:P���zj�V����o�[�p��CWTz�H���d����
�k��E����P���/�}��0Uo�>����'�����Q��Txt\2L|�B/=�X��fE���F��;��qz��wk��]�l:�4U1{�T�>�������<��H����I��G���d��c������Y�ov����D)1�5��{+�$�X��O�c=�(yww�S�G�&�~��O]�p�k6��5W�����~A
������Z������5���#\���R��)�{��up����u�O3�x��=h���]��=������t��,//������fj��p�7�x��>�6��o�E)7��^?�zm�B����� u�6���<�=����*�H��|Uj�>�j�
-X�_k���u���-��������������W�>}u�D����H%�U/�z�~�i��+�����sX�(EE6�k��Z5�h���������_�_���,�qu�&?�,{N%�o��}����%��Xu���|���?R���
�q�3���S��q\7q��s0G9U������4���;�A�8%�vwMG���zk���h:8^�>WKm�PS��+TCf���1���i�^���o����+t�f�������D� E�����Au��g)��%N�i(7�h�4`��z?`����t3�!�u��t�:��-xxTs�em�U��6���\���oj�z>[GS�u����4m�Z�	vq�^�5��O����zg{�n~�8l��r����mfy��T���iWi�����R[��[��^{|��
]����%�ur_��c�4����3����5�:Zo'~��P��k�����]�C����~��C�f��~ks����y0V�����,�������[���W�h����Ji�N���dm�0��]����X���H��o<� O{NQ�;o����J�5��]���������*Fy/���W[4��p��Sf���wy:��w��c@�^���+����?;��y
�����Z�u�k��dj���n����0L�?�T��M��{*wn�j��Ik=�c����?����)Zw��b�����$�W��_���J���$���\-�t��CK�h���j�c��E���Sy/����2Uz3�{�ZTJu��Z�O�*����M�xZ��.������k��&�P�&��awr8�7C��/lW���s/�+���s/7*�����c�~�dE�����]@��i��������!Jy�k`�Pm�?]+�����E3?��o�����3���3g�>�8T���2�Ia1����O+��g��hc2+l� m����z�D	����Y���9s4d`�:y��Vk�P
��2����Y������)q�NM��5�)��W��qJ��a�5&���bS���7��HR���5���������q�N�8&���~��k������d��z���~,NK��[�f(�w��{��z��s�0o�FF������X��������a���5������e30T^���Z����0���J-������w�C�*T#�F���\�zm;�����#TC~��^�i��O�Pu����]��	��
_������/T=�����h[�"�hR�������������������K�����Z�.���.W���X@��
��	s6k����j��N��1}�b{~���;s�;�6k��J\�]��;4�S�-]�Y#nsO�C#�*\c9L����M��.�
���&,=��X�1��K����i��U�������:���q\���pE�j��l?���C��}���U��}����g���	A�P
�@?\�1A5�[y��������{y�:�Ei��q]O��t`��>�X�>63���;�w��xpW�P�[��4�{�{��	�rww�aW���������LE%W����]&����@G?u��E{����w����\�~Y��J�p8%�|;�)��`�0�O>
�/���\�~^���R�����k�E?�0�����:����]���2S�?[�������=�#�]J��M��h.�.��������^}�3I�����<��X�?�S�z�������Bn��r�t��<}{������������%H�!��XP�A�����Ci:����%6]�Y�>z�K����P�<X@�(R�i��:[��t�!��,o����n!���K#�T|��_���?���m�.]���!���,o�@>�>������Y�u��L�����b���I����w�=��G���J��]���M�������m����vv]8������/,������W�������

	U�����$\Rz*]YG�(�TQ�y�����)08\�CC����p�5��J��c�:[l��+�����o��<��?��f���le}����|��h�U��}2T�B��-���������/2��H��������#���y]-����i��G��g�<�g��>}��<l�8�]r-S������������?��}6�����Ji�4��'Z��=����g����];Hc&��$y
S���I�V�]v5e�F=���$�
��?������)���^-�%$�D���V��#��Y�O���t�R)}�./3�rf*�����6��_��
�Z�+�t��n����]xu��mk�]yJ��|E���AO�	���)[�s��z7J��7��up8����)Z������������$]�&�oZ��1�5���4WW�~�u�OG���&����-	P���h.�_���|�OX���*YW�[�����u��$�8n�&<����AGO�1
��������w��w3(�Wsd����C����i��U*��)�$��t�!z��.@�S�'������Z��S����k��������"W�v�ww	M���Y�E�E��]B�����
��hJ�v���K��>w�R��]�3'Vh��OTv7�h�_��Q��9����'���Q���#:7�hmQ���9���{��	�rw�+|;����}�.��"�	�&=���'���p��nbrw���b��.�S2}_�~��i��[w���T6�����:���7(����]y4 IDAT���~D���*,��Vf����+��������&��'�������oe���������V�n;��{r�z�P�*��������5���x:D!�u���mZ��+���P�.�n��~O<�����b�z�i�������ZK������`��su�T���h�&��������T3���=m�������[�m�����:��T���z����qV�TIa�Rw+ug����]O*��!
s4���Z�V�����J��W������#�r~�B<\�='�K�����k���E�������*�0C���VQ�.)�4����e��w6h��sUr�nl,<��o��o\�iW��MQ|E;���b��.���nR��g@���<AQ��
��+�I\e����-x>?��x�h#��[v*gu!OO�E>��?�����<���Z����:����o���,�����C�m�5x�M}��B��Tr���m���m+�Y��}{4uq'�e�C�[�����^j�����q���;���/�7:�������u_I4'�+�i���%�h�
�i�W4���!��O<��o�D��;�N�;r\��K�s��kA���I����9�G������F����st�y}����h��_)�[v�m����7@u��V��z�o��F��s��h�����t�r���O�\�xP
!OI2�c�0�����
�,��+���&
|���!O�vC&=���=+f9N��s�pew\d?oU�!��p���Z����+�dh�g�N�����������P3�����iKO����aO���#�j8���v\l��@�g����,�'�<hH=k�T������������`����_rT`���uh���e�G�Hc��R����Q#�Yg��}f���Q�p��X���Y}#������58��0mWj���
�-��i��s�QX1���~V[����\�/�1�����~����t�i���UR>]r�P
V�.������DiAz������U��S4�t-�]��y&�&�����V�d5���S%�����v���d��RW�����s|uVY�S&��m�m;%��*(vJ�L������u<������0����.fH<�:��I�*��:�Q����.;���\Q��.��>���U�M���n7�3Kc���"h<���LW�y�,S����V��5�4���������S�)vV�������h����2�"�� �����Y!?�������c��h�������cyX,��b&���n��9gU�q?�;r�{��V�n������,.��(��I�i��B��\�G��=����G���^!Y���qw43������T����C��t���}Z0�=�|z�Ve�o_�
EgK+&Zy)���8yXSG���g���$Ga���������Q�st��r�J�Ke����S��Q�N�T�_�^
hk��vEEk������g��<o�C������%8��J-vq��Y���*�0��!5���kJ�����i���Z�t��%c��|.gi�/�[���%�)I�2���A#���\
��J�T���}�&v���z���^o(p�&�9i�$���+�URR{i�s*g�~������
�]��.���*___��@stk��&����������?����&��S�N���\����c����Z��zl������SW*u����,�D��\��	�������~���w
M;�5+�Gk��on#g�V�z|�>�Y�(�-�Q�<n����0+C��(�*K�_�S���t����l6��O95�����O<���;���Y>mM�e�
��UVZ�����a;��,�����IC5������ Oi���4)(�\�����|���[O%|4F1����roB���Pk�s��n(T��\���Z4��FlyR!U��T���P�>�$���zF�~����������w�#���j���Z��2�X�?J����}�5���4_�c������;�9����0��Z<ZKvJ�65)d�O��7�4:���2�&
����Z��-O��z�8y@���y�AT�%���-����Z�[�S4&�^��*�����O��T����o�V|f������W�Q�zv:@3]Y����7'�{��5���7�����k��~zw���(<���Kn	y���p�Ro����yg�����4p����>�p�t'?=`RE8U�����]
V���5p��5�X�#�%|��&}���:s���6NV��K���2+��X���h�5�wH�YrJv�]��T��%o_�%��+��5	_�!N�h�	@�����[f�}���eHB:��}gn���L����E�N��������#����4�]�)���a��!��4t�������y[����|s�S�FM&y4T|��_3�����y�r�yOY��������6j�����Y�w��$�W�����A6��f���J����d�W���J������pV��|��eV�.���P}#����,9qV'�����+����*zhzj�����+F����L��Q~���)�e��mdn�Ry���SS����/��&�s�h-���]s���bh�Z^�SR�+���,���RUK�������u��j�*��{+��i�����|�n	����U�aR���x:D}-���t���3L�2��v.���~��S���y�*h�!�����(�s�|}+_��H����*��$�U��,p'Zd�S/T�K^Q���
��Ui����R��y���q�kN�|w�bT��Q\�s��8i-U�qY���]\�E>�J���x���������sUx�PV�])<�O����7Zx:mJ_6A���tk�4G-3�)S���S�kU/�@g���~�����V�L;��R�r�~�j\����*�U:eU��v���zT�t����4�&@�eU���J����
>��\�B���Y�O�z^��#e�xW������j�fYf���n���S�J�6���*���Ia���X_~��'�Ud��{'��!��
��+�����AY��4K�O�+f�OV������E='
���f[?umW����Ia���s:YM�����m��K�v��$�E?�i�i�iU��V����g�����z=$�s��c�*1L{t��~�U�"~Z1�,T^��}������S�����������Ee�.������W�tZ���Q��;w��
��<�_M�M��"�m9��M��R�������.�jo���
�Wk]u�,�����fu������46E��u���aN�=����j�������e��������)��py��*w���'��W le��u������Z�d��iR��B���5<5dh�|��\�j��j���G<Rs��Y��;NU����p������������u~~X���SB��_��-7��$��G5�[ME�]���Zu�0�d��A�
;��M�^�����Y�w\i/��*h�iZ��p%�7�3�jN�q-�����EfO��3�W�^��}�.���Z3���X
a��9��������
3-=5sT�]0;������s��h�6k�+H*��G�2
�<��5���i����pk��U���9���r
�n��&�VHu��t\^��v�t���S��[c����>�������1OVz:u��a�}�w���jM]x@�SN+������*8r\���V�gwj���L��� 
��e(��M3t�tZ�9n��� W�n
b:��������s�RB��O4���4p��ah��8�_c��U��T���#��S;�+�y���fE{V�y�em�������Gm�����`��]�e��e�J9��S���3+���v���z�����0����P�����j��3<L��6�CN�X�r8�Z�����e���4��s%|��^�Wv}���Wk�2?��mQ�v&9.Zu�����Xy]��'�<�!y�6����6WY/e����s)�5�'SHXuk/��>����*w1m����T�+���y=�z�������Y>�&�aW�Eg�R��+f����c�4���mN��U������-�d���Y��b�=���7h�>kE��US�:X�j>}h��o[���8�}|����8���8��9����V�V��q�������������C4{��E��?��}�.���4b��DZ������50f�6����u	y�����M����i``�Y�C��3I�o���u����q��������.�&��F
���1�w%����/���0?y������F�6N��cy����.���{��	�rww�aW���������LE%W����]&����@G?u��E{�����d]9u.+W�_���R9N��,�N~
{,X?��O�K-�&W��*'�T6�$�6�d�+���\�*�X�r�XUt�T��JN�d���6z������~��4u����.���i������|:|�����hN�G�-AO��o��Dy��<}�mQ��h��[��}�.��Bj����lQ�y��@s��7�D����\a���hy<�T��������eG�����}����=���kr\*��>O�[��T���YO'���E�����h�l[����D�9�_&|�q�z��������q�}f���;^������������>m���,P���J?��������*��.����fw	@��=����������]
�>w�R�p��nB��Mz�	AO7!�	�&=���������"��8kY�����{R��^����Z2���s�����������b��.�S2}_�~��i��[w���T6�����:�����a���+�����m#�<��h��/(��%��%�0�S�u����VT(k�$sYe�4��d�������(;�H��+�b\���)��]6eE�>c�d��A�m�'6���#���^�b�(-��T3�IQ4�&[��}��=����a����V��p���m��yO�R��R��X���w�>�O�(������-C��|�����eC������G4�?RL_�z_Y�W��������N)#�L�M^fu��E}#�5�g=5��'�O�,e�Z�j��k���2�������^}#��{KO����i��l���L����|�'J��'h��h����v~������:��$`�����+�n�)}i�&�K��;p+�M���Z��xE
KT�i�V��Rl��wK�z���5��r�0
��OauZ���=���J=S�]7%��J�Y���Z�n�Rw=�W�(�����jyZ�w�8.+u�_��+C������a
�O���i���C����]q�U�����m�`�F���V��X@Se?�����]����c�4az���F)��\���(�O���^�*�X�]	���IR��Z����p����$��{�������i����h���DI'���)H���W��<����]k�~'/@����VPc�]�B��XE����;	�����+���$��L��wCA4�F|�Gcd��w6h��s�F����za�&�����ve����W���~u{�gi������8��vl�VL��u���
�5���H�cq��w��c�+<^�
}��D�&<5EI��-n?��%�*��S��i��)�����M��3s�|��a��%�'k�|c����gfh��(�����
��|��D%��n���6����~zv=`M[�z�X���j�����.o����U�<=<�������6��S6k�
���`z�R�����b���Z9���_�'
����(��I%�Nk���i����}{4uq'�e�Cri�/�hv!O��`
�~�����I��Wd;S��/s�7�P�.��+@�e�U���
�����V���<�U�o;�B��J)�4���+�������Y9�iP�q3�L=b��J�t<e�V�\��
?�yZ?}����9��~�I3����*��W�*�N�;��{�r����p�����^[�TL�[�����bWZ�IJrFi|��	��v$)��xE5�&���+�i���%�h�
�i�W4���!��O<��o�D��;�N�;r\��K�s��kA�!����V>����9����F����st�y}����h��_)�[m��i���Zeyz[3�%�����]�T�}�����.����z)n���QUh�iS�'�Z2��*��^3�G)j{�ZJ+{Y��2\��W���Z�����d�b��f>5A+��/_����&j�_f����lP����[�lZm���7��Y�������Q�;t\����}5|����3[K������j��Z�f��]<(�o����YZ�#O�i:�^T���������6��74t�����������$�:�
S�ka�Z��B}���!Hj������4l7d�3Z8��b���>�0G�Z�q��M������+'���5�<%��_��>�������|:"N�>K���#��O�h���T��V�[K�KWE��WQ����4���k���p����DKR�U/�&�����������%�L������H��OQ���\�)[M����;�Y�
Vw��.����l�Th�z��H��f�K"����[]�j���|�0m���1�5�����~�0C
�����5
R���+�f����qc�Pe�@��C5��f����V��L��t/�>Y�-���4gZh�+=>C��1A�y��&Y�����Z1a��4����*p��ef+�����,�k���F���/l�;�����B=����KRv����x-�~\�w�)���4i�JQ+�R7���� 
�n�Q�%G��6�
�������#�?�:R���\�����������W��f�-���\MaR���YM����[+���}qDE
W5}-�e?����#�>S$[�$��C����;7���]�;vW�J4"Z�?o�W��W��D�_�,���d�0
��.��������3E�;��
Rh�E<��v�g��?KS��<�������G(*2\M��9m�;����<�d�d�PP�^
�� �Z������\i13��4^��KRv�M��N�������l%>�K3�e_���(���@�1��{���^�����(;�H6�Yf_�B{�+�G�u�nS��4ef���|���T���L�O��qj�g�'���(fxC�R���
c���]�Q�z���G����J���y IDAT�8+�
�r�s�9��|c�����V��P/�
},H��}s���H�N)��+�6e�Y���&*�PQ��-Mf=�����Y���]��TZ�1����OD��4���^�D�.+�Q���c��>U����+������+�����i��t�v��
����h�SA�T��%OD(�PG�i�gO����hVM�5f�
?�vo����	�	J*?������=C�"%/�����WfQ�u��y+���������)qd�f����e*�o-�n3�aJ�����(�ek���Z�r�2o���P�gfj��8E����V=C=w����+��x��LV�����������GY�{��u;�<F��%v��%�M�ED�RL,xXM,RKR��$��F�M���T"g�������h�BdF&�{�	G1�Gti�M�hVY�J���0f��\�n��?���n�	�������������\?6N.������s�X����k����Bw�|���XP�`}������*_]��m���i,cb�rW���Q����G|�zf������oc82�]^��'r��P���'=�r������g���
Uis��j�����&R�����;5����x���w��`HG5Y���j�������t�S�<��T�c�7�����^�] N�X�6k��T
_Z���*�P���lV\��+
R_H3z*�
�U�@���������
��R��:�?^��u�aWu���,��[�nJ2�f�����tx3����t[���)��y��F%��^%�
T�?A�O������>�V�������f��i&���n�6qBsc���R�_��z���A��~���(p�A�g<C�=M3�c&��^��p��%�U�`�J����+���e��V����TY��p��:�T�B�f^�P�'}g��*5S��6�r�(|�c����I��+��o��	B��d�5����r���������P��'j<���U�t����rk���_�gE�+�k�h�3������/L���H�Z��F2�����������:��j����t�M��M���a�#�:����4MJ������d���>�����:�-M�?�h�>>hy�%�[������6u�H�:�%����t]��S�pY2j���}�����4��������Y�',�lny�n�e-��D�{��C�><R���"����]����+U2#!��<���hX��/�W>5������m.�'&���%����5MIYCo
���������}�L��v)PKs���g4,��\L���aw�.
�!#����2-�h�md�g���w���V���<
�\S\r�J���m�������-hQ��!��H���0_�COI��j�-(Qc��������\��LE�-j���+�����SM�P]�F���*_]������v�U�}����T��RyG�2���Z��y��n�*G��t��k|�*�rL��4�SvE��E��}����zp��+w�)?c��qnq�pn]����\����7i���I���=y0.M3fO����U.tj|�{~�H��
���S�z��d��o��^��ho[�X)N����Q������x��x��Z�p�����@z��q�����CG������o:z�2�o�kR�18��G��j��6���<�424i�T-���z4o��%�	C@�{C1k�7ej�xYW�����<����T�lYflH����T%O�*�%I���h��U.����9�
y9�r&�I����K�K��B2����a����d���B��)�a���_�O�dS�'`
���U����)�:t�tw�J�7U�4M[OJ=���='f�@��T�lwD2\�>Y��Gs�>s��
����G���eF�~�Fe����P��*��I�CiZ��7Ihd�|o�VM����_�/�9��U/lT�bW���_���Z���q4���J�=�A�#�0�k��2Ul(���/�j6�12���)��F���i��jy��R��E��p�G��q��#�d�{q������)���z����Zv7�~S��w'�*��H�1!O�2�T��X���op��Z�?Q�����W�CU�l,�����+������������C��t�C�v�Qy�K��������&�����[��j9���?�P��}I�U�����PH;j��}�{+��o��l�2���)�S��?Ug��w�WY��vJ�/�����[C����P�v����N�[���_�S����w�*�I�Y�U�?K����e/�v��?������]�=����k�ecz�jv�������
�<�����T��3T���WW)0���:Nt�,'U��"mBZ��!�/48��j�j�cC��4!SE��b+9F|*_����_bND�K�������!OI2��)U��2e���5w���D������2�[++N������yJ�}z�*U>���'U��qX��9nV�#w������E�P�����{�\���������T��-�+(��j�{�
~���Y\���jU�oJ��*~�E-�*^����$C��ny�����:�Z�������*~�^���{ly������!OI�����7}�\���,W����p�]bA��t~�O�/}E����eT�OZ���R��������z�5�'������[�h�!�Y��T���_�x�������n��2f�L��.mJ����:;����
��o�1��}�����c�LbW:?���6��S���P�;�*��*-���V�t� u)�5*��:L�R�����R�=�\��g����U�{�����Hlp�j���8-���;"�H���	�*.�����V�k	���U��/���
U-K\c���X%9��e���?TP5�-U#
y��T��A�2#S�^X����Z��p�M���*�uS�|���)9�[���5�P��8aJc�W��l���U�N1�~�>�P����<�����"r(���=��Ar-*�7c�'����V���ZV���3��p���2yN�k4��
5���X�d��)�N������?��
�z����7j���U�t��^�o��B���Z��7Xp1�S_Y�O�����z[���������Q��*|Z���;/�W�L#��C[�i�k�C������bS���n��+�hoo���O��������u1OJ�U��+sJRwT1�[�h���z�]�����^��Ot��iu���g����y�&Y���Vy���sL��L�C�����Zo��U��j��Ds&��)���V��V��_)q�N
n�U�%p�ZV����L����e���
�q����L�_��&]9���~�0�<%3���9)7q����-���">�����\�[�U���}���7�/��(�:�1��F�[S�v��
�f��^������S�X��)y*�����R��[�]���?#�!��r5|r@uOy�J5���@Y�IS�c�)��eC}qa6�zK�o9�����C\[�2
T������������m�&���o���,Q��t���7S��;Tv2���k�����`y���}�ZTw����6��fwH;vK�M��]�7�m�&Y��&M���C��O��G7i�[����vi�������h�58����bB�������>���n=�?�K3�=sI��:��������<��P���S���T6����k����U���y�j��;���t��kg���iq�Ra��p�6.�]��r��t�Bb���g6*+�O�4����0�~U?R��d����Y^��5�r��0�����*a�\�.�&_	sz��'J�#=���M
*k�`��r���I�0h�~����������$q���v��{�����"-�o���,yf
}�\=U{����� 5S�5so�Z,�U4���LHfK��d���;�/M�-R�X�w��_�)���;�}�0\�]� �}�&��n���!����;���1�vcN�
�$��]�sf���{^�5�M-8���9��"��u�='��C%�4�T��t�5�j�/��	Vv�{_������h ������_�����������-z=����cm|�n��w�8�X���f��aS_8U���iR�
�1����Z�*�_�3����UYrXsq��E���C���n����1�ZP����\����oH�dw+��
�?��;��vf��~K�15K�Y�����eHGz#l�A��k,�����^dg$x5��vSr�y�n�\6)�;V�`@ay�0�82\r%s�R
���H��2O%�=W��1�_�-3�>o��L9m>{�%r0��<c����[g��1�}v�7��p���*��(d�������]rd�d�I���hD���4�g%����,�gh�����/������h��|����?M)���2��Cs��f
l��iz(/]�W���0�k�au�g��R�W�����w�$��]���ps{��W����z�r�tU������xg��qVf��Gs-# I������1m?�����v�f$�Fn�2	�~u�"�U��L����pPAK�B��j|�L-���$S�c��[WHaS����F���+xF����]N6�fs�51��]1AO3R(*9.�;�F�S�d���gy>GY��5�i��FE���<s��
�U �B����������oM��V'���Jj;`��T�=rv�"t�=�`KWa�d=�r�L�����������M�����oi����z��=Y���]�{�<�g}�6���������)��
z*U9��������Ir�:Y����*�+��W��*�d��J���j��5+�+����;���M�;����F�)�������_�"k����Pk�|�U�z�Q�.I��|���H��^�����PLE<�hV���#�c���1
z���������M���fLh�HMK.�h���l(����HD�O��`���9�@�+6h�'S2�t�4���������8��V��t�yV��
��='�m��v��t9�ab����zc���L�kY��=��M����d�3]7�%9�+]7\aY>�����l|Z���"�b����S�����B�����_�,_a������:�4���!w�G��f��p��~�8��T��v�����{U�L��v��3�tKS���*���~���Y����"�fW�"���0;�U�K�+�[�6#����s�������=Q�����`��&��D��@N�B�����,M�0�7q�:5��wR=�r\.�������IgJz��:��' �������,��]�k�=j���x�8���/���6K�F�|��.�����G�I�����:�=���#^~3�w���b3d�&��7��\���Ug'OZ��o_���Z��@��QI���W��~Q�r'$��_����H�e�<�es){�yJ����!K/VHRfR[�
�C��Mt)����a�5�����,�n8obN�)E��+�*���.���CWZ�-�����e��F�c�Mg�1��3�)�Rb����[��������2�_�!���r4����H��+���j����H���k���:t�:wg�&��iw��������*e8g?����QX��->���[���Ve����.+~$��&�M}!4g�
.��*�w..�\6�z_��
��������bz���d���P���L���Q�]D�.���vI}r#�a=#��kO�Z,a�>���R��*�7�s��������8y*�
��������N�����e�;���_�*3������B�i���e��]��i����{��J����/�iK�
S,DME�Q�3����F*��s�hu���[r�
��iK�|�K.K@�<Th,��v6cO�)�5l
*Hr[3�@��.���i����[EC
%:����_����2}-���y���4<L~�������������wN�!�����8.��g���>�V��*M��I���S3�!����,A��B��m�_-G����ds�;7[�����cG����?�U�M3f^��q��qszL%��G��g�����NX�p^��������De��}+N4j��2�6����,�[������2,�7�<��Vj��3��;Cj� ����&���,3�5+�������"����S�J�nh������5�s���(��5��?&�k��[I��1�m�z*K�L��[�������8�S����e��j���t�Z�F�n�WiS������jy���1��0�������Z��vz�j��i��oYB�Q��y@G���a�G��������i	�O��l�N����:>����g��o�[�����L�K[x�|;}��f��xR�����;��~��z^\��}�(����DU=]��Xlf����R���`�������Gw�3�m�M����/��/&�i���3!�q#j��?H�T�Nk;C3�f&;�$C�a�?���cV�fZ����/���oG�������gdy��d���k�x�>HsX����B���@����7����o���]��{��l����M�L��	�H�?���W%3��7k�s����zm��b�m�������4����=KU��?~��-�J�����/��Sf��E��������16:����]����z@��4������Q��������Q���XO�^�I�g����W���c=1.L�w�U<�%���{Y��SO/��=W���U��>M���E��S������^�'kQOsw���"�i�T�jsL/{�wX�6����8��O��z����f����(��efP��$�Q����6�w�^U[���V�K(/5[��;�H ���%�o���?�O"t=:�nKH>�o�����R����������(�`.��g�6�yK�;;,a��u�G���w��+�J��*�7qLI�v�l}�������h��7�t����E�%�9n�~x� �\3MZ�m����A��\��z����}7���[5u�I��S�����rhwH/>����d���U����
�������*��p���r�T��PM�gF�VZ�Rm�*�_��a����FU�(�Kl�����iT�:��L��T�c)�
h�������_D��+Ue��#W��������'��8Q������A��T0qx��o��Q��������q�����.S�5+U}d�M�U={����#C��J-U=M5�+PQ2����7���i��G���(���
l*Su���`L]�A��������9]?g�����^�yL���W3j�h�U����yoi{��3[���n��b�qSU�plU��K7��_���A��.������PL8r���G-uj6�}�N-J�t����,��v���Sg�-/|K��������V��j(S�Va����iI�[z�������l�/���O-�_3U�L9O 9��R��@���!��J�`��,�g�B�m�+�Ao�����U��g��^�����M<Ky*�T�4�1O������f5�����:T����+�i�ei��V�%������fU?�U^L@�<O�+��an.���Z�O�+��^l
��32���|
w{��j�"�K�p�Z��>�p�����J�Y���������P���+�TxgU�vk�v�o�������L��X�S�z���i���G�l�im�B�|�Z�3kD���R��5�O����j�������kMT��T��FU=Y��o;5����D�_	4�@E�-�Y��*��K+_����~��>
(L^��6t�_���z�W����zW��4~��E��a�;��4�f����7t8R�&�@O���V��}�ww������/�i��NM����/:����t���mSf������G:oU��������9�������5u��t��%u���|�[����*{�N�H�l^5Ye��C|���[���e����P�n��nv�j�Qo���|�{�l�Z����s`�*~,W���g��
�_Q�|G��v�*�V(��D��/�3[�6�Qkq)sV���t�N�#V�������7�i�R��G��������
{�65�(T?DP��RU���AU IDAT���O���E~_��Y�*�p�=��"a�|~�cq�6><�j�������AD�
���LYs2�r�I����}
��n`W���*�ex��L�@e����l�7�f*��L[��67����6�R��M�\]��$h���U�=�7���~���]�!Y*�P&_N����fk�VzUqK��or)�vJG�jj�����YS�U#9�����|�U��}�C�7���
+�����n���+u��C�pP�_��
��+]��v>�����y���+|Z�����U�T~�h����4������+��W���?Y����}U:�bKS������-*����<���;;�7�f�g��
��n��*�a��w�^=�}?;����6uh�!��A�d�V.S�����4>{���[TKJ�h���k�:��a��4�F)iZ��P����$��x��n�����+N������ehkL/V�N�V��}K
*�GP��3#��k���N5f��^�_������Tg��`��Re�T��_�G�o�Z\��W���>3U��H���MRWP�o��hn����������S��:U��S���F%��a1n[���S��_+��B����T�Q��ly�������4���C�|�]W��5�
��gS���j���he#�F*�H5�#�[R��#��dg�X�_�QC�Y�T������F.M��C����6����kn�|���#�0���iW9U��#������1�SF)��T��~�����I� 6�(\���v�
g�&�j34�������*������G�4��^���������;���G�j~��UId�T�c��@P`C�j���SrU�;��WJ�{�c�0���;'_�/����&��0�y���B�;7jU�G�S�#��f������BE�u
�����SK}�2SG6�qC��v7h���c�������_Pux������kT�h�<����0��-F�>�\���S�r�\�]36C��bU����Y��)�����*�{�J�`�3��]^����
��a�Z2n+U��Eu�+��n9�#�)�h@����u*{��0`t���cO�}�'q��M���:���P������UT�l2�����i�����[�5~���Q�wX�>n��?}�����b���4��>Y��L��Qx�����v�1�C�/��4�JMr9����5#}����]����}�����4e��������n�����s����z
����6�io��!�:"2e������\r�35��#G�O��f�v7)�yH]�d��v�K��<��>xt��_e�3���N,�{�JyzogF�����Y��H���4�v��s��_�<1�"A5���eP�����!�����ne��(3cCH�V��IM�
��iJ2��;������f*s�E�m��]�.��LIOC������rV�K����e��'�3�z�h�l��+�^��+��=�<A�pq��XO�0�j�����]��J	yFAO �h@������T~�k���$��9������]�'V*��	.E���p!�|P���K�\E*_��).A=�8��7������R�������������.W�W��z��n�������o����XOH�}b�XO�Q��������'�!�	0Fz���c��'�!�	0Fz���/�t�H���u�����=��P�������hw�lDZ��,�uN9�sjrV�����
3�����A���XO�i|��w���PUG�zF�
�XO�l��;���cd�8�����1���U�v���^��!��0��'c?�L���N��9S�����:n�����m��T�����[��)��k��i���s�
g�&�]�!��8������-M�~r�r�������S�A��z
�e��~�V����a�O���L�}p�!���ef+k�G��<S�c6W�2�B
����4:b����>�9��6���W�P����1���:��w��g{��-���v�z�]����gk����;55�!B��������+���_�k�����=��t�6����)C��EHo�}�}��Nb)�i��=�KE`�z��
[�\�>���$�1��6���(Q���������
����Jke�q[��7�����9Y��.����ej�/�h��V��z�t��V�o���$���W�U��Oi����{��qi��~��p���o)S���U�<�/#�����J�JTd�[*�Q��!I=���z�w���l�1�JI���MqB�)��1�F�|���W*EQE:���������v�&|�x�!���t[l���t����/���^cS���i�k���o�������hy�7�����p�S}��4MI@���:�E�������]5�~�K�����r���i���`���*Y�/�i��=/O��<�����jC��!u����m�o�OM���+��K+�iK������9��u��P�/bC����S���Q9�cT�[��;�8�iq��wU�ly�d�u*�p���-��ML���iZt�-ZsH��=�����*��J�O�y�l��sv���K���V���q[�-������[��T:��.5�^��V����_���y�~m3%I�e�Z%S���U�R�*�F��l��������C������U��I��@��z� !OI����3T���4���~���%Hj��G��<-�N���.L�[�}L���!u'�;�q�cm�e	�^?MK2G{��V��-����,�o��������|�z�E���u��YA�d��Q�nK�1�V=��[5i4���?���Y��7��0}�
R���o�����Cm�b�$i��k����M�~ps���/���u�-;���tz�&&f�-W������ �7��v�~@��T�4�����7���}���F��'����W
�����������
O��6��{��PKB�����P��U���{�8wL�?h��P�DD�922����{�X��2bF<��@ �`8�H�)��N���������[�	u��o���`H��)#�!�
��5'K���
+��IM��
GL)�.�
����<���
��������e�>�)�MY���%�0��"�I@}�e4�='[��p�f��t�5�HWD�)�v9'���5S���4�Q	�����A��z���%��leOw��q5�~5�nQ�HX��!���Yy�_d�	�����P�!������>U�G��L"���G�24+�[Jr�t�d�����w���=���<*����O���-��s��8G�k�"V���*�a�,�X�O*�5�����O�U��������ru���Gnf8�u���)�{�[��������?jYg����Wj� =Kjz5���������g=6C����+Nx��o�4-����;�S��qQ�=2�4�q[�������W�+n��.e-.��'��;�@[@k��T������(�MR���5e*���@�KA�.y
KU��XY�~�E�U�,P}���y
4�
��|�V>W+8N�2���JU�fi�{c�6j��rUokV0�13����ReO�+3�:"1��q��hD�u��V/��&5��;�gf"�t�
)U�r�C|���5l�}�*��R��"	~��o����r���9��^��'�T�-�H�����-P��*���'������c)j9>�F}o�J���U�>n�<���M�������f���]����C:���t��2���S?=-���{�j�Y����T�c�7�����^��R.3�f�����K�:�S�T|���
���4M��A����o3�hD��^���9N`��Fa5����[#��Y��Ar^f4����cPg���!3�+����G%�T��:����_lf���uf7'z�;/��k��Bw�|C�]A5o.S��jy������$eZ���c�Z��EE�=8�D�����Ren��{��_�o�����Z����o�Kx�:�W�
���{�����
n)Q�C���UO�����qk�*������7�m!Iq�u����^&��Td��iT�+���Z�������5|f��j�(P����>�9����T��\5��*+��8��J���^�'NB��W��y-���(Or���Q��K4�Ug�K������d�_�IN#�
�u�g��>�d���:��j����t�M��M���a�#�:����4MJ�i����d���>�����:�-M��Z�>������o�����a*��W����g
i��1�\8:�7�>�ms�3��\*�P��f�<'����"U�	yrLq�5��y"�@kX��Z";�T��G-Oe&��������L�����h����[
�w�z�{���;��.RQ��U�����d]����j�7����)���LS�c��tfP�Oz������gW�4����qB����H��hHu+��B��]�).9R�H[@�6�X�����lA�*��O�Z����U0f^���5��v��������B��Z��Ey��OO��s�K��o^��*��*���5�>��%�
.9����	)��_�p���|P��S5�7*7�5y��a3����l��5�r�2S.�]���/���W��Tjz�T��r��Un�z5�>5����i.�3���Y�����z�H�)�����p���XO`TEM�z~�f�\���<���_��_��������t�oi�!u����G:���44uJZ��l��_n���~�����;��;���[f�L�����?�����+��w��uN���+r���WX�����/��8�Cuk�W}����UsG��)pQq����:u*���&�:U�L��W�+5�^V��>�P��557����:uZ�cM����T����&�Jw����U/�$��*>��&������.�5���Z��]>�n�*eS��
��'ks��${��Iu)kY�*��t���B�5������T�f�����jQ��9�0#��)R��������DU�{�7�o���W������]���u���Z7��0K�$O��I��6%�%��:u��'-jjn��c:�N�r�X:�T�|��<�m�*z$6�i�n�j�!�>yO
�u�{�=�C:�X.o�e�p�V._�[�2>�����+�|�\��*�l���O��h�F���T�ah~O��Y������NS��{�B�����l�V���A�����#j|,O+�!�T�r{������rf_�,�9��e*X�����lV��������"m�R��&��fO����{��r���j��9<q\D.����:�����y
�d��������t�=[�q_r���e��W�q�����Z~�K��b���
�;���wu��_���C:>D������$R���������:�������0�vJ��
zF���?f	����?�nDQ�P4��	C�G��T[*����qC���kTl
����q���r-�S��Cb�i[���l�����-��)�*�3H:�p����j����j+T�8K.{��2��L��d���L��_j<$7�|�6d�����{
4���~�23�g�0&����H�^mRpo����
����"r)�����T��1�d��S���e��T�4w���D���L���U���q�*5�]��[�4C�����2����~��6'<��T�6��P�i���������$�t��n*P����A�*��G�0e���Q���������iM�����#o��dC���gi��M�p�{�e�*���Q��j���/�T���S
o.W�G��|J��������
`���i����v��]bA��t~�O�/}E��H�j�^Q?i}��J��j�J������$��vwi�/�h��C:>H�H����������o�����3e���2�o����c�����Muv=�A����^�����7k�����L)R�:��
��Q�C���Y4�����3���Q�\K���]��#Co�QDt/�S�`��	^�ZW�,� mb�|�L���w��R9(3�H��^^��u�!�q��|��Kx��p,�P�2W��n)VI��/�E~� F�U��U��U�|lXt�)E�Xm��#���F	�b[�V�P*w�\�y��������t�u3u���=_����#�f.�P�"w��k�*_����J�y���^W�Wa�f����u�L�U�����-�S��Dg%��W|:��9���"&�����J�����\H.��gJ�S9yw�t��aC���?����Bm��|�.���������6��V��
�tMT���.��;o������3nU�����U8���?�w^����FL��l����J����!��W=�m�V�����U:;?����������e�<�Wuw�,�z��S=��M�0CS��K#�y_�<���$��e�m	y[�#�yQq(o�%�j6�f�P�#�mmT�L�-S�K�Fj�������m����������#as)o�P}��5o�%HQ�5qp��� �����b�>t��UX$����Guj��}^�j���`�f�_��UZ�X�f:���V�������o�k�G�3�GS���&��5�A�������b���8�ke_T�<K`9�X?����k5��y*Z4���R���|Mp������o���,Q��t���7S��;Tv2���k���R�� N��O�A�������F���i�nI�i��������$�v��i�=wh��i���&�x����.m�������j�(��$k6�������_���n=�?�K3�=sI��:��4�7�KR���l�t:n�~xO�Yt������Jm\���������6S��lTV��i��1F��Rfs)�����e�����b���"��.@ys,����F�G$����^��*a�-������-y*�~.ff��a�t:���	IF��kI�rG;��FM4v�K��6�q�C��.ss_UG���$>1s�h��j��nm���7��)�w���RM�^�_]���~��p�G�U��f���V�'*U�S���QG����&z��������k8�v���H�2�(3�}7������H�x���#���i�47�o9��9^e'Q��>����z5&~Ofr�p	���������d�s�p����W�����+�����wg���I<u�+������_�����������-z=����cm|�n��w�8�X�F�f��aS_8U���iR�
�1�����}�u�oy��[���������kA���zpAr�s?�!8/l.���D;#Mv�=�S�N��9]h&�)/g��{��u�=X�U7�o�^g�8i(kinL5�d�m�?	(�R(����?�$���i����''s�"�%W2��S
��t���y*Q�2�C}�6����DPY�dWf�K�V��@i����l��62�Z��W���U��Fuo��k(�h�]A5�^����j|�X����@�hD��Z��<�P8��i|���-
Y��fD���;@�sz
G���R���T�������]N�t|���I���
�*�������k5a�23�����R\����]�A��14�G�����T����E�Ko�uX������mJ�4���|W�6�u�4=����+�{W��������3N�M)���iF{�;E�f���eT����������S9g:���Z�fS�H�j4����U����yS5~��86�����h��%� IDATew���]�%^����M��������l�m��U�42��x�����_^��W���� $�2��e��L�p�C3����D��o�h�=�����pTu����j[i�H�Y�t[hh���`@��!��@t�~M*��F��A�\�;5��u$���+ ��vA�j :�	3A��HV����D(�'��r������������GU~N>�����'HN���M_�8��!���&�$5\j{}^I�\����D����d����S�Gu��W����W��U�T��.����h��|l���7���^��vC�=�y%���GO����,Q����-I�?�+�zh������7l�k�3�	$Y�r:�����n`�}��XU�?Y�n�hl?t\B��y�������6��Q9����jv�dM�M�Z;�h?��>MSj�ylc�	���y�z*^�}T���q�Br����N��,��y�Y�F����h���
�����w�C���s}�������k�O�5�����5�W9��VE�����s��;%�9��)��RU��A ����q%�+����m�l��(;YmvY�KZ#P@�*��#�R��*e^�
.�+�*6������`Z�{K��?���[z��d��}U���4\�h�o����^�k�/�W�f������&���2.�0�0|m���
&Gf`��	M�m�R��u�b�����3��w�iQ�X�$�+����j�r"W��^�KAO���O�%��G�����ER���ap�C�������\v���������J��Y���r)�R|��s���w���nm�t�e>_e�j.���*k������A���Y�s%G�U�[����"�
v��/�y*K�a_����f3L���U-����B�������(�Q�.E�?����-Y�RU����m�^���G�h��,=����z]���fh������?�����v���	�^�k���A�&G�T����~���:L�m����+t��rX�K%=u^��!�)9��V��g��ZM������<	��kI����}��z.�,�mg������V���(,������N7i���'���Z��v������
��$�T��A�������{W��j���RnNe2�z�<R�t��F�_X�����"��l���7���%<�gt~�!���ep��Zo.R����h�u����[�J����u�V�i
y��T���>�.GoV�U=������������g�/���u�|/�a�;��������l����dQx�������;����+zM?N�����P��]k�]IWw=��W����q�:w��_-��;�J@��������v��Y������m������Ae�.��o�V��4�_��{b�*��J��kI49�w����y�z�}�8��������vY����H��<K���\|�oS
�F������kT�9�q�#OH>O�6�\���{��m�Q����{%I#���pe�a�6I���.e�(R���X�l6�t���RT�^@���{0\������U05F	=�*��VY3�a(����s�7�[e���_�Ts��`���n�����3�7�z%�;����o|�f�E�K�+����X�fi�bS]�c�������Bu�e6e/�V�=������jq)��EQVC��s����Hbq��4��ByOF?�s��vNtz�S�\���q>r��S5�������+RI4!OI:y!<�oW��8�r�?��������k�Ny{��M�+��Q�}@Fe�3x��#�*�c�J�C���^����V}�C���x�U�L�V��U>%���m3�[�u��h��n���_�4Sg���(�wI��l4=y2>Y�����?�e�u1��,�+�r�bg}g����u]�"�Z�Mh/>��)#-�3�Q����`s�5��t�O�c
���m��iUJ�kp��E�F
��
k�n���0������O�
;4��y4����_�����!���>�^����/�ai=C�}�Y��*�������$��Q��LOz�9��C�=��z��Z��|7��j�ef���%����I-}Mp��~[gz\���g��Z[��j��Q��uN�?K9=T8`��}Z��}5�?�jm�X ���t�;��y:�	�*��Vs���@ f��[�(�����r�juVF��y�qw���z��!����QU����V�p<�����4S�IC
�U���dG����N�5M3gGYA�?�6�����]rF�w~�?�����h�.���_�RZv�\�����vTh�/M[z��h��5D�kc���VK�X��?�7�i���}��1������|��Z�Es�N��G���wM��������j�k�P�vV~VmsN���m&������?>�M�{�e�U��j��NW�M}-��3�����|X��g�d��{`th��Y�a�M�T����P�Bu*[��w��|m>���o��0������0 eIS������'�TQo��k�.��8�piV�Lm�����[M����h��_V�7�����m^�2LDc�fm���q�]����i������C�c5��h QEC��m����-mfWM3�M���s�U8���T�Qo���t{��L��@e�J�
r�sJ��lZ��m��N_s��mc��������2����p+�q��0z��u��������~v@+���:x���9C+���
������sN�{�����=����]�d~e����oQ/��������i�/>TcOw���z������Q�,%������{H�m�
��e�E�Zz#B��RL�����n�'������]�CU���m�
��(o^�9���L�%��������T�x�J�8�����D��]m�A�/W^��v�5W��*��<��t��S���.�\^����=;
U���k�����=&��T�)�iT���b��2>��|��dI���������ay�6|��k4�V��<���z�����3L�+>m{�������E*��eo��0z��z���Z��n��E+�}�7��T��nOQ��nR��[4g�U��
n�W���k��>����G��z�Q�E�s\�������f��}�Y���$�����^X�����I4����Z���>~L��hE�U��q3�������v�>V�45g�f��F��le��m���Z�l����/`H!�����*?�+��Q�2S���8_Y����,^�����Z�%OV�!#g����-y�-CV�l��h��)����������]����4�G�w���0m�Z�5���'������{.M��J��R������X���35s�v��Zo]��[�1�����nS`��^%������������T�����I��d�&����$��e*3pOUi����K��=e-��������j�k��<�M
_�<��`������AKrV��h��%P�+�Z����z@OFD����q����z�7��,JgU�Bj�
F|X�����T/-�.�T�=��U�����!�W��-�|�����JoQ��_�9����c�R�Ty�
��k�,����j�i�Z:����}-��JN�Q7���~�K��#�����*���J����y�v}l:9q7h���=�F)����zx�z��g��R'6(�����Ve�����f���W��2�<��<FC�]%��U������o��\
1�\Z�4C���\8���3��(wYz�v7�H%l��W:���|������%Es3���J~y�����GF��V���N����������bm�e�2�����S��)������Iv�	����:�}����O�������������TR�A%���\��.�l��|�<�"|�:��~���xO���'K�U��RUJ��v=�^�u�f(�{.����>���������R�/�YU�����$9��j�<�l�|�y@�mr����)���|�)�U:��w��������(>K%/���25t�%�A��|o�Rn�P��)^��k�p�s��teMmP�G��.&#"�y�`H�m=}l����R���U��/�
^Z���v�����<���}~�aX��;�������M3���z�LH������
5lVs���U\~�V���t9��G�h�yf���I��0���+�U���gx_C��z�iU`HV��*}�nm�j�����S�����8OY�T�������*�������_����Z����V��V�.�j"���X��K��)�;��V�VUG��<Y�U�����B��]����+T��>������J��0|�}�o7������U8��~�Z�m����|���
���J��"������<�NKV���>�5����5����h�Vo5}��?��;�1�����Gc��^�_
h��������*�?�����M���T���}��s��&�K��o�c�5W�zgW��w�`�S�Qj\�2��������</����U�ss�9���l���y@��K�U$���������T0;��*��R����o�$c��?���{�L��������=	�)�{�I��m*},OY���u�U����@��/��bj��|�
�X��T�v����U�u����(���UW�^Y��W���eU������7����z;���?�^�k����}���R>�����F�9�rEU�*���*z�wj:�M�7G��8��n�&�s�R��*��U^]��+R���`_�������r������E�,V9n�V��7i������������}��3���Z_U�MK]�>��|u��4<\o�)���B�!�?��_c��o,h���/������!_�y��d�"�X��3����nT��D%������Z���H��~qV�`H���v�]�7O�miv%�P�����c��=gJ7FI.�n���������7c�X�%�:|���Wu�x�m��XeKti�-���&G|�84�T��Nn�G�C�.�7�����mX���<�������O~�_�aH���v�&�h���O�&�H��5����&�WC����t�(mn���~�}��Wn��7��Q��^���eOt(e�4���)������j_��N^��-����g+k�K�y��]�r.��U����5��t��O������@���<��_�]j;��&���A
�p�]��jP������iZ�O�<�AO?�jT���XZ��[b���'����:����t�~2�j��a���u�?=rNrI�l�KT45�`�������z@4lKb��U�^�hE� Fz�AO�!�	#=b��'@�����1B� F,�^�H<�!��?K�kd��+a�`�=�v�Y�����jB���B!���U�\H��������}�/�*��l��F�a�(Pk�T��`���zh���,�����Cz��f����L�����1k�2�&+gQ����wC�o������{�z������3w���o��`v�A�{R;wR�{����~��_�(a�S�e��e�0K���<���h���T�Ug;>]E/*m �$�K���Y>K�6y���1�+�?��_c��o���/k�z���M���.UN��
������T{*�������{��������~����:z�g�*uY�6�MUr\�;����W���&5����dQ���U�����y�mbI�&�x�!M�g�<��]��NM/g�:��U?$'AO`��*�^��V����Q�<����Uy;�yJR�P��]�y����}w��C�?{M���6�)I!5���r����t�c�������v)�)k��V
0�	`��W-�� �i�-���qc��PUH�[vh��W�9���y���6��:�(N!�g���R��U{��~��6m*~S[��&����w�����qR�;?�Koy/����]�X��[s��:�������6�s�	�S���YZ0g���V���j9z\o��m��5O��Z�3��o��	�0*l��}]�KW�pjc>�PE(Ky��2�<����S�>�acd=-�ZZ����;��~��V>��0�N�?�-���i��p�^�V�LIj}�}������nP���*�0�Q'���1M93v(gm�ZC�i�����{X�7�2��f��t\��M,R�+s�l^�X�Rg)u�-��C9�^�Gj}�z�n���Y�0��xq���'ZRT�*W��7Cn�=����l*_Q�
�*-���q�B���VY�G�Gjz����pqU�0<����t�\���E?�{���%�)IM������*��)B^����$�(����!O�~�X�u��6O��W��*uv�k�o�L�%�d]��g�yV,����1�W��_�u4������\j�k��}�9����U
�T��C�����[�m��Q�3K43m��Uzd�*�h���m����g4P�~��Q�f���f)i0�Z6�����ZY����x����J5����C�<�����//U����Y��cg_���E7�U$�}�UK_��Q�P����p��������/G_�&�i[�[u/)}�U��k��J�Z���d���
y�Y�%i����
�;$�-y*}�IMU�J��'0l��SH�o4���CTV-xl���Y�����ZIw�*sl��O�=���������_�����_sL�kBk�0���4��{�Ty@��U��s�i��HE�L^ZJ�\u����6W)6C�}e�OOQ��+�rk�����]�������T�Z�<�iM�Kd<����g_B^U��w��U�0~�'i���Ms����U4#K����m����=�^�4��k�[���J��]��b@D��_���������U�J��n�S���n5�����,9�S}u�I
yT_��q]�����&�����t�,}��P��?}9q\�]�����Q_�6��\��3����^sn����i�S	jS{g���W-���}�\v��M�����g����{��U�L���$���f���,���o���B��w�fI0T���.�X{���Y����[ESc�*�_��ouw��j�b����HW��{5����~�F������T�z����g`��q����g������XdM�VINk2/��K5^LF�������������t�E	�JJ��i=����M�qv%E�|V�k��,Rc�^��������`'d&k��f���\��f�����W
����R8T�*s���K�C�c
���0m�J���lE0t��i�W�W�M�eu�8�Q��q��.����U+��
���>����K�y�O��P���
���n�j��-V���'S#+�2T��-��?�Ps[(�k��J���{����:������w�-V%O�_��3m���{��oM:x*|�8�S������9��)��Z�j1��i�X�3��x}�jI������$g��g�8�C�n�_h�:��_����7��l������zb;��YzlQ|��F�@��^m�
dN�W����i�P��%Z��[��d������m�v` IDATk��)o�S
[����D+7+k���Pi�
����\�����<�)Ig�j�>���/k��]��h\�'��g�W_+�)��!���e-_�xY�S��^�������{�7�5�r�������?.!^��A�PH���k��r�+r���|�{����5KU2�b�4��^W���T��8��U��?t���*�&NV���k6�<��x��i���-��.RV������G(W���r+ �����������d�H�SYO�����*�I�����_=��)3��/U�Dw��1����i��QO,{MOTw��3��3����(�\�V����7������`�j�C9O7���n�����Q����g�~4��4��t�.m��<�Eqkl������������e�UMC�n����N��_��_���^���_��OR���%����;�r��*
�^^��z��#W�W��o�6�����C���gH��iS�[u/*�vyw��l�y���*�({�U��A��\�i�%�'�	#&���Tf�d�NO�����q�/!��l��C�U�~����.�y���������S{:
!�?gn��{��Qu�[�Rg��Gf��9N9��UC���u�����qi�;���[���������F�,�T4���Z}@;���Y���v��3_�}��V��?+T��:UP���y�I����K{�����O���Tx����z��?�Cw%��Ot��Z��G��)�Vn�pf��,Q��R���T�v�JW���]X�Z\��w����Z��9��+���@C��z��4C���T�/T��L��w�J�x�����vx�~1Wy����C���S�����zU�_�,J�w����T%����k��;4��i��������M�*�{�.\�����b�E2g3�����/t�\x������MJu^XK���%��>������C=��#U�Po������/�j9��HVR\/�1��z�\�r��:���Y%�����&����a��I1ZCA�A�_�R�b����G��#��^�Q�%E)��s�����{���-��~VS�>��t�ZM�qN<����]9�>y)�l�H�����wE�����s���[���bW���T{h���vn;uD�����{/���-�'����;u�S%i�]I�{Y`o�j�M[�w��������o����D9�n��qV-����'�rN
�:���m�������,�}S��e@�r�]��X/�$���oH��lP�'�����b�O��)�&1M�����x���b��o�U��XO�4Cz{���ZZwY
������}U�?M/I4m0T���y�,2���*|�������>6Q����ZpiCHA�N-�������[���L�>K/�)���_������C������'������~~H+����>�5<���m�]|Q�5]E��"��
"eAOI�D�OV�:����e��n�����y�QM5;c�&�B��G�������&|�������x-x�Q5�-�����}�j��vS�?�8g<F������������0i�6n��
����Y�
z���/�:���Czj}��#�F��
����n�c�jN�R�Y%�.�0b�����	�MV�9���W��H=-J�-�L�T{���5�jS��_��-��-80���	���Y����nOq;���M������H��k��&�^
�Z����Z��yj������i
���u@oS���O/l���=7K�
W��v��[P.�����g���q�&�m�AO9��#,/y^��#wu\mX;�~mX��^��s������������`�YS ���j7��\+Gb�~m�U{��q����]eRM������B�uF�������Z�N�+�lwk��1\�ait=eQ\X;��_"���D{x�k�MyJ��[;��H�&��d���WK�@hD_��b^������N��9hj'&j��(��]����M
���?���P���j��>4�K����B��kt=�����1J�!����D%��mv
F[m��?���i�-R�~�R��v�MG�E7E��m�����z��#eQ�����v���������D�����m*������^���^@d�2�<��s��v%�����_�Ts�T�>����e���m&^+G�*��dq�����B~�8����~���
uZ�:�%D�j����vC�(f�\������k"wF<C5/�����iq(wU�Rb�&�U���#\H��4��\s�S3z*o9�Fe������gN��PH9}���C'�b������m�����Vsgh3��}Mj��;���g���u�i7��q�=r�	�rHj��nkS�O����aH���hXiRMp�G3�a��i����/:#�w��6�
=F����������k�r��&?&F�6m���jO-��������6�*z?���j���;Yz��5��Jf����7����Bm�Y�EX��9��#W���0�~d�*���6������Ty���:]97��y���a������h�u��|vDo7��b�Vs��(`Dh��Y�a�M�T����@���T�8#���y��|4�����q������){�J���W��8�����{T��o
S�.��������9�F�����������gW�u��Z�����Zv���L��q�u��^�?M��j��_|�����!=��q��[���YJ�i�q��3�\^'���������:�U��j4w�8M���}0"*����S�U|�#�+0�
��gH�����/���[�b��zc�I5��\j9�����h��=�<e��%^9?�����j\��	���F�-��q�vb;T�����f�����?�2�zaQ�#w*'�����k��?��T�1�>�{Ti*�7��Z���Y����k�X�����T�kzb����^�z����{M�uF�F�U���q�02y�lP��{�V�?\���n�@,�^�`h?q\o�����M��8��Y�������VZ5����%�=��T�=��U�����!�W��-�|�����JoQ��_�9����c�R�Ty�
�3�����|\�?mTK��[���e?�@��7�����O~��u�W1?Y%��S�}}�7���5��c��>�M��j��D��H�p���~���e�R������+�#�Q���k��y:r�zEJ,W`A��Cjo����cu���j���*�}��U��r�?�C���������`�f����{~x%�^L�w�^?��_4���$AC���i@�d����7E�����Uy��*X���s]����tp_[��!�U��r���T%E70��v�i���v���k��z�W�zgW��w�`�S�Qj\�2��������</����U�ss�9���l���y@��K�3�E���;�`v|�U@-V��;_;�.PI��_�O�[��wT��%�u�,V%���g^T�=���>��#P�A�/V)p�m�V��i�\��o�'��k���
�|���=~�x;�k?����Ydk�w&��t�������A*���x\�G�t���
CR�U���J�y�nK�+a���;����j��U (i�%���-s�Ra�sj<���mSK�y�C�Z,�oW��D��u��c�A`�X�%`�
����e��]h����^�R^�����'F���
����i�>�B����
u*��U���`(3��i�~�R��t�
	y$�X/����v�H]rI����U���zYF���#�r_mRn��`��*��z�AO�!�	#=b��'@�����1B� Fz�AO���z0�>��}t���s�CV~�I2���:����)�u�oeI@�p
�/��p�Ow�w�������J;�{��{V��4f����x>�sjm���l�����\�������_�U�).����a���f*��B�2S%�{U4�
M��V��m��W�������P�]��5i��+4� �V�0���C-|�I�%IN�8����xQ�������J��n�,����I���`t	UieJ�vw�U<&�Tu;�����-�����I������GH�����}9��Y��rk�����.|���X�m�K�����o�\���	`h��CZ����w���Ck�(u g��_�o��6���W-g����L��Y��97Y9���<��j|��6��L�����s�e�O����t��]����Z�u��]��O��b9n|�R3�uO�,�X����`P��(+{�|�lm��U�P~"9�����T�[�2�$�U�x��N�Rn����49~�C]�W�S��m�*�G�i��%Z�`�jN�6��@_�$b�[:_WZ`_�Vou_hX\�]�F�C��/=~y.~/X����.0\��|�u��b���B��o	`0t��#�������#�^$�!a�=M�i�N���M���s���A!����V���jO���W��M�{�T�����6_�{�Tr�Sx���O�Ty]������T��T���6-�����J�O��W[�~SOUx���!O����6�s@/��C�e�����9�b������~�w(=�P+�\���mWde������P������JY\���1^�p�i��,[��@�2���,S�����,.e?���+�6�Vi�����5])���������[/�3p�A��b� ����h�Q�K��p�q���T�"]���C�j�N���&k�������DC�0F:�Ed�>���2t��;��_������MZ��K[�E1A�P��]�i;��W�D�<wRe����ho�����*X�W����ob����:|���N�on����i��G�����*y�����yS��;��U
um_[�`���<=�DS��_c�j��6(`�aG�Jvu����%��W.�	@�l�~�N��m7T�g��<�����Q*�Q�/K��bU�[J��@��x�	�����]_|��O�ifZ�����k#�"�w+4�i�-���qc��Bj�!���y���6��:�(N!�g���R��U{���
�iS���!���Z��Zq��JoQ�'U����VW5���w�b��zo�
���
U���-�iU��9Z�l�2��e���'��:��!�oiR����'�z�%��S�#�����
U���w�@���<����S����g���49��:��<����G5<�z2[��*�<��������\rMs�aq�6�l�J��MOVM-��}����+~�����"��y�a�^��o���04����%^K���s���>����C�����g��z:�!�n����#�yA�[�����@��T�q�J2L��&���1M93v(gm�ZC�i�����{X�7�r������
�x-xr���p��/!1Y���Z��*(��j����?P��T�,�Gq4�%�V�c�*�������l����{�*T��j�Uz�|�������q��m�S�-����J�^,U��z.��
���"�.�S��C�h0@������Wp�O�������?������������&E��C��	`h�*�����:x�kK����������$�&�LU��R���!�^��d
�Z�������i��,�����
�'����
�<�j�Q�9�z��*��4��i�6��Q��C4T����P��5�R���W�������@oc���Y��iK���#CV�D��Fo�����*z�F�_���|��h��*z?@'������k��.W,�`��^$�+��g4P�~��Q�f���f)i0��6�����ZY����x����J5����C�<�C��qU�3�>�b��S5��e%���V��&�?Mz��>��Iy���V��EJ�h�|���`�R�Vk�'a/`3�yg���M���+���l�����&5U+mX���U�A��?���*����a�'���y:q/����}
���&S%L�<6_�
�,�kV��A���R�9��A��������p��3�������7�S\'�:�7��������u��7�d���BC~�������!�����P�#��+(R��JT�B�������M�s�
�$����gje�[�$��,=]���t���_���S��ur_�_�����Jy����zd��W���r�2BV�.��g)k�-�K���?��������:Y9"w;T������F�z,jQ�������'�"��]l�C�fOS;=lz1�K���37��SR+��F>�P	�T+MR+��(i<�6��W�l�����dkI�l��,Yy?3��R��w����}�����\��A����a"��;�L��`f�y%�U�^��*��C�"
��
:	����6Uw�1�I�|�a���<Hh(��ezL�f��6,��MQ�d|����( �1T���.�sI�B�}~9HXQQus8����G�|����
#�;���6�@���PB�	~"<���EI��`�t�
����y5"�; x1����F�wX��k^p������ET�>���m&�e��[��>|g��~��
�KN���~��l8�'�P��2
����HHz=���X���*rv
1�l�y�D��	���!E�5S�[0
`���J���$<�
�l�v��|�����B�#J�a����X�-�+�`e"�5��h�s(3a�q�X��;T"'�������J��v�s���
O"�c:Jh�*O�����=Io��Xn�%���G�|�}�Ta�l�b����>8�~��a�@ �������9vB��\z;[���� W���Z�D��k,�v�����i\�/�������N^�O#IB�E�K�}�p�
#����/����*�d��@ �@ �@ �)ef�~�K�6?�=�����?��_4��Pa���6�~��TJ��WUa)��x�h���XRY2\�,���/J��
�N�t�"�a��I�h|������)�������-�tF�o_`o
�g{h}����!�I[I�j��x����S7���J�/�������J��r�[����&�������5��d����yE.��|�<O�X�T����4����?���z�\c���d%��M��r�bZ�:��n�o�U2r�����v������#U���8������L�H���~<�{�=������N�r�	�'-�6Q���g��y�D�������
��4�q�G���;vu���m�~�����Q���F��.<g3���I��4��\��s�yEA��A�K.�'#i��sq���V�j��\�O���j����h>6H��@4�_����^Ls�:=�Z'�{Zq����Q�{�������P�gR2Xp<�B��
X2�N�_��	O��NO�[!�7����Pov���K�������]V�r"~}%m�i^>�]De��6������=����DNz�u{���=J�l��d����D��N��In��Xg��w����xT IDAT����97m�Z�:�����Y�{���'���n�|�;~�$l{�a,�
��uW������:�v���������o<�F�����{�#i���B��.����"��?�Pmx�E�m����(I����b��m�I�_�.v�t�\�J���G�x�}����:=��z�?�I��,Q7��F���O�� �i��W�3N!�38��h/v�O��f����L2	��ul�������D�|�0\�7�����l�{����q���������I*��m�����.��Xn���s��s�r������3E��N�i����[h�l�Z��x� ��J�F�������<�f����g0�TN�[���M]+B��LK|r�����
��������uz�Ov�~��A��z�����>��J�[n:�f��J���cL�����"��^��o�u��xO��d����J��u������^+�v����>?���T}0�W���R;��.'�~�����@ f���E��|N,.�}����9S>����kU�_��U�E�_���%�����\J���O������1��Ko��/$��������X �����i6k����}������S|��z���a�@ �(+������c��2,�������JL�	��S������UE!����G���f+F�#�)�N�\UQ���1��D�l�fm�3mBp��c���4�:?Ms����K�e����i�c>�xN�m���S��������R3�;e_y�WyA�������t�Z�	����C��<���X�c��uf�Ow�sl��v������WW��?���������5�?0�g)��7�����r����i������"O��J��E����i7�b�--CZ4S����L��?�.�?h��^��
���^Pe�6��?��>� �<���=������G�Y����DMbU��?m�V]OW:!=��Ta���d�4b�l�}������������c���W|��l�z�>�����u��Su=���srj�'����b��Z�������1"GZ�Y�i?���Q����h�UD�������E�?y����"O������������
��t~���f���<e���wf}�|��j���e�|��y�%�A�ko����t�N-��X�t�E�c%U[]�5�����
��Of,���Cn�����/��$6�A�����O��\��������t�O�*xw�����^ ����>�����^$��p?e�lm�}����B�����U�6�d���6.�+(��}#����������[��3��6^���a{�� ���Y#�W�x��g{��`�O��&\CS��Dm8�c:�{���Hy_#U�hy5�����O���n�uv�7~A���S���A=�C�u�>�snZ�o���������)��8�@ ��Ss{��(W����QQ��CZz#��,*dN�����	Q��o�e�����+\��/�Xrs9�,��e�x��M�|S9�d9��"��������������I'��B7y����`�v����cj+���@ 
��y����fl+X���x!$��k~���O��!�`VD�s���W���Q�����ml�mw3�W++b�
#)��$���g;i���<^E�`�\�GR#��P�7j�M�]���\1����R��$i�w����F�)�#�`.��ur�$�D�K�����1���&_����`A2`^��W
H����A���"�N��a��W���*��A�gC�sUCxv8��z�{n>E^	Vf�9
D#���2�=F���*��MS�6�~xb�2�����E�7a�6c�K�� ���D�`<�����{�Q<U�.��X��'5�Xo�Rm�T�&8 '��?]�/�=������h�c�l?��
��I�F�"r��[{&*���0��Qu�)�:@���
�������XM�Rv�������b�T�V�Rg#x2��:V��V3mh����(�"t|f'��H�!��'������=/��
3������*�>
<�$b����M���t���iTO�S��95�z�?\0}�Jp_#u����3|N&��~�P�p4L�S����%=��&e�	i�"�l;�k����8������4I�����S�e��j~b	5�u�f������PQ��<�U��������4�s��
��OI4���n��bI�yu&�� �6����]Gc������Q�����$�����m�+��N:~:>��0,7c��P�C�'�oS���|��
WL��tnr$��	$�+,T�fD/���PPNz����'F�y<\���zp#a�����/��>_����OQbU���T��^���2��u �3���P"6�����{���H�O�q���L�!aXea�����G�s���z��G��,����2��db!��TF}�nlIOo������� !m\�q=��cM7u��?�~����@ AqQZ=�*���M��j��[/r�C���u/q���1|�E������e��3p\�8BB�)q�����?�����A�����K|g�+|���X]�c�z�M��/�c���|<�%m�����m���eM�M>��_&�&-J	�?�����j��������W��X �@ �@ �����M+1�<JW��i�f�%�K�t`���������]����u�p.@P+��1�$M!����
��{�x�D��� ��|��p��'��5��J]�e����A���&�
>o�$gH4�5�v����:�����/m���E�2�����%]3�K�����0���Is�L�������f��3%���h
�c���Y'I�;�;�5U���&#���=�d7��s������{��������3��k;i��P��Ne&������qad�p0���>z���v_��<���U��v�v�@m���	�
��
�:�_SnD��b��f����W#mZ��d������&�K��A�����Es��>'M�����������R�����\�@��>z�}�y\���K
�'�K��FZ���L��i��@,�TZf�����g��|��������:��?W�e*w:���DrR���f��0�3��s����q�0<m8*5����=&|����V��������(�r"����m������N#RO��>���Q?��
��N/�������;Hxd�����>�s��G#����������2�������d� {��_�c���W�b���#�9��AS���&C�D�����������zO���'�%���R3�UY�c��o*V�t��?�	��^�#\8��0xy��tP��P'�����+��/�p�;�.N��i�f�Um�>�*V�Y���X"�N��������0$p"����8~b���0����j��#-<�jQ�������OE���_$������)}�^���8�as��E#xvl�k&��M�m����4��S;���eV�^�v��D%��;8������>�	���V�CT�W:p����O�'��tz���r��F�>������c��#r/m[,I�,#���K	�s^�}t���;�K�hdXA�@���t�# ��4a�*��,����
�'gc�y����]dd���$������F��?�o�!,w�����4=���`g�,�{�Jh+]�TXf��'v����A.\	�{E{ ��c_0�����.��A �@Pt����(\��+iF+��p���m�o~�����kZ���&�p#�����������M>��p�c=�f�������x����+�&���hI��?�j����F7h��:F$��s��oL����yd����v��d!jt���w����@ �@ �O����0Y�i=D�������9����I�F�;��}��7#�����Q��U4��ChNB�B��}��� &���Q�������k�sl/�T���B�Kn\5�.� �����P��h�o����x����4,�~�L���x49U��]�����I�Ra�����!5QU,b�����������6X1e<
�������_�q��� �^W��Z#���M�v�O`"M�b�MS�/O~����W��k�3�����g�L�k����/�?�$%���j�_�>XE~�������UN�O�#]��d��d7>w3�����p��[rh�	���M(
��x��x�����s,�c���sO/�3�nHW�M����f����x�v��:�%Lkw�wl/u�R���uj���U#�Pd|��"�
�
�-V��]�n�~��jmT����������Xk�qL��KU4�t��P����i�1O~��W����q�������t���Ip���
e���~�b��ef������ ���M9_-*��]x�AZ����A���L�}f�I�:	�
+uOv�'9���1��r�5�

&�8N��R�		Sm3��Z�j��~7}SN�Sx?\:6�/�K������=��;��ms`��pa%�m{�l���,����&�=/6<O��_�c������5����|�K�M\�xi�S�R��
�����^|=���'�iEm�n����/��@9�L���V2��F�kM��g��:v� �N�)'O�W<\���izJ��$�������FZ6k��
�
�
���@6�K	�pzr7�+t��3"=4=�N���8���{�{���X������Ic!�������-�{�+�{����9�8:����{^3�EE~�C6S����
�@ rF�	=���N���7x��tSE����w1K>;�������YD��Fy��X��C>�b5��X�K�����_����1�U?���C�����:���*W����\���4�Ca~?2�)�������Q�~"F�@ �@ AN9��w�x�U/�5��?��%'�4�u�r;�0���c��2=;����ZB��9�������5u����A!�,���3)Y6uO;1k�0B'Y%���	����c]k�F8���>��)�*�����u�$,O����FNxT5E���8*�s�@����7Ug��^���y�����
���mtn������HN�=���X�;�H7m�j*?�Yi=�:u����mtl�$�r�u����hL�#����f��9�
�����}7]�4��3����)lX��c�69T��Z7�u@LV���c!dy��e|���V[A��~}#ML&����x��D�(��u�SWY�i��I;�l��:��g^�����`&^���5Ol��)W�0�w�������2�@�����8WMsAu����|�������6�KP�!�nb{������4����K���F^�t&v�L#������fm���>�3��rn��E	�*�h{�a���@���I�D�p\�[��;����y�Xf��1{�$.��l�����L���	��^\[���1�5;�}�����4�,�LyW�����oHwTaI���wh'�	���_�6��\���!����pk'7��E�3���u�L�K����_4�{�,�w/�{���k/MS�{L7Q�i�z��:]l��p	��@ � w���s�R#����y�f��-���~�_�la���M�s��R6�,���C�����E�L�<�;G��Pli��w���c�
�#��O���i�y�!�$M����i9�YTz�ZJ���d}�S-0��y��y���O��"R���s�]Ks��_���k�|v�_�sJ�Oy�Wi����R�@ �@ �`�����J�k�'���{��
	��6����#�2	��F��^�i�Db"U�����b��?l,q �q�\=�J�����
B���A ��S5Y�S,:��2vM%M����H�1Ym���$ �k�J��o��1}�Y`@��f�f���9��� �����D��u��=ev�[�I��}G���:��T������U�l)a�1��
�9R*�)��iza�$�iP����V/Z������(�'�}����*jXe�L����
���9����_'Im��� :������97����F��>�,���&���6l�d{����&���N'�^(HX���,J�/������D��)D���Ti|�B�|���b���c���x�tz�k4��	}4���`�E�B�+�a�3��aZ�5�\��s���cEx2�2G�',[��O3�j�������WYx��YMK*���p�W*S����0�����e�
#�����&���
��:_�H�B�m�S��1]��^sF��:����i�U���f��4iD���C�l���|O*4M1�E�v��'j���4���.�@ ���	|����O������,I{6�C��i�$���v�su���'�y�G�a}�w�=��Q�4���;���l���������K�T��T?���'���q�dt�#?�����{������6S�������%���e~{�4�����&G!����������?V�w_�5G����������/�����_3m#A) a|/��O��h5�9�@PL��hx�u�I��r�*��@ J

�x����gZ�R2Q���� �eJ�������kS TTUe�� ��������_����T������	S�C�$���(%�F^ (,��z$�'+*���P��g�\�`�c0�a�.�H,)��W���uRT��l�'���h[�]��9��nBR�����P��6}��|��a���e�59�o
�k��w�'�IE�>�Q���-�C�QMC�	�t����b[���bx�G+��I��F�������~�
	K�=��-��n���C��U��B�r����Y$z�U^#r�Pp?��q|?����u�)�%��vJ6l���cn�pl^���+V�$�}�O����[�'�x4����u�����L�Hu8<��Kg����&�5ev�jlPD�V&������*M��Cedx�ZH���R���P\c:�2m��V ������bg���k��H����'�6�?���lW|�����	�}Y���&�:Ub��(�I�=�$��yc�����?��p)�/�����5"N����7J��bQ���uC,p������$��~^�8SZ�@��l7�c[S�t >���/�8����.�{"U��e�N�Ti���
�+So�_?\B6,�@ �)>�������lV����=���Ko����'���N���_��Ke?@Y��{���"���+gK�C���	����y�����L>��_4#����e	q*�M���Z�4�������G6�������N���/�t>��o���/����0���F27��8����@ J	�Z'�B7C ������ o��%[Zn.��Q�`����k����>���y{1�`Z��^�~�vYEUI�2X �S�
��?�`���:}'O5`)���,P���g�����%&~O���h*D�
������:!`��'�_�����>|�
8��p��OS�t�-�>,�~�|���ZKwTa�6ioE�2�(jz1HpM%�yD
 �)�b�� Pg�d� ^}U="er��"�T��S�
��4�����\���X,&�C��h&x&��%i��7��+j��P����>�'4��"^<'�~��X!'�)������T�@�2]c������X������DR��L�����U"�d�!BCa�Q5�!a���H�*c3>N���|T-RJE�\����LT�0es��$�u�D~�:��>V�����|1oc:%�,	^12��D�I��X0���::B�"�\�p�)	�"�YyGvF�7�1���C���D�B�<������	�mY�'%���C,�3"Ni�������y���x���I�����$�t�@�2^6F��mxj�<�+��+�Nk��V���C�	����<
��a��W��|O�������F�s8��2�g?\B6,�@ �-�YH'Q��x��+��#��(o��/<��E����h��[��G��z���|i%��/�{��|Qy���~��8�t,"Q�S������{i�<���Wb��R���C��N�\����X����t;��x�>�;.�O��~�S��=�w�J��r�_����w���J��w��Fh���De<�@ ���3 IDAT�@ �@ ��sM#M���TST��1tz���$mJ�o����H+,8�u�������3���i#U/4a����������b��lF��_���V/��
3���N����&8���g}�J3fM>w��7I<���3��og$���X�Y$�����pRB����1�#��c��&��D��#&�="�;�Bx�o%���Q���:�����t�W5B�|8{��/3c�I�-	�s�R
	k�Wg����7�U�'���0�l�fk�K�U�2P�Y����'FCx�e�O�U�����D�
�F�z]/��]/��=���&���^�G4��u4������^\/v�:�A���CF���	*��sX)�������^l�����,���S��L}J��p*%d�y!�c���|���}.<'B��l���9��BPb~�1f�2S��s<&5:kmx^��IWXq�z_e4D0��WWb1�p�;�p��K��O�]�{�[��nl�p:���
OI�t�{���G��>P�]����y�C���U�W���gda��r}yvm�����cN��<���a�@ AnYP����[���[y!���h���.�At%�O�:��!�������"�j����OW�x\Ty���1��;S������?��*q�'e��y����>����j�v��~��x1�
��t�C��`��l�u�K� �R�C.�!|�VZ�������c�M����@ �@ �EZ�I;qtz�5�$P�w	I*�����l�Vc�b(nqVq�N (qtf�_sX���\r5��{n���'~�fl5�6;q�7�������H��E�h?�V]0.`�	����*�!�����L"!"��c2h*����R�a�fw�r}/%9�\���b�q���H�*K
'V���������e� xv/���daoZ$�{���c�(���q����H��/G?���/Gs�Q�d��Tm�Jr��
��A�M�����U��0"�� �����4����D�X�X�:y^�������{
�>���fr�N��M�F�j�P�%�8VE~���n�x�$��B���`4f�����J�O�V���PJ6�/�yh��������fb&"�\��<S�~E*'+1�>����0��6�����yBZ�>qE;)�NOyN&M'��p������������-\��\���$��;*����������.g��.�{���$�~�dlX �@�kJq8-7�V�\�!�B�+#\��R��:�� �/H�����{�i)+������#�k�����D���,����;og��i6�6����f�_�tZt����Yu+m��_�b�k���v�������x�$�y�[��o�K��@ �@ 
G�^�c{��Yb���^�V��`����n�����y�g���F�x������[m8����g��Z��9i�~	�j;v��W�)/��\:�FW�l�2��d[�@��K���xbI��
;q��i}O%��!����ME$[WX��i��H�j���dBJ��U�U>eNP�P�p�!!�Y�2�RLB�IN�N�%���#:6y�
�U��U@%8 �`�'������bJ������G_�����4��6����@��V]��{�[�I���b����v�IMS�����$����������
b���UfLK�'��h�+�x.����HR�M0;$�ufJ�������
/0"���u.�
�����U�+�o�&gi����M�8lg)Y������j��!�����`g����2��@����
�7s���j���x-��d���K�z	�@ r����3��A	��W�B�'�r#Z�����9��v�b�h���(W�
�)y�E_���R|�u���|�[�9���\��t7bX:�fK���z�����=q���>���c�[������_��;��UEU.
}�����R$��@ �@ �@ �3��/��;����	>Y&p*Hd��S%��N�z�����./��i}�3)���v'/�P�b��yC]���n�a[��0.`S1�*����t�k�[�E�{rL�6��2 *�K�)�Pm�\�����,�&(��k�r�|=R�=�j'm�Yf/�����x������a�)����V����S�}�
�u@���T\]���6L����F}x�����J�?�H�\n�f�A���B��g���P/=���j�M��{4Q
LZ�H��,�}��.��Sg��d'];�L%�Q�H�YR��!�J�5?|����=I '�����������P��7��7��(e���`#5�������.N$'�����97�?�H��^���������8L��c�s�x.��='�~����@ � W\�BOtq�8Q��5��_^V�"�	M�gp��������pe9�|!!�����
�oJ�r
�����rnY�q�I,�������~����tP�ff�����
�@ �@ A�erB�@ X����nl���)��*�<G�q��N�������F���(�?��{��$P�k;�{�9+��::����3�j��	������S�����8�H���w�U�c
M�!@�8�/	����%��S�E�(
*Y&�GFM:�N��B%����k+��4>�$���U-��i�*)\2����P���%CQ ��*#IB�L��flV��C�g"n�����{��h��n��.\�1�fR4�,'���j[��)X6�cyAFV�h���^����k���3��%l������_��?�D+ay��w�5��Qa$C�g��(�~k(���^�����p��!�	���"-����+��
d��$W���)�LN�p�R�����
#�2w���x����,%{I�+$����&�j
��YR2�d�<����^�@ �\�7�n@A�d,�
&�Y�AT����I�5���\�6	��>O��JB�N�Y��4j��]����;��?^!�9��_��\�����o�,Y��Y$�@ �@ ������2�������t���kh~���3>��jS�T�C���������::��5e)��*��*�-��{Q&�2���G%��u�������������*��OG�`�.\�U�`����P�p�G��4���1*#o�	�FT�^�{���V�1����4UE��Fg�d���GC�/g�y�b����&�KV;U����
�����/&�4���
Hv5�� ������o�Ukl��<�������D���N-<�=L�>�l�m���L4��_#2�����lD��"4�U�3�����S(?,(8�?^�<�����r�P�����_��	g�
%��h�0�\�9�a�E������xu��G������Y3�>3�����2�^��P�e2�
�,P}	� �~����@ � g\�B�k���^[��rn�R�����p�V:�1�P�s��j�Ko��Z�@g�[��F�����B�2��?'��������$��e���A>�@����[s~�@ �@ �@ ���I�Q��l*9]Z	��<��
YR4B�|b�����S��|1��p�-�%9V�`�dy7F}���J?�[mL4_
�l��x/H�����l8jb�G���O���/!3��,���k1�1i��A�`����LP����7=�Nkc(������;4�:�������i�f&��B�T(��I��5	�fs!��*,��
��Q�qAt�����6.���=$	��DO�L�&��t���c��{�=�x0�5
�Wf�����%iE�lO�T�"s�%Ba��?�'�
��i	]%�������`!p2��V+�OB
�2�T�	j��~��,�EH���&�R�����
+�Vk�"��/�t��g"�6���w�h6��B�|�������Lw��Uv@E�
���SB�$F��p�]/�@ A����Q�=�!k�`~��7�U���k�����'�y�w�}A��w���=�mK3T��q��_#��(���4�>��������-�?�_�U����i^>x%�|������j�@ $��~��^����g��yA!�^��|O&���B � ���W$W���S��A=���J�t&wA"!IZ�A)U����'%���}����YV�Q���-��Ti�6!��	�B���HR�`�/m�}F�xNF�L$��6ls�^4W*lX�B�a/v�:����_m�2�s)7h��gVE'�ZM���P����'UV	��|�CV9��^<'4�d�*�Sg�����)�S��h=�Z��=��:�I@4��?H��/Q��`��"�3�L���6�F��U����3qy$���U�����6F�b�-Q�t/��n�Q�~k�������$���j�WZSg���^zN������'��?���T|��$�\��jf�����S�����.Z,���Ii��\xsx��%�D.m����A�b�i]���; lx�R:��du`�<B�#=x�����'����z�C2���8/��Ep	�@ �<���������[[-S�=ko���[����T����v��\��@�+<���j��X3W�\��o����������S����G��X^t�7X���6F����t�����/��1�@ (F�v�y�����N�!1��@ ������#kq�+t��@ \��n3%!�!�'�I�����d�tYx�
���J��`[#(5��ej����.4F'}�S^��x)�W�f3�Re��w)6�����8��I/=��vi�:�����E�x=��'�1ITY-��2���n��jQ4D�>OI�~���k�=�������I��cu�fgBx����V��DF�5���������r���\bE��'#Q�&Q�R�����e6������n�X���@�J�Tm�����t,��aM���c�x�#��&�����Y�<'�h��`v�u��h���������[1~8�
��tH.pE��)��k�r���l|����.�R�1J,NC���t6;��uD��l8j��/����\�XTe/�Y>+������:m�y�E�����:?�p�����Xf���>�/�ibI�H7}��^��L�U���QS9�b7m?��;�TJ�����.��
h�����]Y��@ ��,�a��_��D#���k��m����L����l���U0o~����y����i��H�
�K���e���n���7�q���G���^a����L'7�;~����K<�x�O�*��Ne����G��-�k���[y���3�U�@ �@ �`>1�������m�$C��:N.��3U����"Op,�wh�e(x�w��r�<!���d��N�{]tk�yiE��
=%,��/H�+�%OE�<�H[Q�.	��*!`����X;M���U+���������o���LX�M�#�X5>7r���#S����B3]g5?U6�\;s���cU��l�u~�������-��9�����2������~}L�d���A#�Pe:��D��q��y�[��J�i�������y��G��}%&�V��'i:L��=9����=�D[�V
���b`�F{�]�z�t%U���m�Q���t+���}{q���+^Z��.�
o���[2~81���o�7s�L�F����F�i�o�7�<�jq�W~(�x8
�Z�uOQQ���-����:i\6���,8j4�F����;+a���"Fg�����w_���~8�q�z���O�2��<��i��
��a����(����&r���gA�SP2�����fMUO��F�f��.� �o��'�|40{J�����.��%�@ �	X������m}���y�m�������/)������ {w��=����v6)]������4��n������z���M���>Nb^��:�v}������_�#��L�����5�2�~��m���a���l��+�\I����>Z�����iZ����������2^I���+Wx���������BR����=����@ �@ �@0Hk�X�������P��J���p��������"���c�&A�b����y�O(��F��@0��M�(G��nS;=��(j�m�}���h�6q��FZ_� G2e����n�6AU����,>,�
�hsOC�����Js*�y�u6�_
�"����eZ�VL�>U�t&����5q��+wF"�dZ�
���j��h��aMb]4�k��G��(���h��u8vk�y��8v4c��S�$*���#��>@��n����'5��d4{$�{���B#��o�^���r�$f%��@;��_����������g=u;Z��a��v<'_���]4�u�sQ���&v><�Xy����[��gx�t�������"�h#6k���0�o�\?�����:���T
����F�O;�~ ���M�����z��W@�G?��O0-��d<,������_�!)�~�v������_�zw}R�'�l'�
�x�e�+Az�}�c=����(>�)�x8��N��Li�q?��Q+^�,��h�������k�"�\�}k;=G��O�����P�.jw��V3^
��`��g{�gREdzv�SU����T�y����C��c�%yR�����?�"U��w����ya�����7�w�=��Z
���
�c]x�g~�9��kG#���Tmm�T
\	���I������^�@ ����Y�������.�����H���$�������D���������s����ON��S��_���p��M��\N�]Fn���k������I�v���ao�WY4�A�w���8����o����f�|����_�[�z��|����*�_�������Y��k�QN��7��7��� ��&\S�8U(���7m`���i�O �@ �@ 
D���m�"O$�D��������0-�PGB��ctz�;Z1�i���+?�q�h���E(��V9����EK��+�8��^��|�qQoi��!�D�\tU�mM9�[����8r��b�����H��N�/��gT��Zi<��vuis/#=uGZ�J�������		�r6�	cE9z(��/rJR�to+��PjE��X�j�*C4����X���f��#��~�'C1��i�m����Y��U6l�&�U�qX'�j�]�Y�G���TmM��V8�8��N����������{�{��~1c�Ad��`JE9��.�n��}�i��Fo�����Q����)/��������v�T�s�q�����x���=�7xh�����yY9�cD��h�\d��b����,DV4���^lOx&�"#G[Yg��l�c�,gqt���S����2;��M/����WK��4[��8j�H�W;�/�$xQ����m���.�T8h\��} �g���s�XGc��p��V�^��~2�v5��{�����T%Lh����x?)a�a��:J���DA�����9@Z�L���������>���i���J������� Yi�QG�#���$t��n����N��r������rlb�eu�=-��tO��L���Z*��+e�'�}��<��u�����	oJ����E�l'>Y�L����{!�Nd������J�	�3J������bz�7����=��.FW�5%/��r��L8��&������I��}���M�V���f�\���0���N�&&��6��x8���8�-�q���W1*��u%�lw�P	��J+�h]��������F	�^�'����A���g��o;�k���B��{71:�	�eB������I�<����^�@ ��R����(W��f����w�������*���+g��[������$����0�?�@���T�}��w��!�����
��I��?���A��|8�!��`��4�����g{"�������e�O]�7md_���<�C�@ �@ A^�<�E�1G���8�B�}/��5%,���~R�y�<7r��������w�	M���h��(�����2���C�]A���uw/��z��L�n��PQ�����O����f��L�T8�8��������	u�	�=��n�{���i��3%:���Z�u$��� IDATa���t�z��r��%~2[mP����N��^�
�t�L<�E�E9�F��{�{�aRe�Q����B�����sf�����~#-[�ti�G%�|,D��I�@B*���i1m��3��o�/���w��*�4�����l����tXSv�{:��d�Qc�����,6lE[�R�c����I�CLf��/Yi;������h��(������������m�g��/����[.�#����i>�Kxcc"���1lq�S��?Q
|4�|�'��6�i;��nJ/\.iJ,�"U�����Gq�!�GC��HX����#�&������[���j�J�3`^l8:�2�e����2�iMiN�� ���q����FZ���U���B�O��nz�<����0��^�C��31I�:$�J�d������I?��`!Q:���K^�_u��[��D��������$����'q���K�z	�@ ���������|�-5Fn�RD�MK��C������s��l�	���{��r��x���l��0�=��3*����-�����cKuY�*�:�;�]���V�g�[���v�\:MT���;�������K!��@ �@ �J����:6����=:�*A��3��T��t�)F��C@:I��cP���r��I��1�-��6���m��������-��?0���NB�"!�IjRM��X���~����T�
�����k�O����S�S�N�s�����i
�P���J���n5���������O����M
S�Pu��:��L!����
��h��9��$D��]{P���=��J��~j������(a�'*8�^�]&M(�o�f*��8�la=�����*��zY��?|EF��N7�2���`uC�b�]���@E���
�ih�6=��W�(��}�_����������4!Q)����k	��i��9�[���8m>jU��D�Ml=@`
T��9J��������j��1)��wu��%>����$�o�"�\�O�3���O,!�
r�70:V�M�cR���F3�����`�:W�n�����Y�����=G��~~�Z�gh��������'sW=E�^��������;hh����x�z%��U�}�7v.Y^IS��D���B?
�
{b�Rr>����w ��������L������x����k
�(�����)������6WA���oQ�����M�1����)a�q�I]����\����J������x7����n�����O$�����m��4�+��J�JQ���=I����W��wu&?E�Ydvc�b���.Z�i�*��e��=�3��������nS����z����|a����:_zM�+?���Svd�����Q�49|��7��l+�.�,V��2��P)��)M����F������`�+_+���*�V��!��mn��G��l���}�LE�Uq�)� �>j�&����wt����?��gh^�WiJ=��3�rU8%�Af��?R�����!�M��U��U�R�_���i��?@A���E*�~7Ey�5���S���U�e�L
����eg���*8����d--W�]2�
P�]f�EX�������,e�W�W�*-��]&��
P�]f���i��!o����+�h�

�*�f��W��2�/Kt�[m�v[��g*�K��+���_Af�L���s�k�	��j7����]�OS��U�����k� �C��0~�6���+�|����k�C��u�,��O����^{�B��(~bQ����C��c�;��
������VY���K��� s��GD*lt���=�z�nS���}^�������{�+2������@G��k/�MY��<] �����%�L
���C4~�x�u�c��|&�:�<,�������'z������'�V?�vz+��^B��Kzx	AO/!�	�%ow�n��/sD�b��-��(��@w�7�_����;���Jow����;�[����^B��Kzx	AO/!�	�%ow��p|wM���+�V�}��vo�������62���t�l*��\�IAw����;�G��C�.���*o��� -|y�B���/W��yz�P�2�Ju�j���
������H=��H����.^��T'�.(�D������/�������U[���<����� ����s6�p{_�?J��y�NR�n��\�JYb�d3�j�5E�������
Z��@�����Yk���[�	������3_h����m|{���<I�m���������V�7�f��RZ�����a��������4����*�/Vv����*;�����n��%	z:�������}���T�_S��<�9��7����M1zlh{��Y���Jm��^S�k���y�������]9�����7���3�j��?��3�v�,��%;���kn�~1��~�D�������=�^���A[>���g%*>�{�z��� ��+o�����*z������B�����4:�6�TEy���('�H_����;�:��Z��4�:��Z:g�&3��]���o�6�8���k�9wR��(tO�F������'+�i��	���Z��e�8G�N�i���{d��/j
���c�po@KzVd��W�6<�uz�j������!��>������7���x���<,��=�g0h��
�����@�0�:Nh�K'u���}~��U;J��o��������(���C42t��[��Y��(�j��+����c�N@;�&�mX:W+?���Ek���x�������5�/���
Z�3[-�b�n���*����,S�}��@�
zv�r��S�|��d����������A���j�x7��c�f?������� 
�������w�&Ne��V����?e�6��<]����/+�C/��$������3;F9r��&_g*L����m5��$%��Ek�S�yO�U���i�k�*�&I&�\�
��y$�Y��MI��{�!D������������n�x�6�7�������B��0t������7�<=��"�J)o(i��p
na��s���.������N+
�&�s�'�@�[1�$���eA�B,����
�������Z�,l���T�����<�3��
yJ�*I����M�	J����
 ��np*��3*�De���S4�3�����Y���.F����V62���G��k���Bgt�!P�7+����}9N!�v��7hnD�,���)�Y��������J>k�)�������������\���M[�u��os������H=[�,���.�`����z�?p2�X]��?<r�B���4��������:���@����U��LA�v,�(P6e��]��Ve.�}`�����3�h���w�^_�|�GvY�����(�f�<��Cz�s��.m(���W�x����~�t�l�K���q����x�]���=W�W��;<�I��R��hMV��c�N��'��%�*�YZ���F?/�4w��J��^�sF(~S���5M��I���]�0%�>U����(�[7(���`�W���
��2�q=tX�SWJ+�����Wd���A&�Q����t��tS=WJ�t��)��p������yQ�_�L�i�H��O���AR�7�eG���I"�	���*�*_Y��]����?x�G�u������K.�!�\�Z���l�&i�K+��n��/]����!���Lk^NT���i�R���U�P�;^�f���3t�Db8�����&=sAEe����P����>#\��������r5�<Myw@��_-�o�Qo���|��-cP�&G���&��Q`�^����w.e?���!@�����,���)��Y��U��&k�K+���U8%�P���lOS�)Ls)��T��[�i$��h���&^a=�~�[��l�+�dy*A]�V'������,��r�oyJ��r�<��5K�j�������u�`+�l(��)p��(���[���'o
yJ���T���������t����r+U�Z6��������2�7��6�pCue��?m`�R�S� s����@�*���;�y�m�e�� IA��&E��S�����Y��q�������/U�������-of5� :t��4w�R��aAO�\�������������S�����M��?�%��z�+7���k�x}�{�H;�aO����T������>
EGa�MY���k���Z�a�����q�����?tn����-����Z�-M6�����*P��x�������X�8x\g�W(�n�t)_{3Mc"V*�aO��
��U}+
�e�b���>-3x��b���G(��A}���3H�N]��Lg�����"}��������^�[����v�S?|�Z�A�w�G:�MM�h��.��IA
0���yF���Q�����(�����������h(�S����V���Rm~�C�SX^-�Z;��A��{R�%� �� �!�j�w�iJ����)��5��2+��-Z�(LM�;o`���5Jy$^��,���i
�=W�v������RUQW�e�B�Ywt���q�8��9K�����f�4'J+��j�o���}��R�Q�����:���}H#���)�k��Q��G%���3����p�����G�41f�&.}KO������6�Q����;�����jv��e�����2N;�0��

7� 'AO@Of�e�f�x����� �t��x�ym�"�$��`/��%Ps��)����m��dV��)��y�J��?�Y��z%�m(��_���vW�
�>�9<&JK�Y�_����@����{����-'?��#��)��G�����ny�2h��e���;����9�G�h���>J��nk��~~
�CR��2C��ix���6�'3��H����
��ey�3$�&0D�?�tw�����@I��e�{�C_������h������[����>���]��k:�aq3AF��7�b2i���j������_�l���2��k����g�����8R���hx�{2)��-������&c��pa?�E[>���g%*>�{�z����3���#��xQ}��J^���c4���a���>L�E�u����#4�?�t�6#y�l�
�c�����6�w-_w6
�����#�V���2��i������+�������2�������6���G�����0-y>��<�[��=%
~`�B�E��K:����UIw���A�o7I���(h�F���y�F��>��������C����#��/���+�%�kX�8�.M���vU\i�����:���1u�J��9u�YW��[���:�)������ ?6����+�5�j��Fec�����w����[��	Wz�lt]P�����Y)�E�=
&
�Y�@�P��MI*��hQ��q
�j����w=eP����rT7����4^�o�0	��
e�S?���g�ht�K��\��vs[G���6�k�]��/:���������%����J�z^�AW��nS�~M����A���t\���lz��\�_�]�5��olv��e��{\g9�:[X����S���3��������+m�e�k��@�]/�W��.�2��8[��3x���w4���
Q�k���*lf�����������x�,���A�����N���?��[^��Z�]������MtQ����}�����%J|��<�[�������H]���i\s3m�>L��
z�p�W�VF�S�E���n
H�3H#���?8R��b�8j���"�.\3��J�����r��
�4y��wjO�>��,�)��e�m
�'LaC����P��*�_�s���|��}��+�>Y�6(���`�W���
��w�o�uCv'�i]r���&=2R����������jf�t����"���r��Y������r@2x���QNf]h�Ho�/��_
j~�/>��?��Uo��S�
��*���~`wYfR���Q�sf��
�g�6<>MI�\�B�"���L�Z�@{\����
�w�k��@����~���_�v���6����)[��"[����r�wY4NKf�����I��P��rH��/o~I����.�~#4�����|�?g���{���vH;�5���T�_��I�<|�$�jf}�F���J���L�<���7{�N�xFO�.��i��l���1#�p�0����;\�����'�����c����<
}���S4�_+M����#t����Y=�I|K����'Gh��e]�5e����^_��.9�����n$�*�0[�s����%r�,v�]�����M+�����f&��?�����3Z�S[�wEZ9������Lt����XV�Ak2]f2�c����Q��k���f����
���'����ku��g�+��������]`4�?��r�J��Q@��I5Ko��oS/�d�����o����j8����������w���\�'�V�w��5�>���w��t*;���n����i��E7/7)1��������e��P��j���3ZW�7��qw���e:q�L]�J5��c+����w
@�f��A{���L
�e�b��U
��zD��&���]k���i������ �w�NC����s]Y�Ok��>y�\9���if�����?�h��n����=I�������e��-t���:�E�4��'�}v�-�$�Na����i
�y���E!�������h�=� J���4��e�A�<?F��<��m	y��=HKv>�^����-gd�Awi��'���1�����^��Cz?�I��Y�7;��A�'�k��_j��An�H
���xo���6�C�/S\����vS����z����|a����:_zM�+?���Svd�����Q�49|��{,�������8Q��*�p8%�I�Cz�=���d�TGY��3/(��rU\�y?6X����Q&ow���������9����Z�Y�|�}-�|�%{�W@��3���zc�h��LO��YS|2E����:�{z�y��[����{�C�2�i���<o3x��[�t���A2�M���p�7;@�������v'w�]��.�Q?�vz+��^B��Kzx	AO/1x��n&>��=�Vr��v�������]�5h�� IDAT����v�.���-:3zx	AO/!�	�%=���'����n�J�J�hu5�@����@�F��C�]����J���@_����=����wN���0pa�\%��W��J�YZ��\%}���{[�J}r0A�[�-���
]./W�C���������9MU��t����3����R�*��Ue0�/ H�L�lxSu���T����f1�8^�������n�6M�R�SN�q������?�����E/��[�~����]NY�g7��R���Z�u����+������f��RU�k���;�:�s��TY��kSj��n�����z�����c/������w��o�Yw����[�2Y�f.Qn�?zc�z�Z?G��g���������M���N[_�c���u������C������/ORh{�����x?O�*RF^��_m�r��A>B���������+���D���(��������ac������jq|W��y_+�����a��+�4��}�5�_*��{k������[�~�*�7��n
n���T��u2/S�N}��g����@%�7������{�kl��������v�D��������:��V�@�?M��=��1a�kKH��B%�3������|�-:�sl�t4^�7 D��-���9�>-B:)n���Yu�V[����':��B������-�f�h%���T�j��$~+I����xB����������T����V(*�c���9�u�f��v3���������T�m�m�UU��J��u��[u�����_��:=<��D���x�+��a�������[��l����L����x�=�D�|=��.��k��r�}Z�J�"�>�&���!��*���o��?��jy$3O��A��3_h����m|{���<I�m���������V�7�f��RZ�����a��������4����*�/Vv����*;�6x�ch���+�������������}�D'��&GS�Gj���6����7�4ock3(�&Dy6M%g�������uz������
:�����zm�*��v��s�I������������l�T��~T��,����:R�SG�(iK��W�po��J���u�����]�]��s�~[S���_��z�)�N���Lk}x)xJ��=������Y�\[�;z�fM6{��C�m:{$I�;P�1B��==�`����7��*����
ot�{:�W��%��
���A���4`���{UT$
�h����$x�����^}��|bN��9�J�6�=���/�����������/M��{UY���h=�D�������x-��U�oH�V��q��OZ�Q<�<��=o-�r^��Y�+���3��w�S���'uF�u��Z��.�*��6t}����]�q}�*���Z��_���;����A?�^��=�������TW���Ez��s���
E
tw�\�Zs�����.�m��J�z�n=�j����&���������x���'zu^Hr>hG��lu
y�<%A�b�e ���y�������:��m_A����+��	=���wj��������=���>]J��MkUX{n0/��'�
�������_�7E3^N�>3�{Y��Ro
yJ��O�:�8���ak���LZ�u��FK�q�n��0e����������x��U�w���zf��{����	����5�zV����x?^�xXxJ����
���������!N��D���W���j�At��r���R�J��U����m�?�j&�z��z,�U�w�����
�'D������Q�*���(K�I�)[�uv��-ziY�����/�
���k�!O��I��Y�;�_U�V�L���o'�\�L���a�V
��E(t���h�$c�|��u�vN�NV����E�m:��G���yZ��~#�0�_P��8j�Q�{��
Uy���r	3`�n%����LF��]�v��r�����k���d&��g;�,UI���>�2����3���"�,}�4d��>�������@�G�M�Ru�#�|���V���.��wS�x\,��������*��MR��%mP��u���@�zV\��W�6<�uz�j������!��>������7���x���<,�������7L�������8�E/��E���h������a�4�R�~H��1��;B�D����)*<DZ��~r�U�o������IVf�����m����[����
32�*jy�^�EX���;�
��������E�t�����8m����0&
���F����w�08/~��9�Ek^X����9��:�q�fD��X��}��h�~����D��3
������v����I��R
0i��\�z6�0�Mj�z���(��mV��
���������]��F����ox��w!U�~�R���*;M%���J��i�<��V�|d��������	z��f�+8ym�L��I����	��	������\�_�T9�7,��?��7�5��=h����Z9��f����>����41<H����v����nR�&������� �7�8�]I=p����W�]�hV���,\/�T(���*�K��f7�+w���Y�$�E��J����q+���t�_����6���V��[�����a��3I�����K���+������~���y�56����:��2���*�����:������E3��x�Gh����TX��e����Weq��$���GSt��x
�b{I���S�~�U�k��u@;�7G3����O�%U(gW�
g��(f�����;�-����
O"Up����Z����Q�3�43����'i�������C������?������F�G�N�7�%�r=U��6�}B4sa������b�tYp~����7�~���������6�x�
��9�
�d���h������w�"�(�	`��r�f6<�d�E�#�p��*�#��7�1<������j�r���B��N��G#��X��N���=s��H�����w���YW6i��)��YAL:Ku����mgk��8��^�x�O����
+k����tI���W���H�W]�3G��Zi�hQ���]��)�H������F����PV������J
�`]Ge�N�_�+�k��X�y�Cm��P�����cU��
]�n�|L�;0HC��i�}!`��>\����4��r�]�}5�<Fc'DhH�Nn�I6�;����3�����l*,.��|�*�W��J�����?Q���u���tPeq�r??��K��I}�e��{���]�����|:S��T^��3L��t���
����������
UI���!#�k��a^�������[�+�����K�:�{\�om�VmR����[4�����������D��*##���Zs��2M�fW��>��U��D�N�)��J��|�5����?R�Mnl�&<>W���s�������+�<��m���|K���K��0M��Q]^����c�����k��0:R�Qa���q*/d)7��:+0D��-{�g�a�-_'??.�_l�v]�o[?��}����/H�#�zH�������>M�I�V�L�3�b{�o�z��Y��G]3:h��O�����a��m�ES����.O�2��hF�����h����mK��UX�����e5��M���2[����m;�Nc�|��B�N�e�|m��GI�U��U�����dz�B���T����TTd��n
W���YA}L���b�:�-�����^={���� ���B+��`]�m��IVZF�r?����f��c��)4oa����(�[���t���7W��q��|$U���-�����s�Ml���	3����4v`�w��3:�������>#��@|��\��K�t���|��w����
(�<4O�W$����!��D���hz��
�;��>:��r�3u�BE5��w�E1O<��-���G��^L����������fIRI�m��A�'l
3�������Z�1!M���<�O��W�w[�x���W�>��J�u�8A�K]�	M���Ezd�����Q.�.�{T?=�B>a���cz���V��<�'N��w+�hW���z}����q`����Z�,^�m
d^/��;Vi��T^j���O��NI���DE����"�{���pg�[������gX4i�K����Pd��d%m\�w4q�4i@�\-��:M��c�Tf~����'&�FZ�+i��h�Sk`����3����<I/>�T�����r��\����-Td��g�qVSS�h��(m;���v�^����[h���n}�j����������]�}�c���_h�8I�6���V�����m���WpT��=�B�G�����]��o��yv���C���Ud\��r.i�����R�b~���	om�
}�l�~�][4Z��{�o���H���yJ�.����3�W����T�z��'D���C��n�.���g��������G�k������m���8Y�^]��&��L���[��M�P��
��+I�������IC&�k���5�������\�R��Vn|p��������%����@�
�P���Z<��!m�G}g���[����c�r�^��hLB��5���]�P�y���v�u�
v�>o����K�<��O����:�����>�f
iv0�Mg�t���I����������lhz�B�
�J�<6��]%�"24�S�{^u����2}���2C�b^~G�Fx�W�2�]U�V���N�_���	K����[*S���0 �����#8�ce~3_���d��C����x
p�G���XB�EOj&<e��g�-�
+���U�����T���z9>����j8�K_��U����>��V��[�m#b�u����vXeq��O��75*z��?�@1�C<6c�o���
�����K��S��XE�=��B������}��(K3�"I��
�SM�bW���:�r�%'h���hs�@���m;�5}>�m�^����57�<���^
���o����c����������AU�[������BT>����y��.UW(w�4��fV����l:�o���Wh��D�r3(Quv�V=�\�Z��u[�grd����;zaz��^@��c�7��;M����s�����u�3���_o�������r^�����
7�hB�[�+7����HM�T���D�r����S�{�q�*��scU��q��)�RU+�����x���[����gyc���oS5�i�|X6S�i*`X�N��el�k}��qN�����Y�3/U��*����-NMf^���\�/����5���B��b`l>�]�h���f��G����m\/����;�\'���:x�����l�V�8Z�w'*��.�2o��]���3%��fn�r��C����kl[���X��2m-�WmWI���}W�����9���k������A�t9}��}q�
�z@L�f�,}�q��D�i���4h��p��W����i:�mWt3����=��RZ��|g��� � ?
2�=��8�(���?"4.<��z����|�S�1���
�Cw+��]�_�+�3��&i�^���U��N�ku�7,Z��
,�>�s��}�
����2�rk1�a���$O=/%��a��>>fMx �C�w�r}[��x��O�&�4#=��hjr6�*������R��7���y�v���U��.3?I���=���sd	�����������K���fh�*{����C����6�>c��!���L���K�:���!D�����iz�����ae]M��K�y��<p�y����C����>���Z���il`�M�E1S�:�vm��<E�2����f���J;�2�'N1���A���
a��;��g�������|�s������Z`��=����M�:w`^�!Ou�s��1l0����gpCX����$���9�&�>&�65��k>&���'��hZ����> g��a!`RU�U��g���\�5;-�����t�Izq�R��x���a
i���]����/m
���:��G����M��y��u�a�=W�z����k���
:�(�e��{�d$��T��,��K���+�dx;���c���e�����>!�0�,��=N�����5��j}}���h���|
-s&[�.�5�w���w[cGg�u����L�;�D����b�R��T�$�z��W�Y��{����u*e�d����
��PavZ�L����{�L9��53�O
��R���� `��;���D=3����{O�^Lm�����QcC4�OM~�����L�'�q_���Z�`�>��a~�m���*Ke=���0�j�r�|T��%=���U�����B���`�������j�r33�hK�+�^�g%�vel|K��������/@��Fj��p-���n��������4i������������7���r�i��1(H����������;�
���:��P�v�7F�	��s���u[� �:� 
t�I�>f
h����Sm��R�4������m��������f�w�j�5}�w�~���|m{<\o}�I�K:��z�@�`zc�����t��[�0/�%���,�7��1aJ:�UsMx=M��4�	w.����8��>fE=��@�>f���SLL��&EhHSS�����������+��u��"���� KK~���\�_�\���7G3��#��H�����T�9�������q~{j?�1��OP��{t�l����.����4���Q���W;�g;�c�S��
:W;�<�P�*���5k����:�2�}�?��(7��wO��y\1��::��c����-���U���s������F+t�����T�l�^OJ�9���5!�)���UhH���Tm����:��������&u�1<v��t���KvO���i���Lz���iuL;GEo�Gy�o^~v���\[;��4����
i��F�*�M
��Z/<��	��CUq���.q�����������n)<^]�=/������?�����2Y;�.����6�����K��fyq�����g�k���\���
Uz(W�`��_/��]'���<�I���?o�M��Rf��,���[��R����B�~�����u�~�K(�aU��K�fk�J.��6wW��������I�|��"-�;�����c�YZ>���[%I�z���7/�N��)St��0�g���Y���s�������������C���>i�3��t|&�Tf,��)5!O���<���h�F���N�^��/3���S�������c��i!:�v�$�
��S��iB{���
>!���%Ly!I/�]T����B
����?��{j�gU'V)�kU��T]���i\��3�N���$�jB�f���8
q9�U~�W;W-������xy�"�����Nz������!O�;-���:-���:�aS��ezm�^��.Iv&����y�J�R}V����|���)��5#NQ�a`�dW�����T�'o��y�k�w��2T�����Y:�v>� ��=�TQNq�/]-����:y8[ol���������k+q�k���K��<-���z������(-����:��g�����������4����W�Q7��iW������gZ]B�����n=3�����R]u-�j`�q*/U��/�F�����w�aQ�w���2�7���
t��!bY�u1+j�-jv#�m�I����M�E��6�^M5��F�&���F����Hp��]S`��� �2h"��a����p�n^���u���s�gfg����>��[������Uo���7M ��VM��BN}����BSY�a%A�mYDDD����l�a��W8�_���e (1��-���9u��q�Z�.�������I���Z�'�����R��UU0�H��~�������+�Z_�����n����<u���[����i�����	��
6��B��J��TR~���/z�����Z�����U{�� IDAT:�IV��geRj�l�YC��W�x�6��!>i9�5�����K�}�)Xm�� ����.F��n��C����I)<�m9����x����b����E���hU�V�..!e|W}k���[�U�)t	?���$Ml�Zy���!>4��GVQ��G��������Y���L��}���kd3�&�b�/W�f�������=f'>��c����'
������},n����<��F��~�sM�3��-��
m�tG8���d]���7x�W���d�PZPs���X��r����j%���v���<��T����������}����>!D=���<��
�m+F���Q��^��mY�5����r]��eR���a8s �����������b�*����K��y$M�G�
9��������K��u���K;��AQ�{~�}'��.a�1�8>�����1|������g�i�r��}���_#����w�3��iOl�z�e��y#��Av���������c����e���'�y�������� ����>D-}���@�x�WX���-[Y��"@�.��t���aX$�7�����V���% ����D�_IJ�N�=�������B�E�~K
)�A�G.NDDDDDDDDDD�!���'\��)�<��5��v����k�?�e��S<����0��B�U�n��C/���[�������`s~��ws�7]�����8�K[�^C��4.��M���i����~��d,����K����}7��N��s��[V���f������[�l~.s����,bc�!���KX�F���������1�%���>!��J�b\
�3U�N���K]�f�� �X�jv2�:@�7�G�s# ��L��4
�uU9M���[?�6�|�m��5��%����@~3�S�Iy�=������F�������������� ��S��*t?h�I�\C��:���5���� 9��S����*a�7��e��`t2+��4��/��X��pM����6���WQ���x��������:	TK ������Y���E�l�JVF&6Cu��mi7���'�G�Vf��V������H�z�D������d�4}�Ws���6�i���w6iZg���~`�w62��{[mkX3���d���|��������iz�x���gk~�$��q�oab*�o���
�2����{'�L�lU�L��)��n&$��V�E!�
����n?_��U�$��{��V�4���k,;����tG�E�;�������a1����=_K�z�Y�u�`oA';���Fs^<��6!�������*�^!�c�;�/��B�#""""""""""ML��gL ,�c����7����{���������zx�ZU��Z9o>��WNu�l��5��u�{�����qiT��n���*���������D��gn��s���=]�JEDDDD�m���_}����L������k��i�,d��<����A����M{��o60c�i9X���{E�g�d��~��*����K""""wR��2�|~���t��
$$�)�yd�v�PCA�!`�I���[�D���2s����"��7�R�Vt���|����5����GrY��J�&�
�:k(=�����`�wf���t
.v
�����c���v�NU�n���\2���u�����"`���1�3�~���]�n��>�����>A����E�b��]���jT�I����e�B����T����lr��������0��<�O\���j�Y���!$&����|&��0����v�1_��c
�"���Y~�
g��4�u���3�/�i�[���I�6ht`��F�6�$���=�-��o�:*+�tk�
3��]V�5E-g�D��2�>�~�����5|�	��F������K��%�}qZ��)tg�vY������=��/A�
�&N+e��r%n�A���&}�O�t��X���1�j��L�%q��-��?��v�s�f���6����w��I���@�1Z_������{��e���������8��O�������7\��W�G�?������EDD��3���5�|����1m�������"�'RI}n=s��n�`������S�[
@����c;��7n�������7`���V�����?X���]Wh�8��H\�-K���Y�EDDdp���X|����[�����=�6f�c�S|8�����88b�$��
Of�[����1���*b�TU=��#h�J��U��%S@s�a����(��w�~V&��A���Br�#��k�^����$��i?����8}����vl9�KH��r���Cy��J���v#X���
���e�����wfX���nw[��1�oy�q����`F{�\�����NS��|����M�s�r�u
 .6SN��X�s����������k
���AX�_�{�����2af��-����}x�t�Pn�1��p?a;�O����2c.nL�a��K��r��nkTz4�2CU����v�A���xe��+;�y��=~[���i���aUU7X���0nW�dv�����'e�m���W�1�j�4
����
�^~���}�,�}1A�y���{�F>��E�����[�!�u�wZ)>m����c�5���B��?��Xc���K���g�(#��3^�.N���k��4���,n��]DDDDDDDDDd��A�	�q<�N���,��r&��yh�'M7��O�/�����������J������6$r��n�����#�<2�Yn��5""2�9���h!Y]L��0�i�����9�.����o7-�_Cz������z�"���d��yxS5�����������MY��r^a��L����.�����o���G��e������2v5b����Zp���USu�$�rr�l�Q�����&7'����ws�����3�����@m
6��z�����o!	qk�q}!v���P�*���-'�����f�%&��������sE�}VNem
'��j��s��Aj�w3D��+������������G�/���+8}$��v��[�\e�YCY^:���I������s_"���X��p�l��� )����3ZTP4E?BBO
9k(+���V*+k�Zoo��s��J�q^���=:�M��Du��5w����C��F;�#�����&e%��4�>��������n
X�J�(#����%�2�6�%(6������6���y��(�K�����)��#k�w��A�����J�Q��|���A�+4��	�(vU�t�|���U,��E����y���$�4?����B��A�1���
����4���-������cX�yG��u�e�{�H xR8&�M�-X�Yih����"�������a�B�=f���
��R�����'�oE��q)�������Tm\DDDDDDDDD�V���g������X��6^���_�U�W���)�������o3����]��z�_8�}�]v=`�hN	���������%E�
���U���;�L����_�QSAUE�-���P��=���-�JD������~��5�B��$���7�+�������6����x����4`�g��J�����|	[����
��[V��1���?=������j;ey���_7�s�q�U�6��j_�__�������H����*z��=�K��yX�j�6�/$�H�>���d
9���&�'���Q-����������p�|�!P�G� ���������a�TD���J�>^�M����O���1m~?��'����N����F'�Y����j6uv�:HUrj������j��K\��nU8�:����w����8�Lw44N����2)�w|�:��3/_F�t��7]�I\*+�-Y��	t�?�y��t\.��'<n�1|�`8�v*+�[<�U7�+^��c��]_4��I�C�q	Du0�^���`g����>���
wT��L��U��.'�7O5��V���#�K���i�����v��=}Z���n]��������\U�UZ�A�	I*�-�Q�Vr�\�Ywv��|{����UWNU=��p��p��P��d27WR��mt��A����,%���k�}�D	��0�����o�����P��v536���q��]��+g�(n�B��{�EDzOu%����]5B��I�M4IO���I��',�A���l���"�|��[�jo�H���n�ZV�J����|��.�'8����gv�:�#T������(3A�i���p^��"\l|����_�Nf���!�������=d���X�]��S�~��im'��|����
3�K���>l�6�B�r/y`��W�{��c
y?���#n<�^����$��r��L���M����7	XHb�
r\�
v�]��N��"r6��H�h�����8�a)��(l�8�]��O�5z�_��m���p?g��c�v�e���n|�����mm
���+�z�n2������u�s��/#G�����A`����
�]���KX������,{w�&��s*'[��v�u2^��}~����Y�(��j��H�,i�*A���:���g�F����u5m���-*
S�����=���N}���1��C�@��@DDDDDDDDDDn�A9��P"|�q���P���P����7�������a��c+B�0����'�T��-�[DD�C^�D|otZ����Y�8]��d������g�6�����Uf�R����6�p��.�do�z���,h���MsE��j���b$�i\q���W
��F������$��OS�}*�5#�����8��F��*����$f�����[N��c�H���^W����>��[6�����*�������A���x��
��x��O *<��@_Fk;P�,g{���y�����[����4�����CG:��6,��{;�/@|�<6�d4�G���9beq�	S�g�u��~���K�ugD�������KY-6��6#��������+d��]����w3&S�@<~�����T����u�������`��m�������uh7Bp�n�k���nQ�8hX
��fv�J�A^P|�
��L
lK��IO3��1�_��������9�Q���gV�b���w?���`os����~���w�b�m�c�cU���������WDDDDDDDDD�V��!n	��
����s��	zB@�c�����Xw_��Ce����+u@7gF�Z8s������8y��9�i�|�5i	w�s""��W8���l?qs�Y
��q$'�����	�w�r�.�[S�;�����2BP@oT�lf�}���t�^r=p)���6�Ww#"""�Y~-'�p\�i��u��[�B�[)s�Br�/d��HC�
����a	���)9�V}>������Yi<��*�C;�&,�t[����]|[I69�w��`���,i��<�����ywq�n�O&�/��j;��dP��e���#����Jr�k@����|�.�D���k�H����Y�*�����
��@��pKK-���]���|��4O`�=����-�Bv�^Cn/��	�1/���7j������^�B���-i�X����p����x���<�){7��Lr��vN�/���nl�6��cv�g+v����`Nh:o�����&uj��i
���ih5IM{�p���ir*+�����w���y���Z^+���	EDDDDDDDDD�4D�;�[���j��f_����o���������

hne�[�7�����~�����( "2��Og�Wv��~��Be@p���!�N����\�uc'�V���#�C��������'���`�z+%��a�>�DDDd�h�=��*��za���#~�Vv^l\.=����#��<��!����X��Gw�]�[�*1���_n[E�����n<�;�����y���^���z�VDn�.���"����*G�p�\NRr
�S��6�7��o��s�q���d9W�2����B������c���5vvg7���Y��������/��T����c��2c�4��j�F�����r�M_�-ZM��l
*�n�&�GZ,WY�)�����%��������p����f��:k��u��R�����p�fR`��]����1{���w�W$��sS>�,k9O%t>qh������p���f����|���G�����K�#��m�_�S�Y�a���W�q-/""""""""""m��g�u�4��~	5q����}�U;�
����}���o3���0+""]��"d��[����u��I\ZTx��g\3�;k��������QR���
�)����N���O��v�h'"""�/��<8�Z�+��p#p���Hx ���E��2�>��i��r~����+_b��&v�X>UM!�_�V@*(�����M���q��Jsw���.rr�)k������d�^����zT�������Lo|���>\DJjx�?e�s��u��G���=��l��o~�L�O���p@E)e
]7�S�1�_��D�+,b�R���|��Z_�1��V�x���}����@sU��������\*w�\o����j��*�}N��#J���1A�3�W������gU�Nq�&^������C���tk�;��Y�N��6�}VN�a�pK@H��_
!h�v����T:����T^6,��3��'Hde���l9+x�c��4�z#����O?��	��y����`���&����������r�����O���f"���������'����v9���d~S�P������u��J��-��4�MDDD�pB���]A��"��B�=�i���z�N�YD���<3=�����<0}�<��	��Pv�P��'��)nV����T�����g��Y38�QH�/����IZ�J�d7C;�0�~��1���S|8���4����
!������}�2$45��JL�g��+�y�g���_iw�u�3�}�����Ca�9������t+|^u��e�dBxo�B��������$H>!�-����2m��^���^��k ��M>�&��F�]�z8&���yY�� �����C�]rs'�y�������LF.)�X�!���q�,q-Wd�{fQ3��w��k@W������Q�9����G��n�2��j������b������?��D���i��"C��LHh;aj�H&O2s���y_���e�E.���*�3l
�z}�D��e=8��9>7�8���@�w4�z�xf��f�a�
��p�D�v��}~�.�3q�{Q���3�||�8�l(~#�����|���o9��=!����K�Ov�����W�����QAvN^�A<�	n
����l�[
�^!���M
�'��l0�#��
��a&<�L�7S���Y����{i�sx2s'n`������]<C�gd�i��?k	qn]����o���~��fPP�^��Y�����=���JOf��SX����91����&>	$�������3��O���|��5���L��nn���P��������vu;y�6
k���z9�`2c��)���V����1M�!�g7�������J|�_4k(�������������I��\Rn�N�D=w������<l���+�~����`�7�0���{^U9;�1��s��D�ZNt����+��$5�>W�"��ag�����J��B����k:��dWg�
��fL&3�!�j�����-�1��B��W(u��h
�?�-~-o�6N$�E�������AW���B
�U�2��7���c���^!�Mk�����c��P}9��,��v�����5/���-�5y�����������-���i��r��a�E�������#������
��u�+]���2{��H�oc�D��#"""}X
�%���7������]�*"wN�Vvf��f"���8�9>��{
�m���(��u��[9p�8+y���=�����mM�|K��^�Moq���Sq<�����})�K�^UDDD$hFAM�;�'�zo��W$�s#�CO�2�9i�4+����Z^��q����iX�/���k��B��gP�*��j�J��<M�#���^=X���
M���'f����+g!�G
q�� �Bs���K��4���{EYI67V�����.�b�Y�=�}\A�Fv��>��
�gL#
��EN[> IDAT������K�7��������}��q��J���W��<,��o���k�<���>�������-�����������?Z�q{*����v���dRfh=�0w�O�D��`1�/=�A���3^�cx~�b�
��cU�������W�����{���i%�@�[W�q!�6\���w�������+��Yv����e?'v������y$Lm�m���D4M*c����������=���X��i�	��~�ei_?zV������j��h��O�x�GG8~��`�t�\�i	�&F�d�]���Y�����G�d���P�sd(��|?"""""�Q���<��+��t5����.^zv�E��t6;zI���7J:����;h^_���omA�� ��q��l��.b{F>U�~I����/��=-��Y�L�~."""Qx<q��m'�������%����rZ�=��������n�t3a����Pg�vgv1�������~f�������TVl�e�����������}��L������w��`Fs �+��s�Q�m|$����#o+�H:���K?�����=�M�&7�=e9;���`����d8�P���'���_��	����mk8p��U�E�}y�
U�,��w��T�Nh��q	Dn19Nnc���^������X�����W[�7k����l�u�^���?5$h����^�SS�<������]��y+��%������m=<���I
yv���o�����y�[���b���3����}�;nn;���{����p���/vwr<����q�!j&���;��Ke��	�b/���iwS���b&{7<��y����:a�4�Bll�';$"""""""""2 x{�=���'N��������;����L�����\8U���u�7��p����C�����m6���I�Z��J+y6T�o�[���M��2�8��*G�z��7��sC�s�?|���B��;���
m���2�
�_��o_��������1����'�m���Y��\0>����������z3aV4�"���#""""}F}}����`�:���#���DM���)��78k(+�#7k{�dR�bp�������jILc��6��[�������k��0�\��[/>��c�O~�X��y�V�Z������N���������
h�����Syd��J��V������7�L�����3^���
a�������)8�&����'�x�:Nk��+;���u�����K�������	�V�i�}���?���o���y����b&;7>E�+�X,`����Y/��aN�r,L!j��a�^�C��pvnw
�?�����_{Sx2��9��%���p�z�����R,/�F��Vw��5����_n���j�������
i��G��q�������\�����J���o$���-���]��N$���[�]������>����4+���[��m�??�E��������2�_,_����H�n���Q���#�X�oXK��E�C�*(���x�h��d�{������6gS��^��������W$N`�����N+������;���[�3>�"	��|�A���og��s����+��}q=����:k(��$�6u�rsI&y����XfFv����@�439y�����?|`����&m�������g���l���y������|��`i��u�������d����h�y�g�� ui2Q�B���9������O\N��gr��&-	�E�����,��'������k,�n��t�P�/m�Jq�/K
�n=�YC��y��
~���$����dg�y�#c5�d��cg�F3Q�ma��E�-i\�vl+����zN�l��&6+���"�`YG����{���<

�	���r�""""""""""�l@$������?J���|�5��
\���H633���e���1a�wY���<}�j������-������L����/�)���}�r]�����U_���C
�8�K���pK��x��sm�dU|�A��?����?��j�e�}����	��OaQ�*����+^�E'��h������5v��d��L{o>4���fh�c�����4��[X�2��p�W8)/n���O�����������=9����Bug�����@��-$�kw�mUQp`n�o�4��0p��t<XzX$)^c�h7�#"""w���c,x���4��.m��o�w��L�O?f}�m�p�g��JL&x�+�Uq�Ed-����5*8��9�l>���^��
Uf��������dy����
�:+(x�A�'"*���f����/�?cm�^�D����;���T2�e^	��]�G�6w	a��sU���h�|h&,q	����/�?J#*���jh��]��������I!���S[i�� ��J���OIk�S�a}$���c8���������~�3�l~*���5��m�������G~L\�c���Uf�������F^����	���}�:�R��Q�|]S�/��6����i��,���]*�����O}�z�M�����9N+�������v~o����>1<�@z2���A�Y~�~6�������#���-�L���H�~G��"�Zz?o�tp/��p����?�������x������w����VQ��+�^{��Wx>)��{c	�rJOfS\���%�����@~��fb5�����Du� .6��y���k��h&U�_��k�f�����l����J�������0�B	��f���),��8�^�����u��Z�~���#{Sr����2��!z����$.Ma���M����]l��vL�d�=~P_���BJ��#���y����G���'��	DTfSPi%g�lrI������B
Nak�B�O7���k�y<����=���,��b&o����
!lZ$�~�p[m�>��������$>�>��j�as�t\�TDDDDDDDDDD�6 ��m�7p�����}�=��M�2��mz��l�?q����t��9$Y[���j�w����q�����lSSDD�Na�O�1��������:�w/_�=�&�W'��@�������vM����:�M����B�O��>��
p�qTWP�N���L��Y��7I�1XC"""}\����'�i��c��h@���n��6������[�~��)>�Aij��40���G��)�������$N���|�[��g.�g����5��"
��(hg
��U��i����;�[11���(nV��%1����+Y����x~+�7�%g
eeR�Q;�}B�O{�������������1l����?���W3(���������V��O7PP�w�$������-v�_���w�����x��;��}���>h���}"Iyu��-��c]�����*�urO��QWc��b�wz-j����/����-^�����h��'���&.���z6���A�a�f����V8����B^�w���q�}r+W����g^��l�G��K��QM��{�������z��(����3Q��{]���.S�z�<���o�'W��'�|���i���,��zM/��6�?y.�u�5���)l��O����Of� 6M\���	d�O~�^�1k�R�g���
��1�������������H��GDDDDDDDDDd�����-�cY| c�
Q���e��9�ot'�y��@���������3�>�_cY���qO"tR]SDDDDd�Z��|y#)�0���Oa�i���1�i��to��il�{�g�"��p]3�3RY��\^]�N��X�oy�5+R�����>YBHZ�{~�O!O��Iz8��BPE����?z!��m����.i�VW�E��-�W�N&���=�p��G���D�v��VzQ8s���n7��	�z�E��[H����C:�>����������fU/��f���c��#�}z%����b��w��X���v����F����`����,�����#�Y�@Pg��2��5���W��sa@���X��1�����Y1����+���o����_3��d����Y�N�"������W8Qq=�m�<���B]6�y�m����%�v�FR��1mb��^���	g��?��?�f��%DM'������2y	I�=y�|��������:��B���&���L����6����m;��4����f��.���\^~�{���d��,!}�*��t��O��KHI��o������Iu��?�\��������������������O������e�v.�q�Z����T\�N���xc��W��1!l<�f�aT�
h��S%��2g/���o3�A~DL
���~���R=��������P��������G$���wH��o�����;�����]�WfN����2H��]�q �om��Vq��z������J��E�+�z�J��j��8�`ff��`�C�#��H�{i�����S��8��Rjmv��e��p���5����5����+e�*����Qo��ef��F�g��X��*�)"""�P]6�f��R�����������3�������:[J�5��vw:9�����F���V�M��BJ.Up�L�|}O8a3��O��:��.�����=_J�58�fL�������@�����]�y����&�X>%5\m�w3y�<��C�[S]D����K)�u`����f�&t>�D�f���L


�^���/��	f�����NH�
����:�!�+��R�3#��220���H&����k1��E|wuFc�[�pR~s�gf�����EDDDDDDDDD����AAAO��������g�(�)"""""2x��=��7d���c���H
�t�DDDDDD�}Vv.��O4��l��{~��7�������������H�TsRDd0k('��t��AO��?��UJ�RA���||��PC!V��:$""""""�((�_X�;��%�-��w���&���y��������Iz"�[!O����""��=��O��|����~q�������;��C^���;"""""""�fXK�H&����P�w���c�hOwLDDDDDDZ��?}'e��%���Y>���*""""""""""�-C<����ody�o�Bu�of��l�DDDDDD������XM���<V<����]pT�MDdP���GV��I�}���A��O�\�I����w�:$""""""�#��ioru!vse����~������H#;e5��IM`���I��.����������@_��d�_=�	w�����]��HO��_9��COw�_�9�+��B�8~V�W"""""""""""""F��@��a��; """""""""""""""""""""""""""2X)�)"""""""""""""""""""""""""""�!
z����������������������������x���; ""�Lz��{����t�#fn���]w�~������������������)"""""""""""""""""""""""""""�!
z����������������������������x���""""""""""""""""""""""""""""��������������������������������(�)"""""""""""""""""""""""""""�!
z����������������������������x���;0P�q���/��.|�F0j��{�


\��Ss���1#���N�����@�/���
C��������t�DDDDDDDDDDDDDDDDDDDDD���}������KY�=[�'��MDO^�k���}Y�8z���-�yT���e��'�����4�g]��i9�����.s�Z4��a��>3��=���j����@�9�}T���\��������
$���`��<a�Y�EDDDD������2;?�J~����!��,�ge�(�M������������������������x�W�?Y�WOw�V�����M�=[yx���b�V���YGx�_�q�����>�9z��������+,����?Q��9w��}��M�+����xs	�����I~��/�1kL7vv�����qWj��{ "}�
�~B��j�����y�H�~{i�*�)""""�g]�J��kT�}��Xy�fl���=���_����s|�n���+�e<���?��������6�����=�n�e��{Y<|�"�Z����!#""""��~TBB�Ujnt��~���G�Ly����=
{������I�ml-��B�5~���
z���������������H�p��Q�~�����g(f�������	y�� "�<��@&��j�m\(*�x�9������;���������x&�A��P��q��E��1�
K�K?f�cY�� ���>������5��Hi����o��<��0��K�����T%�W]�����.�P�#<�o��V��{�_�1������S.O��2�9���k?�w�26�����ap7{�����_O�����������^8���P��'8���a��a
3����hV=_��/����>iz��>����0����?���y�M��"C�3$�k����	r�!��3o��<T��/\��_a��WX8k�w��"""""""""""""""""""""�+�y�T���?p�Z�#�.���`B���7c��`�}n��� ~�A&D�g��@&�4������6����X�,��]��>~<��?��m��������s�w�
e��N��j.|��+���^�3�<
��d����w�3
��UX?'}�(V��#�ko�����1^����<��/w���{����h��
y���������lb�����i,�Y{���z����������%���FMS�s1��*�L�a=����p^#���og'EDDDDDDDDDDDDDDDDDDDD�QE�.5pt���k�6�y���<0X*Z������r-7�9[j�<�+���^K�g�j�^�H	�$��������VS�Z���
#���yDDDDd���r����c�sb�+��!|�0b������9�~��k�����p�������WQG��jn|��]��
%v���~Gq��/����
�8�l6~�p���������������������g��9�Au���I,�?�s����-L����tm��N=EDDDD�c��*y_6/��-$�z=�WG�UM�����k�]�H7���.\����7�BlT��F�D(�K����2����U}������
1w����M�+I�t�g�m|G�$5"�����U�/~B��TSs��?�p=�~��0������'�����_��s���E��l]�5������Z����wn~���*y?��.V�z���D��u2��5������\����z���s���$O	��)#i��������X]��O�����5��(��?_�����w�(V��=���������������������X
zv���c����b������_r���o|G�����N��x)���S����G<�%����ScX��N�;+��r��!dT�FE;�SXu�����7���p
�V��M��BX9�c��>���
W�s�o8�?i%����������
�x	�!���b��]�/����v��-�w��W>�J��v�K����7���Ym��E���I�uW����d��T������d����������}W+.�1���::���k�:q��qa�tw��q������jR��v�v���+WX{��w���z��whb��+�6>������y��	�f|z���?�q����7�g������\��^�����1�e�������%�&�u8�����a�������q������HpkM�ay!���70>����W>��������Zu�|�)r���/;\ADDDD��E����t'����5�/<y�������C	�

X��N������b�r o�X�;��9�]C0�W��81��!���I����[�a�����B�7���)_^cmvYs��d"|�]��������/����2�}u�]�om�����������������H�7��@�����E�39w����#����D��T�z IDAT�p~ ��|�J�i�y���7��c�e�}����??���-�����o�ly4��hTB�Q��s�6<0&������������a
X��|$d��_��8�M��nPq�A�z������P]5�O�6�<�2�0q4+CF{�����7��]'������������c��6�<�2�<-����"��e�
�/������
�\� �#y�
��;���F����}��r�;����b��P��vD7_�>�F=��$��E�V��(�}u(!���m�5~VK��J�+����/�l����#X5sk�������se�����[x�
���$O����������������������
z����%��Sm5����cl���_<�#�0PQfk^��0��O��?���?7��N}y9�w�s���e�?�7����~�JW�����`x�������������H�u�K���R7C��3���cw|���.|[U
0{a�9�Y~�K����s�~�E����Q~���5R�Z]/B���$�N��1d��#��-�|Z����M������T�u���W��M lLh����c$4C���lbt�a�&��J�}o#��yfj����=
v�F��4s��Zy��2��H�;�`�x%��x����<�1�k��������P�lx>�j�>���\�����r������P���,���*�$����
f�|���g.�RS��*�������R���R�����e~��|���>��jV�,�RgMU���
b=��!�����3�y��<Q�sb�S�[uFnI�y��8#�mf����@.��xh����~�
=��m��^5�1|�!�8{XY��w�&y��iS���i���j�������������������X����{U
�e�O��Y|X�����"�O�~p�M��pB&]tS��������mtH�0�/��4��bA�zK��.f���i9��X	�����~�<}�F�h^��]�;�����e��F����w�R�%I��}�
JTr��&N�4������Z�����r���(�O@���Kp�M�R��Q�3}���MR�WM'�u�@��v�������Nm��VY�=����N�W�g}���C���u�B+"a��zb��o�5�t�jhU��l���4��Q������7���OP�?VSW>�)LK��b=����Q�[���s�u
�����*6*������s�8�P�%^o��0�<����;^��:d`D)��i����M�jQq����e��nD�II�7h��-*�\��d��n7+�
�,7YU0k������Y</��������sr��4���1%�=�o�M�xc�V���>�&VZq�r�8������9��u�������Z��=��s�W��=N��+I&�<��~��	���7%RI������Jzj�������6���GU.�_|V��<Nd�������*��H����2+��BmZ����l�O8��w��]����Oy{?|�CU�vi��a�����!^A!Z�4]��};M�@���O&�)#��5#Rw������)�����v�p�R�'�����m��k�����sba�D��)�U��yj�R<�A��M���pf���)��g����1��R�`������4g��Z���tv{�Y���������$����XpQ��/S�V�_�������w��6�^�\�M,�^���}K�z���{�6��W��`d�e�/C�@��yW=Q���*v*H��=w>�/z�����D��|���@2O	Sj��l�CU�<=� �R����{���'�{U��s�m�4�Jb
p���`3e�<��Q�D�>2���
�Q�/�=�����<���������t�mz��mX��K��|�="f-x�{J�tpoS���eQ�Q�U�P��y�k?��������������3�����H�����������9A��7*��U�_���nT��7�^T4���l
��%�z��d����U�R���u�3�W��m�)�LB���W�fV�5��(2x��^$�:��x���q��)��U+gi����d��
�����K��I��/�
�����
jWI)���f5u����B�{��0*��W�7n����PkWWT��6=��6�� EN�t����Z�=���D��e��py��������r�|s�]�'(�G�$���L��W�\�O��9U�~���n���aV�;��O�5(�)�u�=�e���;g)���fs���5�����Jz��4g�w[��4����-�rH�����o����R>]��������T`� �O�N��F�s
�dV����z'yJ�����=���	�\�H��$��+��;�����9�zj�u2<
\c�3��6YV��]�S�j=-i��C�7M������������E�������%�/�k������gk����j����*w��|y�4I�����]�9����C���9�������W7>���|�����C�9/Rq���u���w��6N3�L
������*�7N�T��=9��p�.����u���V}��?9�����C/=�
���704d7I�*�y^�3�$�b�7r��~(	�}��~G��DY'���$��2U��[[e����?0f\�����L�Z{�	QD?U6#n�R�On��������K|����&�,���q����O|��g;;LaZ��*m| ��q�*>�,�%S-_�=���=�s��iMRb�x�[@�I��>?k��F���������6��=��o�rf�2��s��C��rB#3���s�|�@O6��~�^���F��Q�e%�j{>��U��V���S�<��6���k\@ �F�*��S�����������|oPU
�����7L�iv������W�� ���Js�[�f���srP��1�4����������s�D��6��_���Z0���:'�9��^-M��58�F������p��V�{O��;�&��2W��56��������j�6�f]�(��D%N3�;���RMkg�sF���J�v�5v���Q��M�[�RF�"1��P�����}�,� ���'�/*����e��!�yI�PyC���HYFb��zU�4�2$
���	��l��sr��r�Y�/�v?������W9� Y&+.d\�w
@�!�pDy�
�->=&��/V�����-���]�j�$o���Z���xE\nG�fm/;.��~�g]~�Hp�j��w��dW�I	��[9����[;�M��e�O�Y���U�O�~�
@
���f��~��FoiQ��d�o�7m*:��X4Qi����Q}8��U��
*��D����9�����0^DEj��I�O_h�O|�\g�
m#�RJ�I�A�::��6�P���`���I2�]�$�?��/�IS'�?�|�����2�1u�|��kec�D���9���e�%�H/e��-/���=->�����l����n�?��i�MYD^v^����{[O�i���}K�$5n�@�����������~���
zn�[�r�+.�bW=���	���x�T��T�t��R��o����O�S�g|�"�(k��-�	�WP��"e��u�����F�B��s�J�PN����a�^�a>��-*���Jk�o�^��_j����)U��y���?��r��5\������q��g��������J����)>��5�x�Ae���M�����i
���/���v��'f�����z���,��G�_=K��>c=m��\����j��������a��U�{�Tv�{�C'������|\[
��G��0%��<-����E�~�M���ld�M�otjK�s��z	��5�G)x����6Ey���z��������xg(�������Tz��2?k���4Q+n�Vr/�\k�Y7���M+�5��QV�����V��E(��"��s�U�����6��Rj�uh;
��if�o�|�PAE���heLU��d�5~�M�o�����Rq{gGk�V�i�J�oTj���s�J�T�gmrO� ��Cn�=38��G����m�v���#���p���Uk��+A��YI�}�^]�����Y�#�b��Z���B��Ee�7���H%��)f�I��-���	���=78�fODb�W�Jw+oW����W�K����l����DOo�\'��}�OhK����u��EaZE�'�� %'LW��A�M��iW���UR��)�d�������a��w�t���	\�D��k�_7(����������C[?���B>Q���s��u����!w���99.Ji�~B�]����TT�����(��[�.�r���[BT�I�0��N��?�wC��� �s�=e��!)h�Ro�Q�C_h��+?0:��D�Kx�jmn����(=����_mS�`�i���WU�S����E���3-���E����t�6���J
�g��gb��� F-6����nr��]m�}LR������S�@�&�j�g�Z������]��k:����6p���Yc%�������/Uq����L��4e���>�.G��z�Rbl�J��U�����1�9�^�4I)�c�'0�����/RK�K���)z�I��QZ�j���~R����%���7�T�K��`��o�M��u��o�k���5�}!�����}{����3��)���U� R������!�X����)s�Y���O�:%\�M��e��y��a��b�Q��jg����	Sb�DY���&�*����?��c0��*���U�.�uW������*Zz'�Z�G)�F>`�u-'~�����bC���zG��mr���s�+C&�CM�1:R1����yQ��Z;���p�*5������x�`�,7E*�;�tgb�"X,���L��wNF��#0�|��j�gT�rN�C�E�MR���J��4�
�f�nj���sr~�!���y�E�M��0+������7��3m*���j�����d1OR�
�J���:�
����h�mOKOU�	!Z���M��k�Qd��H���@�' `��	0"*�>��|�����Q��#e�H���{�j�/��U�eO��&�(+aI��$z �|�����4�v�2��/��DO����::C�s[�<�����:�rN��I�$K�����s@��8�I��!��Qp����xE�'����	�'&0���; ��	�'$z�	��~B�'����	�'$z�������mr��F2M�%2L���h<��N����W2�^��x��R��If�f�e��]`L�[��v�Iy�or�M��0_	�9g[T����A�*8�x����(�6o������*6|x!��t������Y�g���������XEu�gZt��	U8�C�_�p]�]�<^�A&E����w�j��yz8%R����m}v�*Nu������%�;��\���eJ�&�NeX�f��%�=���i�v��&�&h���0�I^5~�[k�y�*Oz���lV�{��|o�6�,T��{;��
��4h������}�����}'D*k����?���|�F������S��9�k���K����j����#���^�/���5���*�k6>��hH���6-������9|�i��R����$^�wu�WMU�����������"2`r�����$O����6U|����K���E�<���!C������}$y�)��[��N���B,��-_������W�QcH���I1�3���b����
�%�$��v�N���������]��t������|D��8���T����A��e�`�'�*��j����Q��R9�V(�:���bl%z�����g�p���������R�$����Q��������F�����]�`sO��L����?o���7C	�CZ��a5]I�O�d��x�,������)���X�o��5�������Z������XE\A���V�+����>������l���NO�T��-*\���3�8�|O�h��~���2�lOXU��C�@1�=��m�#�?��s����W�)��g����	��;��L�I��~�$�P�<�b�}�[?��/�t��'
v�I��~�7=_��u��	�M������/?�>-R~���iY���;�s�F�n��u��7�k�;��|�Hy��O5*����_���M������J$�A�  ����FO{�<mxi�$�a��������(���b����V����k�!��C�����+E�]+�R����4s�Jj�T�Z����%W��KQ\j��~����l���z-K����/$yZn_��wkU[�M�'@H��W�;jU�}�Y��Z�E�$���I	7�d�z
}�d�?���`���i��Le.d�����'
UUwPo���8�!���L�S����J�������O�U�C����~�J��%Z��.r<��B��@�N���������%a���B�{�����~��_)RE[g�dU���
u3aqJ�m��Ui�S�����]52$��P��:S�������P���e1
�Q����X��9{�)�����g�y[t���i����FM�Xg��g�������T���'$-��Z����_���lZ��me��[T��R�o��i��P����o����Wvj��%J{�B�������f�
��3
��h��W�����iCF�I������<��Kx>�B�=]-�n�g�d;��f56{�	&EDG*&j��VO������YZp���`�r�Q��
�>��p��"���E��jU���2�)���	�+u�U����Eik��x_�>*V���*����'������T�<Gy/d+m6���j�d$J��P���5����������H%����?0O�/�)b�G�x�E=y�f������g�U���z���j����
�����[����ZzK��`�z�c=��>5v�I	����t<U4�]���kz2g�T�#���i)U�����Nn�d��������r��b�M5��U�-WK����f����P���v4FH��������pi��$�i��]�����n��-m:l\:��/��iL�,k������<���?|I��$y�N���[�.����WS����^��1��k:���(�'����Tv�gl����1���`�Q���@%�������L��
q#�j?���)��:�eU�S�T��U��.�I�lJ}v���T��8���x�q������R.����0J��������a=�p�>�QmXt�;��j:�{WT�"�VV����d��zx�T��mZz�����+�����P���Uxl�q�QZ��b�g�*z\�b��*z�����5]9k�����E�Ar�*Nun�{��{9OwX�n���u��j�;y�z�@�Gk���%*��N�yJ6�h��1��e����pk��L�����( IDAT�p���U��f9������?�3��S�~�U�m�);����U�Y�v�����vu&yF$��SO��C�m�F�.T
��������F�6������3���C]���Lf%�/T���J���`����V������V�(������^����TUmW�E�[���7a���<��/C�/f)��
Y^I�'@>�3�����7�k��Q���hb�w)��S[��;zn�S���������>����Ql�s��x}��v��$�bxP�����������R��x%=�Yk�k��L��^��*����W|�#�k��������z*{��E*��10"�J}�P�����%���&��Z��MJ����H����x
�5*~�\���%M�O&cCV�x�B��8�M�T�]�/�T��urNb%Q~���1��R�`������4g��Z���tv{�Y�������_�>����XpQ��/S�V�_�������w��6�^�����MQZ��#���dx:��~�P�����������n����~\�wW-�[��*:�_5�,�}��w0*Y���+$�������m$[+�
sc�8]I��yv��W0��g){f%��A=��5��,?�m���5h���>�U�|I^�Y���*m9%^?^�����*�4��@_����+����$o��oy_Y��UF�{n������?�>���'�J^.�����9Y�kS5��{0��;�g�����z%*�h�>o��e�����Zzo��v��2�W���#_��>�3
����z����.%�vuzuxc�6�g`��a|T���=�<��s�1�Z��|a��q�|0���DOI�w�R�o�gs���5��������EiN� wd���	>�-�rH��_D�B������8���^���.���Xu]������6]�k��E�r��o������	��6.=e�,k�U���z�����&�jGN�U����C�;��������`R�����sM�
:(�I�k��b����nZ��V�~�@@���2)�W�+OG�#o��{���fyJ�pQ��U��g��oRl�
��:�gT`�p���B��M�]+�Z)
m����y�]��*R�("���7G)�'���f�3�j�_#�w��,Kp��G�	�(i5+�W�����n��6S���~@�����#N�����)�������z�I��S���5����,��U>A�Wj��v��	��Ua���U�u6MV���P�_c�Lk��|�^M>�6�o����Cgh�<�v���p��*x�4e�S�t��}�ss�b���V5��o�gx�b"�#��i�j��}zBys��Q��x�V�Gur~�s��)������/*F��DE[=�9�y���x�L;�2��kCi�O�I���Ut�3��w�g)bW�Z%���w��+7%^����Y����'?�����.?g4����ot{��y3t��{���v>�����>��U������
�*<�D��|�LqZW]��;�#�fc����-�(mm����0�;��k���S��y,I�|�Ok�q���������._�2z�|������������	���Wk|�y���C����g���>����?_:��������>�a
��e����
\
�R��^��eaf�T�#VF ��:�^58�����?s�-�����P�m6�N�9,����
*��>m���F�$OS���|�����Xe?1K�>��]�sG�fy�?R��Y���iS��2���W�O~d�?|_�4������c�K:��<>�����R�'Y.����Q���q��zz����9]K���34�;6��|_^�u�r�!mz��*O��%"���]h�@�1���H�'�Zf%�8S�a��@��D������
�����`�"��
�W�-F��f%���zu�����Y�#�b��Z���B��Ee�7���H%��)f�I��-���	���=78�fOW�����W�Jw+oW����W�K����l����D��c'�c�	���5���H��M��t�Z�)�<{�^-���1�����P�k=�<���Y����c3e��Uks[���F���/W�j�"�MS�V���Z����]-���<���{Z���iIwi��^���AG?���/�}�]*,X�EV%�&����i'��Q���8�3RK�K�������������S����h�0=���7���������<���`�t=��B�>>K���,��=m|#Re{�UYu\�����J�>L&�$�k�c����G
>)k�5*|�\���%M�O&�3"c�u-'~�����bC���zG��mr���s�+C&�CM�1:R1����yQ��Z;���p�*5������x�`�,7E*�;�tgb�"FC�g������j<��F�Wr�y����l2�=Y�3�4��F����L��w����T��[��\<�����}-Uf��`��H��8T���=���9Y�5U������
A�F3cO����m��e��	�*1�;��*�V!M��.I&�2�������$z@�,J�V�������+=��DO?!��OH��=��DO?!��OH��=��DO?1�;���.9N�8,�j�5l��$z^%��mr��F2M�%2L�������R��If�f�e	�ow
�]N��I2��f����2����U%�w���:9N�e��M{I����f�������HQ���3l^���nR���Q�g�����Z�eG����Eo?r���6�\�Z���B,6Y���o�
��Q�/)Z����k�dW��*������]��>���O���ex��mz���J�Y8�������Uy���3���E��y����X-�?V������S���C�j<������W�?�*zx�@�v�V�����EO-��i�d�R����b�Li������
�j�*R���U��F�6��L��HUZ�Je�IW�e���i�3�pwm���g��>{!�����R9|2���]����j0!�9F���\���ur_f�y��S�04-��r��<�a-$�R�+��j�~7I�Y�0�,Qv���)%9EqV��*T�Z����������4[���(]+~�����j<�5��E�y����>�wg�pu�U����:<4�/\��-�I���)���FP�'z�k?�����MM���+aH��j�`����>U����Vg�*�kV�{���d�*w���7m���A���N�;p\��}�#8!RY�(������t�a5������$z�h�rWg��#W��n9�\��?����Te�V���e�:U�V��Ov6Mq�<6�D�S�Y�L�I�0'C%/��$O�U�v���x�(U�N�J�t>�&���X��0��4n��P����M����"������u���>j�C���x�qiB�)�j�
�����3��|����a��T�e�*��`U�J^�T���P9T��V�t��Te�I��k���*�\zE��S�(O������|`�	�D��eh���i��6��Z��Y��V=�'��s��3�zn�EI�0G�����Uzlp���*HO���U��~mbrW+����<g�Pq�&�����>�W�o�����'2�qw��Q!
�k��6��
�P��\������Sey�D�Q���cW�rv����B���1*�/��U��������d�U���V�3�Z�a��*�����T�S�eyJ���^������D�����:Y��"yya�/�Ac�g�[�,��2�U�����G�gp���U���i�-D�����������zU��?�_[^U��-��0>������w'�����T��J� �H0���*�w�����G���`��m��W��y[E���������O�T�w+����\���F�N���|*��LWaY�V����
$5�KU����Ei��P;��F�����J������!��T�Q��^M�������*��T������-Z�r�$O��4e<�Ri�q�4r�U�|[���wt�s�^+��U���
���`��}�����v�s����2�2���>���XFK���q�������)L�~�
w_�M{>�XY/�N������}-���i���`�^�%
6��������������y3��9�5�V�5�����[Oom�$���[N�����n|x�T��J�����5y*z1C����4��*�g9*(s���U���a��k����^U3��������75)Q���+����u�J}�9��Z��k�2u��6�:�HS�.�$Ok�
�J�1�j�$�u���ha)J_N�����Y�wG�Coh�E�8���z?G/����������}�T.��|�j������l�xG��Ve*��eJ{��{�c[��V��p����#���&�>���r=>}���
0���N��������C������C������������G���/��)I&E�MP��3��L�I��~m|�I}r�������K��p����c���
��>�{$�"���������.�8Y�Z�Y��T���57.EY�k������_,���eZ_��!�t�Fu��=Ym�*x�����E�/�\���cZ�
��*�'����@{���x*~t���\=}SS�W��2�3>���u���9����)(����5��p��Z1��C�����_��,��<�������7z'y�0+��%*z����u�xC�\}
G��:<4�/�Q$z��}*������y���<�\�z�����O����6��_�m���2��t���zz�8��	i3W���NU�e*y�YrU������h�'n^��������x-y�Tum����{�V���J���{��K��1���+���*�����{'2���BW���u���K���O�/K������������v�����k��  �LW�/W���;�k�J��;K}x���M�Dx�R�f+���j�?��d�K���D%G�Y�Q\�������j�*�A^U��U}��f-zj��p"�5u�c=���H��X=�?=���Q�����'
U�*S�/�*�W���S���%J��&�W��T��\e���!�<3U���)wU�,��_Ce��*����+e��J���/�u[�\����v���HS���1]*_�D+7��$U�%*{{���G���;��+���UUT�I��m��Yg�inr��`���R�_���r��������WbR���^�c2��K�*j��<��!��3��(UqS�����r_��X���dg�����8��H
��!��U�������aHf���"99y�U�;Z��G|���?hx��ZvG��?���5*/s(�������
UTw�3�/�=����#�]��=U:x�%�!�������������\��\���������$�,Sm�7Y)w�G�������p��j�A�s��5�l�)���J���Q�\��T��F�G�r�]�F��,�X����X����2\��[���:�j��o��;)JI���*��H���Z+�)C2�d�K���Nn���kT{�����e������k����TS]��G�r������+��d����
���?�,�S������b�j�X�e�E����*�H�IIk��i�{�#,N�����5�*~1W�+T��u�1�C��$MM����)��i������5���M��(���A��mNN�\s���:;\U��TJ�c8��U�L�V��'����7���h�e~�o�V�V������"�G�:�������t�"[�K-s�fK��_)V�_\}Wg5�e�;C���*�^k_#|��������-y}��
�����l���D�7�������V��R���T�����$�,�����s��H�079��S��E*��}��f��W�������+�v%�l�Nv=w��N��A&z�������^��c�T5[��<K�/d+m���P��V��7�9�J��/I�+%�.}T��6T��Z������X�~�����}�,�sk���V��,WE���M�,�[���s�>g��u�X�n�Ry���5��\�L�����J}�N;��$\;�(��"9:�{�J�K�NU���l�m����c��IW�+EZ�h���:l-W�y*��5�lMT���>�B������z�\�Z���������(]!�$�H����U�;u��{\��i�J_����RG�{?��"��K�J��o��8%���e�d(�����Y=[U������5y���6)}����++.Cow=o���*�����m�T�j�2�U5�>���x��?�&�0�m�{+O�/���K�m7�L��g
��D�,G�����u������n�������:9�b@�$\y'����QhdH���nD�_�4�bo�����
"|�l��D�wnj�-��6�b2#��%���Z�4��KX)|V
�JC&
M��%�J�{s2h��?l�G�)9�e;����|~|t~|���y��q�.z���2�����;�4>�B��(�QN���^|O����g��$F�����70�j�O��k�Q�v���$6�eEN<j��^C���9M�F�{�'��P������H����?��������{�������������H���������[��U�k�d����S���2��o�a���HDDd:0	>��>����G:�������Z&B����/,��J�~����k������(��\'�����5t��%Enj^
��z�%�M��e�p�������^����3q����|O����g���E
'U�t���i����if�cFm����qYg�����p`���U�$����C�t< ���X[���c�o`�����e�f��'��y12x�:�4��6��hy3@��j��4t��v/�OFF��I"/�O��4��jqO���������O��;M�6��81�f��k~��k���v��>��������]�r�[�v�0��v�TQ6���c>c���SQ�@d�`@&M��*����i�c���d���1�3^>�e_�r�-_�y�
�jmc�g�c�#����2e��I|�*h%:Z(}`�d��'�	�m�qO����Q�2[�W��y���:����v|��m[�p���~Y���<iB[�T>=����<#�7F�P�����X���$��E��G����$���g|��	e��1��[���B�KHFi�����m:���zy����H%����y�SZ�����X���8����GKRL;������=4��O�t_��7�	�ZKY������X��6���h;6F{{��^����ZB�v���P���?��}O�k�r��{���n���\*r������������a�=3|�������m�����9������.����%���Y�,����Wm\{]17��!�������Y�s���d�DV�����c�8%r������/X�DD���h��9�G6�q���I��J�v?�]C�!�Fi�����:�w��]4�B���>�ms�Z���6'N�
V���b@Y
0�>[I���6'/j�� IDATtX�?�m#<�?4 cK�Y~���s���U#���N��]8��L'��VL�$	=�/!�;�F��i����@����;��'��1�7J��^��
���)�f	v��;�cQbg����k��O�5�C��E.���sqb'����?��=}Ug�����H���q�J������aa,c��r��a�>��h|�HGi����km!��Ib'�c>�o:s�,k8�8m\����=i(�����v|;C���1}:F�h|�JGi����@�mc�����Y}�����[�w<N��0�uu�����k�;i�'b�������P-�;T��-��N��q����J�������o�12i�v=5�E�lY[	:�Y:�2�������)�9plL�0�E����!O��k�\�;00�%I�{��HN�0���}�G������c��%�3A<!f�;X����{Kkr��	=QI����ky��"'N;�O��%M�$�����wz�33F����r=d�q-+�Yb�������$����~�����%���B�9'�*�Zi:�?�}��U�r�,0�Z	�����2���������������+�n�������nn/m`�w����_�{k����4���3|������D_�1G��J1��4�iQ�C��e�?�����;���[����9���w�y�{��_���<�:�L�5��}g�������WN���DDDDDDDDD�`���]�k���t%a�������3�������4�=~���p�c�D��7���>�~��QBI�z��td����I�Z�0��\��	K�S��3�6�r���d� p�<����"�6ke�E���a���T��1������C��B��v�:{��_v���Ig���g|�
W���&�����?Z�+��R#�+E�=��������������^��1\���������N��f~�"s��v�_o���azN�'m�~�{��53D�����F~�"�q7�H����b�l[eM#�D_h�c��t%&|��������?j�zcv��qG
�%H��9l�����GN�:f��e������@
m����2q���_,V�(�}z���~�I�<3��Y�w:�'���L���$
P�����#�o�':Z<�G{j�>��k�ei=�1����Stn�~�����i9j��m}�W��0�#=�<� �����4�{�S��i��Pvh�~G-�h�����h����t����]h�
�A�67�!�+e}eb4?Z���������0'���O_��?}y����5R��Y�`t����!��4x����D���A�_x5@{� �X�������;9���\&Ih_0�V��������wnOp��
��/�>P���q�y �����[C�v���	�$b��#��$R��e#U�
�$��c0�?m�	>VI�5�Y��bG;=�=��c�������V=���������~���wn���e0�����J'�������O�?{���.�7��ig������{C�����|�����_Tn��������������H�fW���������||����R�������� ����18���q\~�>��?�������Hp��Wl\�O���8�N�1�Y�/�����$~��<�w�p]a�$"""""""""�����]�o�4��E���4�x����N�����ua��	={?��R��/���R��+���o�*��K0Z�/�I�5k��<�m��#H����.�UL�O����%���G��AG
><w���@�8��[�M�!����=������nB/�����}Y�^�&��z�#&
F�I�>g�z��p[����+��Pc
8����/��I��B���</����L�hz���%��\����f|#�e�^�^6�Hv�������J�����#&2oh� q6����x���������}i����Y:��h�=�L�N�\���y'����_6e�|�k	��D�
�kd��1	�l h�����o�j��}���z����dm����_�R�{���y����&��y����Fj�)�9o�X4�/p�Y_K�/{�y�������v������J��
\��i���z��������A��,�"p @��!�s����v>��q��&�g���"5�eG�%D�w��RC�k'l�\UK�+�o�d}�����g��������mo�i��H����v�]�.~���u���`z������)����"�7yq/�_<����W���j���V|K�W	w��Qny�H����������~,����h�����������e0������7��������^s��������r�?`���q"��L.���?�a���|z)
�l<I����$`c�ws���IDDDDDDDD�Jw���n.��C$��*u���|�Gxx�X�e�[��tl����sQ���aI��Hs_�T:;Du�=���1t�T��h#_d��������\dLR��X�\�d��-�������E���&��z7V\5���rh�3QZvZ���mm�u�3�}��r�����V�"�;��W�*�P��gp��$�#9E��4����|�Z����1?�F����D���D����]/�p��1��J�m�#����-=>�z���������<zH�����I����X1V��������wV[�LiB��Ax��x�7g_�rn���������2P��k�:���g���>	�|4n��;iB/r?�t�a}�K��A�K���z�9��s����.�������S����X���y�;�s�T�9���������5����u�!���,/��;����4>��9���1ZwZ�6;����g�/��eg��9%���	)f�t/�6��X�S#3�VQ5R�VRey���^��{�/>�f +�^_M�r�""""""""""r������%���j��5/��������Y�^�����{7}}�L�������X����h>�/������ko���p���"�	�_?�/_��
�F�<��y�����N�G����v���o������HDDDDDDDDD�E���t`8��y����f|��������z:?����^�E�{���i	�`n�C�n��1�{�^&N��m����L�O��?<
B�W�����������.�eJ�}�����	��^���p���,��B������gX����X#����e���V�A����:�?{�h{�����������K�a��V��@$M��vK����	���
��}����\��BUA����f7�e0wX���v��p�7�j�-�/H�T�
�=�y�Y?��2<x�'\3N���m�x��YUo�;k����rn���V�<�N������e}�W���~�F ��_����iJ������w���zSv%����Q+�G�
fU(wo��{�����j���L���Z����P�i��I�Z_V >��x(zA�c�#'*7X*�fb���W�;N��8F����
����[/s������ulX9�kG�67A�_��<�k��&?�����*�����k���M#N����������G�������}���?������������g>���g�������^u�_��\��_��}��b6��_���m�~<6�km��%ez9���R���EY�����.,P{DDDfU/�p�\���j7"�I��N�c$�����
e��L����B3f�!6��������(M���P����%	�n+��zo����e�/�������0q��
�]N�`0�B�k]un����9)�#��w��D�v.A�O��S�Uu�4������M4>X6vp�7D���'��T��{��q��-����D�����4������|f`;����9iF)������x�t�t��J��M��I��+�t���C�������	cKig/o���D,�3�*On�h��5w�i�;x�IS���"U���X_6������}~_����,Mds�'�� LC��^�s�}�u����#�3><��5��X��:�����cs�Y�����SK9��X�{��;��L�r<evZN�+�G�D������\���I����}T.h��T�p|o���]�k#�� _��z���CDDDDDDDDDDd$3���
w�[V������
;�co����||���4�*����|�v^n������n���9�kv���I�I�����}��}���W���n"""���s�����R�7ED��g��>�w�a�c!Oc�g���r��V�sx�it�G��v5���G�h5;"����lcv�Z�pQ��yLos������xV�r�%�>j
h8(�%�q)lN\��a<���8;or�r��21y���M<f�x!O���D-9O�]Ny>������1~"V���6B�e~����]��4�$�������4�c�'p4U��9��W[�h*�
��C��c��A��%�r}����i��&�g�v�&��(g��B_������kU���Y���h�pm�t�7�r�����B�p:Nl�J���c��pS�S�s(u���)�&|�R��VB��|^*c�\hyh���sj��9�����0��o��;$�	��.+D���y��n��1�l�yf|E��,�o�������B$��[??��w/�
���1g�]���w������Kx�r>o4�������\��H���w�����57���[��@m��i��
��<S/�!����t7pm
|��h��F�C��J]&��}��M�����Y%'�k��	>��;�i3&���}�7A�
U�5'������2�;6;��T��1����'�4<� ih�4~���	��
��=1��Y2�����H��W�����85���s��l\����~S��a����q�����Z��8����&����)���LX�����>y_u����D2���T�.�k��L�8��G��-�u���L�����>]�k���r���)w�q-�)�\kq,6'��
qf����!��K��^�s��q;��+w���2q���3U�M?��\���O�������T>���0�Fe���83i�{�I��
pf"��,���vvW:�����L�m>�o���������O�nf	��6l���!]�
����.��������i�M������f�pK!���wy�O�g�l��
�� cF����_�Wm0m�Y�'�hH��Q8�5��R���������-�+��1Z���4��I����\�DV�.B�O"�_��|!���H����OA���3Ng������������Z�FIg�sQZ������<v�2����em���%���Y���C�����;���
�s����1��a/��B:�4&y��g��y,����b�y��{qV��L�I��wg��������
����E�K�t���f�X�I{���;?2.�Wz�X���v:U���G_����k������d}�GL�}w)����L���
�&:��9���6%�YFsq5��~"���>�F�5�G3�t�v����#DDDDDDDDDD���J�P�}�Fn���<����G���W
��S2�����q�g�W-��S���Z:Yzy��W�=���O,)XeQ��U�$���?}��o2t�d�����7{S}�����(���`��E�c>����j����<)o~����U>eR�
�]6�u��M�L7s1������N��}���	?��,�I|�~���=Gsh��KV��uX�V�T:�)=�?���k�Ily5�f0�:�)������:���o������w��4Y_�1}��YTE f���c���d���&�����O���51?s1����Y�If�J�f��ey�ms���]�^]�	)����wP��;��
�2�IhO�`eU������w�������������2mnL����"(��y>�����:��j`�u�s����\��5s����������X�',�������~5�����kcM���|`}�h����>������}�������^���GV�+�I�;��M�D��8'^�hq-�[�)}"�����[��
��j��J��U�e>�pO�ax����VL2�k`�=`�6���*����`��h)k^��}�Q�D+o����a���\WO��K8���S2��'�VB����I�K�s
�s}��u~�\���a����/��z�	�JAe��!A�qd��?������.�������v���:&��}4FrX�b�dW�kM:��^�1]�_�1n�v7F�6�?��o�9�e6�z(*�fg5�	_�n��d������G��Z��D�D��=��t����������M~;DDDDDDDDDDD���GlC�Yf���#��3��`&�ky����d&���I��o�����Ner�P�mE����ar�&"""""""""3��t��At���8�s@Na���Ys��-�������*��Np)��?��i4�����mJ��~���f�������f�������h�����H��J������7����]�G>(��Y?7��+�y�u��:��8��$�q5�:��8	k����{�3�"�H��N��V�+�+�9#cdm�����x����������Z_���I������
�ib� �}Z_;78�y���g������?�r)��L�T:�(|�����#WV.�Sl�.�X�>�G
zS���|������wt��\C�l���<��9i}���u8\��������/��������EDDDDDDDDDD&�+�n@A|~���n\���Q�l^����`��r���B�7�������i�3��""""""""""3��R\�J��8�X���1b',�	��%K/����E��~��m:���O/�C�W�N��ul
��46'��-)�L����Yg^��y#5�8����F�g�N'%���$���G���7gT�b���q���������+���y:N2�c2}&�`+q�����V����o�I�}��������%�;���uyv\+��}�������&gM�{D����!a��*�)'�$y&��J&A���Zu����JpX�G2��u�������/[	N��8I����5��m�
V����h������	
�[a���{f��KDDDDDDDDDDd��"���%�����U����QF�O�-���O��(�?�I���:���q��9%n*_�����Yu=7\5t7
���7r�h�LDDDDDDDDD�\En����t��c��X�nK�'�R��_zl�XVK���F|���)�9i7�7[����)L~��A�2K��L�PWt��r%sn��z���y������KK�v+�hd�P��`�{�i���9>������
�����D#��fYy������97�h`��a�e9.���0;	�J~8YB��4�G�9Nk�06��}&����elkk��������"����b��|o�:'~	A�����Q������s�Z0�x��"�po����Z��-}���k����M��������*��<���l%�N����>*��}""""""""""r���?�l�������r�b��J��h�6�������'��4o��am������O��u9���M�X���l��z6�3M�$����]�������-��}"""�P��=g������n��^v�����#�����Z1�e��
N"""r%s�Y����8��� ��]��b�CY�-c���<Tm�~����<4����v&N�#uT���;�e�Ib�����8osb��&�8N��\���}�3L��85�NE����
<��"�F
^��������� Dlo+���x����Q����2[#}[.�$�T+��kq
��b�����c�6> pt��MMS���*��-�$��	��X��co�m ��<d�]5������%ks�]�G�0��4����P�(�C�����|y>��\�r��f�%�T�en�������DI>^��u�zC�����4��>3i}M{9�A�����d����<�9='~��(�C�KzB�+D4��l�{���aK������4��E��G���L���$����w�	u�8��X_n����Ci�{:H���%��N�7x��
��� �}I��D���I����TD��DDDDD�e/t IDATDDDDDd<W\E��Ow�,���}�M\7�E��w�����o�����9���~��r�,��i,M�Vwy���x���(t�DD
/�����>re5��
�0�N\�TfU�3��zx������HVu��u������(��|mV�8���':�P]����,+���S����V�n\�}�_|��I�?ST���a��f���]z��XYM����V���X�Vr��\G�%�2zUO����4�-�[.)�������w��'�����r��Kg�^�`�C%����u��T��O0$Mpw`�v�tX��-^�g���gsP����L4�J�2�+��~���{t���{[i�V)\�o>�}����
)Y�����t~�9���	���Dik_Z��T����J_�$�;hy���g�g���Ay��L����F}���{�}����VTS�tp0�������%�=>�O�i���4�Y��/�����v4��$""""""""""���A����9�])K�rl~�.���_q���K����9�uw��-��|���~�}�����Q���kn�o~0�rDDDDDDDDDDf��>jVY{��hz��H�h�	m�����G5�'����O�����<�����;Ei��n��m,��L��"yd�AZ����D\7[�k��k���e+�����p!&��ly3���<���GZ�
�]��UP��58�_�s�8�}���e��������$s{�$�Z�{��H���<�-s:��?��`8;�����������3��N�R�#h	��=P�wuY�����c����Z����p�S�.[	.���7���V@z�8*��cMOGi|���X��3m���������3��W��{�h{/���|�%+�h,.�=^�sYi����B�^C�D���1�p�0�$�'���'���`
�:*���t�}��������8v����D����.������D��6V�r4�y�ct<y?u������w������J���PwU�s|����������H����g�O��o|�?�s7���7�Ns�C��gL>���y�nn��9��oW�������k�Y�57Q�`vU�7jw���O������^���=�h�q>�4������[�82��������~�{.X�w���xm��������-GDDDDDDDDD�rr��^��Z%�p��[h{oH�/��!/��F-���x��S1N e���YjIGe��=V;e�'g7��fj[�x]~<����=��������R�Z���y����Wy�X����-�����wb$�&d����cS#�����1Z����D����d�����.�����W������������fs�U��T��>_��[G�;�Q+���"t<[G�r'N��4�s>�F����Tf��i���rk+�����Y?�q*X+��[�A�8m��S�d�xV8�$���5���a����G��.��I������X*��/�TE
���"�6��7��]3�$�c
k���(I�$�������'h��AO��Jye��h�w����N�������oE�S������W�h;e�pq���L����DW=����xg5��D��������f�58kP^U�x��qgk�Y>8�DuU�3CFL��xb
��!�v�%�81����n�m��;Mt��xj�
��=��Z��C�c�sG��c���;6����������+eN��r�o���>d��r��� 6Z��4��4�wK�K�� :-+<x6Ve��a�W�T����VDDDDDDDDDDd�f��?;u�7��$o�s�sl\{��2|�2������:��,�����������x�@��)�5�f���,����n��R����9���i���=�k�g��K��n���?��]��q�z|���jW��w����DDDDDDDDDD.��ji���5t1P�~������,t�Z`@:I�X|X��qO#��L��"����U����i���5��U1z]&���K��F�����'�4Tix��{���b�r�T:I�������}`"w.��77zz <a���z��������*� ��+bk+i:��d0����������q��b��&H~����>�g��+��jj74|�?���x��m�k�+�i)�]��7L����@[�)����1���yR���?=39a[��F�{=�u���}��:�:�A�3=��sP�L�#����o��c�:v:p-vb7L�'b��������T�L��q���S!B�b�=RN�Sn��\8��:%|(F��5/����6Z��V�R�"@�;��-�����+�q>8z�kF��v���(�$������ovS��
	�-�e�S!��x���g��W���b�fR�?>:$$]�f����3������i���62�/rS�vR2��
��8�GBD��e�~s��+�R��M�'�/I��s��F\�Jq�70Sqz����lv<[�8v���Nl�V�=%}�����W��v�`�	�GBD�|��zZ?�|���}�lp�Fi�o	��x����Y�3QB�C��;��p�*���/U/uOx���?Q���m;������J'H���}4���	VTS}[��C���UYUYEDDDDDDDDDD.�Y��B����������7���M%�U:�c+f�����=�Hq����)�t�82�d�.�^������rn�����������,`�~��v���!K�F���(�S#O�����W}8/�_����4oq�����%��R��C�������8�!����(��u��������6�h9lI��D���;#��hP����s����1�����yh���P5u{,U��4��A���������<����]G����y����5�Z=|�9���T?�D��4OE	�w��0�N��nj_o'uo5
]�P�Q�������G�G�`Io��{������� �+'P�����	'�[��`���;��2\T��I��	�U�����Nb]�`@Z��ss;��j*�v��������Al����Q�j�w\y�����0I��<s,��Zon����r?�B�/
�>�L;�M��6���o�����V�
/[�%!�&�N��;#�m���@[mn����������@�� m��{�6v=9��U��*�O�����m�C���f��2����u=��lc�..�6�S8d	s�����K`DDDDDDDDDDdJ}��
��b���lXY�u��(���w7����z���	y���-�<�����w���������m���w�J�5EDDDDDDDD��d����D������
�Ej^
��Q���W������o���L���jh;���]��0���ok��g,���P��+�T���������������8L���,�E�+=�"������s�DB�#���i��'�H�*�q�i_����Nz^�i���"��,k���g|����9�a7�U�-?5b�sQ�����0�h#e�'�y��e���z|��p:.q�ZTE �M��+p�c<��{}=�G�4����\��P�����8
w�h�
�p��/xi<�����
^��:q��m�g2p?�N��]����*rP�����0����K�+W����YC�Nr9���<�<w���F�����2��i\?��0e�^
z���R��s�������8G�-r�}��pW��e���a�zp���lv��	���bs_��h}����M,�L�x�
��������w����i�3���[���K��	��@DDDDDDDDDDd��C��O�T�F\�&�������$�K���\�c�U6��u�����������9����~p��}�c���20���g����F��.�Z��}R�����B���>N��5��S|��r�cA��L������~d_ �z�B}�H��>�M�D�D*����������\nJ��p\����1�1��0�cq�gML�^TL��MiY9�����?�x&��a�G��N��-6;����,t���E�R��a�B3�D�B�?�!��?F�Kp.vS~g9.G�{���rm!�_��X �zU�~�&�"x����4`�����<�rf��c����cq�f��5��sq)��e8�e����#3I��nb����z���^L����]N�$�)�!�"��S�3`��d��r<+���5��\����X�T/`/�y��*��o�d����h�x�<�8�Y�g������@�r?��������+��1���\�H$J��8�D����b��;p-^������U ���8�m#�_I���Az^���(""""""""""Sjv=��������������LgZ����*7�"��/+h�DD���i���2I�*\T������=�C����JDDDDDDDDDD�<_)tDDDDDDDDDDDf�������c��:�<EDDDDf�c���/���)�)""""""""""�������������H�L�]a.>
n����
��l������L@��S-D.����s�W!�$""""""""""W,=EDDDDDDDDDDr��>��8�\��fi�#"""""��[�����,����Q�������������V��������������b'����E�V��y�����Lw�mov��M;�N��(���e�������������������"""""""""""�Z���c_�[!"""""�8�N�#M�2#������G]S�&���"""""""""""""""""S�����PG
.�*]DDDDDDDDDD
H��M����U�nv�9""��"�en�����=���E�*/��a��sq)�VS�B�I)���:��?�"��/��	"""""""""""""""""""""""""""��+�n������������������������������JAO�Q�SDDDDDDDDDDDDDDDDDDDDDDDDDDD�@�)=EDDDDDDDDDDDDDDDDDDDDDDDDDDD
DAO�Q�SDDDDDDDDDDDDDDDDDDDDDDDDDDD�@l�n�lq��$?�l_�^\��W�E"""""""""2��&��I%�����]�Ya�?
�������M<���w��-YL������_���|�y���-���o����ykp7]3�&~v&����G~}�O���L�/���������������xbm��������k'8����������\���������x'>��.>���O��o��u�l[=����f|�3��^{=1�����U;n���&���/~�#��]�>�u��gy��gy����t�����=nw�&��'y���q�����;��ysn)fK�A����5���c�sg	���qB�����������L�u���w���"����3>�9�L������I>�XVrl=��������������������]M�6/;���[X��������������������&�.�ymI1�99�<g.F�s�p|�!�9E���[��N	�K�2���|�=G"�y��9���u�fn�c��n.��Z��y����������������Lj��$�g��.j����7���������������������XfW��V����x��������[~���������/Y�p������^:@�I�����7�����������f���t2�}^u��Z�Z�7EDDDDDDDD
/���j���4o��e�w�yO�D�����/N��z^�L^��fZ��/�W��[:Y3����lR���w8���On��_���o��1����Jo�_��b��g���~�
�|����p�5��:��EDDDDDDDDd�8�'m@&I���)}����-�or3j���|����:��p*J������g���Z�������X�Z0TDDDDDDDDDDDDDDDD�
��B7`F�~��C����[y����<'`�j������!!O��V���PC��Z�+�����h3c�$���J��l�y��UQ�V=��I
y'Zi|3yq�XYC��V+TDDDDDDDDDDDDDDDDDP�3�~����2X���Y� ����������L6����	��i�Q��n��j������n� �uc)K�~:��=��&~$���N&/�iz��H�`������������������������(�9�L��R���ob�����GDDDDDDDDDf�"?n�'f��$��bd�D�0�����IO� �����&�
g4��8h,�B�jU��l�����s�$�&�-�uU��#"""S�$����H��K�`�zGa�$"2]d"4xk�����������Y\�V����^�2|�uRz��[C$3����y5H����o��M��6;�G|��e�I7K���Y���L��a���J�L`N~�{>�00d������g��|r6_�q�u��0�������/H�a�Ie�8%r��|f����"��#E<!r�������`
�����R��OkW��P����C�uu�����h�+m���qwlpx���uz��������������������0��|��������w?����5��r�M��G�r������r*�`����E�}���Y�����z8r&{YsJJ���o����Y������d����M/P����?f�jNI	��y�����E
��������������:h������<�����!�����%Dw����f_+���h���=or���HGr`���P
e��O�"""""""""""""""""3�W
���������C��������oy�o�`/�>0��3�������8���}��?z���y\H$8��+6��'~�x�OGh���Iq����'�}��_�W�h�������N}�DDDDDDDDD�8�����]�o�4��E���4�sb�J�l��;�I�ZFo����S�*��� ����9��-/E+�.��v��g*"""""""""""""""""��eA��|��x��Wx�@�8cf��s�SQs��������8�Cz�B/o���n?�������p�������q��m��������;���-,3�������*bC���P�L�!�w��������UM�+��6h�M�5��6	�l��UC*�FW�tM��b���`W�D�2(gX������F@}=�+��s<7�s�9�����y��������������b��t�������* ��D�}�_���x��>�Tj��7CE.�~9���+��B��|�:v��i/�?���;;�=i�go7�����4)��{��]o��	�u|��EN�8�G�(�����e���.�w/`Y���P���.���}��������E�����gC���S���y�S{�6�v���������No��������Qw1���������s_���YD������;J�X����R��4���-""""""""r����$>���,�/of���8�w�b���j<�H����|}:���i�d�r���A��M�g��������������������������z�B���m&�b���hF��hV^.��_����e\�V�����]�������N���a,��(��'����_c�q�A�L|$��q����v������+|�������w�������o�"�a�zz����Y]r��/~��������V�>�c/c������3��6���-�D�NsDD�������D?+���A���[�?����J���j���������{:��z�5RN7O��[N��7'"""""""""""""""""n�������Y���������<��K��t���MG#x#��!�M�F���V!O#O_��������+k���I�>:�I�;;�~w03i��Z�4������o��{����`��`����6����f,'����������+����
�JW�g�����k��F*��t�3�%�D���h���������������������
�Yf&>�+�7$4��������gK�����df����^IV#� IDAT�A�y�qc��1����Q&?���C�.�e��+.W�����f6��y�7���H���������������������.n��'����9�s��N�%������k5��0����]M�
�.C����R
����gO�����'��\�U�[�<i�����s�N��}ig���U�SDDDDDDDDDDDDDDDD��~AO��fLz^�q���%=��UW�?F���#��<�_��k�Z�x�����X{�E��Z{DDDDDDDDDnSm�������H���m�y��T5M�<���1��q��z���Q��r����z��6�z�����w0��l}�j:��>b`�o��p|s�K7[eRq���7R(����g(��$��YRq��z���B%���w������\�o�My��������}����m��t
��_�4i�Y����� ��������"��|��#�n�fy����j�5����������,���T���������������������,{���?s�N���m����AO��2N+x��e� /�0c���)tQ��:e6������u���@���d�6�������������M�����]�4i�o)�V5O��t���8�Q_*T��
`�����1i�'��4�p�K�������O��'���q?#�y����2�����2n{�9"""=���,N]�j�s�#�	�G�E�vWE��
(��5�o}������k����tN��8X�8��C�3���l�a�������������������n�.;�����s<�xx$w�\�N��3�HQCU�:i��X5���c�E�|p�q?��7]@�����]h�����~����Q��_����a�����"�yK��JD�O��d�cSI�0��%)��'�Z�DDD�3*v�������'�|���GDDDDDDDDDDDDDDDD�6���n@��x���d���ms|����t���f�c�t�6��+.�i��_8���6�+��bc�����`f<��~n���X���A���e����?0kM��10&�y������������H*xk������.^B��7[$""""""""""""""""r{��+z�����~+����y(n$S��6.����Ug�\�Y>�C6o�9�9c���N}q2
hgWF�lQ0i/�m���o�ve?�����e2,�������kE|mH������QG���|PRw�?}Y��0�q�<�n�O|�[�N&���Lj]t��*y�e��?2<l$�>|/��0n�w�7,��������2x������fP0�9����"""""""""rS�r�uof�4,�=sX6���-�m��A�f�J����g����&O0c��K6{��d336������>���1����3G�4�p��`�v>���������'��������~��e��t�f[�#;�(��8mpKeElz�����,�q�l�E�>=��OO��Z���8�v.}S��Bj?��6���o�i"""""""""������%����?��x��*�nvK=������+����3^��k���6=}������nV�5�!/�8n�q��j'F���&3������v���������u3Ye��F�����������a�b����j�C�Y�dho�HDDDDDDDDDDDDDDDD��v=}ytA4�q����*6�����Y�8�������`���D�:���'8V����)���Z0�����/���<�\|T��S6UN[2��]��+��fd�������������������������{�����������Ft�����R��m�+�B���8����'����}�/�C�1i�M���:��;���9}���Lf|}	��}���\����E���Q�u5U�����OO�����a~��;��{���NW7��geo7ADDDDDDDD��VW���g���y�����Y������AO�-(�)""""""""�5��2zZ
�u
���P�-s�6KDDDDDDDDDDDDDDDD�����n�������������bR��l
ybg����m�������Z�%�a���%cz�A"""""""""""""""""�7�/����!��{V�vDDDDDDDDDDDDDDDDDDDDDDDDDDD��wz�""""""""""""""""""""""""""""�+=EDDDDDDDDDDDDDDDDDDDDDDDDDDDz���""""""""""""""""""""""""""""�DAO�^������������������������������H/��������j�����n���������������&����n�����������mM=EDDDDDDDDDDDDDDDDDDDDDDDDDDDz���""""""""""""""""""""""""""""�DAO�^������������������������������H/Q�SDDDDDDDDDDDDDDDDDDDDDDDDDDD��x�vDDDDDDDDDD��8������og9�}�=�$�IU�Sj���b�!����������������������&�o�P~���o������{�E�������\��;���@?3��n�������j�����v�W?_�����qcvUk+���*x������(����ZO3���VpBDDDz��5,����v����8�G/��L��=�UZwr�j������v�k��;|b)O�wb�lO|�=��g�;������A����>��s�����c��W�I"�W�����'�������qV�m$�V:�rK+��8�^���������
�L�����\�/�������9����7~�""".T}��kR
x�f��d�j�q��z~}�?Y}����M,|9�����om��}��8v��s�[���?��f��#y������&^����'�s��E�}[u��0l4+��]��l�}|q�w��$G>9Ov�u�4�2��Q�L��q<:�N?EDDD���-�%�D&���q���Pj��\�����36�1�����}V�La���X?�����~��7��3#.��t������Lrr�(,��t����/���r1/�PB����C��65����-""""�\He����=Y��b���m��kv��SY�8�����m�6�1���N�����,o<���>�&��U����d4��F,c�d�<ED�wy�, �w)l������;	���������������m��zV���w��un��a<�raZ��s�����ds��:�K]*���/r��l�����?dd���S�{���9~����)��|�0_�v5���������_�%W���s.��syE���Qf������������\���h��o�

!�����N���W16a-/�"������(��+3xuO.���Y��S�������^���%f�;�=���G8��X4�����t3)��ILz����	UDDDn�~�X��cj��(��L�Bf}QM��e��[3|)"7/����1NB��b
/�L�v�)lHi�^��������K{T��uX�6��<,D=1�������j<����@��]T��)����S�2sXo7LDDDDDDDDDD���>����������u���Sb�����Fl���<���>���;i����j:�U��}�������Dqw������G��_�<�����mS�
{��u����j�d��������27��oBDDD�=#����-�~��5�{l����^U���e��?�iO, z��!��h������H��������W������{p�;9o���k�./a�T
����X��C��+S,wNU�SD���e�
Me��v�Ng���&��n������������9�\�s`�/>���k���[��h�����N�b���0*�L�Qe��\A)���8��>8��7E�p��C1���x���*U_]$��Yg������^����'hla#B����o���)-��OG�_���]��f^ZDJ�2�<������sy����!$nsg�3�jm���oa�;���4.s~�&���>�y�$l�h��7
��������QQ^B��b�(h�(Z_N�����'X���NDDDD�VL������)�E[3�?���cf@@(����l?
>""7�������q���yK��gw��#�iO��#)�j�����4��#z�a""""""""""���ZAO�;�����}��7��"����y��������� W����?=��G���iOO���0"���F��$O����].�y�^~���!��Kz��Ytu(�/r���)��������\�4(��'���@��P��=y1��sY�����du�6�����v*v����wr�;�{�����$��#�PAcb����{r���}�&�~����	�o6sb���g��6��IL����Y��
��;����~
���2��"DDDD����%��y��1����!O�#�9���97`�""7����o!��@MCgF��y��H�28n1[RI�8������PUOi��
z�06���'�*Z����8��m�AO��?������A��z���
c���C��u��N82����W�g�`�[H�j���?z���V������4w�����B��pq</�]��Q����(MXB������BNM���dVC����H~���5�T7�#��[�OX�XW�AL�<�����=n	�l�"�V5wJ=���'���3�������leT�_��0��#"�U�d���M��S�`�R3""����gz\(i)T�
��3sh/�KDDDDDDDDDD����vn
�f����Q�	��W�yv�=�Y�l3bZ�<����}���b�f&-��~�SDDDD���!f�lB���|ksX�����?����Pf,Ldp���%q��6�v�?��r�N��Y�|����)�)��}����������8���AJDDnW%��q��q�#�)���:)""}��G����I'--�W�#""""""""""}�*z���c�N�G>��d�!A���/��i�������G��k�����HWX"	���:t��QQs�xm�G�\6�1��1���K�d{�i����s4�b���|	
��P��sJ�Z�w�>DDD��UQz2��STT����a��PB��"��������������+5�W��'�;�T~�INA�*j13xh8aQ��vm��g�������k�
%$"��!7���V@Nv&���R^��Bc�8��kA6G���R����VTq��f�@��pF�	e��{��|y�NQ����xy�8t4��%d�O�i���3��Pz���Z���g����
�$���X[�K^����3^��'��P�=�_��[�|��������'�C��)���t
��QYm���?C,�;!��~�TmEy��R|���}�ef�_(�1Q��tOp�����2)<WLe�0s�o�##	c���H�>;�g(>[@iy�5vji����$�����u��pw�<���n���I���P|��
[Wji���@��(�Fu�9�
�{�jT]@~v&���s��|,��d�8K���G��#�����
���"��p��,""""""""""��lO]G>�5O��d��;{�=]���"���6�����3�V�KDDDDnm�`��'���t*���#b[Tu%$*��;R��-��RX������s����M'���������0g�,����g
[SR������A���}>�i��8UQ�����`���9��b{f'$2gQ3#��vP�{N�`�S�)�o�vj
%=k�����7c�I�>���!��-����T����ik;������%�l�A��N��5lxc3�3U��f�glB2��'���Te�:^c��N�#>�LM����p��,��:���+���N���������$���<���E��T�����Y.�5m,�������p	1#:��"?u
�~���3U��]���F2!&���K�2����)���7����|g�[hxmMY��g�=���~+Rx>�i�7�(��o�����j����q��P}����#�����������V9_F�X�6OF�w�g���O�����sx��o�T�rx�*RRRR�d�~&L�9�/a����R���mo��C��N�����L�is"��c�=������h�.��^C��NX����	i7�[����l���k��0�����~lhcK�);����[�km���z:������i���r|�����\f%�6�F�1{��t�p19�]X�V�ggRbk�~��CP��L��/�9�sA��y�Nvr~���Pb�-`��s���}�=��M�������}G��bp:��s�����i���i�����b���������t�S��������������<���V��a�?e���p�e�w�r��e9.
N`n�&�Gu��PO\�[����P��.h�>�J�gk;����[����)9KvY����{��������#��������SR5O���y,��Z��L*o?���"}Fyq�N�^]v�,����=fB��W��k�������|.��!��:��)=W���s�=����W�������o
�<�{y3�{�U"""=���ZGc�m���\�.�������M�U�[�����[?�u����lMZ�����Ro�4{3ks�������c����U��zj�S>�m/��o'�	8����������a��*r����of��@�����O�x��-[���@(U��9��h9�K�U�����rY�uA��7\<��E3�{�����L*��O'��^O�o�=_����>M��p�S5���������~z/'F�v���\v>?���\��[����uG��C"��>����\��|;�eG9�i�x�������"���zX�!�]�J�
�{q�����V+����F�`�(���r��Qa�AJ���>��h+��A��e���w�j�B�m�<���{[���2����/'c�����6�����d�K9t(����:Z�Sz�i^|)�����4T���9��C�<�n3�����s�>�/��=��5�1�}7��B�t��}������Ud>He���j(��.B��l_p/[?w���/_EIf
2w��F^}9��Dv���o[.�w����
�'0%a��b;\��5�1��!3���d�~��9�(9\��G��}�>L���=k-d������B�{>�I��w3�M��o7����y����.��\��6�_�gS�����}���nK�\���A�_���Z_L�5�g��x_wBe�����T������c!s��h���Ke���;�zO�~�0��"9�/J�kNG2n|�u��Tv�s�����w�2�������4v�����Z�a�\��K��7��{'UYHDDnKv���K�����0�j��HDZ�S��6��:x����CV�)J�1=,
ws�~_�!���)G1����
zV����!��aa���sj��q� �|�a�G(��8*""r��+����-���<�X���.V-p����B��P�Amu����_�����#<���<�N�7O3^&3^�T����W_?�<���g2��V�������M����h
y�<,�@_3��b���Vg�b�����M�(�=�����Ac�g��������t4�~YE��	��R_��^���w�>��K��iPE�����1[���{����P�2�;e��1T�r��~*/���O����r'Me���u/_��P}}���[��RR�~P���cO������y

'�{���T�PX`8��\�����Y�����|
/8�\�$�����{��������~QL��V!�����NB���T��v*/���2�e�!hL?3\.�� �RC5���U��������F���B���U�h3�GD1j�^�U�}J���*���SY�h��� IDATl���#\o����}����x���{����jg�%n����4>�p(�N�d7_����g*a�H n����Nj��exC����b�
�����=��jH��H`W�.��<�#���������Z(�q�6k1��~������Q����C��$&����GR[�'�=���&-���{�j�(-�����J��l~*�[>����U6���V��L�>���3������xSE��J��r��/�����v������+^�1��R�6�K��)!���F{OQx2���y�U�}F�	��Db��9�~;����b�_��1�i���pj�<�s%6CL3#�������|���l��S����LL���y"x4�����6�}�<i����s�uf6k�����
!������3��������������	vJR�j��3�G(��q]����Rc0�3�!�����8�;��SQf�q���_����K�V4����93�w}�"""����-g���N�^���=����XB������s��Lr���75'���d����!O����|f-��7l�G99{����]�\�D�2�
�O�bR�:k�u��U8�Pu�)���V�����e�����?���i+�o���k���JBv���-�0����\�>6��g��ig�l�XEu��������&k~��=�J������v
w��������8��W�4�<��%���K��oxN��b���lH+���Ar����]M:�cf''�2����rI{m!Rsi�6�������`�;�O�Y�@\\��:K��r9��������"g�BR�N��e��Am�:����d�/6�����F����<�����$���78��U�hZ<~	��O"n��CEi[��aOc��Q@�KK���>�����'��f��7�_
�C��DfNO z|8��f�Nuy1�'bM���ml�V>_�,�
������Q;�J���f����y����'f�e�^�^�O'��6��u��j�
V�0��|IH����0�x����C��5$���_���)Oa��-C�������$��2>�)=���/�!��w��j
a;�q�e��o�s�|;����C��1��������9�4���v�k����y� ���
�UZw�a����l#��7���(B�:y&t�������on�������c]W�uC�=�0f�>������f���h+ c�
2v�b���=���S�P��*1f2�
����T�g���F��I}���������l�5$�����N�g�}�v��~��T�����kWkr���*������kw��J�V��f�X�,_��8��D}9�{���Z�5��Tv�- ���+���u�-�������g������x��wk=����Y��t�F��l��d�qk+_}��a�w|(7����]�(<���}���8�I�(+���2���g&��1�zn$w����X���g�7�\��+����~�%g���s�x������0�7?����>�]��T������NuEs������������m<�_,��q���!Nz�UWTa����E�9_��\���
p����Nm��i��omT��%��]���Rh�z'�r���������X�6TB<i-�������5��8.�i�����\�2�U��S��Rv~ny�H$���pZP�����;H	`��u:��b�o����$�n�JY��l�6����/�^�����%v�Z�����j�����HI����z'�h�WfNf����m�dd���q�|_��w��1|u?x�F^�I�!��|�c���i='���1������
g��x������(`�����]���oL&��-�Kl`p�7�)�?$h��H\�X
��K���$��o3�PhM5�|�Y�+�����=,�)O�2%1�������+`��5�>CN}���$�l��!�L{�cB�~��7����l�]:1I]h�`��)��l�~��\��g�,��j��?�	SC�0u	s�;)vz�n��U��p�k�52�����d��*j=|���W��ep�}y�Z��H��D�,���'%��s���N���L�;������k����w��\J�:%{W�wV,s�]5�N���"��]��$^�Y:3���X����<�4U��u�v"����cf��i0���T2����E��������"���F������d����V�^'L��������I��u�8������'�2�S���z��'%�rR/\�������G�YC�T�T������������L<��q����kj���>���r�?����|���\����n���������K`;7{�H`���~:�������;�y(�	�|�w�}��j[�g����9��s��?c����T1���M`����P�����u���}����]�����i�:�=��|���.}���Y�Xq�J;K���e�Lw0��<���.C�-8�pl�n}��������M5��QI�x��a�6�y�r�0�g�x�M_t�0�"""""N�YCb� ~��������h�OZ�^C��kh,s^�������lUSE��Q��/��1Lj���j� ~�� ��h�2v7���d���X�m����������1��3X�byz�2m-[w�q���H�Vo��f�k\��w���5�p�M�����b'���P]�_$���>��J�����k��7��;��85,��w�y��~���e�����_�ji�x������w<~�$����_$s�TI����v�g�������bL|����!�&fB�&g��T�X)�w��S\\�<i�"��7���~�Z�o��������/�-61�����)=��E��>�VE5�Ly�+���f&0&�������~�*�PaxMm�\u����������>������L��>hW����g�UH��l[�G`���<;��^��bj���S�k�N�#�9�_������D�]llG������U�<��}���$�X����)?���<�5&�)m�,Ly�u���yG$1�A��2�9�z�6u��p���Eo��@)��[,J����uu19{W������6�8HI���1��2d����s/��s�0p��?�S�h��e<;���g��)�0(Ly���
��M����0a���C��	�[|V�=��XY������%���S_Eq��3 ������������X�L����C�G�����[�������ko���Y#������s�X��Vp��������}������g��������8���?�?��1�~s�m�~��{���`�:�=�K6�7~�0��/����9�"%I���$
������dx�:��z�Q��8'"""""��_(1�����Q��m�S�����R?3M}��s����9|���]E{��d��k��2��P��w_pb��%$�;���,c���"""r��e��v��(=��E���I����f&<>��k�������v�!"�(�������"0"�E%����.�����xM�������M`�C�	����nO<������O�n��b�!��_(���
W����TaM}�JC����I����eZBT��F�A���v�;:���ve�[�|��3^'����;����v�@���4T���i��������YsZT�.�t��8�������L�:$uM��D����S�8�zy���)	�m�"���C�*�Vi�m���	�Kp]���|�0��������
zB�<�<3���_s�?�����&�i�Z��T�Ne��G��w�#��U��p����;��
������1��L�G
�t����h�=�ac"	3|�8WLi6�������|���7S,�3�G1�������;�`�>�N�W
z����������H����L!�H�6�y1~tz4#av4+/�����g����
���d��}���t�nc�Q��O<>�1���p�z�|��H4�F3���<�a�/�uW�`�96�&��=�ZZ�}R��?���������?��+$�yI�L�9�����t|���]�R=�ED�Vf&v�&�~������aLD�WS�u��O$��|2S���:{��O�l��w�U���LrN��9�a�&�V����N��'6���S��4�Es����<�'n�[�����K�[#���������f���t�.'���������=F#"	���
��gRJ�
���{�-B\>�u��Q�[I��a!������O�;����;Y4��O[����b�^�	���{wq��������S�y�X�Bk���~>�����J���_���.���r�uW��&�?�0T���'n��U�O��������0�&���Z���'j��������NE���,�����8e	1]z���oh���	�n��13�o%�����+��������93!Q��=����	>>���q���_��a7���6�g;f
�'�O�����b6�\VZ.&�����_1�o��C�6���T��������<���Y������$^8���?�������7|XSL~�����aD<q�/`��B���DO���)
������X4&�ejO�O�!��a7�5��C��������:��dw����CX��]3�C-��m��Z�g�����	������B�T����Z�����""""""""""r#��A��q�,ug����F
�W��eS'oG���t4�7�����too�k�4��e��8�����k�|u���Nf��>�����G�f�
y�40j2���e�+��Y��;A�������W�XN$���!r;����m��X[k���J
����SZ�WQb]���������jZ��=]���`�/���<,4?'w%C6{��4N�����Qy�3�2p�tC'���,�~=�k�������U�gB���"""�F���
8>������_$�v`}����B�6j��PZ�}}�N�g��D:rz��xZ��r^��i|�:\
�RL�yCx������F�N�i���NF������w��4W�mGmy�E������U���*S](2\������B���u4�!�P_�u���u������jH�L����^���u�b�P�&(l<�����-��ng����Vo�����j�������
�����	Q]�:
8{���2�3j����F2��������p]����bc���(7���j��Pnc��NqQ1L�K������(��Ho8���X��3-�E�|*���_/^O���|u1��
(�P�e��+�������nYI�Qc��A�.?�!^�b��L,���Hi�N��������$U�9��_d��Y��[D;�7��R��8K��T���d��������k�8�JL\l'��v*��R|����2�k�
����7<RQ�� y������C-n�G���m���@z�:����x{���ls9�IGy�J`��n���������������,�gf�s����-�����e��><����N:~{b��7	3�<���:%�S���o���v�Y����l?=�o������t����:r�����~��:��,GJ ����B�f�B���3���\��/e�����05~i&�V�����y}E��>?�x<�@����:|�����;ZV�4y��yi��b�9���vJ3���_�`m�P��������2�n�P�������e��A
*�[t�����Wq��u����
�Q�:��n>��r��WA���
���3�!w����-z@����
OC�
��0�x�*��B�Z��������=���2TFu��!����-!��,�����e�7)��k,���%l��!l����'��e�j�*n�|���7�].�B=@A��m6*�oV=JP�������
����F~��M���b��Qi|�
��������
v���,wRu�����[^#������x�M��e����%p�c��O'������LHt�*=�J^�k��������WQxh3;�n#3��9H�&G�o�
�����)�kU�!D3C��v}`���	�HdQD"�j��9����7s�sCJ����{�)��{w4j/������N��I�j5\��������^Hg����v� ���W0��B���[�x{�9��/�c�����������^����������������6z�~����O���,�t�,�u��t�����������hL��H��Q�����|��)�t������S	��l5kx��Lt�-���4��2�Q��/������GDDDD��p���1!�������k��~�����Lp�Ag�-���>0a{"�8�_�)(�	�����\�5v�2�����xZ0��+����'3H;�0�:s��N`�\K7�CDDDz�GC�t5RNE�q:���Y��^}cFAO�e^���Q]m�t7H
���l�U){���� M>x���x6��.���^�KIk�����GG������(]���$5��[S����3���L�J ��DbF��������t��]lw+	������kO���o�����|����6��0^�������������p��Y�E;�[���;;�/o_L���v\nhss������E� ��X}=g7�����.�_��Hn�{�7�XW��V~�
������ng��_���xv�4m.s���5����w��g�w{�WQ�}��O��9S���M�L�K h�:J���b�G�Yq}�������5O�LNp�R���sY�>��^x�����3��������h��V�it[~e|��	3q�Z���6�]�^��������Y~�rs�H,~���)���6���vw�@3>~��$�^?7W���Af�l>�e6���EDDDD������,86�
';*����C�LHp����oO�Gu������H��:�W�/��3���n�O��_$��t
����rvo!����UUO�����v�q��hD��h@1w(H������������[��f�'V�x����K3�Cc�J`��]+��aovG�,08f#)�C���g-pQI�N��,�g���^��Y�H~q6�mTa�����v��^��d�.��Q���23�8�A��U��n�q^]�E���"@�e��J����h��s�7�����SG�z6^S�m���_G�;b���`Mm��db=Z���}�I����������r'�Vq���3H;����=,����'h�?C������bkjn7<�v��pT}� ���F����;y�y��v���f���g&K����<�	-��v2h�n0���;u������������	E��P��i������{��E{����#z�:���<M>t{1Z�)��AO�����o��r��=�?�c�����]���w0����:.���0����}�-�f|��k���;h>u\����\EDDDD��G(qqQl=�������tj��\�ka���e�?{we}����%��JtR�N�J�U�P@CmB��
$�D��L��D�B@��v%�g!�*D�����p�~�Xtr��,�A@�21�hF���49����LBn&!w������5\7���3��������4����������;��tEF�F�	�����B��/����1�u�fDDD�/k�A:|dsf���N�aV���l��n�>��o���#"lO�da�2��qM�1�5��#���:B:h�9�����^���&A�C�Y���- qx��5���t8� ����J!��f��"J�9v���O}���z?���d�_L�������vM���S�����x.�Jhu[�A�?^f^o�1�����)��+~M������dT�,�(��}m�nP��z��Y�:��Vg���LL!.���J��R>sA� ��9v���������&~v���$�3|x
s�[��{�m�'k��y�������*���V��w��}��bl�M�$N��������N�3��c��w>
g�f��YN�=A�U����-2|d���<������<X3s��,�������P���=�=T���\e��6"2J� """"""""""\����5���:�ssT4�����?
���kc��dX4�Y�G9�-������Hot�������5�{(b��fe�0�p`������7c IDAT��!l��K�/h:����/����E�0|i\���S��S!���H��o����0���>X�WTR~�I���9;"<���]�t�("#���d��o��5��������\���*)�S�����Qla��]�l
��LX���, &����s�����p��	��L������=E8����b7g�RY�o{���O������"���MD�R��������]
�k�w�@cp��3����{]��i�7����!��jz?^�RW�M6r��o���m����I���k�a��E&1�n3�[��kR|r��������
��Lb+�b��l��m����8o�-�/Zs���=ih�:�%��9q����.cC�~����������wT�6��&f0-e6S����l��SS�}���[�c��Nj�I��[���������)���l��
k8t�=`"�����D|���PW���C\�����d��2������������H��Vo�W|s��	)���V�l�p��D�TMG�n���b�f��[���
a��A;Rg��@VN��������������FN�=�J��Vb������~�ma��p7�~C�(b/��X�L�f&��:[���\��cehP�ZmEgz3���y��h����A�u�	5��Lg�zF��
�<�����8�
�--�r�S����Ly<3� O�Q�!��#"������+����V1���sY�����b�4�����Xn�3�*��l���p���g)48[�3~o��fPp�/�-���O�/(o��A�[��: ��n�#����@��M�u3��2���Y��������B�?m�:�!����r��b�G���4� O��S���}B����l��
�2����=ZH��d�?e����xi�g�-�=����Y�j9�;�	�m)L�x�-�{/�3?����M qb���J��}Q)�~$� O.��j��p��}���������DDDDDDDDDD������5G+�8��uQ�v+3��P�^���>���aD(G������3$KG��2&��>�����I?/������W_�g�w�#[�[DDDD�����ha"��6���w�#|������9��������%M:P���HlW�������i'�p����D�9��{m��%<
�!v��lL�e�������j�gL�a���J7�b��{�	�^�����;��?���0�{(;���!����R�?��`c�%�)���[v��
q�s.z�8�3H��L�\�����N������r�vb#�<s�SBY�#����P/���f�2�@� 9��u\?g�^�B���fc�0�p`����Oa��!,[��c����0���f�0��h �U����	�d:5��4	<��C�2�*(44�	0aH[|�vR���h�wPp~�GH���Kocv�b�j���c�x����9��x��l���}��r�k����t�=��y���85��?�����v����&�,����������^���q*|���P�	d���H=
?�A�����|�������������/Wa�g;�?�WA "����u�����3�M;|�;��q_B����}_�y�vnZ�h7�0�aa�����_����-XS���A;E����)""���p	GN����n�c�Y��"}��^WI��X7[[��9h�Tb#�
tb�-}We�����g��IG��	�.���|3N�'`e����7~��y8STG�E1�fo��LDDD:�����q7�=j\�e�O;d�iQf�����
���=���`'}�n�{��+b�G��������6%��@��{�}?�'w;����T]��w����bP�<�#�@�����~���>:����PV�0]{�������`B����� O�{1gt�������+2*��x�~y���v#�xb��X n��x�i�����2f�_T�P����!�.fop���$0�� ��;�D��2sq6#���sNv��!������7�*���i����n�*���MD�d#fp_}�$����V��kxT{���O����t9,�!����\VN�f��v_P�cP�r�si��"�'1%e6��O!��T��a������s@���"�&�P[\���c.�?99�������!�C0(�^�43������v�{��)�������:�����(���N�����v�;m�r��������Y^X�IwM�F��@&O�
&�*�Rp����P�i6l=�8z*a����0�{�8�q��������z�����Cn���uu�DDD�?��wp����?�+�_TDz��\��GG��b���[Rp������
��d-8���}�oLI��^�~v���4�����������]��?���<����3y�DoLDD���<��N0(�������_?������G�9T���"�%2��
0rv��lo�>�*��m�vf����?El� h"��������\�$����P��5n6�v`�7Mm��7�j����iI��_�a����/H%d�|��a$1A��������FD����+]���7��L��;�I �����!��M~vo(h���g*���+�wM
jK@����r������6���Z�H��r�������?uW���	d�M���{���57%�1s���njRt
�LLcL�����Q���)����gP��5���=��4��Zc������m��LF�y`IeJ\c�U�*�U�c���@�����=�5�����(�P�t����w��vQ���z�]_�8�������&��e�4�g������j3����������\��@�J�.y������{@�'{x�g��/AF�����L���S�bZ�o�_m���w��������re��~8����t���2��|�����T����������`E��M2���X�i-�����H��8��/�������jO�����V}�`���2^Y�6=%�3����g�x���k���*�cAC��2���V�N^�x��KZ�
p)?��x��
M;W�L��x��EDD�>7e0����������8T��"���,b���l�� �L�+h�UE���N:�i��aIeZpDeo//�l�������/WUo�����)}��d������-�k"�f
������v�k�_�I���hy)�M����++|��A��m�6�GNY�����������:�jpvO������ ��W��M���Rj���}���)f��q4^�5���mt����L	�<���kJ��'�\�y58P}����;Z��;8�i���7�~�����%|�zMaP9L���u8�)fDP}�������/�H!1�Z8�~�eX`g������������5j'x���Q���3Z?y[�������b)�����Q��X�0��8H]e���&YU#�I#!�.F;"(���f�lk��r������^Ez�nGUiqP�lbl�#��""""""""""rU��=��j�>?�
�w��c�v��������l��?��������z*���r�s�t=m�~�4���i�;<�'����5���������&��#��?2#�v�q�������K��+�&h}5�O����V�c����0b�Df�4N����>�=6}ri������Y�Y�I���=����>�""""�Ujj|��O%e��Y�F�{��7�aS���pW����d���mX�3���9e3�d�(���$�ygP��w�z�W��F%1�gImv��>Q�;�&05�{�}n1�q���qT���3J�,#{�(��t6�hkI#���n�X&"""}����V1}xP`����y�'����zpN��C���|��LM�	���:���D����^|�gpl���}n�,��a7���N�>H�H�2���L�e>*��(?_������<|��^^(�\�&����=���Z���_%�����`c���V$c&���P���<������jO���	�����4]:Sk�}��s�g�S��������x)}�A~����~L����6���Z@lP��c�d����e���]������M�������������`��A�L�^>x�^�[���=%M�O�)�d�AwOm�	��W�� "��?k:���L���*�������-����\��N���E���F�$�lq���T�y��?���_^�[���sY���|�e���3����@Z-�L��������O-��}�VPO�����x�L�5N���A�m)$����F7
��4��s(mi��*��H���Cd�������[���������[�������c5JL�?��^��1��	S��le�KY�01���S��d�ok��svO�~�w>��3�]�E�J�#�p[J���O��	��oEDDDDDDDDD��
��t���N��?N��?D�q��&"���J�I�d#��e:�R���a���������
�T�u�;l]��;���0j�\��������.1�G�^���#��S�!�;Z,pS�Y���K?�fA���3����N�K����9�l���=<6e��w�[r��:���${�U7=va����0����'""""�qg��p!/|t��A�������Om+M\��L{���l�/YN�O��;����d!��,b��F�l�JG{�f�`!q�*����T6r�n������:P�~�����,7��I_����C������?�I<����?>����(jO���"��w+�c��X���<U��8�����5m'u0�E#���B~��n�|\�����,����Y�'���Ui��.����������w�|4�e.?�;��9M$��K��b`�mx�gE�]y!��c��1k�����3t���J/���P��>�A�'��rf�k���y(���l�c���Eb���6A��c�%�5�b3����sg��3���6O���(}�'�(�16.�`����O%�=��X�D����6��{[_wKj|�����9�:��P�8b�Y��2Q�����4��D�C�B
��})/-�2wQA X���+�lW/�dg��_CD�y��>���8��,��Mo��)������(��P��c��|Nc~�	y?�D��%�)w-���aU�BJ�������M[����<���=���odF��1q�X_�*�pr�Y`f��L�~���w��d=SL��7fp=�s1O%�s�������������G��^k��%K���1�����7�B��A���,�~i; <y�)W�@W�S��}c1��j/�����FLGV^��|��s^^�s'�� ��("�
��r?����@|K
���&^�U�5 B�����'L��"D%1�3�����sA�yT2S:0�0h�"��������l\�=��qw����B�7�vRz��@-&b�y)q{�!����|=R�������s��H#����LDDDDDDDDDD��~�y��:�>]���_7�����G��t�',�Y�������Q�8z�7��-�do+��0~o�����.��w�����uL_���;����''��I+EDq��Y����C����������`��1����)
5�ax&K~����/�l`p����G[���	����Nd���������6��������"���,�����\"��L^�M4�>�(?��Y�������Va"�S��&�������^���j������o<%�y�
�*[��o�:��
�����7������wc�s^��r�������\�O:/���d���/.`���|p��s^��l��7��/=�h'H�����x��d^����i���=���D��xi�x������S~�I����;}5/��r����u�EZY�o9�%�~���Kw���G�B������a'}�&�yj&����?�XH����;��*�p���8�/?W[H\�Y<��[���Uy9T�B�>2���W1!����N����������|k���)������I�������db��M,�|��=��]������+c����-v��Rp�^����}�F$0eJ��A
��K�T�sy%�m�s>��,h�{d��9�~��O���oM:���)I�^p1(����b|G��#������������k������0�������`O��O�L=��*W�/�63!%�����U��^rmE��Fvv0 �Q���t^������hn5���!�3k
>���	����h��=��/��=1m��FD�Y��6LaRk�5{��S~����"��hnl��0#&M��w����!WU��C��_����d��;FX������#�-Jah��w.b��yr��A�.kb��<�����J��f�z�g�d0�v�!�)r��i�c��6)�SDDD.
�%�g�O��l��-��E",�$���hk?�M��Nnx���E����7yd���[���n&�b7y+0����#LM\��u��v�5=Z�N�)���y�9SlD�r����`����-Km��k������'R�i+8!����7���r�w0�k���_X��?M#���,L�3�9k���$��2��������O�1����ec��L�\��w�3�*��z�xE9��w��+�2��x���@��L�d��S~\[6s�k7��"lL{i�V,"qd�������&������:��?���uo�~O��	�Z���5��y�KG6r���}���Z���i��nchT��3.�~�4822�ifv:@����<���M�w>��C��3qO}���"0�Ll�RVn��Gn7_�U{SxB��`e������[2X��ON�o�='���`����-����~�G������m���M�L�x�un�)ih?�����3���$""""""""""���*�X���.�e�1��X9���|^Q��������0L�����{��9���G�:�:x������*jj� ��yhcG���(n�R����4;]'9��J��k�0n�!�a1���pc���1����E	���W~�J�7��<;��������|s�����5q��b��c�vut����w���=.���o��03�&�qI��v��5~�?���s/�_�8������&�`a�M6F�N`�pw���H��N�p��~�N�8���ZL�����Vb��i�uY�H��S�������n�O�3��lc�]����eU'��v�p�s?���o�0|�����	�j�9��l���2�����|����L .���*=�x���r�����.�,t�-6b�pB�ah�uq������mf&���g;���Y;����w���Md�2gCV��x�����[z�T�28�������
��s����	��]�����f�>e*��9����n>����jJ�>�v�L�>U��a��u��3�7K����+����i��&�#-�;c�J ����r��=�f����������!f���;������L=�����6��s&�<����m]�� �n�y�N^?��Q��ulX�r������e����rUP����\)�)""""""""�C�9Y��D6�l����n��"^�
���%C���wqzP�:6�H�
�U�����##��0aI��-�H�������)�)�	LG�y���1gd��P�����������H��Vo@DDDDDDDDDDDDD�S�u���I����P|�WK$������� O"��xTA�"��U���@�'&��\��A�@��b��4N��������@O�b
MY���M
����-��w�$��������A�����D��;�_A�����a+����0��GS/"""""""""r�Q���������������\�"�d<�A���������e�I�^��^�Vwm<3� &�����Zw���L{jc������9��1����E<x[7lGDDDDDDDDDD�UXo@DDDDDDDDDDDDD�r�',e���������S>������.u����7Y������{�@""��������x`H"3&��gC��PVge�M��?KR �������������*�X���.�H(�7g�vDDDB����W""""""""""""r�?��z�""""""""""W�o�vDDDDDDDDDDDDDDDDDD}N IDATDDDDDDDDDD�Va�]�^U_�;��q��;7b"n�&�Gw�6�c��^1�M�v�VM^EV��{7"""""""""""""""W4z������������U��3������F41���K�T�<=~��q
�;���~��������B���|sVoADDDDDDDDDDDDDDDDDDDDDDDDDD�K}�� """""""""""""""""""""""""""r�R�����������������������������H/Q�����������������������������H/Q�����������������������������H/Q�����������������������������H/	�������������������Ur������X�z�H"�kX������9��l�X�X�@yDDDDD����vf
����-���G��������HO�#e��s5�o�
a�9j 7\��%�~����T%`"�V+���v����LC��5�(���(�I�t ��9x�	������5��)S�Yy/���!�)������a/���,��I��\�Q��9�J+���a�E�g�����a"lY;��yk���7y�La��%m�e"������"��jEk�),.������5�"��#���[�_��L u���}f%c����v�DD����|�nm�����j�Gd��H��rW�91��R	D�l��7""""""=���
����&{{e�����%w1�3G�/��|w��g��
>����=����=w�����`���+���*�x�I�~|���R~�eYO���PWt�89+��y{#D�",������������<������x2_����w�%Y8����%��w��,hO��y?���E8w�p�����@���HHJ!ez*I#��SL�����)_�����~�:�(�O���/����n���Ho���w�>0U���*�2p�\H�����2u���_�������j���W2�W���#���98O�U���^.�Q�j�]��c+=�C��98����LV?f��"��H��.$s|:��&�
���@o�+��������\������OX���s_7�IK�bl���������a�����]q����f�{{X�?���~��vWmp�}�=�N�w_{�������16�y	��s[6��`M��!�����@O��;���2o�5�uN��������C.�OeQP�o}�j�?��cyKb�/��
���#�Fc��cj�����s��NV6�>@��H�q�`+�8��������(�Z&��]���n����y�3���#����}�1����+X� �+��Rg,��%"�X]����W�0i&E��"�(:��=��'D����n�s�3�>]DDDDD�vz�����g��O�uw��x��������-^��!�]���K�����R0�������?��{U:����HS��^2Q�Q�h�6�,�����g���������3,���z���}���u�S����I�����'c��?��%^��,v79��'�������)X��$���F��TFF��A���ed�PDD�
e&�5I�|nP�E�z�T{��I���t�~�yCt��g����u�� ����M������k��e�{��[r���������n�:�A��*>�s���������������������G�r�-n|?h����v:7
)�s�����������4M��m<����t��w��8H#eR���������E�/��^W���t�k�V��^�0�Y�e%w8p��OY`���s�A��\@�e.
��4�������/b���(���l.^�c`�IDDDDB�/���L��NQ���K"%�k*;�>]DDDDD���_��a���4����U�|��y/5
�������dRLk�������j��Eaa���p�����w�����y���|����c�bC�]�X����_���
�
���w|DDDDDDDDD�*~
_�����0O��f�f�����d�������}1{����g�d?����^��X8��o�tn�!��fA������MRL���}id,i+�d�S������_tq���.�\q�H�d!�M_�t��7L�}{���r�G\��Rz�����'m��+�SDDD��3(y1���^��2Y�Z6)#C|���P�d^w��WI6�.������""""""���z�W�J6�������a?�'~���my�q���d=7�a�l��C������o�r���������&2o�����2����>f����UcG1��;E�b�e������I��^g�Sn��MP����GgK`�;n�m-cx)Z��8{*��z10A�O_H�Y�&{~�����)���� ���qido��kM*�n.��������c��Ik�.������7x��II$��!��JFE���h�Z�""""}^���G
Lxw��jE���x��Z���~!�����������/��ru�}������H?�@�P����]A��b�d�Kw2��|�y����v}���n���5���O�3V?������������������0+�O�cio��4��\k2����rg'`s,����.xf���:�����|G�[�p�h�>����6���Q�Id��{�Y~��g�t���""""����qEz���|�.����4m�1�od���cMG�1��."""������r�#E+H�37$��T��������w����x��rp�`�'����������
����""""""��^�������p<h$�I�'2��bv��l|��q��[�q���+������������,������M?�$sR�]��,��Y�kV&�+��z�Oq��������C��������bd��M��x�}�����7��d#�=�EFL7o���s���S/g��
�d�b��:&��;,]T`��������Qg�l�b�w�in�>��yp����U��6�d�b�1j|���.>^�RN���3~LXb�$Lr`�����k��w������k����l�3
��x�]}��|xv�p���0��ud�D;������x��������zoG|b<�����a.����a��l!��Q���c��.����~</^����
3a�Dc����8����f�������g��z���1[l����>����������b7^?XnM ���������~�2?�����d��.o��G�8K�1&,16����~s_?ZA�^JJ���8��:x|	}��v�o���@��j�]�C(�'�&�8HN����B��9����k?�2�:&s4�1v~`�C�� �>�%.��N��yp4�1�$�Y�f�{Q���0|�w9������{�::�����~�-�u�g0Em�_��Uo���>�%N����70
�=r�w_�m�.Pg�=���il�b2a6Gc����n�2��������*1�":�FB���xn
?�Rn�7�&�����bn~#�����O���|W(��W�~<�|��ih]���W�����u���f�pm6YKr)���e)�(���)�|w�JfT����4?���a����r���������3W��j��*����qz�f%_�o�:�f�A6�j����;��{���J^��Y����D���f�����Iy�����z�I��@��:/%;��v���&��$�}����B6w�7�I8�:��J��\XD�'��G�o�d��4+���fb����	�[�n��&c�	V'�q���g��}��q�R&��2Y�&��[���i�+�%��9�{��2�L"��,>�%�_|�M�1oG��L!��|RL��e���\
�/]�d!��l�^�������>l#}c��a�����:v�/�#a�'�	/�����..����k��������N��.<g.]�Eafl��d<���������B���)����x�2���p�\��W
p��]n���r��O��!�)y=����2V4g��2+�O�o��VT{(\���7�)ii��^�>��%H��[u�QVB��6��}'�7��6fh%��>�I���
�P��_�i�0
�aOL"��2��t7��ju�v�K\,��B�c��<*������v:��J�����Vl�'����2;��&��	���l�m��.��\��/��\M�SQ���z:��-�]afl�e��b)#��5���<V��K�wC�b�#��x6��G������$;��K������1�����.'��{�����vX�������l�����65oaf�8ZH�Y������ts<)Od�=��'���gE�,�&�w%x[�'M;I�,$��4�!^\��)F�}hP���k�he%af�7T����������7�N��'��y������"��2�|����pev��Q��d�2_n�Md����g��v����gc6Y/�Rx����)&��gsX1'�g�$O��8�����+�V��;����a��Gv��������H
�n
�d��N��h�1k�/d1�Y?F��P�r6+�,��k���e����2� ���+b����~>��-�+�$=���%i�L%,KL'�B���3�\�{+��g��8^9��"}�V����P�fcAq`�� ��OZ��Q�$��e��w�|��Ny,��gS:�,_��(����,�q���P������X�����E��;�{3������SN����2��c��@{0?��� ����z����x-��R_�
�0��3X�8�����-;�1*��xF����7�:�~��1�����T���'�����}�
�M����2���{�3��bg����e��B&�n�{��}������H?���.@�Wv�=AI-oH�?�����s�~�W^<���t�n��2�������H�o�����z��\e�JX��fu������������BV��4N��`����O�k�(Z�hh7�N�o����>�	x��x�{��L"�#�$!26f`���_�QT�v4dc*\�(	c�%��������y�3�m�GB|:9-�xw����N�g���V����l?�G����<�G��y<{�2�gB[}��j������f,k9���Q���$���n�_o�0��P2��{����i��-3J�_�n<$��@�@}Q7\�u�M��g����v�'@���<&�b��yM��6�t}��nr�����V�<��)x���Yg������2����;�=.M&!%�\�m��!�T�8R��k=����Y$������|=�T.��R���`G;A��^J�f�:~��K:v��?��/��mAC����9,�����y/�3.��[�u}��/,[���r:�+K.���B�=���?����<����q�KJZ��.�\Vq����i)����-#5>���~��$�K�	�%gk��E�����i9�����:)�I`�o��b W[\����	�$m��H����_k��m]HB|*�6�~��J(x~!y��^����Q��d�m=�����$�O%�4�/�V���+o����K_��[~?>����Le�4,E�����U<^�P0;����������I�q���+u^
�&�0cY�A��0 C�\	���Sq����������>^=Y\�}�Y��	��l%�������d5i���g�h�������� Ohx?PD��X����x�I'!�Qr�o�^��R�2������S�k�O2����&��q>�R���|�^1�7�g����� �������N������i��bnrg$��,V���~�^,jr�,��k\�g}���B��h�f���]3��IWO���"�~lc���(h-����2��v�}�I[�/��)$
n<'�����|!�S����sb%iZ{A�=w
�+&+����Y�����>�L��R�Fwy����EDDDDD�p�4�g_WT��60��0
�dX���N����r�\�
��;�/Y�����t���6����Y[�c�����{����t������1�e�	f�����H�V��]BIpG�0��0+""�y�\A���I3IO�k5#C(|�#��,���u��v�;��k�B��, �Oe�4p��o��n|��zmj2ci�:$
���~��������L>'�f$alq�"�c���9�/��}!����-�����9�m�Y�T!����}��t?�g�H]�nz=�����E��_��������E�}�)��M|3x�f�����LXn�al�8���Y����#����/�w~��iR)�����o�g�/���U\d��_�8m�/��>�m�{�aZ�tf�a�5��!fL�O{9r��g�Y�(?�
3:�]����O�6s��Xo�b�S<��w���rYS�����:|�Nf���u7[���a5A��qh�~}�/$=���������4��|_`���`�b6�����@P���M���&'o�����LXF��~7�h�	��/<x������$R��l�W{7d����TR�7�4Y��1
�w-�L`��Q�=��3_��1�L�L-�q]'�;[S��p-0��#�����������y��g����v�6Lg�8w]~0������x�B�n��L�����6�������+8���MNZ
Q;�,��#g���;������������5��x��\<���I��-Z�~�SF&�tk������8��~k���q�
�OM6�'u�U�������e�<���y`����>V��6fp��x����et�n3c���=�wY��2��T������l��:�f��&S�umXo_��z��Q�q�� w�� x��vFY�1x�%x�������:#WQf�h~�����z���03�[�X��/��-��R����1��z��d�mHb��/�Q�E,|`�%��cg���e�	?��
<��x���-�m� ��K�as���A�����gW�����,M%i��Y�jc�b�O���qm�6���}�o&-�26_�����K����^i��
N!�����S�)��G��o��\G��J���$�����I|���
js�
<{��J��p�2�$��^�o�
`r�������szf�;���l�t��N!=��z���eNr�,d�Z7��cW��di����d����3��}���������e��3����������]S����������|�~4�=r�����,�����8O#n�j��7����F~���|�5~���My�;��;���a�s���cW�HO�7���4N����sUd2�$9ou��5�u���q��e3FaK|��b�� �1GC����I�L~���H������p��q���y�4.���f����N���;�PQY�	���~���6���#�ZI���d?`m,G�����:�I�����q����L��UAe����p�OPY�������:#��s��C��e�o]����;i��?����#����.N|�������������mgi�p��B!�:��V����T|�W����VP����I����{�

{{��x2

�vRr�����;��YH���w2�t�5f�:)�Eolc����G���#�nfs�6>�u������$~p�b��y���e�1����&+IK6s������*���/*9�����y�[��f�������,$-���/N������e.w�|2����gkQHY�z���n�i�a��{��QQ���=A�.��t�
y�gR���"���V�8Qy�
�~\��-���g��`��q.� ��WK��_H��A���,8�u3G**8R��7����|6}��S���#|��"�~h�����_]�?���m�uq���S�w��
�l��~����3~L?X���~�m�g�s?���u�'E{C����B�N���q�"pO��
w>�?�m�%d?��G2��)z:����m���#%
�������-�M�/��,�_tw�;�;��qin����$N9)	�vyk�Y�{�}�\���Oe�����;����������<�_���dN�b��N������4������+�8������(�&)&8-k[���������7R��&I�<�^ IDATy[�����������]����C�p�������!�4:��%^*��hK�^����^N����X�iu��{?����������
���W�6�����vQo���q�8��@�8s\������7����q��	��E��x,-]l}�%
�����G7q�y���Z�����@W�C��<$E,I�H
����7�-r�9H�%
ynb����<�A�=�r6��g���MP87\���X��Z��e|7�J�B,XD7�o���$q���=����F�e��K��~���J�4_�|�;�>�Y���j�?��y�Q����$Oa�-])�����7CkG{W���/����������y����{|�q���~u�Z���R�v4n<giaD{
����G��d%���w4���?2���}�d?R�����=�=�:��_�����`�V8�?��)�'���~|o��{ O8������f�h;b��m�DQ����>��v��Eq�f'y
.�������s�v�_O��_�#��
�roe�6���2iD�G������D��&M,t^���Oo����G�����c^8��UW����A�qIX�	 rq3�g�~:Q�(�DOdp����r}�+����A�?�q�+�������n������?���7?|��
v6}�����u3�BG���������+�t���\����fHp]����iUD%""""""""Z,�#����x��<�"G���!��OB���!v�4Z����z���v4n�CP���*���=�Z�,�L
�z�o�*ls�*aY%���%�m����O@\���c��b�Nw5����d1���t��6"�����oQ��`���ud����cs$�@��!C���#!(o��16~J���X������z�e4h}���!��kL�Ya�����	}
������}�NC�b,�����"�2��
�SV��Os��-"����U��/Bh���\�#t\�����c��H�WZ���)}4H��q�?����:Ru=B�YUh���'K���h:1T��:E�>7�1�������6��)��k�D���P�W�~�D���_Q�<�
�OG8�g��\$��8��G#nB��\�	�dx�oGt�����@��h���
Q�!�
�����k����F��T\:^��B'��!mm��P
�����$>���G_�w�G�G����H���p=�������@\�E���cR?�����g+k���zr���};��qc�6�E[g��J�:/7 �3O
�����H
�������� fX@��4eu����e���zF�d��Fwdh�Y6��
;\�����K�t���=�A�r`�� l����&x��m��f/�;Z�1l.�LG
���R����"�B��1�{�
�Sm8}��u��_lDd�<�L�������
^?�0�C�����U�-����Q����n���i$�!4��/��,�$�5~�}3�l�5��(~�b�Q�4N+�������w�H"1��2��P�3�Z�u���q���g�d:{t��oD��y�
�PN5��.�XW��7r-[�4�)F�����`��
bo��U1~��k�hz[�:k��h<1�0m�G�fkM�1���5�������6��?����h�2�J�����R�v*�6S�9mG
�>��w&}|���x����I�~��N�i������_��C��g'I�\���p��u�e%o��F�q�>q�v�}�����p?��(����b��Kh?�	��}/mn���=��$�H���Z����Pz'_��r?���������X��9���xj�x�c�Gyf����?M-����{����[WMD��;u����Og��yv3�>��G_/��[�vw��CDDDDDDDDT��8Z_1Y=h�=I��D������x�Ui}��Z<��A?�	���n�}��"{�^)}	���������fHA3��R�rq�������k\�GN	�g����M��0� ����Y�c���<i\���F~�
g��D����V��t�=i��&4��?G��<�VW��2�z�\��5��I#v�T�������z����B&*�O���-����*EdN�����$��&VP_cX�'�����tkZ���&����~���D"����Z2�AX���'���D�^�N�.��f4u��
k�q�5�!�v"���nt!�h�d�Z�����I�9	��gH@Lw)SV����dVU4G��d5-��2�+-@�,���X�Xm�d;�c'1ev�+�_�P��O06p��I�W��|�D&
�����0$JYD����j�=��������))��Q����X8�KA,��5&�b��Z�z%����i�`������V&]X���w�tW6CZ�YU���)0�9�J?��5��4(���%�����
,Vx�f%��%�nA����� 8YR�� B����y�$���)�yQ���m��!z��0?1a����WJ�(z����l2]��d8�,�>�@-G
�B����^���a���F���K��1;aU����S�\�`G����� �F��������C��
{9VoxPH�d��;���"��5�?� |��l�r!��4a�?+a�d�Ch|5��t8z��}��d������+���"�v�a�E�$@G��#b�Na]����d+x^H2	����?D"
n����h#<�&�bevx_<����UP�L�������Gs>�k6�����I�\������������w�o��.�mx^��P��N���1�m
��"��&��n7~k|}�h:����"t��� ���8�� ������/^};*����r��M�TZ,t�������f���?�w�IDDDDDDDDDE.}�	AC`�}W<��������������j��T_"@�������7�2��mj��� �R��Ld�NCP����W�����)Z���X)IM*�F�d4�
��:����"<����'��J��wN�$~����TxU-��{V��0T=�$OU�pl|;M$������"\+
U�P?���	��'OVD8���hH^���C9��y
p>���:���5D�eU&u?0W�b��A��6���������	�z���7�K�NX��g�#E����u|�@��=�
���#����}�J�L��"���;�{h�?|���sQD{L�`n�!x�����q�T�b����ZC�}2)|2^��6�q��|�e31(��s�.�7��$u������F4o/���zG{V�fac�����?�����6D�|��BUR����Z�7O5����e�;�PN�#��1�v4�:���?�\B�[���8����)�3��F�u�E����;�c�a�Z+|�+���zAc�j�u�z���
����Q�O7K�bG�S<��i�q�2W�6n3<4M�{{����R�
g%�K��7u}+���o�R{FE�d��*�[k
�*5(��9�?��'�PF�-8�yr��b���E���� Hp=B��v4m�O��@\�E�/��URW��j������DDDDDD%h�'z.�����7����(����}~�����y;��x'~���;�]���n5����^����J����4���:�X��l����Q������,�K�V�����=���+7|�N���������"t��p�X�����G��BDD�(p=��C�2���@���
#"*<K%���#_iDmE�FDDT@��
J���N'p�
�+
�/���[�/T�����K�n��(���3c�L,-�j�����4���U��+�X$H�����<�1���M���Hp}�d]��J�CO�^���Hp�k�?VH��H_j���� �dv���A�[�����k��W��0�t:R}y��2Gv"_R���������$;k��d��L`[dl�*������en���?�X7��*�%���n����C�#��s�y#.
�QC���\��r(/3�]�"�|\�+�`��7�
�J�������}7bg������R������'\�rV��n$
~���1$�gT(]9R*/���b�&s	��2���+��}�[�� ��L�j�����	�z���\�����Qb�Ny�c�����=���"7V����2q�`��*�yQ�����=���R2�(e"��}��e&�'������&�� �e���<�G�/�6z��'"�Y��F<1��UX����Yx(�5;�]??E��L���$E��bK��iD��A��v���~#�8�4�G�����X�E�:��3��I�)U�7���	��I�/E���c��}�N?��=�9�yGN_�F��������O'"""""*=E^3�x�;�cf�������X��7��������7?8��_~0�h��~�7��o��z�r����y�(����}�~�����|���>�������o���_^�������ADT��p��IDDd��jE��� i{=|+&��d�v�$MSXi/|���{�7�m�:����T����
LT%$��1�g@��}�J3[x)�����u�|��,���t��&��4[�PX
�.��|��0�Y��f�Q�x��F~�d�.������P�[�
�SMpo�8$w\��E�$2o}XS�H$��Q���C������F2;T���<WH����L@�#	?���I${����M��e�������$Av��O����M%
�W��!l����D�Bjo
)M���/��a�d4��,	b�H���Y�#r��}�$6��q/�b0&%`�D������=u��t�;vV��4��������WC��
�h�5]b�Di�
�
��C�Ta���u�zLU)l�Y�]p
Q(:�Ht*������.%+��Y=������e��TUL#^..]6>�C���f��Y� O':�T`{����8<L@�]SW�,[
{����H���1�e�HN���R����H�a���Y:�J��R	�C@��P�4l��7�_-��3��9����k��/��J���a��z�)����p��O�D�^3��)`w��*�,����t<88�g��� ��5a��;C���-~��*w���H�p����	�$=C���*� MO)������C�5�Si�w��iW#�d%�{����*�>��X$�g��/�a��q2���������J��O������Ou�����f���>����q�[�d��=x/��_8��V����x����:���70�z�D&���>I��������MDDDDDDDDDEME���h����'[4Y�a�	bsH�Q|���Q$�y�,��B��(��]!����*���/���b� �N��BZ!*������`*o�Jn-���k����K
��
��mHo��[dEv��1�}8�!q�M��R���v#���r[v�p._�{s����
�d:�S\a������B�U5�-�chy6�s�,Hf��E�:�D��f�l�rQ�;�d|bXl��nc+:����P�����:�7���rB^��S�a_Q���c�`�	���t����1��'�&�j�\a[am���%zfT�jvOM� �i������3V!NA�>�����
���sCA�q�������x��
����:���y���Ua���Q�dT�S�_i�A�����
	���%�N(�D���G�V��-j� �&�I���4�?��/���	�$XMb�T<��b�-�!�g�?��5������Tp��������0V�pU��t8�X/�r�S�0�.���e>��
	���E��A�(;9[Ox��F���d��������`�k��kB���A4%��'�P��7��P����Y;<;�}��
�8�[TD����g3�#q��s��=�8_H[<p>�U!��oGz�c�Db�$���'�G&�x?������h2E:1�,���w;^��2����{�2�q���a���c����`s��;������}�]�~v���0�w�V��xG>4���O�#g�6���������������k4����Us�6���F�c�3�Z��gJG�e|�D���Jm2�H���������tY9F=�k��.��������_@��P]��0�z��Se`\��^��4Id��po
��h~7=�����`&N!�&�FVb�P.�����4����T:;(U?���3��3H��%Z�~�lD���-�!���������RZFC����FF��v8���l����d����]�sj&��X�r�-����$m01x��a?��*�����L��2s��s�pWK��&����<U�E�c����s�����`L�/~:����r�y���<+!Z�4�|���V���E0� Q�5G�q��������k^T$���
�l��,�k��	�g/��/�5�{�I z�y�
A���	���n/EQ�@FC�f�y���E*�����t_��C�D3����WN�@��`���Hkq��SF�3C��{sT��"�������0{�(j}���������3:nL�����V5@���wM<vID"����e.�N��^$}�Y�f�3�����������'����?�w/������������6vIn����;k��Xe�����#������o��[�����'�8w~��W��G���������
-���A$
O��?�������n������
�2��V�hCIG��et$_���Jv�@�
�F'�k����C��IAy���YnN1���J����al`W�+��++jw��p*
bM��)c���@dxK�a�(��E�rv�W:�tT�^a��a|��B�p��I��W�'���t��C�*z�L}���q��/����������6#����l�t[9���q��F�va%��^��v��5`��Jv=��r4	�h+��|��qA���%�D�/��.�A�=���g�l��%���^���Q�LU�j��(��*��m��j��a���o��T,��.��Y	���sG+�qx)�/�_:��d���/zv��<�RT��"�-Kg�8�r�"�����x��s��g���L�3Q_l������"�-7����7�C�t����U���	f�I>�}��{�*Hj�_�6}"����E�s��u�C���XQ������cW��������.F:?�2���������2/���������t"""""��hn�+�-�Z�������~�	=��c����[�u�[��Kq�q=���g����5{N�������%6l���p�!""""""""*v��h:5�@"��c����XXV�~��T]��&�������?kH�X�x���x!/��s�$�c�,�sL�����f�u�M���'�+q��+"���x8�������������B��P4D�����)�����&��H�`���8���&�16�'�G ��d�B,����F�W� lr����G����$O�f/�^l�g���IQ[�3�D�O��OE�TJW�D���H�K8�������:�;��Z���$k����V�*r/5�����>���z��f�Q�a�nk3Z{_&�U�B�p�~�S1$IpW��[���./�IBz~I	�1�[f9�����8��[�f��	���y��<��cE1�AdV�\��j�"T���Q�w(��M��l7=���$����!������oc�m}�x�,5���'p�`���U�*j��@91����0�z���^@E�Q#=Mt���H�>�\k�h|xI�	�)���k�ZA�t�ND�>V�VO�hCbx:oL���[�}��~:��g�',�.T����x�?ZQ�%H���~)�M�c^g2E����>m�����%���}�p�!""""""""*n�[�G|����,^VT����;��n�������� l��#P�9L�i��Q��d�"����~������g�.�s,Y��\�o�|i�O_� t����/�'�Y@\;}XT!��mh=>z�c���6xMT���(	���1!�m0�����������V��+@�=�{da��AY1h IDAT�O� dH"����v��
}���
�L�ck[�_���(�'C�"i����oE��>t�3�0Wj�~��\}p]�G��]�X�DO�"��<	��u����'\U"Z��~����z��@JWrtY�n�������B�q���p�ZV��'V,��L�#3������k�����c��}��r��h�0���h �k�i1��Jx.�k�Z7�k����{P:�z3�������I#�L�[����!s�bVR[?4����|����j .�/���uUs��y5X�6p2�t��o<tmt5�P��v�n��v1�����as���n�m�n�jDD����6D���~���gE��n��z�A���p���t""""""3~��
(��o�����Kqk�*�����0���9��������qOC��\�����[�Mf����)�Q���!47V��C���G��\���p_UO(Pf3�7���iH,[�A�I3Itj�,�e!Xf���q�*T�1����v�E��Z�e�����(;���q2ID��Pa:��27|[W��W3)�7�J�UM�?�sVl���^)���*R�]�g�'J����H�fI��u����� ��������[4��<A������q�B�5��DG�x����4��k�h_�����[l����� I�p&�T:���W�k4�VW�����f���Un8�L�8�����f�_*R��\��>7�V�g��X�0c�S���
'RN��t��s}&��5�i�A�h����u=�t��\GO�7/���U��p�_�2��������1��/���?j�b�����T��p_
�|����N���sO$�>����t1=�ff�?jG�O������!�
	g�;��YbVH���~m�k���Z;z��h;ax@��6D.����x�2��K���O'"""""2eQ&z������
�_)�7��c���������)>�Q�s�T?>1.��X�V�,��c��|�Nl{�,��DDDDDDDDD����f(��M+<���0k��
��
�1:�OA��a�P{�[U	�l4����'�/;V�4������s�l�n$.�����1���%!+H\�g9�o�����g�� ����q@<�*3��Cu������it�KN��|)��^ax�]B���G���Vg����l��L'�H.��@-;I���M��[������� �����$.���Di�5��u\�p�pL
����a&��L������\kX������/
�*7��R�h�wV_��
b#?S���i29����X!�4$1g4t�Ws/�EG�BrF���0�qX�Rc�bF�
3U�zT�3H��t��\D�F�����D�$H����$�W��&i�-�+���U�����F`�~�g�����XaYa_i8QeRH^6�I�L�R^	���R
�&���"�c��K�VVv� �n��+v����k��a���@&�`�P9r�����p&d���6�aM�Qy�������dx���M#��:����D$2z�j����25�,l��}R�x?��������E����;���S�
�%j��rU������{w�?��w�3w�������z�X�;M=ex>e���W�������9*�-��q(����8�
����|w��n��""�R����!�z�
[�3��V���1X\C�`�H�����a��/����XdA��E�c���K&	��dP�9�1|����l�,Y&���R�M�l��9|;���Q�N��W�\bI���%9��!�UD�Z,v8������i&�uL����>,��6��|��3h[���_g��l�����$](�����	��b���4�S3	D��� ��>�y�����H���?�e��H��=A)tM���zC�Q��DHt(��W��pW��������!*��HtDa*?c@A����y'�F���qYv�U3�f�����pz�����eL���NTNtn�����\?t��]j�����^%=/�k�F�a_7n�1C*�Wf���S�+����T����^���<��1�L> Dpd?�K=F����#���1��2*Bo*��B��e������X��Z}���IpW*a�1D�����		.x���3��
U���2V�\�A��_Y�><{����~:�i�.����"��w,�v���z�O��y�v�:�2����W��T+�\�����M�z��)�_�����������^���
���p��~�.�7�G3"�R���y�3{���!x��
#""�?��[	��~|�6����l��\^�����M$iQn��?J"i������<���M��i��������!�Z8��T�.��.�����'�g���u���xw
��4+������B��S.���f4���c:������$����UDy3��R��w������Y��V��p���L���.�$���z��\{�	�>�+x�x�#��g�1�dQ�=�2Z�����Mp������v�
����L?�z��5�/����IX]$����s�e��$�������m��4����UU��D�Db�xm�d�U����8Y4���;$��H��5E��$�fV�'������4B���F��\5�$�,�Y��#�fh�
����������*�qxq]���5����� Vg��������P<�_5R�B��p����O�P�Cy3<�1;l���zBh|)1�q����eU�L�hE��m��G�������nH����t&&[|����7�a��D�����6�h�v&��	�g�����->�������OJ�����=�qd�����oH��������������}{~0����?�m|����O���������9^6>2����G�+�M��>��{��nx�?��m��h""""""""�	i4�fZ�C�v������:4?b����M�6���#���uP&
L���|�!X5����)"�4�����6
B�>c�� �M�u�p�hm���Y��`,2�U��>-������&��7V��"<�t&@��e��U����co�">E�z���^�/�y>5~�*F_�g��0Y;�h|��|�df��[�[k�O5���h��:��A4<��x�&��1`6��+�)�I�'}h�3�d�$�6#|�|���nkV������M���F4�$h ��g���f�����.�V�{����x�����w�a�$Zw���O���D����p|����f�q���1D�G�\�m�jL��9�����-�����lFb���F�>cE�i'�|������G�_���:/4�i���L������G����j���5�*���k�|�$��t���os��J|^��(i�/G��~�K��m���Y.���>�k����g"�TW����9��������������:hx=�� p=Yo���#~���<�#�!q$�O�<�;_���p�&��E4�B�7�~I��\p�C�p �>5����;���a����cn�_����=�=vC-<�m�8Bk�P��"��M����gu��"�O'"""""��N�������Ov��on<����ou^�����ksF�'�����a|��g8i|2���������S���w������o��������2�9�w��(~��|jh�����6������=�[�n�?�5n����_��D����w��^C�~k�8�:�������x�������������[��(��p\e�}b1��D�^ci&���pz�#r.=>�SS?��=����@�w������Pa&�!��{�N�D��l�����h�E�����@�3CUO���p?Ar\p����=pmk���e�@���in����_u$^��k�~�O�?�@�����d�p���>�=t���*���u����f���P&�n��?}?���fqY�e�	.�?m���F��Z��7T���D���g-�p���EF��z���,��k!�|w��wx��8"/5�v����;T����7=�-�YA��?j��B���W���q���$t��KKOu6��^��}�E"�sO y"�M��	[�^/�H3(�F��M�������9&W��w���Yd�6�3T�w�P�L��x��x.���w����lL���bO���"H�:�u
�� �?x?VK�Q�L�Y�T=+�l��b�����M�
����|z,�w��y����h�
p{�#�3~�����W�G�������'�|���F6-3�q�>�~(c�m�$"Oo��Y�(��G��
��=_��4$?����Dx��x&����P�����=4��{�Zw�"���{>�WI���e ����p�T�M��G�]u��}D:���.�9a�Y����\O����q�U������L�s��<7�*���*�;G�VZ����
��{����DF������:��s�[z���p>�
�j��2}>��g|p�aC����$���*n��v�����Z��(��=���S}?^�@93���|9Ou�-�[exHPg���8���� ME��~��~%l�M��j,��
�8��j�.�"`��.���gm����>)=��NDDDDD���H����c������zc��~U�d�Y��� 9J���m+^�5w���?�O�^��C/7�qr�a�|�����_���o�����p�7��]r�������d��d��_�������������[l����-7��>������%�a��|���������h�4����X=h�]�A��B���x�����)
���
@X&���
:����4t��a�����&th	�zW#����[�k)�g(����O4�����"��6��;Z���@�p�\FC��Z�>,��������@
��
�c��Uu��A���e[[�����������jG�/*l	!���{6��[����1����U�hQJ"=	�TO6��;� ot�re9�����n(]	���Wx�����'�E,�jA�I':9���'y����2�;$H�&�J��KU.]��+{�r64��5�?
4���h�C��S!�y�V�R,�o��/
�B��b�V�!�+�M��[i(�m���v87:a�
�@?�d�9u�"V��*�=��S�h��P�
c��a�T��R�S�`[V�hi�g$���hzd�d�t�r������d=����h������!|��;��5��u.8{(}I�w"���1)�=��dV��`G�+�� �v5!p�����m60X�-�������%���l�X�}-5�F�����?S��>��N����\nh)����>��Vd���,2��V4_3�>C[���5�}�w�����W�|t�js�T��M�;\�+��4��B��c��d�}}����5��0��Q�[F����\�������JH���*.��,"\�`=���t�Eb��QeC�#�L+|w����,� �������X���'����iA�I'�'p$|p5�^t�����zPN)#	����L��T:�y�^%<��/���	D_eV��+a_aC�(z?RW�����-��.��k]�O)p�4>2���T��Ge�j��z�������(�r@����.k��1��j9���a�qD��FF�T��P	$��a���=Z��wd�c!�>r��������{p��
���Qi�`���@?���d"u�T�.s��UB��1�V7|5E}�c"����"���=
�W�<vQ�{���8�C�D7��7A��3��5�j��Q�T��^�}E9����4R]B����w��@��� ?@":����	��M�7�����OJ	����$=����g��=�|�W��G�e+�v�F�tN�R�/��g�EcG?F
y~�����8��c���^�?���b������<��`[E��CDDDDDDDDT��G��:�Z��0ydu��S�������_�>��i&�4m�Z�a�����
"���>������8�U.|Vx^k�!�b����T�O�������������X�hphCH����D��03b�w��gAj����*��2�� B�j_0T�H#q*���p��x�T����X$��� �� �9y��&��k��F�uU
0�>7�}X�BL��{��!�S�I@��p�d�H�t���������F�)��H'�Ob��^�P��p=�|p��9m:��qD�����:�7�Z��2:4M3���k�T�)������%��"��>&�����R=��� ��X������tFn�{O)�>�C��$F��u
�3Q$�L� �P�l�j�����,��
9�h���E�������*����$s}h��oF�xoQv�y4�����V�w�+���JC��2f��w�zLG��|�>l)�O���s2
d4��F��;����z����~����p���h6��b������a/=�
����E���JvJ�e �Dgt���a���mn/�_&��l����G���t��	�;R�.4�Gj��������-�(�}�x_EG�b�������E��Z\��{�e����6?|�"PGB���3u���=P8v�!�<�X8����B��W�G������	�x�KXS��Nv��+�j*���%�|�}k<�]����$uN��N��x��,��R���DDDDDD���B7`������`G�
_7�D����o�8��G�z>I���b��7����6�������m��w����.�"����#?�nxC�wk�_/X�����������X&�����`P���G�B�ha�?��K�&�U�!N�%Xe�kA{"�d���#���i��I����.��C�
�b�9�/��7������#����6tw��b~�7c	���Hv��.�+���
� m��i�GV7|�{����p=�+'9�,"���h?{{7�(��Qt`�/bh���=���p=B���p�f5�9����F�����>/Soua���uh
��&��(�cc�d��=�?&K8�p��
��&�&;)������^	��&�+]�;x��&��)��@����D�Y�����^?Z:c��np��2�Dw��$�4���d���FRiA]���!XX�����!�'U��*�N Tm_�b���9�q���i ?18g���o�Y�������j��O��y��h<E����C�:�-�7�3=�.�Qw,���!����Ip?��Xg��e�M1��p�>�,"�-PN5�5�i�|m���x�R�C��M��������(X!o����n�="�u��
�k1�^��1I7�n�C���k��������8w=B�T#f��q<��K�v4�vA2���
��qH��7�������v���E�o��x�;a]=��h{��{��N{�}�JZ�T����g�u��"Xa����`�?��~U�k���m��,l���"��2*\��}���~:���^�����B7b�n����_����ORHv7����X�G_/�7��'�����u�l�4�O?�����n��K�\�����?��qk���]b��B7���������)���ma����/=r�^Y��`������cH^V�^����Q~��,�r�4u����L@��!���~M�6	��.�6��}�����b��j
�����	�F����~����$t��F���H�R�3��.�Y��\�	x9
��w(�]L"u]lv����-��1��&��6t�[D���Va��.;*���9�F����*R�5��r	��:��(�:�I�sMO#y�����1X:^�a���e'�kMX���V�o�e���5��c����A�T=�
��@D���F\i��%�'�}YE*�-e�(_n�}�j�e�9�����G�M@��!�T���cp��VU�U�0���(��8�]U����:x������I����/	���xRE���.�js�.�J'=� �HB�nB9�;�pmv��j��/�G��C�����o�M�b^�W	���E�I�;�D�����~�����f�����h�����j�OBM����V!���nx���I&����U�V�#���+��<5b9$��j��F���I�c�]LB��] ��4 IDAT(_n�u��wUB^�@vN:�Mw<��p��5{��h���"�]�#v���)�����DY9�o�`���\k_�_����O'"""""���H��E���DDDDDDDDT*�]���9�i�@Sb:O�'��/������z;��.�iCa[EDTr&M�$"��5�DO�^�,83M��iQ_rb��qO�w#�����"*U��NDDDDD4]�_�3���]��k����B�8]���6�RX����DDDDDT(�F!��G�k�I��\�og�'�\��t"""""���������������r�=�+$H`������"��}���85��`h(�Q��HmD���k�?jW�=D����������f���DDDDDDDDDD9���v	�B7��
.}�{���o�����Z����k������{&����;|��tF4gx?������h&��IDDDDDDDDDDDd��#|��0�!y�
�	h��8���P"""""��F!2A�r8�� �#�T9ER]B��G��B�ZHDDDDDDD4&z�����f$3��X�����m-^�F!�Z&���{�������uo��������X�~�@DDDDDDDDDDD�0�oo������$""""���5
��:?B�B�V�%DDDDDDDD����h���
i�� BZU	��}�l`�"�9'� W�!W-��c/��Pf�}����+���R�k�"�f�!�C�n�A(l�JH9�Un��^Z�v8�k���!2R������������_���(t#��W
�""""""""""""""""""""""""""�Y��T���������/T�	��������+O�D�[0+8�\Z���
�""""""""""""�E�_�-VL�$"""""""""""""""""""""""""""*&z=����������������������������
���DDDDDDDDDDDDDDDDDDDDDDDDDDDD�DO"""""""""""""""""""""""""""������o������ ������Ey�d���/��6K�o(%g��D*�K��C�.�<6����2q6����s��r����4��"�y�;
����/n_��r,[.��07����4���|y.�������\��Z�Rn��E��Q!�{�����O�Y���?
�w��������������4���
�4.�e�~��F�-s����/���|��+�O^�����U4��S����a9�-��9X��~�F_�\��i���B4��9��<rn�������;
����������i�����������m�=����~�������_�;�������|�m9�u���o�����;q�W����zSx��_������o3@f��d5�������p3u
���������a?>�����
���Ml�O��G�e3X���-�F:�k�@�d'"�R���H���w�B�������t����q�r7>������� �����]���<>|�vqF�����8>���z���C+*�nB��Q����d��~}1�s���0���+���U_��^���v|���������#""Z�t��Q�/���_���
��������w�,�D���Qf�Q��R�3����3����u,��G���������;�����0!A!`�U��"I@	~����1����Fq�H�]5��j����B���x�6	��w�C*Q��evIgXV#�-��0�PP��/|��?�0�(���uy�s���3g���y}���"�Z��R�F�L-��?d�=��|�m����������u��yh}x6���_��p7;�6w5�J�r�P�8��n:���\�><Nc��1��$�|�w�7�W�����{{����*_"�e�0��b�!��Sf���������1�f�RF����5@
����.{�#��A��-!�B!�B!�B1rF}������=�{��>��So�1����r������/{M�q��:�G�Sx����s)<�}���j���).����z�K�r���mxE�������(��	�v\����6��_�i�|z�?�\8�o�2��AmP!�B�>��K����	���],��b'�-���L~��B��Ak
'7-��Ce��;��V3��l�L�:���m�D7������{��.�Eck���T%�v��3���y~���B!D��r_�g���S������#�Z����U��B93���m\�;y�����-�\+��Z%'L^��W5S��L��|�����5�PQXCEa.U�zv=�^�������m���b��6�Y����������5w�b����"@��z?y&G��*h9	S���f�9[�38�����y�&:��}c�g�ul)��68�]'�[B!�B!�B!�b������e����$�[���3��w��,[�_\���r�O���������m\:r�g����O���=����3�6F����|z����l������l�ei��J_H!���Z,�:��LE����<�Y��
pu�J��>���J}h,����������~��l��hw�]�'k�c���lJ�s��B!�Xg-`�.e�SM��U$�������V��K�@�	W��:X��o�/����
�.3s2�i�<VsG�R�/����;�E�������[�����A�����W��;'�m&G����F���jZ8}VQ�Q�a�w`�vg��t�[��@�����`���QTMW���B!�B!�B!��sQ��A~��z���>\���K{��<� B�O=����������T�q��������peo�{�<�?���x*�!&�����+���_�|x����Z?/���A|�A� +���P��O�B���7x�%bj��!��������.��S�T���-�w�qm��k���������y�|	�[CrR<�����TCy�.��6��V�<W�Nj$�.m��g�l"�&�����]^�j<��h0�R�?�����}�f�o?�;K��eU/�B�{��qAa[��(|�}�[�A
�0����9qW�`����t�oMN!y�T�+l�id�P�e�5�&��t�����xb��z
Ug0�����Al��Y��a_B�a��%DO�t����,��p�#�
���
?�q�'9���D����T��?���o���v�j��0U8�GR[�O����9�)�1p��x4�"���[����U��l�����i?=������@M��������
\�fw��&����|o	!�B!�B!�Bw0������d>1���~n��M�C�=�}v��<�����Wg.���8�|���$b����Q��������|5�j�__b��jn(z����$+�i���G��("����y��K]������4�t���u�B!���z0�s���M$6*�>N��_[�a{2o�[QW�����Y���~:V�d�oeT���;��G:�5�<�G��^{1���6r����cj�g.a�.�.���}t�NI��s;y�g�0\�w~n�!ok�����B!P���7���n����n�����8�	\�fW�,5������a�x�#�:�W��yoI_�<WW�Ft\�q�X~�����m��pc�c}!���N�w�\x�i�j�.a��2*�o@�����~���8���eP��:�=����E�)[Ls�3t�
$:&�r���Xu>��tB����"cJ<�)iT]�O��8]fa���U�&�1�����{q�����'2�8�4c��-T$�����%�B!�B!�B!���F��C�6���_;��������#�	��C�E�a}�]����,~�i>��J���%U���w�����i�	�o�������x`�46d�y�h���f�������''��-B!�B(�$�c��T�}�<���[{�
���fN�}D]�Z(���Q�����A�T���J�+�w��m�Nf�j[<�f������C�]�X����{+����R�Uo�Bq�j�nVV��?�M+���B�!�y����	a#�"1��+����P9u	�q}��3u6�~�L��J�g�KKR�����_$�SG��f�i���������R<��A��J�XX9�����$U$�b�����O�VPC����&z�~�+{�������s~%�C'���|o	!�B!�B!�B7!AOW�)f�g���!Qdn�b�p�����y5�E� &��uW.�u���0���[����'u�Hj�����7O�u��?!���������%�*���*T�����9Q��V������X$8��MT<pe?G��9�9u��(*4���*��B!���&���GQU���p���|�G�]?���hb�����3(��F��������	��
1��������'z��Y]�uU���3X���'�1XO��D����ZWn*��Bq��[O�������}}�g��C�~G�E���-!�B!�B!�B��;�8�Qx����j�Z=���@�N37v����~<��r��1�������n�!{�p��D2��t�T��g��S$M�o)!\S���}�������8�[�G!���M�7T�����ih&9��V|�����.A�h?���7WC�o��v3%�L������������u�"�qB!�����CC��/�O��]���X���9C��k�kh�V�Tj"xr$�u�J�P���:[@Uu=�-<�	�<Lx�l���_���e����u3�0����8?�$l���	���e��*MTUWRw��
�T��� �'��y8��!�i��	�����E�KNn��f�8�����ad�qe84Sw�D��JZ,�T��O#t�����]U�3z>���9i���.8mN%��}�v�@�U��0�8���TUWRs���������/FH�c�N������"J�����j��	�15p��I����h�9�q�Vz���X:e��=��{K!�B!�B!�B�������O?S��:a�<0r�������^��umAU����o����B!���^�ESU\@��tp����B�z��ew-[Wf����e]�y�;�
!�bx��[�0�����=qYy���|����)�����Mvo���'�����)�fL'
��o��*�U�E�n{�>���_V�)a ��P�������D�����s~��v���\

(9[Fc_���5��]N���ML@��=�Qd��O�,e�~@�
h)���4�s��mq������?e��U��TxD�!d�/����.0^K%d�~�L�����R�&��f���Z+9�a�rr�j��X�R�?UO�?���?L!|@aL��s����$6�c1z|rs;��&L&3I�CMz�q�o?���b���t�������8�AVv6%���*_BbSH~=���c�3���{Q��<e�Y�PR�L����oUq-]��h�������?����))6Qq������L���OY��{�Q��J����X�;��z)�~��������`8g�xJ�gz"��9����>�R���X�8q���/�
��w�|o	!�B!�B!�B7���n�������19^��x��5g(&k�P��K}�^�v�Q��Q��n�$?&KDX!��f!��Z�����p�<�
B(�k�Sv����kgv3/+N�Q�Z'C���4����eT��u�A�Pw��[���o
��W{{RbI���/y9�#�0!����Z-���k�=^{������ �Hj����j��:��AC�1M����6c<��Y����T��5�G���v���� ��oo����0@k
yi�O����"��1�o���W���X�~�K��������:Q3��5�s��Jh���-r"
�|"���6c<��������:���(����h��x1���V����O�&�F�5�Iz�'w���q�]7*,�V0����W\k��
�a�2r^�e�;��<�#�X��w~�?��c��K��"��Ly�����^II��������}����(�������'�	`��r>9o�e��Vc��_����:�{k@3YsIyi'{	y�\�e��]����9SG��s^S�O���~����B!�B!�B!�pc4�����&.}^Oy�u.�[\
4:c������=�D�b;7��S^^O����r}������L#FR�Qz����[�B�gW���9s���!�c���?�Q��E��2.����	!�X��h��\<#u�s=�_��Z�iU�!d��U�4h����5�\h{���K���N�*
��G��[�*��8��;[IC��B�1��K���?���wo��������R���K��
�J�+�f�	���/A�x����16��)����=����%�R�?%�pm<��Dt�x��k�Q�O��[������En���8Y�#��b�����3w%q���9k�y�72q)I:G%H��-l�����k�g�����C>#������%���'6*���V>�"��#�s?
�;���m)��d�IO9�R���Ed���}]nx\�����p"4���/�g.����31�Y��)�������z�u������&$��wy����-��I�,��$���������}��M���t�8%Cn��%�[B!�B!�B!������m
��!���\���GD�4F��� ������69B�j���_��o^��=������/�o�+(�9�GX�<�gB��S���X�h�poS�������b������a�O6��5������MB!��wjs_ m��c�*�������"�f���A�6s*
�j��n�^CC�f��~CYk_��Q�'��$E
}�B!��I��Wz>�^F���3�@@/����{�/�HV������n���*5)�%�WY�]��"�>o���Z��O�$<��I���'�9���;OY����u���%3�y������x�����fJv�@�������������&�r�����KX���1Z4}�lM5�T`:��C'������g��D
~���:��������j�C��n��
�(i��1n]M��(	�kcG��4�(B��S���/7�0*���o��\>'�������X�_��*u�@��Z�����s��70�X����J�+��R��m�:Bf����{nq:=�S;�����]6QR����\�|mb<���Qr��9�f��
�O�}��RC���ctD�����n���- b���a�i'Yo�q�~��]���[��~��?��-;�c_�������x"���������2�M����8� ���� (��5�3�>k!a��3�I���B!�B!�B!�c=��t����'��&�?-���w1��>,��>��:�L���������6���������S���m,�|������sR��0��Fj�w��g~QJa���u�{~O��F�M�	S��m.����B!��l���������].���Af�#$����<U�K�+�x5��������V��mKC3��*v���`�G�]"V��si4�PU�K��E,K���b��<���!c���]!�b1s�RR��]��;����f���G���`k>'
�''������Y?����&{s&Is{	c�E2o�Q�}e�#�c-#�`������s8������Nq����"1�P{���OC����d�H��,��7��
��>�m����h�Ul���(h�g[�G�P�Ub�����{�f���Hr�P�?#���G9t��
�@��JL�)>��Zf��|�j�w����
C�/��285rr�k�9�d������:*�z�<#����7�����zk�CZ��9Z�(/5�>;��M�����9�~��>������9�w�
+R�v�P�]C��}�S�
;9q��g�[�k�vbl�)K�����+u
�({�@���lt��l���V��s��i��)�W3U��m�]#�[B�e� IDAT!�B!�B!�b�����kn|^����Y���~�l����@�}������{�����������K|5��������yo���i���{�����~��/���u�&��_�pc)��������C�x���UV!�B����h�����`~����i��j�:�yN��t��w_���3ek3-�S����.g��� O>� ���X2O(k����VLb��EY�o������e���,��"2�s��\�����L��}���J�B!��M�j��0e��7q)�(G��V�1�k�/�b���8���Hx_���y���]N��	MN%Nq^�Xb�j�!k3-��x������jq�S�0/f�A��k����Iy-�18��_`[�M�C�i+~�"'{�Z��H{ox�9�����+�j����Q���H��`���/+�9������D+�������"�W��BK�����u
���L��I����W(�B��;B�� g�-��()QA}�|���:����R]���e@"+�u���@�[KS3��yu�>���^U �I���X�T����ru�����#N���B!�B!�B!�{3AO�	A<�l,k6��>X����<G,��Mq�Y<�i=*��u=�v�-�}6���k��7������cj|D�^���_b�I�|���GV�Sw[�����P����� �mY�������	���_^�����?5q����$�
���#O���%�)�B!��w���8r�����A�j��a�[MW���2��b5'/�;�5���"9]��xzu��h�X.�Q�H?\��Mk��KB!�w�����e������.D���f5q�TM_������3��D7�P����Y�*�!�RI���g�W�V�OY��g�"k���O��5�t6���s{%9�|����(�R���Vo���?yN�MhWnx�9c����.U��+<NUWPJM��z�{���eV�"<j��x~�������HZ�J�w���3�=�1�RjP��=TP����P�0	��w��\�o������l'����`M�_9���5��e�J��B!�B!�B!��c�'��Bg��;�e�	*o3
����f={������]!Fn~Af��g>�>��.��U�����gL^�C���d�r�1��Xf�=���{x���n]�->���.x�9��)�6.5������[�5P������UW���yq���AB!�-��W���g�?4;hd�#��]k%����)M!��t��W�����yo��/�n��(�`!iR�z�T=��>|A������8�����"��
M#N�qk? �[M?B'�T��B1j4�iPLz�v��5�sHlf>�U��R��5��@K>'L� EX"���
���?��L�4��r`��y������c/����xS�`;�2����IR:���sy'u'�����J\�i�O�vLL������`�N��|'U���SW����DT�&e���jl�����e"�c^����j.Y{
�jT!�^Ys�BZ#��/����.8}5���T�t�L�g&� ;�0�c5N��%����<Q�1o{
��2^���&��2�����KX��{�����}������8}��}��5�Ps�NB��% ����o�����}���01lx���	At+X�P��=G�����x�B!�B!�B!���A��q�������X��r�?�;���EW'ok���T���~3���>��#�������8
Kr���������\�,������]s�uG�;:�{�����DL ��>������~�W���_�w�^�>��*�=Ew���H�n�30������j�_���v#���-FV��f�Q��a�#���7}�e��J�z����{����!o;���#L�f~
)#�!�ey����N�6[7��R[Y��P@]+��L�ai������IK���g�c�������,�JCp�����s�~D,��&�}��BKk�W�Rn<���fl��\D��s1RI��N�[W�$:Q��B!�����(���������{}�:':B9�����^���T*k1�R���Q��kh�/6s%U�*��K=
7�;�%��Tv��bp��f,���@�����m�l�y�@W�6m:�f�tTE{�C^-�%��k1�#}���W"�����9r���K�K���W���u��00��em'6�$}�R�:�9x'uv����e��Ny�	I�AO�cD�T�g����l{5���P����S�1%��~��Y��c��U@���Vma>U�D:���W-8&���/>F��������q=�����Jx�g0����9�����,��P�����<C����e�����u
���j���2�}�3LGt@��
��O��������;]��[B!�B!�B!�bl��{jf��C�}��7������"�h5�q;�����m�L5s��Y�U�|�a^zv�w\�?`��P�u����-�8�f/�q��;��(�����'��_�����p�#j�*����+�<3���Z�7kk3
f��CC�,�4���Eu���gS��7�7�����f�|��h��A�m-�4�P1��B������i��`�Q��N�����
A���SG!���;��8�&������e��W\h����Ex����u�>��+rv�7��Y�:��7r������r����GR/O����g$�s6��Zu�-l�U���o,�`�Z_��_3���B!�n����S/�0\+�E;/�Ot�Z�(8U��/9;�l��i����W$��P�����_�w�#N_n��[����<&���~A�BI�[:K+����_�!��
V��������1�;������h#�����{)R4�^j����-�f��3H�
d��$tU�W��CV��e�2�����N�9��O���]����h)���M���L9���Hf=�'b�l��#	�����9-���+����:"z�]3YO�$��l����t%��^������ ��L�UG!�|"�s1�X���)a��uZM�.QTq��G;y`�i,�f���E�Y
D[��T�	z�L���:�p��W�����>F����{K!�B!�B!�B��o�t�:�	,[:��}���;
�y������'����65K;��Q���������I=�y�~�<�	0�;��};�v<_km)i�/q��U�{JS�������w��U=
�����V��fsC��B��I��?��=>��������FIo�#����8O��[�����:fd������{����-��;X����JDM�6�M��G�$��-�4�9X3�B!�ps=Z��3g	�������vT����#&G0�3j	�IN�s��8���X�9� �XC�
$�nT_��|�s��/�{���K��1�`�9|���9�d�.���h?77s"'����[Er\`�Ua,}c���-T�&�+@�M��7�������9������
eg3�a��B��X��]��y���i��:@���Y()T�%B��=���dV�������
�� 9��FD@���GH�m����U���h�\q�-X�z5Zk%'7F���/��� B���b����i�X{�u���{K!�B!�B!�B��{��g���B��%Nw�
�������=��`��j�����	Lw��f�U�U���/����=4M��{���<�z.O���{��c�����p���;�r�����X&U=�3��$%���	�Z9�����^�,��n@������=BM��H
��sVCI6���y�f3o�c��c~O��h��!�������,/�b[��{��~rN���$�����������[��LzN�M����fn����8�a����?O��:����B��]T<�I�;u�B!�*�o���������'N��{��r.�/��bz��
s�+P�fV��.U5����reU�0�J�����0��|�}{`���AN����@����������S�y���;W�4����N�O��"���z��������Z��-m�����q��t�����D��^�U��a��������`N���C��~��%���������}dY�wb8ov~M��L��|�����'�y�������\O���$���	ca����5xRco����|��{����qe��xJ��fi#�,.��7oPr��N�x�j�M]�qQ;'��U�����'y�D����_�QZ�O$����c~kGvp65�w��o���8�����q���B!�B!�B!�pG��-� =�q��n�'AO�A�����V��O��c�r;�m�h�>Hw��j
�)�����u�2)!���S���}�OM�-�^|bV�jL���N$s�P�q���at+���4D!Dw�����g����0\�w�	����t�GOB1�������UZ`�L�LIq����;��i��D��������g/��i��x@�Kp�pT�t��>�>0��k��PR
�S�u3B!�#�������iig*|��U�;;�e���b�2xc��D�#���G�sa�1kY���-�<'�W��A7��s��/w
O k\���x���������T��CR�>IVi�k�R���l-Y/u�	-4\���?dJX�����:��	��=>��l��^SsRg���\��j���HB���Ij����>'��������QUq��kN���JN�j�0�5����lg�cTT8�������@�lg�clXE�@*��qE�!Z=��u+���.�m�{o�tq��}�'z�k����f�����O$	��`E�l���X�a'��G��.��ki�������	��B!�B!�B!����n��Mt�_�������m?��w����d=o������K���\Rc=a�]��1-D
�����+����am��,��8�C?,���Y��I�Z�f�d���s}�[����Bw�?5�UAW%
��J����3zh�28o�n�����6b��NYl�CC������y=L�d5\�tm��KL��~!�B�!A(����L:����!��;��c��T.�D:*�_������vI�*Y��}�����2yw�������g#Z�������K^�<�V&�K_��`�bW2Y3������W��l� "f��7���x9�v��&�G0��[0�B��3�6�	
�ti���z<	��I�O���q����#0��8��v3���89�0��z__ya>�C
���0��IH��:r\wBX<�3����u���Q�����
��O��++�$�`��8�
#i�X7�����0U���jiP�?����H��-!�B!�B!�B���5�
7��F�����K�q��	LVd;��,X���{����E9����n�I���m��g��o������o����c�J�f��0���4�������6��@7�h#�.����hk�8�E�!DY�����5Nft���[�|&t������6��[ko�
!�B�R^a�(��Z�i�����S�JYWr)8���3|Ly���/��x���E���JC�K�\��e��l�����yy=
����R������V�?�e
�������h�B�)V`������^�<�V:�]�D{0��Z0|f�E����^e�^�91���t��}���)�*�kM��0��z�a����W}j������,"�q'�"��uTg�U(��W�
��}W������������g�J���0�R���I7a�7w
��5Q�@���q��%�B!�B!�B!��=��^�������~L~����L�2��WT�:*u}W��N����;������D�6�o�vz���Y�B!���l��iP�s{z��rz��&b�cxvM[�*u�q���n�=g��������a�s��B!��STaL��"��VI���o��q���T{%��E��'L��]��u��k���V����$�aG�j5Q^y���'�:�����W���?n�s,w��lLc�{�����C,'���xB �]����*��a����9_&kk'�y��%���os�!jB|@����~?�\��}��|�W�S��}���?�]�;�I���O�)���z#�qG������|�[M�.�x��L&GP�K�6&��n���a��G�������&Ee�������
���i��c����-!�B!�B!�B�����g��/���f��#A��������HH����R�������(�3u�<z���z���j�~�KfWn��b���<���5M!�pG��E
E�})���p/N���w����������	U���J�c��������ngg��5���pZYG�!8�]Ky7S[ZDIq�����:�@*�B�~�	��H��SS��E���%2�c��p�+p5�����s�s��}����`��x��?Z
s)����cA����zm�)9���.�K����Q�yo�!��&{�& ��e����D������#��/����������+�8�Wi�[�Bp�����DkA#���M���~��r�����R��7YO�F���Kr�E�+n����sET(����>�H���'��=m���TR^����9}>�&:[�	� �+�Wb������[��w�Y��G5}-p����B!�B!�B!�pG�\��Zn$3W�������x��%`^��wN�5�w�7��P�u}rU1Z�1�����~3������u����yAOb��}~!�b�k��/�<�R��gUN}��
!�����?�LG���9����D�3���|��Q���N�J�1����\����f���::w��%bj���v�V���'s?N�H�H7L!��Ap�^�Pu�4|�U$����a��1��P{"���s-U ���.V�e�"����jW�y�e��uT|���!�������x��a;���x+�����U��������z��UTL4������33������� �s\��x������k����=��F��*_��Z�+��"�^�"�n�����������@��b������Y7��'6�q��+1Pe6Qr�q�@�������v�^QW]��k�x"�C�\�p;�e��W�z��&:|����|o	!�B!�B!�B74���M�}�(;M���7���y��Oq�k��A3xya�����bHrLu�k��]����l/S�#�Ma��#����3:e�6Np���S���z��QL�r�o?LB��h�B!��5�$�r����W��]=����Q������y}U��������pE�:r��2����o�tt���$���g{Y)���-���)4S��"�<T����y�����"B!��Y��XE����ET
cp)$n���{{
�c;9����,q1�VNW��X�����4�7%�}~���F+/=I��V�V5���,Y&B3S���q���'nn�s{_t�RQ����KfcvQ���H����4�.�����~
�����������H*�%4,�����1*�wo-��\��u����������r\wD �O(�5����s�
#����,���HB!_�i'y��|m����FU��+&��9&}���Q��|o	!�B!�B!�B74���m|UZJ�?���'��b����/�����6W�\`��=�<{�O�T���<�~.O��o���fE������������zv�����_�p�%�R4e���,�m\:jd������hV��������|;J)tZ����^���W<��j���f��/����WgJY�d7o��<�<�"F:�!�B�ac��)�Y����������1�Q���[{3u�����4���������&49����O\*����M�l{q�K{t�3���El+V�O��Y���}Vi�U����X��a��4r��SQm����������L~�[�w�\B��]��#�B1�����Q!�Pry�?)�8��^��4�+�Q�s�=�k�!s/������O���=lW���:��+����g`a��.$y)3���E�Y��[P�l�D���c��(�7{VQk8��o���"�3R��s�����'Iy=���c,�g��:�������k8��c�c:�qu�-�y?����A��������	��qb���`n�gdp��=e�a IDAT����c
E���wN)^���7����h:N����>��Jw����O��>��|�x~+����C��:�{e-���)�1���>��y��?��h�ZD��d��;9v�7S�����al||�Q�>��j,5(��%Z�������-!�B!�B!�B�n<F���Fm5������j������x���&K�����Y����gp��������>�|z��k�d����~��
b��X��D��/�����zE|�k�C����(�=����Se��;6]��q� ����3��2���H��e��_������1��:�����R^k��Z�����d+��Q�sB$�8K�
iU��6r���-@g���wa����B��,4��%�|.9�y��?N
mZ�������v�WE��T����LJ~����$`�����|�M�2����T������r����N�D�k�]SG��$�sy5��|����fZZz�������pq;B!��kl�^d���n�����b��N^{"��9�h~���an�h�&:.���[�m�+)(�����T0
�yZ�����{�
C7��V7e�w��A{�v3%�?���0"��h���D���8}���|�'&������5��{�����-R��N^���Zk0�����/2SO�� �yYh�v���2j�����C��r��/��/�]��}�����y���d:C6jO���D���DL�0N����.����=H���KKS�c�����1�}���X��CY9��>=���^���P�LA7��`S�}e���w ����wA��k
W�(?�����y�����n3F�2��F���K���3k������^����X1��j�r\w��x�5iT\���8f���'b@������T�
�)��Em�x�G��~TK�4
��,�l����Dm�}[^�-�.#��QQ�������G�s�s��B!�B!�B!�nfL=ocm���[����X�>���9�t����e�������M���&N�8��b�g���o�v��9��-{�OT���r.}�x�����6\��y��&b�3���&�����%j
�Q#�1V�$}����n�B�;�����>�_�K�s��6�`W��SV�����-����-4^,�x��64���0��'���v�&3�}T]������>di��v�B!�um�t<������ �����8oc�����I�y`���\jSR	�����z�Y�0�<���H��]�/�k���l+tT��5TRr��'K��X���k������7q	���%`��/UT;�6S[�Kmo���&)�C������OiT����l}�=3����*B�^a$m��2�y'�LQ��������@Ht��l����?�~{��/���H�&W(p�h5SU�OU_�xi��?L��@������Dq�Si�����K�V��"Vc����HB\]�W�Nc���w����Z����+U$�����b�p�/�Oh�l��)�H�"+����s_jo��\>u�����A�z���L��p�G���bE v�rt�<~�|o	!�B!�B!�B7���n������X���x����	�Y��S+�` !�N�����|�)�9!}gd���������Cq<������`��$
O,c���0����C��'bH��J�cS�4:�B!��^��n�d�=��.T��
$4.�
�/���H��S}�R��s�W"��uY5�Q)�������T��|�Q��H!vF>.��g����G9��a	y
!����
#a����<�������g���~^:	��	}yG�t����$�WX�'�����;���k���x^����XC��~�o�"�����yF�-�gz*i����|�Z�������w]������C�o'I������+���t6}|�]����g�[k��P���q��9�[8{������di��������sJ��\���l�����=������o(��|�W�9����JJJ{�#'.e�s�/�:'������Y1����?w;��? )F��u���l#���(Au'r�3��
#aq���_���B!�B!�B!�����/���H7b���T�q���+��0����mX�@}����C'1'j��-���W�������-X�m���7���G��x��GC���oQ~�*�.^��W�p���������������	��D|��a��p�^f�?���^�!2�g��ty��G���n����H7aT9���H7aT��k���\��-����@s���{�����Poo��qX����+��TI���7s����<����B�������w��ri{
e����s-7[,��K��0B����:�������g��RC�53
7��Y-�TjH��0�?�%��N�B!�cQk�	s���1��t�#o��0H����c�_������v�0e�����;G;,4^6Q~���/��l||	x0��p=�j��!���8]j����4�v���{0�`��/��\+�����+544u�NA���	�Oy��������vr\q����[M���5�?��]?v�+w����Sq��������/�#4JO�h�V�^F��(��+T����C�I�d[5@��{k���zc�B!�B!�B!��AOqO���=�	�
�=F�����B!�B�3���eqF6�x6�%!p�[%�����Z�-�ks�*j8i�>�N�h�
��/�pu6���*���-���QT�v���B!�B!�B!�����}j>�O�������K��.7���
3E9��pK�P[5�k�B!�B�!
N�I�_
����`	��>��B�$�w`����y�K�O~*!�1��#��w�<�OI���B!�B!�B!�"AO!F���7����G����?���	!�]�V�G�x�-��!�B!�6�z�W&rb}.��P����e��0�
B�Zr\y���.1;����"Q�e�u6���_l��{6����?�MB!�B!�B!�b���H7@!�B!�B!���A&�c|;&�r�����6I1��qe�]+��j��/�)k���;������kP��f�N�6	!�B!�B!�B1�HEO!��&�U�������Eu���naaB2
AS�T�~I�����C�:QC��6���$����^��WC�+F]c���A�����!�D�+��,���� �4�BA��~��df�}=����>����9g2�������m���T������`s�#���]��V�fn����6�a0TQa�@��D����2�,g�`D��K��l�������2xpOL�����xv�DDDDDDDDDDDDD�����<��"���w�`wa�8qF�uwL���`waX9�����������R��}B��""""""""""���N�������������������ovDDDDDDDDDDDDDDDDDDDDDDDDDDDDnW
z����������������������������=EDDDDDDDDDDDDDDDDDDDDDDDDDDD��`w@D���I7�]^R���������������������N�~M���������������u��)"""""""""""""""""""""""""""2H�$
z����������������������������=EDDDDDDDDDDDDDDDDDDDDDDDDDDD���""""""""""""""""""""""""""""��}�; """"""""""""r[��QS]���I;�?>���X�\����3��!��{@z$"""""""""""""�=���o����?���x����;�G���u._���F��[������}�X����7�������%�y���"R��|��#|L[N�vKD@}5��Xl�������x����j���|
��+��J,��4�0���k��]����d�-�D��P����|�R����v�����sH�u�nB���Dp?]������%�9������_H��$B�z�\��h��x.�3�d8���	O�|ya=�
_�r�p!�2�r������y��h&O���O��9�8�g]��E%'/r��.|��-{�VL���-���N��������/�m��y�h��&7���g/�#"CKmu%U�����t4��2���������k��8U�Kq���9�	�gK��mwl�y0�AB���������Qs2�����q.�����#���<�����30�������QZR����P~�
��m3�������;;_
�a�_��90���f
�O[��&^{'�w���M�EDDDDDDDDDDD��a����/�{��g3��C/O#�[35r!#�����/;mu��
�?������w�����Nm�l�y�/r����������:<�|x��A��*y���IL��j'o���+���
'>�g���yc�����DDDDD�++����hp�����3YT�����	������'��O���qt�<^;P���**�U����#7��W���
�����tMs8���hjK(�,�8s)�f��6OL����a�������l.j���\���b�>�N'����[�>WB���yDns�um�=�p����z5MVJw����L����z�}�s`Y9�e?�_?�i@�W>��,�3g�c�7|�9����Wr]�z����������>���������+����������� C�{$��/����"�����^�H�Y����TG���x��S^����Q��WB���Jf�K�k
7�vi%I��0���4+
=�p1��<��_����C���"DDDDDDd8����������%���DJ;
LI�r�d��
Y����,6����K��)�!�_������*�����,Y�}3s�,��_��������������v��yF�����bc�;08o�����;yz�E��;<�]&���'���Z�PR�����oW������y�8g�.��'��������T��?�l���m��X��=L<��n��F��fp�������������"lBA�1��`����2*�����W��ZNo�������"������n[�k����	6�b��Y���MCm������T��[�\��k	���;��H�B�#�����?�^<�j��*���R��)�W=h�"��9�6��u&o�W"""""""""2 ��Z����}|{R�G�9��Y<1����������������qk�%��b��_���}�h�_rxv}���=��o��y(������O>��c�j����;�|{,��|��NK��$O�t�����i��O�;P����x��~��O�������6�?�g��9V������+��8���������!��#zF�SB����������W~�����'���"6��u������N��z���k���g��*�c��?��y��D�-�H�c���.V` ���,2�c�E��.-�����x��5d_l	�6���9�G�6����~����:�k^�i{*i�[~��<U��[�7��C-��'���2n�������"�	��=��nm�\Y��,xa;����5��O���3xv�D���������'9�T5?��B��<���s�4&��E+����D/��"""""	\���/%�u�� L���n����:N��GE�3Z)����z�+FS��90NN ���cu��n;�M4n��,V��a����C���X��7�rx��^Z;�GDDDDDDDDd�
����x��QsH�dM���q����t�'�����@��)lX?�q}]���X�b�L������������iw,
�'����y*�����3�����&"�[M-�DD�6�������_i(�����9�O�pF�}�-�yO����,��	��.��p~�0',g�to�tS�%}����kk�s�����HK+��rDDDDDDDDDDDD����*��9~�3�J�zn�u���Wr��a�g<��\��.b����ch����?')�[��M��*H��=U�x���6���E������J����7o����k/LXH��N���yF�i��TEAf.D����mx�GF
-�T|Y	���:DDDDDna�:*�>���eTT�q��
n��O��p&���gw�����VB��J��7�cB~ �`?C��C5g� (|���i�*��|	e*�����^���f��<���Bz�r>��O?�����5*���(�&�uX�n�Y�9����*��l3����Ghx$F�K2,eQv���z+�����J��(�X��>��c����}����`��4?�See\�o��B��x ���k�~mmBQ�)=�<Y��>��'T��������������"�t���c;$$GOd����?=u����I���Ltqp�=���s?�:��S������q�;xv���4?��
��b\z8@pT�{RZ��(�����y]�q���C�o����2����_�g}lwBvV
���+[���y�_Xg�8$�p)���T��gQ�i5�],�+��KY��rLz�+~�;,�����[�v��e���*�$�#%��KT(s�&0:��+�����C;+oF���)v)�s������}$�>I����b�����n.mc�ck8������H������6�Q��e�OA~.���X��������b���9\�b~�6[S���V��gAT�nb�o7�}����=�������I��C�FH����=���{)�h_��#t�r�>���1]���wTS�������a�u��8~��I,�g�fWk������d��`i����O��f3{)�3B���*�V>����I���xd'&g����0�I�n|���@���	��yA��>������*
~��-)�(��y�H��Y�xd��Gt�~m�-��E���L�w��T�>�@��n.GDDDDDDDDDDDd���`w`�+?O~�}rd�w��;�;=u�����m�k��������p��v�
g;�q.""rk����(�"��{r�`wLDU�Q�8��#��Q�6��9��
qi5��?9J/Qz���=`��BY�������
�VS����������8x~�;&""""�)�f�h��f����������l�dg�5�o��0"��N_U�xav4k_���\'!O��2��Y;
+S��8i�a����f�������/D���m�<�9�x|����a������s��
����#5��yTo���{��ms.��O������9a�o����:y�Na�?>����NB�V,��9����9�/u�_7���������3�z
G;	yX���{�vNu�(��M�}l
k7�t��UQ��������Q��2��o������,��S���<�	`9����h�<�����������,����]�<���gq�&���_\��l�����j�W�A��CV��V��g�������6��V[	i��yac�!O���<��D��(���! C��Z�w��A��2r��z� �!������J_������h#��
��H��/�j�Q���)�7-�j�.\i7wF�����Cq�6��t��D����q����V�C�}�1�!�J���������A����g���]���#�D�W'��>����1�D�8}�D�((�1(�VF�E����Hu*�9�����nx-�?�r�$�b���n!Dh�������m�BbB6Qz��wwC���T����X�j��O��t��q�v���C|�������Y��,��\�=De+#g�l�6�����]���*�_�����pn���e��p���{c����.X�i�_/��M�y���+�5��},�S"]�����\{X�3
���.�wpm�D�� F�����Ur�l���s@��m$.���w'&���Y)?�����j��j�?�+o�y�	'��A=�X�J(-q8V,E��l�d���}d��y[	W��
�����M��3����V*������}�=�Q����cmJ^�������#��D��Y IDATh������(�PE�����������y�!V|'�t�?��J���(�u�L2�c�K>�l\���uZ�k�\[�7��Bv�wZE~�Dv����d(&{���������"g��6��!l�Db�������;�P^�=�i`��i��t�
��[��3N|�v]���L7}�%K��H��q�~e�l�������=��|��:���M���
�������+��O����>�-�G�.�|�`}��DwF�:��-��Q�Q�����J+L�����Y�X�,������~��)�_�������
a�9���y������8VE������r��{p�-���Q���^A���0����I���6�EMY���k	�5�Q��IR�
Yv����=���l9��������r�����at���8�KA�.���um��` ��b��#;�]���r��!g"�������Gg���`��1j!�>�Hk9����G��H"\	�]L%��=8�1�1b����	�0=�f�l�&�u��X�����W9z�%�x1���M�m�E���>���7�K^AD�=�|�,�BB�����\(�Tn*iR��J��6����!O�)�Y�2��v��:�����r�%�h+!��g���!fv��c���������
��d������R���-�&�}�����&��f)��2��,����e?&������l�>Z��P�����S��0����2r2���x<+~������*
�<�+[S�h��Z����L1�����y�5X�Z���!Oo�����u]V��wF� �*�����4�O7O6���T5�*�/"""""""""""24�ZAO9{�|��V��c��:���a�{��s~�����.���{�VZ�����C����?[e%��Ur���d�/c��g����7������.�*j�j��~�>��:�_SU��-���������P_�����F+��2����=����e!Oo"����i]���R�5�i7?Fu0��R]���7n���`��m���:���l6+

���4|UK��"N}����TJ�y��g]�r\[�������`�#lk6+�2���q~����q�!�5.sD��=�����,[O��`�O83WH����%�f+"m:���z�*#�`s�C��xm�*B��_xy0y��g��"�r�.�?LO`��^��Gv�.���ZX�9���'��{C��<:7�����]�����i�[>�K�dn "��=���TJ[CP����e�8q+�/e�)�I
D�"iW�dG[���do#��B�u��X)O���<�/����&vB���f�w|$����_EAj.��=*aor2���w�zr|��-GE��	�#��m��Tv���)!���=P���x"���#yb��M�����S�CBH��<�^l�[��5���|����!?�\��=�������(�	�O�����@Ea	�n�5|����[[�n_������Cl��������kS��7Ql�@�`���,����`�����1}'���yZ9�@bF��>o���n�ym��z��
�[���	�>����_�������������P�����`���S�Y��5��;i���k�7��`�W�x���4����:�������r�7�����x���JN�v���S��9W�����k}��[������}��_T?��feB"B�cbX�1���vR�����OX/��-i8�Bb�����w��F�!�����m5�X,.���_���}��^6}�%?�������7����g'��+f!""""�;ca�bk5�O�%��YrS�u��8#�����,�X�B������	�~k�dS���]j�b���19��6w���������J�c"��l'��T����dY\���O-eL$�'�y��yl��N���(
���K��������\{(�S%d+r������(x�9
y:��%��VDA~��]��:��a��=7�<�s�#b~���k������V���NB��?�6������#�:�L: �|	io�P�Z���5{:	y:��������\Kii%�;��*��`/��M����C�m���j���-����C�l`����������� ^[k�@P`�}��������-"""""""""""�n����h����~���K8��>��}K��������)�|U��/�c�����|���������8�E����)���4�~�k����:�K�}��%�,����Y}�Y������`��m_��P�7��}�[v��QAOD^!�Vgr�H&+�.��Y�2�2�:�������G������`�S�x����xm����;e9I�����U�v1 RDDDDd��#��P���KF���E-���1=��]��b�c�����u��)���I ��y���@��x�H���+�����������3��M���~������9
mzD,��P)�&{?'l���L*Y%�s+ctQ�pN0%�B�J������|+���A��U���Q�f�&��"\�_�B�������d�wv<���}��a��������;0����.�s*�.��l_��>1�+tv���<�$|��y����TE��\	���0����~���Z���/��[���&C�g�d�v�g�i4#;|7aa4��U���������72��>gCb���&v8o#6�<���c�3���8�z������s��j����������|��O�=��w��-��h���g�'��<)����3��<�GFw6�u>�M&�*o����O:�,{��i�����tGDnV_B��y���2���*�4Z�t�q�'�:�npY}.�Y�?�y��n����wA���m$-��?Ob��{�����A��w������1�� """"����!�l���c�T�l��`I'#�^u��8��=��w�7p��c-5�@���/��)N�C�2� "���K���Yd�a?G�Rp��\�����d����2a��K���#��m�I�C!�Mi��x���V�M�o��O�WUu�&j�,+v�(?F�Cy��,WzZE��������W���?
�+�Y�g8	�9��0������QZ\3�;n���|�����~x!���7{F��7/5���\����5�������\���`����}%`���J�-|���L���"MMqM1_���>�+w�,��]����1:+���xnA�}i][3���Z����*`�G""""""""""""�>�9����4���^����#[>o�e;����9���]����i���.�����%�f����$�8���3����
����]���7�t����=u��,�N�~��s�}�}��w�{���r� W%��������k�e��kU����xaFJ��������D��2A�?������c��!XZ&j�v����<r������(��Db~:���C$�v]����?����>��-��o����[������&+��Zj.|���#�8�<��*��Wg���@��$"�teO?"��
)""""���KL��3Z�U�S9z~OtR���JAk��@�9�G����J��P�e%���hh�=���Y�PIc�������i����C���b��!���T���p�~�f��w���K����|3������Z��8���l�"'#�S\��iMEde��}�b��z���:*J>��B��u\�Yo�����j��z��z�11�3�sy�:T���$�;�g��	�-�@���x���1_������?a���50�h	���8	���E�������GE�~Zq`1/7�b�B�����!At���p&i
zr��2xud?Bc�	���D����H�um���0�a�|������>��=���k>��+����o�N����`����S�x���40}�������w���sGs��+-/X9�}���g�����_O���B.����)��9'�6���|�vk���
��W%��j�/p
k�e����7�<=o�]GDE�����n<���JMUU�m���Oy�-X(�o��V�����?`Ed��
!�����5�"�6?��y���K8��<<�9�3u20������<g���8
^N���M��
,�������������N��4��?��R���-�I&��jNM~2kW{������f!""""�'Z*3���{�VDVf	O<����:��e�>��pb�F�������B���8q����|�]f hb?Tu�-���:�a7������7L�g��x���Q������q��C����;���L������S���a��z��}d��O��cj7�^5�)�������6�T�46�z�4N��R���EYk����q��N����P�v��Z�������|S��h{>^����|W�\?�X����sa����R�GlcK~��j�����,Iy��b���H�C�	'�o�T
v��w��Am7F�����7TQQx�S�m����`h�n����������������0r����G�d�x6|r��������7������;��o,�9�GLw����Q���_�p�F��L���6�[��$�^:���������'�p�x�m13=��/�3r������Ge����_9z~��U���oD�DDz�N�K$�o��6�e i	i�&b���������������q`Z'�+��"b���_�\op�&5�qg*���@@T��	����#�b����D^����A}���g���(�}��R�Q*��	7?���=�s�!B�)1�um��d^JH&�R7�W��5��Xi�Y�j����[���++��y�5�Q��N��Y��s���_!��$�t�{�M'+�������c����c�q-xi+�h�b^K-�Wr����{8#����yRuu�����>v�����.���;�k�q�i6�Q�'�����u~+��N�������9��I��w��j���0������<F�6m��Ky���p����x��m��0�X�5K��e(J��i�����"""""""""""r��-o{�����y�����OWj�p
��}KwF�i��_��$W���f��AO>���^��o�3q�|�|�x^y����qm'O8u���i$'�`��q����<q�?��r��e ����?���z�)d�ii����2�����(6#"r+0�����������r0#�����1��Z���Z����5�1�D��h]u\����>}8��/���'��j����N��UUO��b0��8z�����T>:���Im��d����j�����T-��0�g�I��������"BB��f���A���d�w#��)�)D6TY�����.���SZ��597o�Ev�����G�
�����X�������:Vb��i�����_��W2�V���	!xJ���1�����/��8�m�=X�c<������0k��������`�`�<���a��5�:��iU���
��Ppd���b��ID�u�v�yt���g�c�J���P���tm�}OOo���������������� �=�z�F��q���5W�FAO�0����1r��[m��t\OS#W����6�
�����<�?���e._���`������`�!����bV.|��8]7��;H��Jp��8iS���gZ��a���V(FD�������������Q��EC\��U.|��������+�v�q'�*���0��������ig�z��^jy�R�!tB��FDDDDd���R�Q�4��Q�&�;��"+#�^��+����-����&�0=�kWa�����/��Q��R[D��}��K����6z�����G�."b�����8�S)�m>�����[���y���}d_�O>G�	�������C��N��7X�oW�Wo#���z�����m��I,�n/�c}����A������[T^��_���J�.34����1c8���$��2���SP����"���PsS��JM~2k�Yy���p�Z�@���ekl;���h�i*b��5�\s��;<C~���g�\n�R��y�:����=M,��0�B���kip��<�>.uCDDDDDDDDDDDd��=����{�g#�Nn@~�^<������nl��7���g(�����<8�G�j�X��������8��{&""}!h�8>	���7��7�����#"��|'�0�-�y )`�PB���{���[����0������p,�D@_?���>����u�������1�XDDDD�=�)�a������3S)~>�L�����C����F9_n����8�8�^����������`���aO�� 7�+��������d�E��E�tTM���`S<�qK1O��r�(�s[r��}�,����w#�c�����s8�B0�#]Xn	i���8�7�Y3����5����8��>����1$������:�����wP}c:����1�J����5/'���y�VG����d��pZ:�_[
g��e�B�}>��e�F#�
k�U���z��������Z*>����y���p��tMY�}�4����4���Y���|�������7�a��z^���m�{#;��8r�h����������'��������z�
x�����������0���sDD�B4�ADne�m��
��������D�xo8�R�����se0=��:�����>�{3��C<�����pS�a�3���B��R�<}!���I�Nn���~�S��y��2�r����<jZ�~A��^�bu�**��8l���A�cI��3�d�aG�)��x[x���<w)���������c�W:9�u�d�GM\|sEH[.��e���J��*���}���K]	yT�S�������>�1���@���/*��
z��1����{
p#��TEu5����C��7��8m!���cw�\v����Rzt���������^�+��Z��4��TGEU��1�TI�������ysB������J�
������7�r[��lg*9�x��N���I�o6���e����6�DW�\e-�3����O�:N|�Yk������3r0;$""""���J%���=<
xv���@�����2�Jia��x�Kk>��W�<0���������v���p|H�������Ps��K��	h*!��<VL�������4F�"��Jh���K��I�p��s1�X����!���Ed�E��#�L�C0�����E�>�R����5s�r2��@
���SO�(h��O��

?�����m���G5G]P~:�^	t(s3��NkU�[]��51�`O�h	V���Q��b(������#xRo	��>�T���czB��;�p�f6k��P���R��nd=/�PV��VCmw]�����r��K�\�q��J��O��M��(s,�<&�@g}�>�D���a� �6��c���u�$
`���rm����p"p����!�6z6r���\v�Y��&w6����L����c-3\�����<�|�].�����0����Pr�[\�O��#�5x� U������ �;��N��5�LD��r"7�� �{�:���0��Y���
>"�6��]V��"+;�M������|�i5Y�p��[=�����(/,����;�����pep�����Y!q<<!�g�'+��Q�2��/S�:m]�N_H�K�%��l�^r1(b9�J�5����l�&��"j�o����0�-%��8��45�M��Y3�a��"�X��{s��{EV�p�f��Y{�m*!�X����z�����/+�z�,c����l��}|T����{��.��1��g�R��#�H*���?/����F�bK�����A�@����b ��"q��mxs��hi�X��*p��(l�����lJ�b���,���r��1$���xH�[8�����_Wb be&)����5$��5�P�W��'x�6��Z�1�h�S9lHu|T�;���=��q3�,kI�w���V�x�\�~���i����u�&��f��4bG^�DDDFG�)��� IDAT����_�V:�UD��m��pLG{ ���bc��y�!<iI�@jI��8���B��c1�M~=�pg��I�N��@��QCw�ZS.{����������b�������������p<nL_J'�S+��������G��{�.y3�M������q(%�0�M�\,�9���G������|t�C���u���qzQ���r*�=*,�d�jm��@��..p�w�s���%�!R'j2�9���o�q��>������]��;��]S	��n�U��%}~�,d����%;���E��n�'p�C�@[.'
�2p-��!u�v��3.��}��((,��94q�������#���)#��$�7Q�(��|C����\N}i��7��������������-b=ky��y#��.\����|���LN|����d�}����6������d��p�w�/�`k�C9���7����k�����y;[-��=�:���Y���aV�����b�yi9�]��pq���H���^c��A]�D��8|[+EX)NY����4����m���@��g0w6�)�������i����Q��<^9�v�e���L�tu"""""CW�y!�7~�6��sd9VX���y����
��8�J8�?�I������I9=�����8a�u�w3+H��D����
Wy��<�~��P�>G���z��@��E�W�N�C��!wiNB�
g6�����O��-��i���t����R��#Fs�B�����������a�&?�-/m����o�y�-�O.���7�p�W�9x��������bKF���m��������xkS���UzdGO������d8|y�'�I)��I�C�X)>�����Z[)MY���~G6�q��v�i��I[�.�0��E<:���d��kk.�d;,��:�o�'"""""""""""2���g#�I������<������9��v!�F+>��7^������s��G���!'O�e�DV-k[�������_�s���\�u���~}�,��2�����8���s����o��a6����\�����Q��+]����gl�������9{����]�����t�v~����u70��9<��=�����t��V���kX9;����c�[)d�Q�~p`S��9�q��-&��� D����3�X�Xy�6�-O�coa�A�UY�^9�-�UB|f��gu9���Tv'D���;<�6��G�)>_uSU���
��ye�},���v���B���TE�5�������H"{E3������������O�vs:�.����h��/�Fc7�e�� "b�H��W>J��5?�#x��Gi`������H�������W�������!��������b�Nw����:�S�c��5�TFo���Pf b�R���J��y<�6����(>]D����N��N��U�V�k^�����Vx�y�

���~g
k�����?���r��
��1�;{#/8�/U�l�i4�o�R�Y��VGyn
�f��G�a������B���f���
����{�d����+sZ�:?�����������NiugK+�����zS�P���:Y�G�cD;��7��:����RK	����o����q�pf���!�b��TG���X�����D���Ubv���Z���;T��'���C�DDDDDDDDDDDD����@_�Z~�C�z�C�����;#G������6I;S1��s�ri���������c��_���A�n>����)������j)=�9g��v^�����o���u#����r�����gyc���_w�g�i
�Gw>���:��p�pNs��40r�;��\n�m^(<����X��� 5q6&s��o��A[""�1+5�S9x:��7^���w��Xj�h�������$-w>P�-�E/o��g�5�.��eq:{&E1�^o�-�����U9��0��J��Jms�� ���<Fxc���kuX,���
gQ����zDDDDD�� bfF�%?�9�Qo�4�B0=����_���]��_�<�TE�[sX�BXDA�P_K�_�8q����8-�_��������\�fb<�<F��m������A�i�a��y�7�L "�����
����O��u���i�Zu�����y�f)������V�bq*/��T�l��4-������z���G[�UqG��I���g�������n���M�6&���!���O��X���8�KiUo����1�3_~��+��Q��qt�<�n�&pRA��1z��RIMe�gJ����f+�~�&��R�h��j
S�R�rs�Q�l��N��^��RQ����������p������X��(-���R���cr+~�B��k������^I�&;�gr78�A��m�v����>�����|�\�����u""
�������Y)>E�<�*)+���]0�wz/.P@oX�kk��"'��/y<���.�������������3�D��&�F�^��������������J�3�>,��S�>��W����^|������d��S�������r���++������w1}�|v��=�+���������7�u��w�w7oB���q�J1��_�������D
�o�h��L9g:ZG��:DR\/ 6Yi������!c�X��o�h�w��#""""2�>�8S7f������8��wwi�D�>��K��r�^=������
:��8y�7���wuwe��1�M!|������=���b��/'����l�6�o�KMuT�L��dG����!/�rY����+�d��+���P{!`�R�A$�z!��KE\*r:����������|c$O��G|��-i%��mu��L���}�
��}#7V=c+���5/&���{}���b9�����U��FB���]	~�
��f�I�������Y��ii x��[y��nv��7����Tf�#���(/L������)	$m\N��8|
��5������kk�D��%�WKZ�1��9Y��?���1��K��|���	y�p�?��z��Ocz`�YO�o�$�	������R!L��,Y0���N2��w6���p���~��N^_��E�c�3�6����������8�9X�8%��3Y�o������wr����j�Q,��!k��=9��}2��!v��x��B�""""rk5s���u�^HpO�>^�,����������1�����k�\<��>�p��a.�Y������w�VR��d���.��Z��RrX??����P��)���������z���@���$�����BB�8?<|B5/g���n �����c��pb�r�w[�?=��e���4���w���y6���p������Y���DL����%M����\�iJ�K�
�cc��������N\�H��<����o'�Q�������f���G���sHZ��uc�e�x7%��n'�e���kk]�#�p:57�c�;������������������w��'��`w��lV.�Vp��������5������Nw�y����2}�hF��i�7k����?y�3-�l��i�;�������pF�z��\>u��3W8{����F���}��)�b��������]7�]�T���x�X�������+���qn'���m���./)���jLe����ky(��{���U����}C��H�4T�Pz���Ke�\��Z���&��20bt ��$��p|{8���g����.�{�����1 �xarT~3
�c��`���X�x�x�����6	��'��[��'�&B����*g������dL$��D��eD�3�8�=���������A`3�z���|����|7�=�����}�{mUV/{6�������bR�;���s��.������[��?�L�������ym���{G1�~juz���{������Q��A��p�~��_-{<�_x9���e�����A����>t��7p�yc��<�lU��kk�;��w�����9w��|����(���lV�jU^ni����B��~�������x����mm~�O�������yK����s���~0pH��s���5/�z��/ol���l���U��?}����Qi8��;+����<���Y��[�^������?�����`�����M��-��h��k���qI������$�z�2*52���|B:j������������$�������O����{����(91���=�H�<�=�H���v��'
��q~&�[���oB�����%]<V�8��gNp��Z���yi+zV���L������=�5�e]�Ui.V� �hk{ >�3������yg�C����'����4�o]�w�����G���OJ���o���*]p����f���v6M�g�\�z��S*]�^^{ ���*��$���?{g����.
��p^�I�w.�~j���A��~a������/c>}g��2��Q�=fG���2`���)I�\��.�]���Q��JuF�4=#+]t��\������e����&��a����8������	@���L.�eg�.���-N��t��������R�*��"�	@�?�]�.�{����P�t�)�.�d%�	P!��"�	P!��"�	P!�Jp��x�=��~�~/�k{���Z��b6m���I�NK�>��:Jj���(�'�bk�.�A�<�lV�����-��^L�������LH�J�W�}�o���f��m�7��.7�5"
��,����GW��'����%����pM]�\0lPF�>���O}��-����������
y�������t�Usu��vF����]��u���p�����Wg��������z�L������<"7_Q��n��GW�����O������>^��a~�	������+��t�D�7��3Zor��|���3�K!�R�?�Tn��ei�X:��$U
�����S�5�^�Y�����7gk��Mz�f��W�����W��my�/��-������2�[�e��]���}���������)Y���C���J��';���)�.�{)f�7���[~���g��Z2���e��.�<����,���|���g��]�os�O�n>5��!�$�����������.�'�����W��z����{�g�?��m������.��<����9�������������R���Ki�oA�������U=�p������WwZ�R���7�~��Y��)�/�T�n=z����2z���������I��7����<����/vnz������<������u������'��t��p���	�~vu:^o��/���k��k��W����K��������w��6K�i��.���?��?����������zf��������;��y�|m��g��\�Y_���p����M+������eO�{��L�aX&^5(��7i�E���2����g��57=����X}�\y���^Z�/�mI��-{f�o��O�������7����4�'>���vto}�'����<8��SW'����y��=��|�?	y�sJ������~��e�h���O���_z��g�#���i_hH�C�����L���Y���L��!�]���9�3����K�Y��sY�]Ji���4�]G���fVy��L��g��R�����s�eyi?��d�ZKZ�>3�80O����"A��X�,��)�i�{�6,����Z��2u��L[���?���;>]_�L:V6�����y�)�o+��On�eX�dJ�	g��e/?��K%=`�R1���=k�<O��=������iw��:co�4c{U��jF
��������x���6�q[Y����
���jP��X��v�=�?z�0����E�A�C)�d�3e�`����+zV��r}NO��N-ek����^�.��n:�?jP:q*i�G���������k��u"�w�{y]���i��:?�Q�r�R*�c�����hp{�{���v!
���6U8+���bOH���<�-i8��@wQ����K��r�����_eJ8^����������^���9?���*Vt['h����-o��^/��V!�}NO���T�J��������\0�n�u��l������Bj����c������X��|w�\0�cK���Ke�pjS?��s�����O��qg��-M/'���UL�K����������������UK��������i�XA���XA�R1���/#���4m.��X��4���������KM'�|��m{N�,T������ms�������d���������K���O���s;�<������kF
���6������}���W���
��������R[Z_-%�X?>p��R���R����7��$���z��L���\p�C�������h}��=�SOO��I��+�����g��'��$--Y��S���o��M���r������[�����u��@�7��-��B�������n.�c�zOK�����6w���^��b�gj��9z_��hN��g�l}~u>�������Y��m����R���L����_�Dz��=��\�q_n��wR�>�i��T.�y���(S�����l������>-5������|���3���������k+\H�w�/V��m���%��bCs�>�K���=�N;H2�{��S������>9�����W!y��M6�������4�^6������������p�����o�����3~��w�j���[���u�W[�qj��k2�O2eq�M����_���\���O����t�:+w�_#��`�:J�(o�(��]�]j���=��_�^��!s�������r��$)����dO��X<��@��j�������:�?����L�zV�{A�����xI����j��	e��������KZ�u�MW�6��/�<�~pq��;����<cGK?�$�����<��
�_>�������lH��v_n�u*f�=����4^qeF�x����|�+�~W]����3��C��m)<����,{�m��7_I��K�y���*��	*	zp"���[fe���{�F�U���I��L�����[��\8�B�@��>�����.��K=����A���]�)���.����w��3��v�n�������|���N�Yu�������g�Bm&�}YW,��-;�6>��O]��Wu~�}l[�/M~,�w�YH��Wg���NM?�@�:=��H�R�W�M������}&���:?6)�*]�q�_�����X��b��-�f��?������<�o��L�P����S*]��U����:���,�Yj�[w� c!U��2�3����U����!��'��u��������������z��9}�^��w���3�o�9w��YU��wI���T���.�����	��U�>#]�|���v�i9����
�+n��'^*�x��;��������y]q���
}2��A�ge��������4$��y6
����u�8;�.���������9�vf$���j^,
ICW��R[�� _z����f����{����k�:m�@�oJ{�N�_w}�����z#U���������{=���N&��{�f�]�2����]�Z�n�$;�s�����97�e����,�����u}r^m'7�'��Z�����R�I���_��)�����:D���8�{ta�^��]^�����7{�:����r��B�IR���{��>��.l'����;�_���:��_����<p�����,i�Xu@7uR=Swz��u��l}}�C������U���oWN�,��{� IDATVi�p���x�����{N���Ys���3��N�3j��<��7�~S'���H���=��_�DON.oy<�6��e��lok������:�����w�7�NsE����3��B��<�����?��g��=��:��Lr����R�wzr)��fAn��!�����=�]�k��|	{j��y��o�e��N��h�������a�'���2t�������t���-O����U�,��99����gk������������I��lgG{1�����o~�b��BuzWpt�R�x(���nO�g������s�4-W�M���N�,���m���/�fu�I�����p��p�y���z��=�RK�}fm�����2���BK�+?��Gm��q����}i(�n��p��>Z���|l������|���G�u_^�M�B������\��
��L�2b���N'-e�/��9-� 6����e���a�r�;)N �������yY1����,�fN��^)�?j��LRu~].8�I�=���a�<�x��m����q�����|��b������/����]����Y2mT�A�uF�����j]��\�cYS�>,�(��$i������BF���w\
�Z�4k6o/�9-����g���������������5��j3��C3�g������K]����-[�)&�����.������ga[YO!#>V����3r���,n�q�e�-?|�)�F
9x���9.z[@r���[�}2�?�,Mo������3n�=�������=����
�6��n�����s��E���,��cP����������/�����e}���5y��+V�q��lf^}E��V�W�;����U�*����T����$�	t�)�.���e�]�e��mea���x~Y>�����7�:�.���j:��e#���=�M�?�;m;��$�|2��*H��k�<�>+�o�yVo��Q����N���<����L�0$}w�{KY��'3����Yw-���'��U#r]��]��O�,e���>gYf�����OF����RF�e��Y�z]����}p]���<=3��fl�Cl��>So�~y��S=�z_:Z�43n��Uec;��x���>�)��r������|}M���Si|}OW���R�iuf���s����w��L���g�\�G���]�/-�Y��M�6qA�_�)��B�-�2�����g�N2;�>So�OU�#�=�����<�7�������*��Wu�R���b:J��U��6>�~�s'f������3�����wtt�e���e���>�.��(��������4�������3k�YHnk������zuf��Tie
~���=S��)uY�{,�7������K�4�����gU'�{s�[�9���J-���;���3�Zp 'D�s�l��~��{���_�7����kj3��������-�3�������,?����e��^��=:]��w�����bn�oO�q���R6=�.�����Bm�~������	'�S*]�����O^�����ogC���d�����S�fNWB���������E_������;+��)�|��������������o�W>Q��<j�������?�o�;���p2+$���K�+U	�
��m�W~W�"���b���j������=�[����R�)��G!��[������������K��z]���^y#���:��W��������������%��}%���-[�������7
���s�+]�n���V�`_�����dIqG�z��4�xr�U�*���&Q�C��N��A��p,7-�oC}�m�?��U}�2�����t!���K��$;���^�5������+p��R�����rN����'���b����S��sc��J�Q����������������oK�/^���;-�S)��JG{{������v�'��w�m���*]tF�3�U��������7���<�z��4�xr����n��J��
�����k���t%@7S�t'��xg~���Y��y��g����4������b���3k#
����6|�w�.:����*]Q�T�����'@�zT��'@�zT��'@�zT��'@�zTH���(:^oO���&��K�����q�~��M��g{G�����Ou����~��Bs����98�zV��C����M���O������|��4���f[]���lJ��������5u}r��A������>��:�lGKK�z>�7��_��7��W�����=fH&^wA����?�����z��,{��4m.%�����;/��N�]W��9wd����f�w����p�a,��0���������p{����
pTt����5�g��-�7�GC��5"
]�T��'����,�K��es��������/M����`k>�"��/�COo��/�t�~eS��l����4co�2�|�>�;�'Y��_��_n�/���,[�jV���w�t�������.]��0��8;_�������<��S�>�yl���2���<��U�����c��r�����������,��(
=:���L�~~�o>�:�[5gF�xmW�w��>%C��p9�n����M��N�:-��^����������K��������R�R�����k_���Mi|����w��3
������u����N:���V4����e��{�nz������<����=������DfwUv�~�
�z}�C�Y��O���W��g�e��ia��.�5:��G���,������=9�Kw<��L���!���8���G;�@Oc)�V��w'������!�x��L�jP��o���2�/�e��?����������r�c��se�nL�9�.;;�������97>��]ZK������Vu��:5c�1w1K�:)���9�N��oM�5�u�s�-k��]S2�;K��w�����
���)my�k?���S4�_��y��a��g���6d������y
���K3el��C�}e����r���zqg����E<��W�H��N���	�������ag����:�d~!��'G[qIf{���<��&�ox�9���|�����xf>1ta.������5���e��i����Y����������d�9G�R��S*]@��rYf=S��0,�|�P!�.(���s�gjgB����;>]������Mi|�P{���w\����w�����3��]�����\���
�3��k�������I�9O�?���C���G�S,�.������Cr���;B��Ff���!����$!O�8!�yH�4>�&M�o����.��^��i��Q�rAy2��-�7V�������������1�|��NN����M�������Ss�9�)��D��fH�\7/kw~o��{����7d���{������Y�l��6&����5&A�C)�d�3m{�}�3������\���w�C9K��^�b�s�,��Y�.�n�~jn���Uzg��y�Wk�_�����i^�$kKIR�������/#?5+��vM���>���P8��������eO�f���h�����R){uT���B��	��'>7&����;����{}��:8���������7��
u�a�2���U@���y�.Lkig���L�}L��������Y�������Y����B�����]##�	�N��g)[[����^L��B�����u��:��:�5�w�)�`X�>�lm����K������M�>��i��My�<���>�`���Nl����*KQ,��N��^���mi^�4K_+�*����@7S|zff?��=w��'g�9�`���d�]wd��U{��IR���_��OO����g�%��	8>�XA�R1���/#���4m.��X��4���������KM'�|��m{N�,T������ms�������d���������K���O���s�;�i����T�u��A}��6
�h����?��>���I����N���*|uZ�}��4�'�90��42ms��buF�4)�==/K~6/S����WO�����5p�'p|9��Y�4-_�o�3I��e��e�>������2wuq�1����{���~}��W�SW};7�X�O�3I:ZZ����r���U3��i?��c������ij���.H�Q�
�����?����{��L�`�(6g�7n���/�
�<����������5y��W�n�=7+�������c2�������O�Q���%��%�S'X��s�>�:���{����C�,e���@�i�ysu������/u"�����o.��/7e�;)x�4�x*��<kF^��cO�Z8�l������]������~]Y��*wdH��s���5�py�>�2k���k���w|���������g��~�.�f��)��?���|�\�p�$���e��Ai8�O�;����UH�*e���ya��,z�)M��Mx�%s?�@�-�d�6�i(e��������e��o��i��n�kG��_ma�������9?�����k4-x$w|pr�]�#r�[?��l��������H�#�:/���GZw7�?29S/�O8�`
Cs��Q������mzf}yBw������?�<7���;�8;+�`B�9���%�>�Yu�����g�%}R����O&\�i�Z2�>�/-h��]��mC����3��~�sK�(?���%��I�B�_uu����/�wFm�_yQ�_6$�o�/�?��s��,��O�x����^��+��/�����x�3c�b|�����Tg�-�2w���u#�*S���pa&����,���\8�B��M��[���}g��/��6)c������qu|NC����g��M������7�������/�(S:3�W]&~��9���g�77�cgw��_d�S#���:CH��#2g��B��
��x�ei\� �����\�>uiF_��O�l[�/M~,�w�YH��Wg����_������L�t��~s�WH���������Y��I�c\��[�00��y������5��pJ�8��3�3W���%4K���c�v?�VH�>������fx�!�:cH>��>e�4>}�}:��%��lAf��slN��Wf�]��9�5�X���yb��V�\~����_E	pd�dA�$�>�x����4��X�e��N�w�����wI�Nm5|���-�Qe������s��<<uA��LqwW��K�w�K�a8�mY�sV�i�3)���wt�,��-����/�������<���-���od!5=�v3H]��W�����y���7����Ti��g���g��m�{���9s/��]^����fda��Vu��:9c�V��������w�m��W�=���2�����o��0�g�����}�����=}�S:��i�)�V)[��:SL���S�7�cW�����{e����u��K2��KS��>��L�i`%+8���A�R�W�����?��g��=��:��Lr����R�wzr)��fAn��![wu��������gv����3s�K�Z�z���w%+8���A�m���T�qZjz�h����Y�����������7�M�|l�:��8�L)M<��_[���3e���s�9]�@��Ve�����]��\����dE���2���BK�+?��Gm��q����}i(�n��p��>Z���|l������|���G�u_^�M�B������\��
B�t[��y���8qrn�W�z�W'ar���5�	Q&�:�.���gg��B^�s��
i\Q��Q�~�6��������O�1m���r�Vg}����r��	�6����GN���f���e=����C3�L��������������5��j3��C3�g���x�6���0��>#�9&�o���u�=;V�<�,l+�)d������3z�O.���M��$������L5$5���9.z%�;
1r�A�l}������4�����O&��1�\�ni8����/�����e}���5y��+V�q��lf^}E��V�W�;����U�*�3���3�{�W��zr&�S���c�T������w=�YO���)���e��{*��,��� S��=����������7=�d�x�����������8�^�r����c�Os�-?��m;;
�������B�t'��������#������k���5������lZ�"��,���2��������pA]��(��R1�W����_�������g�g�}����u��z�g�-���/��}���S�KG��f�M����llG{�[��g4eSY���?�Q������&S���4����f�Y���:3gu���}A�;jX&^X}�Q[W���g��
���)��;�j����4�z��O��#rmC7������Y���-���?69S>X�z�s'DRo���������������^��J)[���(�oVu��������������+�|7�/n�����Ew��E��f����?�������s����s�.���g�j�ew����o��u���\����2��!�zn���L���C��Z��E������3���\�p��P8�l������]��f�m7�_Ek8��A�}t��us����'�~a|f�T����Y���{o���d���=!�mmY�t[�`Z���2�o/��}N����2�������L��K���'�S*]�����O^�����ogC���d�����S�fNWB���������E_������;+��)�|���������)f��fgiqg��/��6)+Z���]m���J��u���W�����-�i��=o�RL!�=
yo���?����'5UGj�R6�^���6��W�HGG)��N�����������91�K���gN�t	��y��n�[v4�?xg�]>=C}VpP'��U���0(������m���
��rS8.�����!��w.�}��'@'�R��n����q��=�s&e���*W@7����w�y��YU=0�h������dE����6|�w�.:����*]Q�T�����'@�zT��'@�zT��'@�zT��'@�zT��'@�zTH���MmiM�k�9��~���1��!'z!��g��mY��=[�<��Y����k��Q:�k�R*e����;��p������}amZ�+]�;S��������rk�t�kN�Gn����RwV]����o�tIt+�y`���??u�{��y�X��8&��!e�W��\��8�JOd���v��t���V�&��������f��*]WZ�����{������h�{x���9�d��e�A�7$�y��v��t�=7-�i�?�vx���r�]#�p8���mi|tE~�)�+Z�~�������e�G�3��������--i|��,j���~�j^�X�^�-6�b IDAT����?���3$�� ����7���������,{���������B����������������Z��L~C�Wg������J�5��x ��;/O����j-���:���1�!�n���������,����|�:�O������J�Yx��ybcY_���|�����������5;^y�����M������n��s��-~�N�-i�����W����<{�y����%�������4/S��4���U�����;��������_�T��k�I��-�w�z��C��	�����������n�z�=0'N��������[�<�����
{��4tiR)��|*����4n<��}lm����6���e���K�����?��O�����������`�"�Q���M���)�������������������d���e�����`���J����,ziC����_�G����2������}m��~C���*[��o�lyai��4����_�������>���O����v��R�������dM��,���a��=!��#s��B��	�9O��@V�:I�=c2�S#�z{�j]�y�-�}W�N���
�hI�RkV>2/�^���z��\���|�����9d�9f��c2���G��w���.)�����ywxi��Ss�y.�8����Y���w������	����������������������������������=��b�sA������1�����_~,s_���7�����������9����������Kv�[J�iz��\��Wr�}�3�?2p���������������9O|������,�������]��'n[����L~`a�_��N�Vj�5-�w����������H��uIf�����o��n)0p�)���������O����{�KZ����/.���p������n���������u����w���%Y��������(�}�(��^��=f.Q�s;y���n���K�&v�,�����������
�����J�%���Z4�AdaV�	S�4�r�jg�?���H��-���y�x��s�����{�>���v��h�N'v��w�AK�u�<M����b�;Dv��~��G�=�5T�����d,!�B15����r�%&'^��C�4��%�sI�o�cj�^����,!�6��������x��/M�T��_��o|�?pW�m��?����������dV����O��zg^��;
Y�E�����o|������/���O.�����*���2�ww�k��������B!�B!�B1mZ�`��{���{����N��}��J4B�&$y*�j<45���W��I�
x�O���t:�C
x���*v`�Fx����I���[!:6�LZ�b)����6����B[+�B�)K�	����{J�_B!�����c�G�<Y��o#��B����!�b�[X���2��?����?����s����y��o�q�?QS�k3�����{�\���;�V���5�}7we�P�����������{����b�O�����M�T�����5��j�-����������q�~���w�y�x;V���w��>B!�B!�B!D1�Dx�{1������>�O��t�k���0��=D��9�H�����P|�
��k_�����f:rQ�����M<~41�fZ#�������-�R#�}7u/�I�6�_���I�B��l�``�\��B!�)u�O����es�&B!����-s�E ��B����!�B���^��a�c?|���*�w}�/x��?�$��7�����sW�%������3|���x��H���nZm����Nq���d��|�i����vr���I�#���y�^�-�x���_p�7y��B!�B!�B1�	�/�(�$z��s�f��A�C�}H'~��GU4�&�C	����*��"�������-�&$y�Q�x^?L��,B�E�E'�b���h��d�R{�c���
!�B!J�hX�����!�B!�B!f�$z���:����+���?�w�I��;i9����r��2�t7�O�����n��������=��y7w�^o��O?�:�J���x����B!�B!�B!f��N�����@=A�uT96�=�@��}��_����VSU�N��V'���I�xV���q��6�������I�f��h}��x
S�X����o���_k��|��!���B��.;&k�
!�B!
���f��D'�����	!�B!�B1�������y�G|4v�R���?���s�N�n����.���#o���k�W���w���p�G^�u.^�(��SB!�B!�B!�Q�ml!��C��}��.��_����j���6�^���h����q?��mw=���2g_�T�����:�����uK-�gC�F?{)D��6�L}]G<lz&hH�Tq����$y��]����Hi�(�V�u�T������h��K	RC:Lw~��S�?�'�q�dJC�2++W�X���l��y=#r����ZZAQ+�����!;j���j��Db$�ihC:XU�V������
�N�B�H,>|�������tb+�6���S��D�\H��t(S�������u>�i�����s���
����l�W�T��>���I^nw���k\��a����$=E<�O�Rbx;�A)SQ�U`�������q���I}&|6N����ue��E�i�D�����RA��A������0���F���X����[T��v���8V��N�Y�kg��v�i�B�>/53�?X��_�����Bb���sbr35���/��<�/j:���Z���j����>~���D	��'����#}���kU:z]#�A�X|d\(�m���sf(E,������2<���9+��b^g���F�L8�-YY�s�s��%�8����Rh:(�l�N\���������q.%��F�I��T��c_WU���~=N�l��K��1������j�jEw�X�T��}	�Zl�?�����l�?�^��XE!�XdJ�2��������^7�������s�&z����I��
�m��0������#��B!�B!�B�5Gc=[�������z�#������s���&\+�te'��������w�0���2��
��F>�N=��lSZ������D��[�*��v���SHN4P�#8R)V��@?��3����x��|?��G�kkiz��wk�����������76t�m~��xv���t0�;��.�v�u"J"�oJ�z7�;[i���$h3�������&:�������!���G���	5a�N��do&<����~�zT@����K��8Z����Nj���{��m�u���������-���V:qm�D����*���|����D��X�b�������%vF��������#��	zvN��Mi�h 8r�(������S�_n���.b�,�[��~o'�O;'?W������P�M������6�$3Rp���k�z����t����P�X*�~/����L��jW��~?�8��,���QM;��&��d>�h�=k
]��	�{;	^�n�o��s���S�)6����_
�~����$m<�b���E��FW�������zi`�U9
�h{8��ht��i�]���X��7^��~Zw�����^��5�4y
�����=�I����V*�4�n��I'��N6mIt�-�x��c�s�72;�p����^K���h����N=�����p����b���r��g���S�6a6<����f����u�O5�z����<�-~�]�%{��G�:��:i}O�t���!|5����3�7�Y��;�F�A?��_'`Q�����=/M
n�fDt�j\�$���n�:];�	��dF+�����*4�X�;���>��
>����)V��&Zw{p�M������Y�n��������N2'ek��[�sw�=W�a�r.t�����T"���`�i��U������0�/��4L<�0F��./���SC��R��}>��\�+V���xw���J=���)�n��w�+k�����6���f����J���kY���q?�F�^7�+��;u�a�_�5�1����o>B��p=J��-��D��M��ji=�����`Z#��M�D�p_���'
�
O���������S}��~�I�/��0JYf���M�v�-��M�K�N�5�c��nW&������������/����y2���`}��+mxP	=����#�fq���Oe�_Q!�%o��M�r�_$�_�^������nu2���9�(�~{��;>�W�k����B�����u��f���� ����nB1g�Q��[��������C�4����B!���b��������k����YXT��	�3:��q��B��U���
�}*�7����S���S��w�����(8�<�*�m6G�����i����������v.��g+pm����'���@�k�I���!�<�#�V�Bw�� 8�����������.:O���uGL�4R���e�9���S^O�9�/�f��q}<�8}���V�;��M��_���|+��~|����h���{*G0���(�W����p�'�h�����%x)�R��#^6�����n:�N-�{F�NG��I������Be�k��O��l#���z�E�j�&o�t��sI���;�������akk��>4���N���MGc����w#�=�)����L�xHk������$m��"���T_��������vx�%N4S�X����=E����}1X7�/_Up}�Tj����~��:�0����X(�W6�~6����SD5��
�v����&w|:A��:<����V��(��\D�~z��H^KW��\�������q������q�������D��i���v���h8V?��Y�4��K��
���e����&14�NV\[�2�-6����\�����N�ji*�Ctf�o��~�Z�c��N2NYf����3�� p��s�=k���{2z�m:�q_��w�q�m]���0\�0����t�����������;M	�Y�������p���r>�B'��N�������4?��!
��r&x�M���~���t��Y3���q:����=��d�L���A����
�����^gg3|>�q�;6�||�1�'��M<r�0={�3
<q���R���&�'��A�'�����=J��*������v!D�S!o4�?�Am���.(�������
�?���D�h�7�m6�z����o��Xb�����[��/�����o'z=���z���5���!�����(VS��B!����������_���jAY~wU(,���n��?��X6���~����|���O>K��Y���r�Z>K�����_3=�`9_�,�2n~�GF���������!����$/���o�)��6��B��
��E3o4[�����(�B!�L������J��Xf"@Z#��j�}��|%S-=A����E���|X��fCa<M�8N7�VA��N�T��
:���@���?��=��BaDz��m.�ON�RT�k��U�0�$q>F|�d�N�d+�my��������
�*U�T�*�kI�qC�}�l����?�Om������L��]�����e6�;�e*
:��[�S!R��qo�5�Y�tPm��*:��8����ZZ�����0�7����
���d��5�����I����?��m�
kh����N��f������DQ%k�HF���d'��b����~�66�x�W:����j���D.��{�����
Nh��$��(e&��%���t[f�8��m,�R����m��~=A�RfR������k��M>���0�}/u;&�+�h_��i�m��D����CG�zi�O�TV8�����������+!��4P~�����g��u4��0��XW����]���s��ui�Xf�\���'�h>�%Q���hY-�-V�o����n�z�pm6�R�C��}E����9�[��{>�?E����{�\y�0�}�,�[W�h������p��c+k����+��S��	7a"�s�P����V�W���q>���]N��m���rTU�!�����/i��A*��mn����m���(���kB�p�mj�O����fu<l���v���]�{�����_�0V����N\���t=�`&�������m�h$?�'vq|���x|����n�+�.3%u��#;�&T�T�����%��8�O��aLt)H��:����t%���w�=r�e9���^�����6���	c�2+����X����'������������:���6�+��h�.�I����T��j�V&�������Q�\�?�1���NjtgS["�%fK���[�<+�����iEQ@��"� v)5�k�K�J�5�c��oW2��}	��~�����tRe�@I'I�F�E-F�c-$�)�7B!D��ws�E��y��7y�j?�_�}�on:��_����_������'�����'W��fZ�]9�����8����3�������W���Y[���~�U����s�W3����|�G��r{��|���Fo���x��������wB!�B!�B!D��]�7���Gh}3FJ��~��������R!���f����^�
�&5CR��`=K�?^�"sb�Z�d�}����n�~C��m���Wk%�s2����$���p=�F���_������~w�d<B���k&K4�=[G�19��N��n��DO������A.���v�x������@l�'��I|�.3y���������G8�v7��F�w���n|��<�+��;��cY�����`�����'�W8��FS�m��4��
�	�vZ����~������CwW�@�a;}|�����_h�aB2���&�I2���t���`��^f�j��O:�����D]y
;������7nd�
�Q;#�
��N�G��p��+�����3pu����e�'���_�ss-��=x�����'�J��,�s�o��]yZ�t��]YV���<������$�X7-��t=�L���6W�m>L2�v���a8��O�L��np��{
	:����I����8�� ����D#��d0���������6V!0��l�gZ�����7���l��z���
��-�I����eki���������mq�����C���8�����2��W��<��}���Nyy���Sq�� �H����)��6�~������\����Z�����	�
'�N�O2���q��\��p��ZY�IWc�����G�9��N�: d������j�� e.<�G;ubo�	O����q6���(����J������ld��'������>X��ltJ���
�����T�Y���.��N��������m�
�[�>��@�:�}��@x��� �cN��C�����d���n|[l��s(F�^�9�vZ�d�����Uq���dc��53�f�fs<l���>�#������Pr��h�H�2��~O;3�)Z_'����u�����$OGc�����ow���i"�A��-�q�� MOt�F������$O���$���}|����O$����4I�������(�u6X������"��U�XG������<-V��	0p5I�����������k�������,_'�x�<��
-]�}�����\�,I�Uc����������g�aN�����@�t����1����~�O�3]���A�;`hW,V\�u3�L2=M�����V�4�x��N���������K�N�5�c��oW2��}	=�o�/#�SYUK[8I���>�'a���|��EWoi��B!��ZX������e>�,�U�o�����_���:��M����_�������7�Kv}�Uv�}��k�.�f2Io�����o�v�G|:7~=�+����-�����r{Q2��C��'�����_�����B!�B!�B!�iz����Se�����!��=t����&*F�Al�;8}���w\������9�T?�I���~�''T���Z@"E-�L��&�/�B'u[�����k��A�����"���NB�AYU�����P���hp�E���I��m������"[��v�K���xr��d����W����@��yF2H� IDAT�}�W��K��V�W���v������G�F���_o������e�[�$�����v��~�O��:�9h:�O���-Nl�F�[A]a�����w8�Du�s-v2h�U�}!H�$	��J���t<Ax����p��g|��m�a��x�Z�x^
�k�w*��@�D��f�u

�o����sE�V�B���!�U��s}��f�v���}�^[���TOfR�uM-m�>c��!|�B������v]��t7���[�-eU-�`�&c0��0������l�g\������i!����2G��Xqln��X?�����0�����X(K[�`������a�N��m�}�����oh�����M8W��H����2�|J���	�
����m��G8�\=�5��}U�b{���@7�����rk6e}��$:�T�nS�	���C�AC�s�_F���|���ir%�����o����D����5gN��m�Xq= l�����%�\6�fh|�,����i�tl�~��\�5��Z�;M�fC�����U�,������e�R���jL��z;:�lS]4��U�b��B��[��E��z��g�{�����\�,:��	�s��=�N�Q�vb'?|?���#����~�#S?��y�=��(m����;
����_��eL��t��=T��9Fi�5t�p���}B�b��|2@�n�����!��Z�P~_mo�<����yp����8��2*��Nv�4��5��}������} ��{�2;�]>go�*��VK���/�:��������j�'K��8�~]��!���K�4�����n{����{dF�Ocl-���~H������Q��!����l���Ng�o��n����!��v���RS�Q��?��3���|5�}���.C!�B!�B!�0-c���<���X
�J7-����]�%,��N�K��?;\�AI��j����������A�A�k����\gq��R������XD�c?
�'T�t]	�K���2m'x��	�Xq���~�v��?`H2���_d�g�����XG�����S�!��@03���n����g�n�C�����z]C�J��!:���^
������/��E�oJ5��&������[�W&�O��vf�DU��p�u�IWZ������'J�gT0[L�[����{[+k�h�1�Kz?��,������\�w�4Y�8�s�u<hH�4������q��;���E��*!����������x<#��V�i��y~�*g�J�����m�����C����>�r����'`�]����+��e���%O	���1�N�Q�C�X�|��x�;o��-<�����t���\�"5���d$����C���=�Nz�{��P��
�{�P�����aj�$��5>�v��^���t�Y����������va3��e��y�c�v���E��Uf�����=I����>����N|�?i[�%Ac2��N�uL~���i:�pD:E�����3B�y�X��N���I���C�^�xY#�z�)�T�v�=��^F�������Y���������^M)Rq�����l�xp�~!�Q0��6Z6��W����{��M������gO����*�87Nr��A���#�=5K�3p_"�zx��%+��3��'�nog�����B!�l[0��K�WPS�'���j����N~����>J��{��+>��$�����'K�Ls����7x��?y����
�kOp����J|��?<�;�=Jc��1������X��R�>��)��l��/�I�{������/i���W#����o�/�s!B!�B!�B!D,j��Q���?�C����I��z���WrX��:��]��C3I�1���RH���L��:Z�X���v�Wn���K�+%��R���vd>��P���i��3� �����'�|?������|���:�<~Tk|�o�n��
�/��:9h��6$���w{q�I����<V=������S`A����5IP*�
U��:���9@�"hHFBu�i4q����Tc8[���zg��cGS�s�����p)�;9c6����k���u�	c�l�F������;?�v(#)������R76Q?�c�lJ���iz1O��	�F�~��tu�]�XW7�M��{{����:+u;k���^?��>8g����]U�l����J:Vp=��c��J'����S��R�=PM��������U���)�=x���h���Je"n��=����{��h�[k.���������=sx	���6V�\���DJ[��q{��&4�������i:�=��~�y�m�Ay������4M����e|��� q���b[�2<�D'���i!�/��k�"�'����P���Bt�3���:���ks�4��p�B!�y���������x�_���8�>�w����G���w�����������_�y����n���*/~��|�3�3�M���L�{f�p�����?�Z�u'w-���K�R��o�	������
�����/��v�����/�����Cf��l����0�Q7�������\������m��?#�B,(
�';8��a�_����^1!��{�*�_8��F����r�WL!�B,���~��/�c/(�\�������D^��i0���w�ii����k����jH���k��*��A��N{��&?eL2Qplk��8F��e(��_�'6Il{,���om0�X8�X��w5��h9����#�z��;��P��en��
�u�+��Pl��T��:����3:��'�z��g#���8�����~��M5��%�/���<����M���6*�m��$����l�gE������b�	J�J.3	��.\k
m����&L��c�pmp�����kCi���1�<����"$IX��*���>�d�t��qC��MC��hQ�f���z��)�g���)B�U-6�������I�!�:y6��Kj|W���$w=9��L�x�\���,6l��>~0�>��.����4�4�>*��
��z?���=X'���
����We.6�7V��9;�N�h��3,'r����7�Yk{����Q����{�@�Vi�.��rN<u��������^g�&u��q�4z���e,1/��}	-�����0�EY�25�B!��y�l�����L��
<������������o~�>?{�����,��9�~?w��z�r�?���<���#�]���O����1���e���z�.�,��}����9�����bd|�������;��!���)�6z���j!DI���)-�B!��Cv�{Y�v����fDA�;g���G�����j����0���q�����q1N�PQ�pc������
IU�UV�h���`�
��J��s��+�fZ���M����X�@9�Kk���Yo����u����H�Q�T�t[i��@l$)"q)�N��Y���m�W�B��� p���V?M\���`[[e:`��pPa	�%lk�$0��PXl��11�R�j��n�9�\�f;<K�T�X���s��m[J��&�k�x�3
����x������x&� ��L���8����QqPe�RT9�(LR�eV��1l��fz����n��v�?����t���@���z_���B�m���=����g����'����	�u�.�A"�o���#������y�
�M�+���/%H�1TL[fm|���c � q-�6�gy�R����C���l+���KQ�_��:d���4>��Y]P�����ja�2dZ#q)	s��h\L�����^k��Uq8l(�c#m�N�|�O�>@���g�P���ku����v��x����S+m��c�6��>O
��H��'�q�dJC��[&�E�9��9N�����
Ktl��8��&���g�qL7Z��C��K@"nl����;������93!�b>[dC:�u����y_���;=��?�����f�-�[Xr��I��=��['����<Q��u�fe���w�����n&���G��p�����oqd���>��e����x��gc��K*�����)��T��!�B!�B!���e)
:F����j�����dt��@����\�W��l�I���x^ty�8a��z�cz����D�������3�����U�h�*5������N�Yh*�V�������`��h���(��U���
����T?P����V`B��HdTW��{�9����g~�� sz<W������\~�q~K{9��W�{6[����a�0���d��b�����9�,��Cg��-e.�w:�`<�?q���>�k�qmpQ��A��*���&������V�b�
����6?}=I�PA�e6�&�u�2K�*���1�`��x�E��C�J�Xu���.�\Yu�G�����N���	�bf8��z���p���6���
�L��J�0�+�����1���]5��CIR:P���|0��;�J�K������
���N��,*����[��M��g&��1?��&{�4pm ��L��9*��N�J��+��i����
c�T�B�g��gT*��|���f(%4���\5Y�����c,�����������hffF�E���C��w��7�`��4P�b��\�6T�XWM���}E�[D��C��K����yO�Zir<l�a�P���R�B��n1�4������y����d��y�_�W��[���&���?d�s#�u�ws��}��#P�_�g~�^���n�� ?j9�����n_���_�|�{���|x�(���*�����^|�����{�B!�B!�B!����x����$�u�0!uCg0�
�r?](k��>��k���Z��N7��O���c�=kK|���
�Av9
�2V�I'����Tg��'��0�f\�E�|�TT���
*��[��z:_������	�P��I?��~������������<�����Le
����?����X���X����
e�{U- F-�LU��	m��P�*�����^?m�4�L��I]�u!L��[�
���{K=�F��*jsD-7�rjy��:�`��-�y�������U�I���D�aK�.wm�������I�u8��{��-�	�sem�������<���k�F�M?����>�`�����#�G�?:���un,������^i��� �B����(�D'u=�]��hg����r�x:���r
i"�<��b���q��/������3I��p�j~|WV^B����{d���z���7c����ET��b��u?��=t]4�
i��{A����R�v�7�������D�FK��=u�!cR�Jy���Q1�t*�B�yo>\��_����|���L����7�W&Ni��/)���O�rV��"�-g��1����A�W�k;D��#4�x����?~�C��Y�*��;�������w�rx;����<D�B!�B!�B�Ge�tQ?�k��-	�hC��D<}b0[Y9j� ����	�=�I�I�G�>��d;��=8J8d�)(f���4pUD�C�&.K1]�u^Q��	[7w������y2�#�QG�%x1J�5�]�^��4aJ/z��g�	S�	�J)�A�A��(�v��f;<�M�����)@�J�/�%���;���7�7�<\�Q���+K'N����~�X�I) X��t�\,��O�r+(E���o�P}`�R$�#���z0]S'��]�w�#u�g�J��:l'�$���	����f?���F}>xc^����	��p�X^�b__M�;����^���_m'teWU���"������7&,���x�2<�{����"_g����.��0����$�w�(�������So+��8�WS��J���[��C���u_l�k��zQ;�}��?�YUO�	�>��oC��|�WL2_K,Z������y�:!��g_�mX-0V��|�k�$z��?��1�sI�m�av�}y)����i>���fWT���]�:����V�O��oQ�e]������=?�'���/U�x��U���B!�B!�B!f�
���i$S@���k�U`�R1�uQ�x_i"T�Nl$�H���E7��9$|$���FF2J���
���s�������4�Y��p��������_����S!��~b���[~���xdH!�VmF2J�<-��0��>Z6L#�jY���y1�2�
}$�d[�&3��2k����k�g��������l#~&D�/B��D��H\�5|X��u����x������-il��SH���sq�-�c����/���\����+�*G'H�}4��(XuQ���:��X��&�W��H��z#������B�'$B)k=�������F�T�����x��<-V�O���|=�������D��Ia���Xq��{]D�}s��d&���%��'L���&&��u���'&�.�#���0$y�<:��t2i��T'��8����K���K="|&B$��\��-��:����m���k������%�	�7
($]`� �B�yk���kaI��47�5���~E9KH�'Z�~���&�N�xb���(;_����*���7����=��@�G~����%�~�%�������R�1G!�B!�B!�X T�e�����$��:<d��|2��x��b�a��/>��>�������|ub/x�m��{@~/(�
�*0Sg�������������Wi����gT�%����p�����k�
-A�/D�Q?��1R��0q�_�����;�|�1�OAu����� [�����M+ �E$#�_U)/��-N�����}C=�
��uR"�O���'|��xiQ|���7Q�t��������N�
����g��.S)7Tm��F���?
M8g���q!�V��xOv�JCG�4=7�_^
83����=��z���Y�N�wG���q?�}.��~T������U8ix����bvD_�$:�p��x.Hx����1��B�(u
�2����R��h�0��4U�(��h�mX��1(e��~x���vX���������Zi����o��+L�F��
H�]��l8�6���4�Z��GC�N�	�>>�~��������>/K,R
�2�x8�1x��xX��Ke!�B�c�n�W`N���O(}~{�*������7�tn����_~7�)I
���S����8[xy|=�r7���y|e�rso��=;��9�vt������C����B!�B!�B�cY��n���_L�������T1�����k_M�o
�h��#:�<
ad��f3��tj����,���N���\��(~�2�T�����F����D��~���W��p��\��j��;L'�H����RQqg�!TO'q�l[\K�0�+���"}�s��f;\2�k\�?�����|�9L<B�^�3�TjZ�M#z>y-a:U4y5�M�X�����	�O*I�d_�'�����1�n�P7��s�hW���v�
��K-6�������5z��S]�?�2}�.��q�
��j�~���B��t�p��xZV��Y3I��� q-�d�4�l����N�H��,K������U�O\�uL��=�6��"�%H����+��y_b:��	_0<eC^3I�W3�_a�?h����G�m4�i������v2�X�l�	��+qsL'H�m��B1�-�D������������+9&������I��>�W9��"9�'�i���ub��,>��	�����A���������_�$�_�������y�R�7������E[�B!�B!�B!��R�Pf������jQ�~"1C@�E��Y���e.����?����/:��\b��������9;S[w���)�}�"/Ca������
3Up���Aum�#�����3MaMCj*%>����1��%��������~��S�cA��=v������?�g�.A�
�A���z�����@�4�Ll3=A�����~~`,�orq��
g�����,)
�
�J���8�K��%~>^�Xh���~+.<�
���]��!��e����a��N])}����&2�D�����T�8�~KqPu���\�Y@��K'�6��>�$���RVU�0�~���4����*�~?��
���E��ru���m��UKk��3��O�(�����^RUkg�P��93��?����uMxX���j����� IDAT�#�D���(����/�=`u����g���+q���~����o���������xS�l?�v��~b�`
!�bQX���i�=��x%���+�j�J�_�C��5���7Wy���F����*��s�r�����i�O��������W�xG=��"��|H��	�����(�k���]�*8*�B,�Q�}a�_���x�Q!
�oB�^����%!�B!��6cR���\�?F��:�\����
A������{�	�{S�'��8#�~t����E|��p�
�]#t4h:���e�dc��~�E����.��6b�
N�Lt�'z(��6�J
�����p�7l�s�P��[JF���>�`e]5U����0aS'�F��?#P��YUz	�������V�����&+�����!�b����g��X-*�"f�5�\	6����dT&bY5�k�Lg�S�0�������	�MdV��k����~;vx���
��	4�z�"<']�#��[`�����5g�������^���������o,j�e�]chO������O)���3T��GZ���-�}��	N�E���4�V��+����g��t�W'����UN��b�N�7d.�g(L����ST�[���m�6p� �v4�������o��)���8�`l����lB����3�����O���zk.���o����,Q�.���\��1�,�N��z�,�B��Xt��7?�9/
�Xxp�����e�o�����/�������[P�3���'n��a�A�a>Y|�)[��|���7�,��m/n(��SJ����h��������;']7!�bq��y��#�G.���^B��.�}Kuf�����^1!�B!���
�V^k!:���������nl���X+������X�J������T�$��o���Ym�k��B��wz��zC�v���of���

���%?�W�E]���x@Z:A�L�c8��+R����hI��/���O��d���=���8�{;D���c�Ra5"^����aF����]�y�D��E?������F��Vf��JyFe�x����b��R�����dQ)W'O�R+mT�d��D�$�����^�b=J���U��G�ck�W���P����8y+��u���^k����~�j����:�I�k��}���a{����M�2~|����J��Q{h���	G����\��E����=� }��K^�(wH���??0�kc�E��� ����)Z=����y���+�*1�	L-�{<<��x�����<�����npOH���7����q?���K���{e��Gm�������!���cE�rc�o�b�T��:���������D_����d�dFxzf�4�\�%f���wc����i�h80�0��\��Q�^
���M!���������:�
�������`���3����f�Wi�vy��������aL�i�Oi��`���)���
|�n��[��s���������7#oX��|����*b���/����9rit�,�����{'O@B!�B!�B!D�Y�x�pf�D4�y1w�F�D+�G
�>;����F�27m/y2��^��y����A��z����
t�+`�jq�?x���y"�,NZw��u���h>a.bL��E�3�I����Ve����I��ub/��V`���H|�O���u����\T�p`�=9�V/Mk��x�T+u��H�N��I��i}���$���
�vc�@���I����XfrYx_+�+�|$��YQ���n���b�1S��pT^���r�Y2���,����~�\�6�C���i�
�}y>���X�F���s��6h}^ZM?l;�Z��'�/;i}�k�Q��������CC��k��6Z��d=�q�w�+�����q������h�^�7������E��2?��<�;���f[�9���oUz��h^��S��h������4���4����W'�K9����}�Nu�?�����x�&��N�~��b�F�H`�&1{<<\���z�D4�1�D>*�;������XA��ux����m��O>��E�>c�o�c�	��ZM�d�T������{�:���-�k��Ud���y��\;�g�
�o1�J�U�y��������;�N���S�3�A1��*�������l�[�n,1kT��x��c/{&�g�����:\!��<N�L��/��v����]��������'\U�u>��c��<X�N��c)c�_�)5_���/�K���U=��&;��2�N�2�9��w�o���O
�r��Ol� �_��_������wr���������#����9�WG��G�J}���}�#-�����g��k�B!�B!�B���IC��C4�l�;1aCO~��F@�/�O^�k*��m�m7����_k��W��u{;����k!�7T��� �\�X�������#������1�Q��m�+
���w���.��b�R1����j]�I����l2V���NC�~��chq��7��FS�I*_��t�����{lTmk��x�T��=A�ul�kL.�S��5�2,����0Tj��R������T�Dj�J�������as=N{o��~?Q��M�	T�D�mb��~�Rh:�����u{f�/� �5u���z������D�)c�2'���7��X,6m4T�K�i�����B��h�n��2���L�!���������	_��Wk��h����L��4�)_������pE�mm���	�Jk��l����XZE��A;e��MxO&ni#S�����pS��������n�������2$�X�"7���/��Di{a{��%�|����M���������&6�Klr�'3ad���j����n�J��H4�M���0+�������0�����_2������1�$�������|>���>�j�5�9�5�h\=����M�39�e�4�gj��j��68�mK
���F�8���x�����[/�x6�P���o[�
^�o���o��~�������9a�}�W��w$>q`L&I���_A�c-
/Ef&�f��{�����k��r<J2ma?oc���v>C�
G�i�����V����X�Xo2����h�
�������3�����3���Y���������L�������_��j���m;������-{&2~�����Mc���&<�{�^_���m���������zvm��1D��
�^�������U��cQ���}f��^l�����0��9u�6Q��f���(��u��3��1�!�j��&Bi`&��X�x�m��tlqS�����(�w�c�E2NM��S��������"���=I��vSn`�Aem-���/�XbV��97��=��>�s�|���<��`;�o2$���W]A��	L�{��� """�g^\�|�{����K����q��;����|�gru�����k/��w���������S�C��^����W9�b)+�^�]h��o����>�����������r�D+�������g��G�{y-�������b��\�����\d��c7<��pGU	���h��#"""""""""""S+q�|����s�
\��z-�8��0����K�����E��T?�L��:���mO������$7�F��A�)���&�e�+;v[q���qO�dR�?N;� sC�M�x_	�XWC�p@��&�|�/�c_Q�sx[�)�&��K�d��r�P����N?��L�M���pw3���}Iz�I�6��N��Mtc���&~�����,V�+*p�c�t�#���r�3Q�c�n�x����^�������<�hI�$�������T���f[�s��+i��G�O#���H�g������M3gb�I��;'XUy=����2�kiz0@�p�/3I�'��d��qHr��IZc�����p�o$+�y1H�;D��J*��Sj��7N$:t��Xq�ng���r����F<�n
�K�i{"L�x[���1v-���k6��������0��n��9p�t`��QZ\I�x?B��5A�=���3��Q�d{N��<p���A�+���
{)�}$�qW�`���!������4�j7��0��a�|�n����t�(��$"�\�]l�4��N�Y��x+��4p��it��<xV9��@�r����H���!����I�J�8���%n����pMN!���5���;/N3�S�������5�\�@���w	��6��'�8W:q,.e�e��>�!~ah���vn���z�;�h�}�P��v���io��zN}��������G��a�gS��i�]F`���AY	�������#8���>�D�t2,_��:|�[??Xj�8����o���M��uTO}�U3>�%�'>�P��P��=�����-wR��Sf]�@�t�D<~��]�X�����T>	�J���������Y^��l���w%Nv�������`������j���{����O���g_���	��9�/���G����6v���66��-q������=y���k`+�;}�O4�d16/t��b�����Sj������DHw���s^�O��d �}k3�cn�N�����k[\�z�<],�&��:��V{�0�.qR��S���2�$��a��c�h~<��P�����[3;���veVX���+�|�@6M��m�_����o������;�E�YW���n��,�}:�cv�/-���r�[�F�tN�R������G�w��f�������8;���\�-����/�]z�M��	u����1Y��+I�W��0m,��������7[5-����1:��B
;=Dx���s%E���kl���������b��0�'�h:������x;D���V``�;�j����a�O��������|;Dr�mY���sG��9�����x;L��2;�<i��7��R6C��0�w&[��s{���yg��o
���{��pN��'�����a� �m�Y��d���a�g0'���j8[�,�t��P7 }��v
PS���H�2���0�s���gw������(�r/��ij������7���,3�	�'D'[h����y��F������YDF�D�|�����Z�E�@
=��N��gkX���T��]fYC&X����oy��8���$�� s>D���u�[����,��*:�3��7��:�-^�/���f�_W�Gq�E�����Kc�U^�,T�x�-cy=���h����8�$��d��a`�>��V:��Q�3Hr��xE�p�?�JrM9Y3�/�����:w;�Xu������+5����.�E�`<<;lx��	�K���:;<f�tt^o��NB�u���pU63$N�K�X���� ����;� s%��Y�����4FF5��]���j'~m�����J�FG;�c�0y���5��z�$poi#1\��$��;���h]��������h'}��3N���$s1J�������F�w���t,�Xbv��K�b�2+�.�':YP[����s�������<PM�	���(�1�������+tn\)���W���|�(�`���G���9�Ke4��'���|�|���e_e������G�Z4�
�����������������H��&'��&-t��Q�X4@��Y(��Z���&Ml��d~S�3a"c&���j��a%N���H�[�_��:����m�����H��u��V'�1zB��WM�-�r����9��:�[�����&^�as�}9B��[1N@�8���t-���<�����z��������lk��z?F`w-��<����kC=���f\�������$��i�������zs��������u��dv,��zZO'���+� �B�����D�����w�\b�ZY��4���-b]�#p`�uN��T��<O"?����S��x����������q? r���&����Q�W�q/�`]+�
~������4��B7��O��OTL���V�'�7��|���yP�'�������;u[�E��������;2��oE�e,���L��+�T?��x������q'�#4��p�Ov���)������c�����%^g�4ovMz}m,qS�J��+���e8�}��D4���Z�:�/,�@�I��������a'=�.����Y�]x��9�D�O��5��;��9D�T}|�
��fN�#4�)����2pl��>��y���j���O���6��9AT��Q�Y���D��~�}��n`{�Kkw�����='���� �������V�m������S���|�@�7��O�8��g��cA���o����lZ�f�	b��]m��]�5�5�,���E}�������w}���
]��v�����3$��(�O����.���K��WJ�������"��c�6����.���>��?}���Y����G����n��,�N
�f�u���E���+	"�#�/$I�e01�.��lE%��S���Sw���9YI���z��\�)�+	��8�IR�>2Y0JJ)]d��t��U3� ����$��`F	kI)ev'�J�K�74�/s1L�;JOr��s���W��	z.$I�R����ki�%*\n�yh��5��"D��I|<�-,V�/�RV��q�������wdn�$��	;�$�i3k`X�����r�L�/��Yl�o��I�|�X"I�7I_�I�������cy%n�#�	���� |2L4�$���������c��|���4��.���>5�(����r�'�`�I���N���$3`�b���:��C�!��P��G|(�uk}�x������s��J����m���|������k�����Q"gc$.�F��JJ)����I�
6]�rf:N�;B��$}�`�����A��of�D4B�|���}�&`�.*���A�}8���U��q�g"$IR����"��
��]�=��6c���2@I)e�����vw�j!90���������2��N��I���J)�;p�r���e��&�N���I�}���������rE>����)3C�r}@��~�1����2���8-��3�I�������3?=���@O�9"����=���0p������B�JDDDdzn2�SnL��J�=ep����������� s������8������("E.���`����Kw{_���~���y�r�����K���� O������ O���w��<EDDd&����G���
��<EdHG�^}i]Y�CA�"""��=EDDDDDDDDDDDdFe�����������]R������\�>��=��!��^j�<"""2�\	�~<9�z����GD$_�W���ow�qc�@"""r�(�SDDDDDDDDDDDDf�I�Ld4;�r/���BHDDDD��B;�;Cd���8�{���l����D�/4�r<N&;���$�O5��~�����2��H!�v�{��p�9����|����F����u�J��t�"""""""""""""3'� ��{�0p�l���������I���H�@�$�<"�]������4������4=��o����xV��\Y��f����N9�}_3��4�}4o���"r[�Oz����4�X]C�:7�.K���`fH���h��`�d���,6j��p���"""r)�SDDDDDDDDDDDDf����7.�������M�����+�y5m��(/�������%�b���S/k,����.�z���Z6C���=��S/k���Q��
�J��~���>�%p2@my�K""""���L'Z����O��3D��,��5���9Bx���*����e��V�
�
'd_�..-ly��R�=x��^Z��*�j�[���M"""��+).="|:B�l���$zSd�M�
��e8Wy�����e��"�����"'C��1��'H�&I�3�Y���q8+q���������������>����"��.��"""""""""""""""""""""""3/�Ry�����~����)�SDD���@O�Q���������������������p#�, IDAT��������H�(�SDDDDDDDDDDDDDDDDDDDDDDDDDDD�@�)"""""""""""""""""""""""""""R 
�)K� """""""""""""""""2��dzS�e�X�(���z�[I'I�O��ee�m�
&�2;uXd�S;,��L����)[`�c+���������A���!W�O����c--��/���g���\�X�m��3}���|��~�c���_DDDDDDDDDDd���/$�J;4a(_�	B�OG��0E:����I�����CsU�
(�%s����a��-`��m0
\*�K���X�T�Hr���������N�*��v}��v.��L2�.�Q����	X�4��~i���m�I��eOuq�����~6���������k���?�"�Q�x�a���jk���������f����iZ���+S,�|���
��������9�b����)��odr���:<��RI���`�a��=��`�K5��}	��7�$����ci�U��T3�u
<V�`5�vD��L1����s�����~����.��$?�`����.p�8�z=���PDDDD��9�����������el��M������>���w���?��wS|������l_���|{�����������j*����5'���_��g~s����2��'��o���y��XY6����{�~�������g�K|�Gi��cn�X��|�������:+K�cz[�}�A�W��7�
X_��L���G[_�l
�If��.2/�f������<�>����;�%f��:�1��-�^�$�N�:F����'M�3>��3���RWLA���z:4�(�b������I���^E~�����<(�2S'M�����`�er����^�)�/q;0p?V�����@o��Z�����%n_f��'jhz5Af���r�	��9����5���n��_�������i}(�G?�O��/y���w>K}��?��7�K��)ov}�{'[��wi=�K�����&�)q�����}������m��������9�g��M��GW�Z0�g�)�{St������o��u�s����������������-�l�Cx��H"E(q������r;��kq*�����2'|�99����������D�G)���8���}����H���*+w�|���ez�$���(2����"��C�%���r/���~!�$�;[����,�����v���g���$�;N��e=��m�&o����^� �?�r����.]������Ft�4-&g�������1�+����?�P�4?��>���0��=������/M���e�_�]8>��[~��wh�+��S�DDDDDDDDDDDn{:v��L��>PK��5T.-���s����2�m�$~����pzB7�M
�W6N���C����_R�"��;�p���g�4��0m�3�+��<��o�-���"��&�J�\�/�v������}p0���N3��^���
]0�A��"[�?�����_:W�k���i�q?^�w���,�]�j�l:��&	=������~<[]
��������e�X��s�;��b�^'����_�'T}���e��,��/�(����~��o���K%��������������p��/�������nt�O���
M_��K���|�o�p���������^�]�`����� �L����5o�����������<�]]���i]u�������������L��i+���i������ ����n�fBtv���\ZO��V�
���QR�}�}h�����6ok����Vn�>���Py@n'�#~���;�>������gP�Uvsh_�J��n��DD
G�%n?�^7�	LB�5���{.w�K���G��G��[��;E���BIDDDD����i)aC�3<�j�W}���@���
����������|�����X/wC~���R���u_g�����>T�-|��-���3�#o���������$�����#����,������?��(M��A�����]�*���]�P�r/w��}DDDDDDDDDDDf�It��������i���zi��2	:v7��R���]D����I��c�Gf���N�)E���Z�YW�R����B�B
!�u_���kU=���-R��8h��X�r��S�%"R@�/q2�<����Y�B;-G�p����K��2���d�,��z��<EDDDd��^�07�q�o��lN����g����N�	���������k�-X������x��6��8A���Ew�xp
���l?':~�G�md�w8���h��A�Ce����x��{�3g3���]�?���"""""""""""�@6I����I����2������C&�#M<�����0i�O���"+3�"5�pK�2�&$����'��m��za���Z���B/"""���K�������C�2����dF��)�)s�����Z���������@�|�~I����y��y�o��]3��o�Wi<�����<3_�����f����7;CerW�����k���O��W3�
��X���CO����`&	���
�Z|���c&���:h��2*j[��`s���d<�wI��Dq0Ms�k�v�n*""2���<�Izxld[K]�f���H��}������J�C=�����1'��Hq1��m,(XYDDDDd>��������>�yzT��J��L����������W�����G��)�uN����X�������OL���M�5��xi:�������{���QU�147,��Z�E�$M����I�;jq{�C�x4B�b�tf�~�ua��\T>`��_vfW&I�|���IRW2+6[��*�\a������8�31�i2Y�Z��>'�:�W����D�]H���j��t�~p�U���a����'� y9E������Z��/����}a���+M��������q����qz.�H�6�F����2�2���Je�F	���Hg0�V����{i�wX�2�D��!u���2�s��W�$�h������5t<VVR9��Vo'�����5��K
X���I=!v1M�c����{��{&��b�'I^�.%V��T8+p.���~��+r���$�E�'$�L0��2�K8��y�-+s!J8��7����~k>1���������Z^I���mF�`_���+��F��e�\�yq����vM73M"#~q�Z���!�a����3T�f�]����rG��	d�t����vk��Q"���3d�M���c����\'�f��;���s0����6�F@YhEDDD���?���l��3}������E���/�0�I���g~3�I3j���oCDDDDDDDDDDdz�877�����K{hz��xwx��L��`������l=��-����!Zv�i?%9��~�����	��Z�y��J�������������Sv<5�J,V���8�&�m��$m���i8��Q���)���5g������%Z���koa��;!:�!B�a����;�as��\O�/��$�ng��apr#`�i'��
������v<Af�2�]T?�����d�!�t<��������m,qS���&�
|�[��������8�=�9��a��Y@�$k26H�V=���L����'��OGH\�$����cu
��wQ�����=�mx�@���G�x7W��~����X������
��tm������m��F������:p��P���w������}������-q���h6D��K�p[��	�c�`�1������h]
��|;|��Lr}m3�W��|�O��<kX6H]Y�)~/66u���'�uN�$q��oo�s�7,F���-4?��z���kZH7c�!z��'X������V;�����P�u��?���)�UqH�.V�k�y�U��5��
��+��%	�����J5/��cd� 9U�p%J��F�����96���4�ocWU��^���;h��"kTy=���q����t��}��	�<����=��zi|���N2����3	=f���P�a�iMtM0&��ZOn��10�?X��tm�f���o�4�'�x�O�� ��N�a�r7k���n�����.b�=^��W��z������b};����'BD����W�x�[�C�a���1N==�%�[�=�L���8�'XWTS���o�c��q��[�[�:�-e�u�ph������T>�Z���}2��~d�D_l���������9��~��~#�K���-4� �;��7l�64�������W)#f���\����y1D�^?��&�W�a���M�z/��n����:��J����7�> ����H���kV������k'|>3n�1�Z���n-5[��}��-~���a���C������`���v��8��k�\c�IH|����&\���7^}z���{�s�������/�')��{�8�_���9��K�25����?��_*\q��fGc<0�����Fr�N-w-.�["""3�$��t����
rh�n���m.e����/r���Qw����+�������;��^a�S�Btx2����GAB�]E0�u2&�#
�<�N|��3'��:B�:i>���<��gMLs�`��d�X��e�x�U��,���x��N#(�\'�s�H�u���	n�����7v����t�����`�+�kn���i�N���>��gK�	&����t�l�^��b��z;���K��I���0-[*�\�>�����e�Y�\f�L�{���{g�M
-�!��NSw����t���Q?�e.�h���Y�uux�z�[3U��
���c3Y`/06(��d��P�|t��a���c	�g28��3���f&Cz8���o��G?E��4��8�/��9��2Ys��m���7Iv�P�:����x�
n�mO&)�M�&	>U���85Qfo��'�D��t=�!u99�a�N4s|���qLF>��cG�/M]�2B�<&x�O��F\E=�H:m�K*q��o���
�� q M<����+R<B$c�?-[��2�����w������� ��'Hv�9�>�N�4��[f,C�I�`������2�C�����KW����-lWf�A��
8�����&�i{]+��dy����r��0k��L�y���:.����&�s!����)qyz�?��+i�C��������d��I���|������^W
d2D\C����:��9d�3e�����h�2g�-+�Mk);�> ���H��u���S�(�#��qN����E��/	:]���x����t���k	w�"����1����w���$}��F����D'�/w���H��l���'�t����y�-�1f�Dw{N�ae���H��;�Uvxk(x;&t���&���l�%���l��;9������|1J��Op���a?��nG���#K��\C�X-����.����s�����e��M}
?xl��+�������2O=�|�����[�_-���]ewL���\��?��H4���}����|����>����p�WJ�k�,����	�������Z��n�j�]~�?s�(��omf�!""R|LR�D���Qf�����HD�x���G�^�y���=��t�[��
��������g��?��q��o���������1/o��&#��my%�X1��������V2/iXW�]�/�b�o��5�c��Ka'�������f?$��]��G2������M|3���:�/*�j5�?C����9Y�a�l�`��y��M�3��C�xA��??�;y+�a� Oc�����X��LD�������:�������_��`���;�r�:����
m��_
���2�Y10�|���\b$`L����@$����<���&~���c-4-qS���wk5��|����-�u�-�I��J�Xs}��a��b���00��I%{�_L�������v�c6�r+��&q!96��� MO��~#�����<����!������c'[�����[!�� �6<?��d=�y\�m�4��&��a���{��S$��}���&<!�zc���&tv���TNg��E�
���/��b�qM�o�wb������5E������4�i��Xb�J�����>�L��D#�U����m��-fv����M�n�8��Sf5������6��oZ��������*qXB��@6M�l���-q\ib�$F_.��r��R�%��	�4N����I���m����I�H���=��������<-L������Q��zI;-_gN�L�����<�N�w��u]5Seu�5�_��vb8������2{��"����M-}z5����q�q��>��g����F��J��a��8A�\r����i���sh]��������|�G��k������I�=eXK�����?��0��)l��XU����`��M���:����V���D��G=4�{L��vN��C��J�d"Nb�L�����)xv��o���V2�>��0zO�����u&NwR[>�&�����������~�vo��-���&YK��DDDDd.��B`FeM�|�U�Y���o�����;k���o���'����?���R|6�e���f�����t������=�w]M�7������#�YQ����q����������z��� ���Yy7���l����l��K>�������XW,MEDDDDDDDDD������c-��{��W��
;�'kLXe��Z��� �V;
n;��}������x��i}��@<E��St;�|��d�K!?���I=�M��N����G��K�\�3����?9�r|��������x-��GKk��$x>��f���N��P�G0�asR�d3�p��>.�#�z�����t�N���������G�c���|�o�A8��O��2�Zq�o�5���������/�}����f����L������� ��.;zH}�Th�{$��	��m��d���[��4���N���>�\0�48A���{�z��qX���j��r�d�bg���`�����4E��z\9�D�Ml{)y{n�X�Q�������y1L��uT����n��D"���Sz���/���������	���3a�b���NzR)z���< �Z���)"��N�����l3W�������O8��9t&E_��X4B$~��T���.�9�v�tmo��nK5�O�9��gh�dN���bn;a����H2E*#��������.5����`�b�!�L
M���KT���'�GOt���z#2�}^�S�dt'f�}�����r6�g��r
gu:�~8�
*W��'f<2f}��!~6g-��r�U$�h;g�b7�1�>�D����=\�4E�@-�����4LL��Q6�����|a�x��7!y���1A������>2�O�>���%#���t��p+��[a(�xX�\l���y1{��s�W������~K�%����� Ocy-�gR���c��kG��:�R��h'�OzpXaA�=-�M;C�AL%v�O6�y����62�O%"t�o��|���[�-9����t�w�l:�5,k�Q���x��e��OD1���$��#�z}��|���s��s�Lw������PwM������~�\�vq��%�>�p�����L��X=�q�<�f���\��#M`wK�q7��o���}����l#G�}_����4np���'W�v�p:Y�S�T4J>�������y����c��E�k1R�K�����#@�c�m���S�zq/�=G3��^��yZqnn�T�o�k���h������m�k�������vX�Hx��1RG���?`e�������E}�����L����>��AP���������I��^��O�}��{����p��}�����23��_����_�����w���li~�������T���_�e�������V�p��^<�}m)������\���e��ss����g�.��x�oT���G�����q��lF�/""""""""""rC�$��Q������~��]t���k�Z��&����r������
���=�8T>�F�����&��{�d�0�E�d3��k
~���V�s���o7�;\�6o95<�y�q:�������/��iM
�If+����d������v`�`��uy5����57C�Dt( IDAT��-�n���g�i{��'�Gc�����wa_8\�b�M����C��z*��>������Z���h��M�k&D8���:��u3���f���}����$������Y>�1l���:���$C�@����p?�JW<E�l'��{p\��.�!~����/���J��m'�[�aj�����r��}k;�{'	�Z����O�L��c�TeF���C~B��x�
J�:���}C�y�Mz=:��^6A�����8��$�J�5�b
�U�N�.)@9��9���`btb�����#t�dg`_����jG��I��&�{g����|'��9�`�}���+.�c�nf�D�}��x�1b��xNS�E�\�`�<����y�5A��t=�36�$�z�b	�������.�Ov5_�/��E��Nz����5�ys�]�TP�2��&O��(��HQ���x��d	���v����X��	�``{����]�|�_U:k%�q&��m������C�N�o��!��@u��m���'���'8��������o96y�	�7�tt��u%H 7�]y��E����@w���	�1l�����l#��It������	Z����g`�t��xm=����@�����v0��7\���Qs��.G���������@G#��	��a������1������E���gNY�1�E�|��?����R�\����Z�����!N%��w�n�1P����1�<&�����uE-����������?~�W:)J�,�3?���=~��~�=�#��|�y�������h�?�?���U��~���#�{�>��_����_���8�;]���j��Vf?���_S�'{F��x�������1��2��"�5m������E���������������q��Z����O�Q���h�������Lx+qP�����Om7�i�x���i�0��#�-7���A�>\%�%^���
j�~9P�f�u]�������)���I8�3I�bc�&���V7���{L��IY�xwzq��~�!r:r�i�d�`�����Sd�0����)������)�}k3��O�3�E����g�(���1vjw�'�zb��>s���F_�x��a`{���]�|�"r���u��&���Q:~����)c����c��`������9������U�CN�6������]���6���=O�
��v;�wr��%^Z�NrLl�4��b/������	X�X�<���`q5m{kG42a�cl�H���b��d�g��U9z��I����������U���i��l+��'�`�[��2��#C��$�o��<�U�t��
���b��V���)��v����3�����D����H7M�2*�V�Z)3A���l�k���Uw����/�G�J�i>�;I{f.�^=�<4����j�rB��	xg��������Mu��-��b�vo��3]���_n�j:H�$�1O��|f�c3�7r�eoN`�x�?j������G�	E�x���k: ��e�^�6�:o]��9�@�H��{��3AO1���I�s!gB�Q�g]��x�
����������s�������e8����=\��i����DDDDD��7��w,*���[4>�g<������w�9�7����^���k>��������&��2���r_�F�I~:���;��:���\���N��������a���Of���q��NT�����SG>}��J��&w���X���=��<�k��^�Rt?������������m���������a���]4opL�f]^K�����/6��j��w"�-bvw���a������3����xr�z��$t;L��z�Y���/�<7�g���9!�k���_��2'��0yS��*?-�n"D-��dn��c�)���^*gc�������^U1�_��Y�k6\i}��T2B`o=�k�"�'�h�X�����h'|�xf��_�c����o��*/�S,���;��O&r2�F����	��-^��=���������u�	��vn��z�[��m]�X���aIc�2��I9ly%��&�$v66nP��%|:<�w.=�2c�lT����C��)������`&IC���������{���<��n��+vW%e���L7}�I�\x�~E'�B;��
���y
,3�41��!3���L+�7���~�F�����l�����M&�<�����nK���k���*��N������'���!�jg��X�xv��{`q�}�r�:�J�����Nq*�k:3���\��+V����\6I2y;��2_�s���HN�+qS�lu~�*��>'�����R�������9�y�������'8��������#��������{���o�k��/�<���e��{C���y����&�y��j��]M�}��p�6���g4~��������KY��o���	��4g5��x�����]����.���]>y�R	U�e
<��V����?cC�1Z���:�'DDD�	���z�P�_+���
!"2�X*�}���6�����BLDDDDn�'{��S����g��+����z?F�e/�~�}<���i��r�W�7kW�L]2�D�O`��c���v��������0�	�|��U��@�2l��WRdnt����g{��e"�!������;����n�+f#�s�W��-��Fh��R�����E��Z�z?E*���������8������������#Q��ck]d�	P�=Y�_o��c�{�s�b�^�s>^�+�y�$�
\��^�G����{u�{��'sV
��p�TgT�v�L
>c���B��H����2l'^|B%�T:G�`�l|L����v?<���Gd��4~6>:�1*�\9����n*���m`/��_R�N���1���>���:���-��veEeN�Q����������_��q�����f�2����F�G)�R��}>\Y�fZ�����2;��-���Ab�c�'��p��@4'��j/uKn]�n�u�'�k�k�3�F����������Bu��o�l��9�a3����)�EQ^�����yJ�t�����]1(�����N�&X�vPJ������nE �+"��k�U����T�	�����;
""""2���������h�g�?(c��GY�����o?	Z���������$�����or��~��h�YJ����|�?����+��O��n���/�W�?�{��	�nZ�����}jb�Elxv��W�u����|t��x��8{y����_����x}��=���""r;0����-t1DD��
�V��""""R@;����iu�(������n������j��7N#�@����\�"�d���H�_�����������Lb��MMr7���6����Ig��oc'���refBmf�":�F���~����M��|��t�VR��a�����������l�3s��s>��s>�s����;��+��k6;�6:�����81���$���,��&���RK������';����;�s�����LU67�OL��r��d�$��L��K�/�P��%��s��7��4�h2�eK��+,�|'����������\_s)�"�H������I6g���r3?m�@?�C�H�j����}�2�O����
��eIu�v�h�~������*}8m���8u��m�VZ���sG����ZSH��r����&�	3h�fG.I��e����b}a_���1H�H�n��5���,,���j'���)._���8�L����m���b�aC�7���Wc�f�c
5cD�A(�(������F�JcCa�x����^z`��zP�'E����@��\��<���kW�|�*
:�7X�|�$~�������=��
������K����W���H�lx��SC�o J��:x���*W�Nw���Iw��y��S��M�w�~W����;�?9$::����Usg/����oW���"W���)�}�_=f�K���9���7���j.CA���IL<���*�B��[����������<���
��i�J�]�����gK ��h�x*='���N�,]�U��l%���c��K]�%m9��^���
��.�6�&�����A�H)!K,d�������o�<�:�����x���Xv��6��v�d����������:�Y���
Ge������b���V���x��F�P����<�=3Y�T����>�S�
p����|���3����qv��������7������������Rd����\�����U���t&
,�@O��]��>4�Z�g[�ng��(]�,�k���T���kQB��	����nZ��9�����if��]6��!���Q�0U�}N`���E������8�N�����ig:�9�������S�r�����1���
������G[_��c!���d�;z�m��as;M=C����n�5��������������j��z��)�RV#�I~��G��4ik��.�U��.�6F��)�"������ ��B�;�_�B���4�� ���c��B��
���h��D�����\I.E�'�Z�$f��/G��YYX ^����]�_�W�Z�W��f��w��oJ�]q������@�R�D�1�e,��h~�l��yX�}�zIX�<�%�^4�<S��3����y���_��i��?>�o����.
��K��a����,���gw=��5
p��D�w��Q{�N.N���u/�j��^�/U1p�vN=fW����h���2�����T*���i���f:�$����%�4��ts����'=t}w�_��A��l���7�FVz�����v���%����/�%����������t
�����)����n�������������y���3"���#!�]�|�$��R0�R��=�Jv�=�k��d������:�r[m����1���l�R�S�J����O�d�"��+�������tk=����������T~����/��\mA[�O���x7������9>8|���~�����"""""""""""��V�#��d���4h����p�,Y��sb�����f����\���Q����������%���x
�����$^����.�S�=���>�����M��0Xc���V���U}�v��z�2�<(8K��
�NP��Z:?
S=W�R����tw���$s�67�o���^O�5�d.K�\�s]#7�-�w�S����JER�e�P6C^�b/�����^B��~2c_?Ht����%�Ar��^*�� �%v!	U�A����`�����!������%��R�%#�����f�Z|Y�7�/���\1�G�BlW�^[r(�8A�%���"�3�ml�G&E&�"���-��P�|b4�����]�5�t�������x^ ��� r,A�X�����@�O��-�t�r:���o�����Q�%H��`a��t����*6�'L���i��Z�w�R�9a3
��S���s�@:�td^������YB/��K�zM7���C�\
���+L2��t\��1������'�x-������K�]1K��K��Z�����m���@����S!�����U5�=UO������{&��md�d+O��"�D)""""���=~'���xd���������?~��6���,WM���-�>�k%k��@O����N��t�?�����������#F�]�^�����*-�>�k?z���4����#)���������������Z:S[�R����l�t�����s
/#��Rl��zm+/
N�Nu{��?��L"'Nj�($��$��m�_��g�0�7���w�ZY~�������J����P6�;1v���{�X��v��������������}�5^|�
���8�6n���0���8h:K�����'����-s���+~���Z�q7�M<����I=�$z���-��~�L`�������-��F �m���S��Mn��[rg`��r�����39�W���7��o&��	���wSD{3l��oK�=�%1/F�f�
��$����
|�EoU��9&�r���*Ki�$N;��G�B�oD��<X]���>���9�TO�$��M�{G��k=T����!w���;Qz7���F����}*3K����#�5S�j������Q�d`L�o=��z�rP�+@��.�1���4�h��l=�9z�y��}�~J�r��+|�����L���Y��_xW,�����
]	�o9x(L��%��H�	�8����G�4>:Y�_i�+f^��qwi������X�O�� ���d�5�^��u%N���x�n'|���@��`l{�X��"""""��d�'��q�`$�'7�����	�?�k��������Z��r��������_(��&����c��u�#��U��un����u<r��`�����>���CT.��GDDDDDDDDDD������T�3�m	E�<�<������t_'=-��ZF�e#t��zal��z}���N�~K������V�_��3Y�@.��N�.�|���1�37�yI}A���{�k�i>�B�V�������&����${%J�C��ww���cc�������]*IA���K���3�gc�	z/&���i��9H�v��=-�K�7,tc�3�:gMs�9��zP�yix����{���B��r�+��LM��,�3:�x+���`@�������o2Q�����U�9��$����,�;��Io�����5^|(���
 ��YQU�����"`8��d��k��l�[��^�N�\b0��o�U@.Al4],�J��R<���o�G�b���Q�����%q-{���$�
�%���]�����y��b=o���S���P�I�#L��f<��-!l�dhl��~C1JZ��Oc��k�qcL������-w��]��9�o/������������<!���B/��	R7n��3�Fh�����o��������������N3!/��j���	�%������H��]��~�0�%�f�
�~X���nc��������nA���O!""""K���i��2���1���nU9�H�Z��4��w�L�r�x�Q�~p��G����G��x������~���?��e�z���\�*�-�TDDDDDDDDDDd1)���y�l
�ef���Me��l27<O��y-A�rN��bn
��A�L'������_T��[��G��<��"z�[@�f�� �`1���Ff����.���������U���;�-�y�90NBA�T���
��V��N��f�DN�	����s��3���v�S�T�KxXh����;��,�x���0�c�7Fg5/��t����d���\�ev�-Y9���� �B���~fz���m��aF�F\��n�z1�Dm.\�0��K���g�8�������6�����5�����<�W��d�u�0w0rI�� G�o	��q�0������1�����o�.�#�D�D���$����~�
���$���,
O�G��A������!@���C��������0�����x������:�����E|�*�S��E�{C��K]��o����d�d(�������
�����-��z��r��������00�{�ix����%�(�t��f�������L2�bDOuz;D������i~!Dm�a�c����L_�2m�\U���E`��x�C����)�=:���J��l���&�wh�Z'�����m����@��b�IDDDDdv�N�P�����=��g�,��<���-n
��*����������l��-r|�q���h9��Gv�gM�|�.c�V�2��������������������W����=u-�7�\�\Z��WSg�N�9�Et$p0K�dd4���G��	�%��X���&�B!A���"�WP���}���qR�/Sp�U:�?p�ET_f|(k��7��*���a�r�^_�������,�3�4��x��ul��A:n�4pl�e��������~����<�cxn<t�������Z~���0�)�����[Pv�� ��d����2i����N</��6�9q��������/L\�-�!�4���������*3�����I�;6xnq��o?��Lc��(���%vudITl�-����e�w������w#W IDAT��Ux-���� � �3x`�7o�_l��_`��bf"A���mx�U*��bc��x������v��)���F���ig�(���&��r�_��-������$]���j�����k��/�~��`�I����[��6'�q~����9�'2I�
\�U�k��1p��S��6���eN����`��t]���%���I��y�q�lDw����>�@�;�$�m������y<����s���}�\�Tfl�����L����u%�?Y3x�U��e�����G�A�}��/d��M���������,�����N����|2|������N)��-?�
���~`���VEDDDDDDDDDD�v\k����,�S���$���e������F���~�p�4������{t��������,3E������O��{��������L��,h�z�D���q����J]�@�Tl,4SN���������:|.'�{i='56{�
7�g[�L�I��4?��U6����}!����%�|c�o���_s&7�6{-E�T@������2=�$yu�������\�o,�L�w(pqq�xx���4I^)��1�UxVOdI�O@.F��P ��~��_5tn�������L �kCE^`t�\�;������3H<t<^��`����`��2	���3!y>6���YC	Z��n�s|a`��=��d]�f��y��~o~�����a��U��lA���:A��(�yk���
��m�H��!"Y�j����59��S=�[g���B�;�^����p�/ q}�h�d������^��6\^��e���e&�MNT�b�+f������Y��2��B�p[��l2Q��N����c�3��\�Y��M���lA(�U""""��,�@����p4�X�GN�x�������|�r5��u��EawN>��u>�����<4E��'�?�������+�r������x���,��d
��B9���8"""�"s)N�'j�'�W:��DD�'K���6�\����"""""2�
���ax&��%Q�9k	�3<T,��	+��j|��i���Y<3�����0���FA�_r&7��~����D��*���U�����bD	����X������1f�`?�;I�0��}�t�-�����_s�|x{_� ~�}L��z�#}�2���H��E�n�}��#�1�|�����(�d�M����1?ln|Kk�K��M.���wJs�M<���g�Y"��
�z�P8*=��h��V��6~K?#}1F��p ��$��^�g���$���L���3-��bl����Z��t\*^yJ�j����@�TO��	�[��K�g&J�B���m����W���O�����Fj�H�A���a}�L����_G)po�Y�6�90U�C9vKp��W�K����%�Y������.�v�G��3��2$�������f���3Bgz�$
���g����>*�k��~� X.�	_��b.^E��+~;�����?�uP����&��<_6*����� �F?>k�s�&f�^��W8���Tj�!��7���N�� ���*,'����\�,DDDDDJ�������x������/o}�{'�F�������\?��!�M�����s��2i��^�r��Y�'������o�>X��]-�ymK_�{�:����{������x�\DDd�d9������Y��i8�.v�DD�/��q_~�����bLDDDDda�o	�*���nfN������F�$3��U5�Z�f�;���p�Dtt��=@����<�f��:8�WI&L�au5��c%�/���f�5CG����)�%���:0����7��Lq���O�,{��`�\�TA��L���^_s��T2s�66��o�t2�G�#����������{����������SD�N��s	::bKp��%�
���Sg���A���jk����:j��NfO5�Yd����,�M�����O�gP�y4������Ltp���TY�U
_`�E����	Y#{u~��L��r�d�+����;��.D��<����}\��`�9�$	InP���h����S���$�����2D{���R`~��z�/_1��m.�.��q#Fl���kaBgJ��P���������	�4�Y"G��tX�����o.�#<OA�N�����K0�������
�f��%i����^6R�b_��B;������f��>�qS"������>��{���u��l��5x�^n�tYb�n���2�sY����������{��s�>�E}	.�(^qDDDDd�-�@�~��1m=���zfn���y��)�k��������o����/��������	M�?�����	�[��|���7&^���d�3?����>�����]|�����?c�S?��������9�W'h���;leT�<4i�������������L�QC���A-/���lTR_����O��)�A\s����A�7"t
�e��o�#�b�/������l5���O��.%�+H����xw�cMl�|���I���K��=4u0��"���ak��,�c�tx<8-��bo��b�o�h={�L�p�s�f�UUOsG�T���C
�.������t\((�1�����Bcm��=7TX�����l��I��&Z���X���S�zt���B��I��\���Z&?��c�������jqX'v��^hFc�l������D����2���}Q�w��6G��p}
Di{c�|al�������57��6����y��	Y#��KMx-C=2���{9ZX����O5��$���b4��|m=�?�U�m�u�6��9G[8=<����[��4��|��~.C��)��3`����;$y4H��l������z�T�V�G;��_����'���b�e��%	}��u���K�EC�z���}������d���9gxj���n.C�� �Iq2�9h
uTS�c��6�� 
,W=g��y!b9�b��	���V��<@���t����B��L�e�F��	�o1*�><��%�6���dP��TM��/v)��"�W�vH�a����T{E���_;:i��N��L������&�W��?>�;C�,�cA��&:�2�%'nw��BGK������������_����>�7���?�G=����c�L�L>��L���|��������V����*U_�bU_x��g��z���(�������5�{?8�_���O,Ey���<�d|������S����G�����>��������q�w���|��3^�=������?�X�u>L��������9u����W�������������&""""""""""R��T��d���&��\��^��v����q�����=Y�C���c{����DXf�v�T�`�����\���=�7�1��J������,��s�lh h4<'�x
����1��J�� �ie(n}�������l{� ��d�&���7��5T[2���Z��m%:�x�l������R9��(���^j�}�w�i>��#�����w�{���t���:�oFHd&zj�<d�Nk��������
���f
��J]�A�}cf�&�zi��Q�v{�fI�Ke~_��{D^�a��q��l���5���=�����V���"������]$'*��%���S��������$J6�����h&�������^*��+�!3�(���
$�T��B���@<'>����m��ekpk��w�QQ}��K�df���&���{b���tTzq
������_�;'�������h����o�|�v������3�	T���x���	��K��e�Z]���L��U���z�����b�	O��i A��m<��`�s�8��d9#�}���'-�����N����y`4P��'�R���:0�F8X�{Of0V�K.Cl1�[s��w��m��?����p��+��m�K�����%qt�ouX2rx�R=����C��F<#�N&��k������nd�kq���DM����)n���Z�}M7������^���{�&D���}����n�#tm�3{U�VM�����s������J�|>/rz���c��x�����~�x�����m���]67����T��y����z2E�n?5/�������	�S�[kh;��4�t�����v�W'�w�����:|:��}��d�3���o
��$~`�^��!k2��^""""��,�GP�]����#~����������Y���q;���q���$��]���}������n�s��QN�^N������6n������|����.{��hk��e-��~>���>���
*����}��U1�-�[���������������`�
n�z��&H��l��x�����(��"[���W���5��#s&�6wn���r���I�2F�����e�n�_j��iE���v���B4,5�buU�������(�3�e���#|�����Yf6M�|�2����|3���I3f�?;���S��$�!p�����a��[���-��'��DA���Z_�:�O�}m8��$y"H�����;;���������j�Ou���SM<�`��~*��c�L���=�h�����^�(��@���Dl�V���f?-�
`b���0������	���h�y�,M&�s<���o��x�y\8W�c�A6���|���ycS��g
,+����������SA�n����J�?��C�mv�/q��DG	e������������A��'�(?3A�h�����4����g�h>�c�p�@��S��< �����}	�g�#�]�z���%�a
��M���E* xn�K�/��q��{���N�
��M�����b2�K�}k5�B����d��g��a�0*�W����l���.m�_�J���0^|�g���e�������X��k���	�4J�5Y`����]�R~����R'���l���C������~��$��������[�����`�~��guUm�m����'F�������yk�2?���y"4�f��h:7�������#�=&�N�+�t���k��kQZ���:vV��}��4o��:�����D^B�Oe�UN�����q5A,>&(�����f�'�h���������_���]x*�8
�z���f��k��}t��^�yk^��5���:�6�|LnKm^6��es���$�� �~;u�	n��q91��������}K3��O�jlj����=�1�l��neOw+{W{�=���X�r�&�72�~#1�l��F������^��%�������������&9����_�-��W����"�F'=;������y�K�'ZI�h��f�����.�W�1rY��.?'�w�c�~���R9�O��d�~�z��'3�v}w���C��=?�5���0�_�y}��1�%~x/�n��o��'�I�L$��[�2�6��)L�����L��"�������>3��=)A%{ytGn�����^g������;hy�9��s*�rv�����=Nsw?#����s����|���?����U*�*���/7E}a���J[�W��(+������������L���N"u���5�Y�����"9��Vxi�a���Z���f'�#��D�hV�!��k�kxi>�Fj�^:,o��^��u%:�p?�������.��sT�v����Mt�,6�\��ui���g���[��N�������@'�54Mr����B��ij^��f���8�������|"D}���;\���3a C���-�@s���vs��M�W�D��'�������}x
l"=/����8;��,���c�a��a���4�2�����f?�	�I��������.��i��$���VK}e/E���mv��}��r�����22/���e��(�o��t����Y��GH�?��R>
�����"�������:��i�"����x�����A����Hn�lq�~t4j�����B�b�&�f���doL4�1q��<���r��z��b� h��'ri���V�;�,3|x+
B�F���%��*X���WF?r{}����5����8��Mj�� 9���;�����,5;�D�-� ������}�a���C��v�����-D��%b
&��Ht���e��}��������}>��5������>���Z�1;��53{A��[���uF���2���:!un���	w4�Wu�����f+QK�y-A����n�a���U-hE����v��$��J2���*?���4�-p�ElW�]]$�����n��L�%��}�\���(���d��t;��,�2K�����N����`�x)w��A��Q���Sw���H���.R�^���4�$��.��[DDDD���)vf���O�)��8��� �/��+���;?����9�.'{������|e��1�����k����w�N����h|�Q����\�W�X��BB|m6��|������t(�SDDDDDDDDDDd�x��������Ov�������M�h��0���5���mc���"��7~�����'|6J�./�I`����v�����JtL������iZvy&�=�o���S>���7�o_&��l-�Mn\+�������(��Fk&)���gg3�����M���cR0�a���@��.�T�}�����K�l��4�e^��Dh�9ql8���#�F��|�r�V�i��~�?��l����F�L3���6��mR�����$�m4Lu�86���N'S�~�����o���F1��S3^����i����q���W��d��4E �������\Nt����k��W�����6��e��%s�����-�T��s��C`�%����o����o�e����=_���?9������u�(��Y,��h�a���xVPN��g�>��{�|�3�>��:��P�i�������H��.Wi���v���}���������|�����������m}������z��W[�y������]=�^j�p���@KG�T���3%���_��V;l�$��>��{pr�px�����{t��M1������R�������b���7��<_����}���h-��K��Z\�8_�����v4S����1��8��x_��r�4-O�:f����n�H�#�oJ���*@���]-4�
�]�*�����������o��b���2��_��S�|� ��Mn�6��
�.���r�����/���e����|�����\������,3��A9���?��sO)_<}���>���~>N���@��n�0l�{����+������V�����
�"""""""""""s��K=#�L�011��t�Z[����A~2+�L�hw���R�gM0��;]�+��7��Yb����(�_�I�aw����WMxR��M}���E���$�i���aw�r{�m���,�U���!y����R$Si��C���������������^���s9�O6��.�m���2I��R�I9%�H������>������.��2Hb(u������(x��Mn$���^I�N��(+�|���u�=�jG������C`��#�h^"�%j C"��R�T����)�������q!�/EfO�Z��D����O�1Mlv��N\k+�n��� ����g{I���}���n�����E���[��:\Ot����z�].�1A�w���$z&J<���;q=�!PUX��L2c��'H^O�?0x�w��\�������K�|����r&�K1z�)��R���dM0������>�^wA/�)�<�+��5�j�3���4������&����$�Hr�J�Lz�X7m�r'�5n*�~<~/9f�d<F�R������aP���c����+����U)m�#�S�z��������������, w�)w�B���������$��5�YDDJI��j7u'�^L`s�x�2-��[*�)Z7�������}����%��]DDDDD�v�S������������������,��Dp����\��C!R�-���H�+a��dG&�
u�+�SdQ2�[i�
067����)"""""2�=EDDDDDDDDDDDDDDD;������x���s�L#""R\Y"��7��
�O��.f�Dd���&��r�l&��(n�DDDDDDJ�=EDDDDDDDDDDDDDDD�5�������h'�+v�DDD s����,��WUS�S��D�������� IDAT��pdE�����[$��d+vDDDDDDDDDDDDDDDDd.x^���7�A����].YR2q:N��0�%y�������x�R��/�E�$u�E���(��S���%)U
�Y�����""��]�����	�J��Z=���2��<1����z�""""""S��b@DDDDDDDDDDDDDDDDDDD���6�]
���BDDDDDDD�8���W����C���W��<"""Rv7����i��km�?��z���%)�������.�H!����.�������������������������������b@DDDDDDDDDDDDDDDDDDDDDDDDDDDd�R�����������������������������H�(�SDDDDDDDDDDDDDDDDDDDDDDDDDDD�H�)"""""""""""""""""""""""""""R$
�)z�����������������������������=EDDDDDDDDDDDDDDDDDDDDDDDDDDD�D��������Z?�
��ogq��5�$�?������,.[DDDDDDDDDDdQ1�\I���$3P�����E����}��x"D��e�����>0��l>H�������[��
/��.:jG����"����<��������o�6�&K��aY���N���H�RXDDDD�d��]�;�I�?�����}y��=��#3�����������C��E��?���=������+�b�7��/��[�4����9��u�����/}&���lp��!_��c�L�s.6��m?�T������g���Us�:��0�ECe]�]7	?^���1��dFx��<Gc��c�H���(�Ii�1&7?���(��.&�7�d���������t_fh�YS����M�(��2�B4}?Nv.� lnj_m�o�~������<�E&`�~���G�b�j	�>,"R��)>�3{��9�Nzf_���|�G������<�����&�[�Y�S���������Z���w��xh�e����c?�D��|6�M�[&�~���9��?R����Wq�,n��~r�[?�ck9l+��N��"""""""""""""R�(�����O�
�4lu�H"��}xZ��w�F�n��7R�����J�	

�2#��@�,�t%O��ue(���"�L-��9ZY6A�hh(��A`s�=����>,�P�?,"""""2��9�L������??�<s�ri���1G�M�{����?�k�_���?���f�,��w�	�)�L�����2���W��ea�><-�x�����@��5
T�U ���d�8$xb(H��c�� 9YH��D�a�)-�@�{����8���� ��G�	�\V�#[���?q����e�������������w��V�G�U�#�_��p��n����[���+�������;:�'g����9��#�;������Z~��kw�������c'��{��-_��E4�z�D�T����e=Wt���}����k�k$��^�-_t�&K��a�����],�b������ic��}�/��,_t#�DDD�t�?,""""R*�mA[;Z_������[��3��m~�������W�=U�'����^��n(,������U�%v���?��j���������gG���3���C���/�n��)/v|
��5���__��_�xq"""""""""""��$�J=5��pU5�����3;e�t�K��Q����7�Y\OIDd���i�\�����yglo���b�B��M�(��2�6����)f2��-����K������;��-�����t�?,""""R2~��X�y�o�q��E��o�%����N�	������G��5��>B������v|b� �a+����~�����:����5��������|x�����G��;���������������\��+&&��Vj<���r����d�<��c�
��%c)z��O�EDDDDDDDDDDDDDDD��@�B������o�c��x�o������o�}4�AcUy��?�����q���[���3p~p�m�+�w�Wy�+3�*""""""""""2'ln��2�#-�n���"��*<��La��3��W:h��:*j[�^3�������J��_S�!"""""""""""""""�o�B����2�1�z��T}��et���x�e��5���~>�~���3���un��C�������hV�*""""""""""2;\[	o���X3��D�F8X���*��{�oc]<J����
��R-n{Q_r�kq�g{If��9�������v+*�"~>���)�Y�
'.����n����\����K)2Y������o�����)���$�"}#K�;���>|���3�l��������"k�aw����orc��'�f_�X��d_���u��M���g���X�J�h<I*���\�?�Y��3����D����������^Q�����__��qb�����dL�v;���p��xV/����!�%qu�-6s`���%�Y�a��%R3K�J/�d�Tft��;����s�b2�!��{u��2�z��o�k��������������[3�}x������d����J���.#�}	��EsM7b�����^�I�R�Xb����=6��ux�^\i�,�vx>����W$"""�O��S���>�?:��!vm++^y�V���6`8���
Lw!�������6*��:{V�)�&""""""""""RTv<�Z8�����iz5D�;:�7�dOl�Oi���UQ;��'<�M�hO�z�4�{��t?��EpM0{��>*$'lN���#���y���KA���0o�������7��^3�!=&�������'Iv��e.�������-3@���^#M�:Hd���
���i�KaczL2"tvE�tG�^�)6�����@�K�x�3��d I��&��#��y�d����J�;�����x9>�N����Q���$�����]2���f��\O�w�4lqL�w��V�����8�������j#��X�!��n�v�[;�V7�e�i?����j���T&���4�o��R����O6z�w)<=�gmx�v��;3onc��I�c�����~����:������&}k�#��'�tb���f���^��,���������
���K�y5B�+��N��m�F���T?^O�.?�B��\n�y����/���#';�<%O��l{���>^O�K
T�����/���zj��Z�_����t��dA�8�l�?i�9��p>�j����NN��'��T���]�x�;)I�?��u����q����33J���i�dI��0�V�T����f��V��v�3��������_A0>��B�R����$�M5��������i��i���3{p=1����%9�������j;���`��8�k���L�IO��}��=~Z�Mo����y��
�}���-��E��[����n1����{�I�^o���0�k�����c/��V�R/%����7:�{�������������;����i":Tcc3���S��s�M��5Y��9�k�����=�?�kw�8yr��O��gz�����<t�m�����W�V�DDD0��~�����{��#;��)���B��s0����X>�9�;�I����JDDDD�2����#D7�	T�ga���v���f6K&3<h���G�E����q���b`V��4������I�T��v>6Iu�R�%���N��X�a}�O���{���c��o%~����^b�Oc��@��'4�o4��	:����~����)��D=�':�.����]����X������{G��M�u�g{�K�"�Z���>}Q�����
o7�~s�m�S��|�����l��I����g;�z1L�?��m��������;�������r'��;a����h����z#���i7��;����-N��rg�C��
�`C����3_R�oI#:u#�%�DoR)%�(
�"s��tI���9������:�O��,Yy=f<)GG����|���}�)�?���� ����)�{w�)��@cNk-����tpC����LH�>�������$�W�{&E��f��E��9l��=L�3<c���l]g��������	�1:.��3M����0}/�	�u���/��e������It���I�$��vD��$�����������K2�8��&�����Y
�	�m�n�]�tw��X:�q��e���W��G������=�5��}t�d��4��K��n�n�aP)��N��2��9~���=]\y?n-�J/�&�����(q|3&��j8L(:RE�~S��"�/1���*x-0�}��GL7/� ��V�l.���lC3N��
4�2�\{T�T�������J��x
1Q���r�c	='B�����mI"G���cU�	����u���-wKpNW��%�|-2�^;����wf���I�{[�t���W{����#����8����
=����>z�o�s{����#�2��G�kkgM��g����5Y�J4�3�g���?~kb��
c������y���?��gS���W*&����9>>��?�q���\�r�6���)��fz���|�r�?���/��,
���{��z>IDD���$�D	�o�d��
�"��1D<&|�����o��%�|1�t��A��hvX:E�i/��FZv���z`)2O���+�g8\�*�f���x�]������N|?���W�3]4l�N�� ���*\��1l&���h��x ��94��t��o�e�
;��Ne�:#v��.���i��c�<�l;�5.�+���
N�0B����B2�����oi�0����I*��-��<
��MN*�����R�K
�l�G��`
5������]��Yf*A�H4S�(�$��M�	z�3k*i����I�6;�[�pV����<#i�y����Rx�4�0�)>��6����H�x ��c��
�|������T����|���
���1�����Xl30f�Y�6��{���#}?�gZ�$=�ON�0V8q�]8W�10I�O�E'����|���{'��k�T]_����N��$F�D|�
$3�k�n^:�5.��TPa7�4I|#v"�	|5���S�r�	��c�m�/&���c��E��k)����F���gB�X�Z/U��1�)��#D3a��>�o����4��jU��wR���|��M����3��`]��?E�,�qk���x������!����.z,b�.�l������������t���l^��?I�h,�pE��nk�������z
;�uU8+�0� ~<Jl�&����7��n���S#��
copd?1#D�@�Vi�E3��Q��*�}a�]������4�t%w]"��"��l���$h������n�#��c�s�T��{7aA�l.�k�y�����q���n������vO�
���f(�^��|���}�<������r���n��J������Z���?�[�z��mz�[�|7�/=����)�?I�$6�����L�L��
��G���9��~����T���|m��|��YW��8��e���?r�7��2���Os��Y��^�9W59��87�����N�|.������������B*J������;��z�����h=��s_�J��{]l�9�������W)a����L���&�N0�8I$"���D��G=�-Av��N:��q�� ;�L��������!>:r��}���y�����d��������b��eo'�]��?!�p��!>�y��-kM��z��Y�M�3njm�;x���EC��Az���7p���C$������i�p���Z��F8y�����~��n_
���$�����C�b	��me�����j�aZ�f'y�>���0t�#"??Ho�X'8�b=���q��s
�xg����v�?�$y���q(��d��r��I��\��~����|������!.\�����;�
�^(3H�S}$��{�8���#��!"&������f}���B��i���0y;�w��|�����:�d�|n���89�g�Q����i�?�F�[�Qn���7"$����n�{z9��'?������~���b��8I����D����8�`_/�ot��w�CG>bh(A��������Y��O
��[��=�t���h��Xd�x�f/�o�����1�9�)��i=:�j=������|�g���7�?����uX�q�l��d'y�oo�;� q|t.��!"�Z�WZ��d��I��U��wR���|�E�����Ctm���������zc����j���
^\��X����3p{���.rlak����lN����4�/�<pN�x�Z�����Rb�$�����;���<V�krQ����~9���&�������O����Ltn������d*��S�I��q"b��k��!!zY_�(��p�-�9]�]������4L�������I<��@o��I�=[�+f���������W���5
l�T;��&���}��������Z�*gX~��d�^[�e��=Is��G�>7�U��������n�/c?{>�m����e��p\
�+������G�N~����=���M����N�i�r�oO�����c[9����\���?�������+���������"""""""""""���|��\U4< >l�����#'9��&*F7��;8t<B�w|8
��[��s��>�Y�	`K�$u��~{+��)���n�_��k�%8%#�v8�uwm��Z=r�����O��Z1�Klv\��s8F��z������O��I��q�����"#
�5�t�o�c�Hc�q����5VT���!N�#���L��i"��kk���!:�w�?�M��9E��ONu��z���\4����gB@��cC3���O�G��=�l��`���t>D��)�
�G�	�5����8]Ou����}���D;�tp����	����F��m�O6.�"u���h/���I����ZZ��i�s�(�2S���W�@�%��N��}tL�][b���'�p('��,��R� }�m�����f|������&����vQ�ji�yI1��������i�i��t;�
7��$��R�����r� �K�$��n���q�N��Q�n�F������r�7�o�eo�%����|�V7����8�k�����2>n9=��	l	�������$�d�z��l�Y���V��:�A�#a"9H�	�J\�N�W��ia�k1���a��!z'���:��w�;�M���V}i]�h�|��R5~�l�F���F3sv[��	�%s]B��d����z���k�1���J�r�q����T���������E���g�?��8\��~�e��w8�O��K�~�{�����e~�HDDD��K���g�����G|��[f���s�d�r���l���_~|&�����������i>]H�'1y������y���4��x���D��_�q�F�Cw�@��6PDDDDDDDDDDd����^#w>�E4	F���7#��R�f���2��"r���F:I����y����Z������vf�fsP�Xc�b?a����.v�f�las���n���r|;������;�e--��F�=�'����^c�V2#D���tC3m��p�Z����I��J�-�+}�QaK#��u�������=s�(��������<���C�,����V�t�?6�u�9]�W��.k5����3��8�}�5+a������g��|��h~�R5/�$td�Uj��e����<e�����������s[%H�bY����M���gg_������[�g�3�xr���G[h����s�R�\����o9B�\4��2�1X�H�S�q'E��n�4��k~'E�d����r>n����=L"GP11%t$��f��xg�Fi.;�;3�ME����R����e���6��%bt=�eIn�����
���������L��T����w^<Y��"����D�D������X�D�K�\��9�D�:����H�@;ET�A IDATm�-�����y����7p?���[2��uXP���Z�q�����r�8�o�2�����?�~f���'��Z����,W%��y��
j��J�S�k�m�'��}��g���]4�}7|q�~�`������Lg�i.����?o{��������B�+q,��I��&�����+w����Z��}o�������Y�����s�'�����V����i���O�;v���ne���6�������bN|��&r� m[]�&��������7F��=�����E%�X�H�T��V�|�����1KE����u��b��Bk�k	�x?��e��=8C��H+�l�������Ce�[�x-U��s
v\�>I��=`
ts�h
6��k[#�������dU,s��B�lU{0������80u�v��>���jc#
���~E-M[�8�q���m��_�<��g�%�>����.��]���H�
�Y�2/>KRgc�,hp��0�fU�1�7�x�����m�����c���t������/k���eTe%�����N�O�		���f���<t�����(����x����1"��z�$yl�������f%���N��:�M�����M������}scV��X�on7BXv����d(k_�H����M�I�1�G2��Q�[BtN�����C	��M�����^�L��z/IK�U��-�]7��h���7��-du�%���
�Vf'���c���Xf!{M��*�����{�HDDD��e��y��}���m~����������_�uwx����7�W�_��}�<�/n��*����Ox�����iO8�\��������~k+�������p�J����/�S����b�#���r�j�9�����O\�<���7V���Q�ne�������Wv�~���r�}�?R}�"�KDD����`��{,����""���vO��r+u��n�����\*\��!r�$����5��8;�mm:!�j#�f��k�/��[g�%)�������c�����m���.P�';�d�J�%��d��PS���x>1����C��
�<����%���i��Hx�rg~��=��+������%���B
�-�N0���r���5����������u�P��z�OL�_����*�b��a:D�?IK�����v�/�J�%���a��H��v��
�-���������������u���f�������/s��������}�D��>��n����;}wr�_��vt�2f4Jd����*Os*�����k��h=����u�h�����x�s��#�
����g��X��������n�Mfcx�YVh��0eNj��n���;E���6��bl{����g��!��������"�.!�PB�tVy;������ -�#Y��aK�kw��eU��������6u[,}�<H_����������f��u�@�O���"Y��ro��t�]_e{.^Y��g�g��`�?|2��\��}:~q+/���O�\��[y��f��n������.���>~<v-�������s��r�I>���7����b�6n�g�m+��U���'>��W����,�="""%������B7CD�(9���RDDDD
����z���p]�`����\��r�c��i���hv�����>��?T:q��e�6���s���I�T���8��	R�&��@�ak���9��>��'����MUYw���%���a �@B3B���e|����(������0��8�48��'v&��w�_^��*\F�K���6'��sX�(�n������e������o�G]�)��]�v���{<8��O�k��W@ll(:�N������	��K�^d��1��c��&H�R#��	���q� �Nqa�����L�6;7��! ;n�c�XU4���8�3�,���2���WB��em��\�yq��#�������;V�`��/�8����=���D2�*�NK�p��y�V��&�$�D��#�W�ZN
S	
����p+%t"��[�np�"dM��U��-�c#������.3��A`�������]�I<�"|$
[=Y�����p��@��w��''$D{sI�]���.!�PB�tV�:��������F�=�
������9P�Lw�.K;{�kq��{$y3��������?w:J�[���u4l�a�T�>Y���DDDd�Z���scP�7[����i������y����]7r���m\6igp���S=y�l_����V�����L�w>����z�\L������ s�~u�7�����q�_���}�+���;o����EDDDDDDDDDDD���r{.!EF�/H�Yi���[�t��������3���	�w��2���|']�D�s$N����<�I�lv���U��+T\�� 9{��q���[���-LQf�4�I���'H��u�I'IX��UPa�:�UN�6��x���)���m\r�Oi�o/����_�7�>L��^:������w��-U��n���wR�c�}n�~�Ix������Zq������[����
������p��W��z����T���Q�JL:N2�}�r^�����N ��H&�=�5���W2���n����x�N��a<d�e���{�It H�	�%�-I�h&��X���b���>\H��8����!�����b����
p@*L��7X�;!�ge���p�J�����d��Zrh��{��Z+�&H��r���{��
�Fc�F���$�&	�G���p�P��Z�6=��������K����9�U����|-����n���O%�]>K �&l�"��R���z^�@���DG�'��%�������T��cs-���`}��������t�M+l+��p�EN�W���W�����1ik����	O]��l���A��:���9>�~v�_�M�Fn��VO���}|�pf�}U����_�
7����_����h�3������V9�v�����������,���-y�2����T��(\>�R�`}���'��-Q����������v{y��-���U�'HdG��zzi�i�="e�S��U�eK�z���K���Y��kU=�����w�W�`8N�@�]�``_��WSG�����+�a�S]���������I�D��Az���;q{|�������[U0����n�o%0�����Y�[�c������c�xR��J���n��]�UB���m�������}�G#$q�'q�� �����Nr09���&���9�aKU��j9�
�>\P.��-6Z�5J���>��q������8�q��8��(l�$s��D3����g�N=D�Ze2'��n��mtz����s�$��n�x��p����T������+��I�� ��I���m�"z$�j����*�i���K�<��9]���g��Zd"�5��<���cX��B�@`��a���Z�GG+������v��}4���P���n�o����}��������tIN?����������<7���_������0���b%kr�=���5�x�'��?���a������d~���K�����Q}E�����������_���+�WYTDDDDDDDDDD�X������B����&;0�X�!�&�6�{<�,������w�����/� �r;��%l�&UL�Xg&�&I�K�v!��s
�R�\��;�}�>�B��X�X6�$u*L��0}���y������#�d����/���v?�Mp���T��;]D����Y?��w�|{q9/G�{-���;;��f�X���v�������;P�@+��I��������D�����:��e"�+����[��-'��
x/�
1���q�?8�X�c���=�Er8���&�[F:%2�Db������B�p��jUF�a � t$���5;�I\tn�Ict;-����p�&��D�D2��k�TM��:zC�ET������N�@*J���2��� �a;�'[0�N�pr$1v�gd�t�PN	���/u%sN�oy�i.�\�P7�Y�q�����0#�S�Hm����M:L�[�j�T�R�~�*�%�'""""��4����������)=��'_���yY��:��v��\e}�M�������&�������2M����=��f��N+=��S�j�4����g�L���a>���9�;��}|��������_��Ksh�����������������e(s����,��6�G��|����U�t���	�4l�uq�9Dt]��<�ad����������bs�-����Y�����Xg0�eEJ������ZZ�F	� ����HN�^�S�_i��a���L[T�l|����p��!"G#��D���<V�g�����s����gf������<�w���j�����w^b��o20���	���S�NdF%2.�e|�r{<�_��$���=��1�#	�F����N"Ov�s>E�?��e��V*�T�2��U��h����w
����D1q�T�K\�9�ml�ve'-�E1�	���k���f���j�)b*/��e��i�r���n��k��x�2z�@:N�Hn�=�F��>6m�ch���M���=�m�`��x�_�����H��PB�t���k���9����a7gX��b�m��%�W�����p�H���{	���T����
f�����e�PJ}""""2�K3���j�i.���K��U�\F"�h��s�d4�q:=��J������w�'|6�T�
<���jU�M��g�9�����U&�����C[��'����������������\��Tz*�
��
Tf"A"��M7�������Y�O����!y1����-���ANC���Yr������go/��s*<4<��������Xu���v�"!t�t��K+�Hdc���n��>�������Q��/{|�Z����)�I���z\�*v�$O����G]�X>H*L�c]��p������;t[n*m�i����9���JC9F�!���zp4S��`��>�(��S���j���b���`��O�������^���=o�$D�><6��f��J7U�k[��s��S���#���h�h���$�I�����7p��q��3C�S4�g�d�����������8��x����M�.��
/�5<`9�|�����M�����ppa��?�y*Hp����F��}Q7�������U����C��Ef_[3��kizx�:��������>v�F�� �R��7�MMB����]����u���'""""���B7� >��gY?\\�U�T�����\k��_6��k���_��h`�l��-��������(��/^G��{x`�2���).��T�ix(S��X�r��
��-��t�Z
+jiy,�`J��?����������o�c�x�����/#}nI�4?��X�����y���	�n�db����d��x�4��f�X������W��}�������G�:~�������2����*\��Z����pf<�9ix�)��/I�g���hl8+��W�Ory|0���bU�=ei��|��,�����g����6��@��	���k\�_�wd�<#z$3~��}#�A���Uy���3Vq2%00ri_�	_p��*�������F����h��i�X�N�������\��3woHEC#�l��xk|8g�����%8�-�G����h�o���}XfS2�t� ��"����$���/^��kG������6i��;`��6P�n�u�L��������L��x*���<�(��/N���n�&�����LS�s��[�]��|N������O����L����W�����^	3��{#����_�5\{��u�����_���m3�������i��$
�3w</en��Z�����r-��<2�T�����d�"D������m��h�H.�V:F$�cL�M�M�79&���bN\�-���=�[���QN��D��x�����������E�1��xN������2V�1"�b�g��}8�s�Tv������1�p8Dh���'<�)���8WWd�SD����2��Y�
\.����V���%��\��-�oV[�X�$8�*��F05��s
s4!-%tb<�o���KE��\�=����!t���*�`����`���0�����L�	e^������u����{,KU��}*J�<$�#����W3�Y������'r����N�]B�%rU����U2�t���k�k���%�����e�@�������f�q09��z��!�����&%�'""""��=�����L%p��*��t�6��S���e��'����f����>����+�a�	���?���}������:�i�.�r�m%����xm�~��r�:�����,�l��/��I"""�.y"Lp h����>-"2���&���E�/�j="""""g��"����T_�_�'N|\���$��1e�8�M.X����B���}��'+<��-�V*H�@��N�\Mh������!��/~8aV -&����S����Y��������K�ZI���Z�L�/,�D��8��we�f�����{.1�������wz	.p"`�e�H���?������3��VU{8H����n����Vt}�dt>l`��������S1��4���CF:����wl����i
�%�%����		�KN���Uz��{�"z$J| H�7�
c�iI�L	M9�9��{��}d���s��R��-�kY����h�`�hB�j?�5��g��M�LJF	�$DgUR�*���Y�s�d���a��������M�t���#��"�>��-��c�t[��/����v���3�F�Az�J&��3��7
[]S�b�*K�ODDDDfs�%z^���x�o����[7������������j�az��{N��lo�>���;���q����)|�[���������d[��<��l�W�����Kq�Iw�����h�����""�.�}�7{���@W���"""""2�y�3���<<K�\:JOO�(���
x�wU����������)��}#��:g������%8�o����t��9�]�S^�":��@�=�x��2	>�B�"W�������L�|�����#�G��b�Y�Y�Jb�N��|H%HX�9�^�=�$�b�<g	��)�iM�<����Kd1c��������'�+*��b�O.l�K���o96�y����������&������hE@��KW����KE\3��BW���b<n�����3=��^L����2�����f$!����^<k(��sgs��d6Z�h����Ecm�����7r�K��	G�����+���@������VZ�i��j����t���.�������U��[��a�	�
��6'���K���4���.�������X��M4�R	���G~�E:����l�t���:�GB�D�����w&��z��t����gx��������DDDDd�8�s���~J���%�rf���<���#��<Y�e��|��\}��|�r-���?c�O�����?�%���W^�_}c����G�}������'l�l~f/~CI�"""""""""""������e~������L�����h���i�e�3��������S��7�N�_���q9����&ktX/]�f�(Li�����e��������cs���'��4��5�}�����������w���0�������CV����{>����f���"���'�J�(��]iy|�����P�Wq�^�"x6��{�+��S�v��~�%c��E�[�������<6������-�<����K����s�=/�V%'I��Za�b����rh������W�_�:�X�[f����3���r���]��:�����ED�D������U.S�v/�:��qk�5�-N���#7�)��iCv
�g�o�2X*H�k���U���5n/9���`��X����c`�G�5~�j����4�*�z���6'��f�67��Iz����{�<6��B*F�`��������X����6����E��~|vF�O/vgn����w-S+��S�9�J��n���Z�}kM�,#�;;�{,0���$���P;�B&#j.���1snd����^��t��
s�gK�ODDDDf��=�|��_��{��|�� IDAT��������|���N�}�M>�������������V���}��+gy�+o������?n~�{��N�2�8��?����:��������#wW0���d�_��w�y�����O?������O����WDDDDDDDDDDd90���i���S�4��&xv���}�o��T���^�w�����Fc������c�+A���|�:���{�p}s7�sK���8����x��t����l����Yr���
u�~?6;�b�o��O�S�� .L��m���-��I�#����z�N���O8W�%����LMk,V-��7��/:}�U*Nx�n���
�&���! �N����X�o|o#���2Q���y�G��S�����M-����[7�����f��]J�I"�>���;��{���$�K�3�P�����jb.���-Qcgf������u'<�E���Q��c=l��@�`�9{M�V������}8�s	��:��d����=���n�	���K�+1L��PW��o	�e������V�x�,�����'w�$v�J
��_�������|������Z�\����.�})���k������t�nz���L���������q�V��:3�&��$r����G�K�H&3U�7v
I��|8�=#��������W���$������d�����n�����v������K���M��1S����}�������'����nKb��v�����0�����&��}��j�i�H%v]b*:��^	��-�<_���iy���w�$�Rn���KN{��������8}����\?�"+�8l���.s�1����#5��.�QomS.J�ODDDDfR��s���G������>q����4��4�
�\���������R]ng��n�K�>�*��={�8����s��r��R��_�q��C����p����������|
�M�����x�k>���?��i6�w�����MDDDDDDDDDDDrR���A7�Og��$�pg�uU8W�CqN��4���-8��AO1Vkp����������a:���'�����V�s�
.��?!z&U4Iy�m-4�d�X�T��������qQQf*A�H��m��N+���Y�U�}�t�c��6j?����G��8i�m���8���s�����m�7n'0�Td�	��>��G,}��RI�$z*9�9f�_+�6���A|O�G+%����U�w�Y���00��������g���N	QeO��p>�;}���;=����k�%
�����V�0�B�<����2 �A:	�9��67��;����$b�^��m��"�i�'L���(r�UU6��\��L��Nt;;lv���p_��|�#�b��I������!��;�q�?Z��N�z*H�S`8\��]8����������O�3��*��}2������K�i���.6�2Z�,�$��M����z/.��C�ca�G����}C�k����Bj��h|����.���M�bGm;�Z���Cv���?�l^���g�x�T�I���&W.�we9����O�����Z+����!%���aG-�|.3w��o�a�����2�SK�DH����T�x<n����!����gx�o����2p�*�z\�\r���a��
�Y��V��{&/�����&j=����P��A��}�~Z����(=O�����k����p!� �I�����
��������T�����8v�����q ���ry�3&D��u��,�s�%��s���.��k��m������{FGM���<����J7��\8�s�y���I��CD�P�u�f6���������cs8�B��Z��1	*�>�^I$zNr1�g����
p�J��{[i��"S�s6�r��t/�=����!�y~>���!�L������k�����"��������������%��x'����
c�������4p?�M��&��,q#������l��D�Q�gJ�����N�J���jxh��A|�vz�d�R����
N�\�u���E���kf��_�[VK�K����XSW������]��M�T�c[#������V``�������>���ix!��;�	�'<q�U�t��Dlkp��R���9�MR��[�������F��LRwo+����6a8I*���p
s��������)�G����������>�+p����������|����i�,++d�@^����%�����m���w2 f2Fp���������i�g���}s��Q�d�x2��-�8�|���p�H��Vc��
�M����������������a��^�����z�b��M�������^*l���zl.6�LUa������/�S�<�Vu\�������6�:`M�����p���o5DOe�ry��%+�=�|'���v��l3E����gm(F1"��������%
�5S��5~�F�����U��m�����.1�%:�K~2����{�D�����t%z]"��"��t�;ix�=k�5�g���a\>�RK�����a���&����S7��c�������4���
��r6��U�m���\�(�\�����_<�ksI�sE����V���9G���k���>���wQ�r�o$"""""""""""��2��h���}�����WC_��X��4���'#�j3����+���874��f������F�i���1C���>�~"��Z��l:���!b������sB���C�����4�1F����c������qB?j����Ui��z�_�%�a��Y�G>G������n������{i\�p�Rf���C�_�I�����z�;�����i�N=��9|1p�^O��B���,�c�}c�/��q�g.Q�+\����P�;o_a����{.Q����w��Z1�rv�'z	����� :'�G{9y�{v5Q[����^�32p����=4o��_(s����C�m����\�
96\���$�p7�������s�l7)��:n����6i��4�t{����
�w��������e�?�j|S�'mn�,��6����Ven��v�4���f�X����=��9x_'�*<�Y;?��i�U9�;T�����=J����~N��<<��|e-�u����9]!��Z�cc+��G��U��2��Y��������h�b������kqM|�~6.lT2}""""2�?���+t#������N���81L��\�}�6����\�g�_Y�U�-�������x���8�����i����'����:��]�U�.*���B7ADDDDDDDDDD$oRg������J�}���y�mp��W�R����D�
&H�01��W�\�������8?�����0�P��Ny�W��m������I�l��0�����"{����R�xx����A��tl��������K���S~���M�:��q�S�	�O�;���l��[[d��"b����8y*N2�`h�������]Ty|�s�,��I�D�H,Nl0���I�����z�y\���GY*y�K'	$t,N�\jd�{������%�<%x8D,'1l�W:q������[r�H��|8�t�*:������p���8�����(+�|���q�������E�}x��vr���	�������I}g�*���d��
$��"M��B��D�}2�7��_(�����&Uk����d���J%�S.	J����#��Jr�����x����m��������H�R��p���{bu���tSY���
�KG	������x+��92�e�<��{�YI�"""""�l(�SDDDDDDDDDDDD�g���D������V�����������I:F���&Vki��Y����������=EDDDDDDDDDDDDJM:J����y?�9���;��E<=��p���#�MY4�A�g���?��.n������2�DO��c{����{<�I_�������I�L���sgu�'��A
\����`
����)�g������(t�DDDDDD���>y��
��\�W��	""""""""""""�C:����3�/j���A��	�*^��������������,U�)E�9,k8�}����<EDDDDDDDDDDDDD��\~������-���� �p������q�g����E��Mn��h��O�2<EDDDDDDDDDDDDD
��>y��
��\�W��	""""""""""""�_�VDDDDDDDDDDDDD���a� """""""""""""KHI�""""""""""""""EE��""""""""""""""""""""""""""""�DO�Q�����������������������������H�(�SDDDDDDDDDDDDDDDDDDDDDDDDDDD�@��)"""""""""""""""""""""""""""R �B7@DDDDDDDDDDDDDD�3E29���,��+p�0��I"��L�I����r*V90�!"""""""""""�������a>����|��E\��M>M��;arq�MEDDDDDDDDDD.Y&�S1b�b$gK�(r������b�����3y|���WZx��;��o�:gE������������/Iz���|�� `�MR��\��=,t����V|�_�u��y�
����������8���:W]g�VYJW.Qg������{$P��L�~U���q�s�B�H�D��oZ�i\�	(6QDD��DDDDDj�������gC�{�e<��Vn��V�����W��g�y�W	>�<����X���rw���������m�	���?s��O����7gM.f����/�)w�nd��_��b.�7y��?����%V����}W���"""""""""""y5�GSu}��}��R�-�p��������<E��[���������$u�{�O��eC(Mfb[�c���\2�h�K���KS�$�L��2���]H��������i?�T�C�s���Ed�tmMDDDDda�}�g��?�����^|����������4��|�o��g������9���9���/y����{�k�0�:~E��_�����#�E��#��9��W�����ss����iN��k��������������kEDDDDDDDDDD���h����S�n�<%�t�f4]��z�6:�$��WV��7�����Ip����t��e�7"5%~�
��{���S��������
�&Y�e����L���>���G3'c�U:���~���9���C���^�"r�_�*7_���w��M������W;�N�;$+��+M%)r�&�-���w�(������y�B�M����N�Tv�:M�t/��P�	��l��6��S�4N���X��kQ��q�J�x���]S������m��F�e�y�x�����{��{�>��)�2	!�B!�B!�b��m�K��>PO�cuT����_&��m��/��21:��#������K=��mk�	'���qUN���(�����@���u"�����h!��B'y����p�X7�m��)�B!�B�,�D�e�X���x�R�s�r��I�K���W��z�*���,��g|��'�%.����H��2���=|�k��w������3.�w�7:����F'���Wli���C�s�����]�w����K�Z��M+�B!�B!�B�
-A���f�4��>~!B,�����|z�,��������T`-��jQ�]�,�U����-��B�A?,���H�r��(�*��s�F�r��.�B!�B!��d-�DOK[����u�����-M?�O��k��8���RSYh3f����W�0� i����4x�F������>T�W���U����v�����N����r�;��%�s����66I��B!�B!�B�A'��G��*��F��R���}q-Eho��bhkvO��,�_I\��\�?�_p�����86y%�S!f�B�v�_�M��L��{)�B!�B!�����Xx�'�p�PE����
�~���$y�P������~���������gx�[�o-��9��{h>���/�;;���?����B!�B!�B!��J�%���:�j6�����C:��-<�����T����E.Uz:Mz���
v�|.�B!�B!�B!�Bq[�DO3z~��n}�u��x�'_��b=���E�o����d�O�s�����,3�u��2o��H�$�B!�B!�B����7{���Q��t�����rn�RE�'��/�h���T�������w�j2�o�|�Di�u=��R��M�B!�B!�B!�B��N~��R���������5O�����2
YV}_]���7so������s��B!�B!�B���`��Lp���c���v�e_�jB5�(�����Y����@���~����a����N�|�X2E�_CG�V�����cyf��$Iz��du@�j��x���56�"|�b��%�u���h���6s�q����]�$�w�����e��s�]S�ND's1N<�B�h�:(V+W�r���r��]JK�}���y1km�zrh�}��}�k��k�x�/=���3h:(eV�+T9�p���m��P��I�T�
P�l�WU�t9��m%<�R���$����l���flT�J�t�d����p�����[�S���qz����r;�������,��^��L��OP��
�+8��Y?�,T����R�����uP*�p8�~��u!F��x�t�j?<����Y��p���x��hx��q��y`0C�\�T_�]��f����a[�G�\���l���L�������)�/A�+N*��,wP����r�[J�P/��J��
mP���V��KN�p� �����{k:�K)zS)��i�A�j�^���.���w7���I��R�3h��b�V���U�s�40!�B��l!���[�4]��������%�+��wp�N�$�'���<B!�B!�B!����lh�sK#�C�hy!@�+��7���Xl�v�i���{��.lA�WS�79�D���D��U����n���3v�>S`&+����0��/�S�SQD���=��k��F��d>'�D��k��:��VZ�t����g��kG+�|8f�R��m/t�J��Oc]���|+�NJ'68C`�w������j��5�Fir������6b/0y^�T�{�*��~1��y?�U�o6{M#m��R�rz�o�����t�LM��l�����6|���Ly���W�$�
�x��kK���x�x
p�K��H�8Q������mi����6"�f&�~`][K��V�[s����{"w�Y*��z9�izK��SE����<r�����lN���j����8U�
?�����6}f5M�r�nq��+��r��8�2	/��q<J�z�����PW����Z�vLz�O��(�L�y��pmn�eO�������~�l�|7@:��1���s/��ymKYYK�� �k2�[�}��D�8#���t���Qh��ia����|�����	�	:v5�z,�D���������M��sk���<�)B/��v8R�
Xlk�l�������$���l,������"nG�f��s�,H'u���"��O�J���i{���J7���_��#���.0���'��u���g[��u���O�Q����-_ZJ�$sR�I�V;�q�l��s1���g�<�%���t�����rK���js�t����(�:M��-I`W�������Z���Z!��c���c1������cS#�/��]���:h>�I���}�O����^�l�3�9�\��G����{UN�k��1�.����>�����}@q��k6�_���>����
��=��h�GUT��]�U6;[Gl{-�]���V�J������{���=n�b��'B��I�/z_���0��1b�$����ev\�}�<�H�T��c�87��7�Y?��V�����U�t���=�>0�y��Y�����N����
%��O�[q������4n��!c��RM��34�&�M��UM���k��U#y���"�'>��(���h������u$�B!�C=��w���G_.��
����1� IDAT�[�<��h�'
�����!���N�Y7���wW?��6�I&���e��4����=K��ao5(I!�B��P�����Z+��v��B+�D���<Pk�eut}�@$`lBc������C���_7�'[�����2���j��x��qb���=C���T_������lp��z�K��I���]���X���V��5�*�F�k�������'��2�cU�l��bl������j�S�A�``����N�z�#g��L�eN�P���D��f�	�����G)�"1��v|;�D�L��z��1?O�i|5��-�
��������H�����12��;�B�}�V��|����l��m#���/���m�����z���$#]_�����l����g�
k]-x��h��x���T$J����+�)�����<�����	b���.F	��8��S=�g��X���wK�������Xw2���0�:��Y���pC����F�/�c�q�c�J��m-���i�7�����h�n�jz��&�v:NF��?�~%�o���$�G����j(���%���l�+�s������%c��N�B����en����9e6,������>{�c��J��:|���������:��H_WG�Z��2)�?;�d�c<<�t��sSN3��f6��������un�gF���A��UVG���������2Q�6��qa��~1���1�O��L�|����N����L��H��G]w��Sac����7����w����o�e�������5��z���$����;H�B3���_��� ���2�7y������
}����v���g�L���g�D��������=^Z��pdC����6:���=�����<{����������N��sI�z��	_�M�b�@�62Q��[JI��qo-�b_�j���/C�+@KW�@�A��N��x6U��j�z����&��G\�0��X7x���������}]������g;h�y.Hp��t?,�B!�E������g��?�����r��]��ds������#������q��$�1~�������r��s�6����7fz��;�j�����(��?��:!�%I'}%I���������DBQ:P����A��O)B!�b��}1:���v,����H���Y������s���LY4U�����1A��R8i�2��,KQ���*z����L����C=��m$M����}��������d}����E�P���):��i:5&xK��X[���
�i���FJ����Z�l������-n��v�{G3�G�E�����W�����������~~���lk���W��iR�j?0���1�t�9�dN7��:>�D�tR��cUt�k)z.���Z�����G6�J_��:��8 ���f�R��ve��KC��SA��z�M���}������MV1i���1f�
_��g��$;�JU�
�l5��S�$��5��R1���4b�<��8>X�9p�g�������C/�+���580��.���Dtl7\���>;V�����h�o��c���
��h2��)"������X����h��K��4
�N�.J�X�peY����].<f*���oiM.��q��aE#s%�jl�z��S�x��]^���s��hQZ&H.�V:�r��-:>�t���d�6���V?<4����&��L��=_��P2���X���c������uR�|�e=�r>�e26E�(Lx97�?����8�i~�,���;.���g3��N��X�?P��BA�X��|�P�S#�r�����`t%@����c��v��6=�z%����o�Q_�c��}Mg�����lt�a�$�P��k]&�_%x<6z�8��nb����(���k����3TC�o�}ZC��u��}V�T��pU��J�P��
&���P��r`�bE��D'}-E��a��*�]��1:�,����}�~�Bb(��x(B��f��&_�Ti�����?;f���>a{Wl++��������J�����N����5�G|�����q���L����v��'��H5u���R7����Bxk&x�����A�2��4�s��j���o�C�x��!�B��_��UV������}T~�%z����}}������%��H��4n`~�70Z5��p�������cN��	��������������V�gl_���N�~v�p���/s��.�������6z3��;^��k��e��u�^�[;78�j�B!�B!�BQ�$��7���Gh9�$���<]�KPp�h�]��y'@����Z?���Y��A�7n����Y���B�O�ZkR�P'������,��
EY���t��g,Wb7NC@������p�7>��{�4�W���'B&������?��C�D��?�H��]c�O:�W��L� ���u������
���7q��H��_��Mp��VjW��-���wr�$��(���JL����N3���''���@����.��v������)��'h���� g]����4���ysh\�v�3�=� %��4���v����m�������h�p��3��2p-��'
���<�Hh���Ji���`Rf��t��^���3������|�t*N�@3�5�X&�����;#tB5�a������g�����I*g��3km89�
+�ji��I�!���qz����R����*��D=������`�i�f�_w~=L��3�Si�8���0�t�)�w�I�\�fw�����f�XL�I'�4�U	=�DG_�Vu�XQK0�������C2d����5��w�������c=�_p��1���}�z�?TIl���P_��\���^�~lh��2������j.���!?Cr������i���I�� ��;������
��0mO{pXai��b��~�RK��	���6�E���N�y�e�8��s�A�j�t��x�gh���6�W)�N��1��T�x����'6�����\����k��J��~x���E�(�����@����3j���3tF:9��K�ZGv8
ck���>Z���h���x"?�SY�aw��tz�m�|p��k=�sc�}����w.�5�m��aH�:4_��R�p������F5��d�i#�A�p(L�����)�Z?8vv����P�3�R��n�;F|��9ev\��9����uI��Xb���;��G�d�'Wy������A�L�x6A�����z��R��Y���c�b��g������H���=4��]�������0���?4�}��5��a"M.S6A��a�,��-T-`0�K~��R������o��;	G:���p��4g��:����.�{�B!�b�W�'Y.�����'�C���w����W��wNp�}sW���l��_���.�������W���>�������4]�������^�e>����������-�|w�WY6�yd8����?�����4o����m��;����!�B!�B!�E���~�8U�*�/FQ�v>�K���T����r����wcWtR'�Q�tP�D����
b��jh�
����C��W��F+�ji�i\ex�?F����Ai��4N��[]�~3Nx�%���������|��@�LWl!���u��h%�u�7l��V'�"���RD�LL:�����@�a+}N������q�����<�A���h��X��;�mG�M�6�Wb���F�3��c3Lj�I� ���z�$z9s���o8�
Zl�\�>�Fg2��=n*f�]����G�!p1
a*��?B��!r�2?`v��R>�����eT�8=���7���Ab���\R�4
���|:L2�6��(+\��
��A'���[�v�����������n����uM-m�(��
�A����*H����
�qm��7�Q�<���:�����{�X��I]0����k���������t����� �/x�M�oF1�����Dc�2�'�48>@��p-�:��C����9[��3;�������@5������~��k�q-�5�������\��p���~x�������a����y���1k�����Q;Idz���A&�]�N���m9�<�uu�������;����~������|��"]�Y=�6���0����(
2������5W�z�Y�x�l4Tz��~�Gu�����y�h�N����u����Iz.��b���#��p�x����.���p;6V���^�N��m�5��l��k���� �>��6y�y��,�[�b�����9����������NQl�v$����F��c�m�m��'����/��w�D����O�NM'�B#�����>C[���on]�O�G�q�KV%����!�B!fj�%z���?��s[�s]S=�%�G�/���O����7��bbT|s����8��\��[Y�qt�n{�7y��\Es�l������bk�	�����!�B!�B!�fe��[��G�
���R����z����� ���A�Kg�9�������8��#�=B{��-!�V�8��S8���M�nC���s�����7�[�x^�'MdE-��G��c�S�lN)NZ^�����6j���0�l����$�<E�����-����m�N�x� �i&���i37+k�9���d8��<0:�z<@t��eZ������[3��[l�w��m�9UYG}�!u�|��dPr2'�D
���m�\��2m8�j~���N}e�E�mkg������K�������������-��U�G�y�B���8�1�8�}�e4���� \"���������`���8p8���2���:�5���{�������:C��~1�W�vQ�S�+����g�$�-w����������y7@�|��)N�e���%_	&��xxa(~?\
���Y��p������/�Qo�^�����!|4������I]y��?���6�/�6\�k:��������#S?�$� xbL���%�QhqPu�������P���U8+�'Q��`��vH�^+�\�����>\�WW�������t�HNrl����S���S���D��
�T{~�h�(��5;�{wS����Z��i6V����2����xm(y2<�>��D����m��U�3AZ%��?~���>�[��V�v�^��tt��c�B!Dq,�D�%wVPS�W4��n��u�5p�'����^�����)�������F�Yn�U�����N�F�I�����COp��?�QD�������J�����'iy}��R�>���7����i�Oq�4��l�=���o���l��������q`��x��
�Z�?����iz�W��iQVA!�B!�B!��>����j���� =t���Q8X&�����_���6T������l���9�7�V"+�����pE-\��|������FZw��16�/���p��(�|��N1�Z7nC���������X�sE�)��xwL'xR#r4ln��y�?e�����X�h?�%<Ue��\�NT]J�*��$sdS�BSU�Q	7L���nw��B��l����6�8e��
���T���Q'�T'�����4����D��e��k0����Xcq��v�w���X�����l��,��6=���;G�[:�6W�j���mS����������K�v]G��=3V�~x�$���Ujrn�M9��n[y��xxa(z?\*��"Y���uS#��)&Z>�"����T�t��N"��������^�'J-Y�T�p�����5$�j����G�g��U
7��]^x�9e��b�%P9��SlT��NX^n���%�KY5�
}��������o���j'��S,O��i��TV����C��B�������*C���&��C�C��!|a����DN��u�O�O��������i^3�w��~��s���J�����B!���-�D�%_�*?��3���}������w~��}�^�Y}�\w/[�W���]�Sh�`��b��k����r����,7��v3MW� `���m�7�����E����,�B9~��8~��)7�f�S?�x�Oc�?}��������'��Q����e3�po���p�n������o�T?�jr��f5
;����������T�uu������r��EX
!���)��<��W�������B��g����#�}�+��U���	!�B�����#�|����q�	�a�����z����\(���Y�T�1�t���`��t�J���}�VCP�T�j�.C���=$o��!
��n�,�a�c�4������q����u�M�EZ�{�6�
��4T~�|b>l���mx�HNY���27�&�t��nS��D��d���"hH�S���������9h����ae���tsM��3�*{�=P�����chG����T����5�}t����-X�+�z����",V��um�(��rp�T������)�I{�qD�������K��rcn�������Q�����O������x����{}i]��xxa(z?\*��bY���Bu�$����s��I�KLx��K�c8�+.7n��Z����������vM��~�al;���8:����#����|���Q���]��x��[)3	J��<�
q���Ea�L���v�!q/C�Xt�J��SAC���s�W�=�g������}���4�W��mc��"�'&���!jH��o����;C�t|���b�3Y������6�3I���z!�BQ�6�����+��L��
�?��/�����6��x��w9��Cx��e���<�������������Q�~�8o�s�]����m���[����*?l�%]#7�,��m3��]�����25�������;��;^����w[.��������p���\!�X`�|��{1��$�p��R!�B�#���$�X8J�,�(U;�/��N1V�n���pB��1��RA���	�T�WV�p�����LU�j���4����R�k]�����T��t��pN]%��U8+!z����yI���|�(@���\r�z%��s�A����d%Oq��������&&x�
���;�d(�h��OC���<�`��p�}&�p�c�|:UE�9�^��K���s������0��U�������	p�.�P)���.��5,��P��P�����DOk���~��a����qr;�T�r)N�Vx0F�/�����^:I%�������H]2fJ9�2U�	��f�*�L�xx�(z?\"���Y������>s7L���p(������E�2.q;}�7l���\����qVB�����}%���yMg����+FD�I�B����WUqD��)C��5�x.���(l���c�	�Q���K��S$?H�^O����*�c
�~`�aV��d.X[�w]+�\�W�+@�z=�+&�X%|<6z~/�����T�{k��T���>��~-���'7R�����L�+)���[��o�u�d��~W��Z��	cB�����$D�=$�Om*s�~����g�c�+�74�������
B!����N�������_��'7����/�����Y2nzK������7xp������'������Y�:o�����M�=&�Ls������Ww�|�c{�e�L�g��;iz�Q��w���Os�}z�7~5HC���.�B!�B!�B��LX�l��0��[VEU��S'�����������i���r�0���qe:&����l�hM���t�;�&����
.N	���h���q�I�>O �����0��2�}�������������F�x������l������u�6�`V�,�auL�U�m�v�
\(���a�����������?����Xa�na�x��*��%����N�������'`L�g�\�v�����-����k���f��I/�NF���M�e��z7��j\:�Zc_��vV�~x���I�C�������*d��p��xx�(v?\*���Y�����}���	��T��dHck
��23{Y���������J.�5��Z|�mD��8/	��M���'[9�U�3_�y.X&>�����������)��`���v���]���}�s�o�����J��q��U��`�_�4p�����r�4�}om��F�Dm�D��iW`�1��J5���t��K���n��~�icD�	��j�Np<�������E%���3��I^3���4��n!�B���.����N�1u� IDAT���b�������w��eW��q[���_�y�s��M��������~�1�.>��O�>���������|<�����������w����������z}��"�?�����0��U!�B!�B!�b��b��W&�d�
/�*���������6�X����
�t���`E ���^�B���*�7�U���0�_JVy����8=\�$D��o\E�l������-��K4���mX����~�b�
�
�?}*�w�i�����:��`-����i����_�sj�z���'��6�{z��M�����D�%�kzC�b_[������W)�:�c�JA���7�rL��������	/���Ke<\L��6���X)/�C
��A�����dH�c�i,�(�6\�k:w�����$�l�H(F��c+�������!d��i�&��yv(<�vv��Z���n�c����+J(��V���=.�6y"8RQ�
��:S��������Gi��������2eb��{k-�C���@V%r2F����:��:
�����������~���������DO!�B�E���=~�����%�97����~
|a���}Na��Pq'��^/��d�_0��������v��=�h���-�%_y��G�������f����K��>����!p�\|�B!�B!�BaVY=����{)�( pUDf�����WoX:�_O���z��{j&
IAQbj���-�#��&)�3Vy���V��8��>>�r���6\z�q��(�3���>��1���.���OV\?���@;�=���L|v�5�w���x����v:K���o�US�i$MXr��R��)���Vi���m�����&W�{\?s+c/��[s�4�p����u^����$��'B������V�����l��EB�����H�U_T��u�v:��|����Z�8��{RV��vB�r$/	����X2� J��^Q�oC	eF��L��k����k]���U�����;��}�A�G��;�R���}�^��"�_p����:��d��A�I���5������B!��4�������F2��'d�DO���=����]f�������=�+�'�����y{_���>]���9x�;�L���eYE9�,�	�7�x�O����G!�B!�B!�bF����\4������-
����P���y���4� t��*��L5��V���B��j*f���
'��u����a��I���[G+chQ��F+x({����%���6l�����4T���(~.��`\���7���[���*�(�7�&�a7�Q:�b$�%�9�C�o��-E�)q:w�X%.1����t���}�<�����t������i���%-J��=�~�'rf�^���T:m���t'�z�C[<&p�
���u[9�����*E�=�����$O������B����DL��~�'
���8��U�Ly-����$re��-�1I���FtWS^��������h�`��(�O��?��d�	X��mv��b�s�������`�&-J�����Z/�k�����-���G��� ��j��)�B�(���z����r�M<��^Q������r��/���f��$�,���8��\����*��������~"�_��D%�B!�B!�Bq+*�Y���/;�����V�x�X���Ua$�8�1��
<��z*�����O����'�c���m���pE��w[q~c�e�d�h���
��^J4l~(X�:���@�4��tc�g������d�����`-����L��6@�&�Z)/�������E���z������������_yGM��f��j!�9L��yZ�[u;��2+��������d��1}�l0�Od<|����%���$�������7��CJ9�q������9���^��
�|��&�hD���l�
5���#+����^��~� ACB�����7�M=�@���>���@;�w��W= ����2���0��r�w�kf��P]�qB}���@W�zq����:��:�/&I�@6C����Ho�������Z��=�����z���>S]�B!�X���|/���4W�r�R�����Kwr�������M�7�����=������Y.�N��'WG����?���W�}n��Oo� �����B!�B!�B!�bR�
�vC@d6C:Sx��@��������	%���_G%s=m���4�5sA�V����m��VM~�BV�}�������M	�r!���c�	,�=x7�^a�v{�!T^G�K��`VEUK�R��nL��QS&����/��^��I���:P
(�
l��h������T:��l%��KO���X��?J�TidzK6i���&�&mr�i���0��d���9��x���ps&uf�Gf��f��1�"l�	+T�1��t��������X5?���'������
���mMd��B��r�?�r�s��V9�gd�������&+QgP���z�A����V�1�Z��)C�H����*G.2z"F��h�|��T�'���gV/xM-����?s*Bld4�'���%����l��S+��
�����lB!�b��-=o^J��
��+��/���K�7&�^�����9Nz����y��U>'��/N�uO/
�?�E�m��������?�*
,�����W!�B!�B!�B�yW��P6������J/��<������z~E�B���3�������A�\���C�������i��$�Jh�E�K��"'����nt#�'D5�J�`���m�Q�P+���}m�P����L��_�!y}��j��k����R���F*���_��KP/���t�� �xk��c�������o���i`q��b�)8�!���w�K}P�$���6l�b����z0E�J������m��h���b���gu;���i?�����?3���^Qg���M�����HO�����X�}�xB�J{�C6��I���X�\��f�EC�b2asQ�a+�������	O1�r�o�s��q�h�}�6�8�v������3?��������jD�������r�wC&R
����YlT=`��n���3;��jH���$��[��(����SYWO]��Y*N��3��+	��!�B�m�������G�(�%_����JT~������B|z���3w���{����=_��{�H�����l��������W���z���t�.�����oh|����e��4B!���\L;3�%H��i{B��h���G��D5�!�B!���,�O,4�:���!�U#z<b:���X�.7VdRQM$�����J�����v�c$M,��#n��Y�xI�\�0��,}���^���EM�;�7#q���*&��A���b�����n��rSm����Dph�t�|�C�:7���B�� ��E����T���3�k��z��*W���[���pV%}m�3��8�a17���pn��7��
�fqP�4T����u��P����y��I)���+I�&IR�<)��(�3�Z�_T���)L�.�jx��>����4��[�.��w�L}>~6f����t��N0��`����0w���n�����������=N�l��"o�J����
�$CA��c*G���]5/�7�t��M�d��t��uF�k�m=��gC���*G.��Ms�����s����o%��v��;�!zbh_dN�D��{�F��;�����8����"�B!��.����������m���
~����=�����]��p9����~��ss�
���4A������~��?��Xr'
m�yq}�$��]�#�7�a�����s��G!�����<�~��������9
!�b�����:��\�%pi�L!�Bq���(7�i�T��f��^�����N��?[�Q����d���U�uO��IB�xi%����q�!`�/H��T�$C�p��<u
����l��=�+I��G��K=#�_p��m��������J�N�����-��z�n0��k1:$&?��m����s�Z��a�z������+=x0����M��R���*-�U��0��j���p6C�lr����(�a1'��5��2���N;��
��P����t����&w!D��������ykD�������;��~�{p����*���6Oa������n���O�Xh�Zfr�S�S��kQB�d$���
j
����p�s=L�k�e���$3�����qs���N�NM= e�"o�>c��K!���U��4xM&�-&V���z�^3���I:^�L�
��U�4TZ
��G���h��5T��}�[�
c
����E���n���+��7�s���D�3t�0\[[=���Spl���{�OD�z
!�B��p�������g�������c�����dx���4}o�'w=��5����W��b���_�/���{������=�a�����OsoX������)R�������o8�{�7��|�����}������?D�W��HB!�B!�B!�3VV�����B��;%�lq��|=6cp�v/���Z�������G~��V���$^�,hN'�bm�L6�}���K�
��OZyC=�����|�-~�O�P�lt��:��Z�h'Q���'����n-J��Xq+tY=�6�~�~6@h$�V�Y��i����b�����XL��G��B}�F�yE��Y\
��[p~&��j���d{L��X��]��c��R��-�&�g6E���$��u��
3����M�!	!u�O����3lq��b�21:^���T�<6�s�8���Y�i�6l�u�o��k�|-G'Il��h���47����E6�/��@#z,X��YT��9��mT�5���)&���U	<�zkILZ�}��(|ti���4T�U�y�/X��A�vw�����I����~Z�{|+N���C���86�Qq=B�����U�����{�Z�J���r���w�m�Q���i|PK��+�)�K2D���Z�����gx8�N�X���l-v��c�6bs:�0�U�?���V��z����R���l�b����>��j����|�O����C_=��~�i�L��D�x�I�-�B��,�D�,��?��_^w���~�g�q��c���:��rp�Q��%�7������M�������K���U=�h>���]���Y�7y�g�����|dX�{����
&��^���[��������"�~�>�3���r���b����b��?a�������O�����Oc��� ��}��|�o5�7Z]�����k�T?B!�B!�B!��#'7�c�)��l��P�d����%���������_������#�
r����{������
�,r���P�����v�o�>b��L���<�����jH(
���4����mj!ri��nY��!/��Ae����8
��/����x'S�
��� ����cw?N{���i~��Pp?�c4�zh����:� q>I��we&)�
�����F�?U��VIK�Ay�O�18TO����g�.fr����nmu/��-v��%����].C2�F�����G�b���gHn�g5M'&Ou�m��'�������
��1��n��X��E��zf�^��g<d�4�<B��b��9N.��L�X�a1M�I��o�{��G��p��L���n�N�pe�
�q�K��27������������q���c{��Ls�O�xx�Xk<���O5�q�>B���hz�uP�\-�������z�����><�GQ�l,�J�}���t2���z��_�q���c����g=�2�;�{|��	�}�n|+
�{���}�&��TO����1u�����g�3?��:����$��d�v���%p���1�[Lmx"�u��L�=��}�e�H��:�9��1u���0|,V�����F�_�k�czU=��Kc<7������\l�[�>a���"��#T?B�N����m��p����5$�[lx�x�y������U�������O����$�����UT86�t(~�d�B!D)Y�>?���?��?�������+,!�':7'�*<����r����w7�
?�~�g�r�����w�S/����*��n�q����5.�1��K������B3�t��|������}S�f`����i���.�J|������}Na��-pS��?f'����;ih�B����Q!�B!�B!���	P�l!V G4�"�IZ���V�W��-A���)�2.����}��p�w&F�S1:&����5���5��\�Q�j5���Nn?kIB�����X[��K�+pCK����s!�V����<4�t�Qr$�5s��#]m8�Va�SAP�=�KV�Xq��c��B���oQ��+����N2�S��N;u�p<\��^z�T"F�znM�.�����5�c��[	����c�\P�N������i�tR}��m)K��gP?��~�B������l|1���c~���O�l��� Q�a/����������*g�,�~���� �S���[�l��O'�S�����}[+�YM}s���(8!���N$�QO��;��m��*��
�R�H�)z.���N�������TJ��DhqGi[[M�}v�-7�KO�I��Xq�
�{�L��J��V�g'�D��b�?�}�����>0��K?�X�u���$�r���~(��|�
��
�����qe�6l�~+s�2�o�������MO��Y=o���R~�@\�����34���?y��S�4
'p&	<���K<���@��$v:6�0i���M��
���}�����������������	?��	'W����{��E7��~��F�w����AV#��F�9l����
EG����=�����]����0���p�M{G#u�q�N�������@�J�;1&[�����~c��U���@#��R�U�t�y�K\5n�V�P��D'�����2�UI����hh��Rbd��`����	�rR}_
:�?��<tFY��S����I�c-�6��F]���1�N-vj�o����j��#��C���d3�~���GT��:>PS	b�s�"`]��uU��C�Vo����{o�h^�Jg������n���E�=3���8�=e������� &��e<'����C�����&69������.L
�3g���
VR�Lm���a,���|r�d�H8nB��Y\#�@����n*����/j��-�E�����*$���O?�����_?�y1�{
3j_(����K���j��w]0m��dE!����� |�B�~��r8�P�Ls���EVTn�z|�Q�5[*����)\)��.��T�;�b
��m^|R�i�	�e�X��)QD>�F�Rt���'�DDDD4l~6�n�p�z���m)~��p�1$f�����^�������������}�g�%~���������S�u��R�����h�J<[�5���NDDDDDDDDDD4�b*EI{���(�B�+cgC��������o�� �Qw�������0�*���B~�
������F��k������ANZR�i��}*je9�i7��������!?f�)���B~o�����=��Z
���*����(�����2�����	M�� X��.�H��P<j������hZ���.��}���a�Y�k�4��a���,�U��>j*�Q�B_�B���?iO�C^����u�����C�sTD��v�_U7y)����u6�lR*��}h=?�v��h���i�[l�����x{�_x�K=</��^��"����wAB��-p�����U���}Pn����P�qN�0�<h4�U�-o�@�&��./���c7�����Q[�hV�������#_��NB��0�������oT����3��y���zXB������6��0B���}	l���!5�9���I�z��m�h���a�N��9&�=n�J/P��B���>��h���8���V�NB�7*;JP�a�����rB���]��|���Bo���������-��-vT,kFc���U6Tn�U������z��=�����	�Tkl�AKs
p�=��/��}[-��55�P������q�]nx�*^
$~{��"t�9u����y�
{�
�����+�'����)m��2���k���a@�.;���T�}�
��� IDAT�?ODDDD���\'`�
���a�f�L7����x`�Cx��'q4� �a�P���8����@����E����n����P�4���;�c�?�����X�f�~���������ww1�����������������g� �^��}��z��2K�D
L����k@�#�������Ya�	mrm{�$H���i/\;�?Ao��u?|�Z����g��&�;�P�Yw����.�M;�)�G���3����\�F@Z��Up5��`��<������]�V�3>�P�V��G�z+*�e<7��TdA�e��`�,%_�CuH��~��50`T���<���m�����i��]��P�t�\t�<����f'����a�e�m�HeUh�����9��hS�u}
�BA��B��F��i<��G�0����o�P����4����iG<�A�<a���X�3Sd�����H��L����N;a�J���s���p�_Wr�������H��#lotCx��g�e�R�������l��������������������1i+.���
�\��T����
��������.���_1	����A�����w�q������N�q{�m�Z7����ex<����}�>s��j~�G��r�&XN4��|��.X�3u_a�nM���m�g���C�����XWL��:��N�u�A�FqF��BY%����u�;J��}aE9��������oK��XfC��?��f�4vNDDDDy�?�]{1��DL�-�}�g\���H?�7p��T� ���_�Y����<p�R,Y4S;���Wq�O�q�����[1`��o
�v�r��T�%��������ro��	�f7o��������k������Xv�qY���""""""""""""�#n�B^
#����B.���j5�&�36Ppv(W|���L��T��u��l6!��>�����#��k�c)�h�e�4#A^	*����w� _���_t"��a(6�x�%k���d%�G�gHO�A����$���
��}�P���O
fT��;;5�RP��H��9P�?�P��`��p��
���wI0��(]?�kE	#p��`W��
��A4@����,0�1�?��z�����������U���V����i����g(�������2���[
�6+,��Nz�A�lp 4T��{����5�]d��d�=����������	u��p��v�i��~{8;�����^��!G�`����iM����i]��-�nN#0{B*�������/��E��,��b�[Zw/F����K0�� �I�"���y��* �0|���-0������/�	2�K�x8�-h����8���/�Q:��?F��U'$���L��\3#��r��:<�IDys-;�H�.+T�����!G"��������0��F�r%g��"}
T���F�	%���R�����(��G�'-�$""""""""""""Z��h.7���Px����s�pm�m���XS	v
}^U��E'g�!"�o��9���4����#��;=��m3�""�	�
�����������^�#nk��;;�02��~/3n��w�����O�`e�����\'���������������hR�<h8=2�u��3�sj�~�$>�J`d�'�g�|�A�L�~�A�DD�Tx_u�yB��uO�<s,z�-����N,�$""""���IDDDDDDDDDDDDDDyN��p#��g�G�0�2IsX�M7�#y)���!�	"""�m�����w8P�.w�!"�+��<�	�/��}C�sJ
���#�:L�?�~�|�@O""""""""""""""�k���>N|�����_fDO3������.���@��!�,��U�8�����7��?���3j_(�l�DD���'��!���F���Uh�J|#�U��&w)"""""����:DDDDDDDDDDDDDDD#�4�����-��A�
/ ������H����Y��
�o���lF�*��*w��mnD�Q/����uz�9`)�i����f]�b�b	 nw�jU�DD�*������P������wE����J8�0�,��r�-�T�F�w��M��G0��\%��#""""�����DDDDDDDDDDDDDD�?zZ�|�r,���2�Os�qJ1r����/�a~��;8\����?�� ��u*��rM���jT�RS�Y0��U�|�NV���P�\�����n8���DDDDD�7r�""""""""""""""��	0�l���
F��8�N@F�~�fT������MDDDDD�[P��
[�C����6x�3������_DDDDDDDDDDDDDD�?D#J����?"�U%��]%�7r���V��w�
�i/|� Be�=aD�
��q����-6�wZ �:�DD4�
�0�3C�d.+�mz���$.3��~h~C��Qn3D�����}:B����;-0�����K`���G�����rX�Y���������w��x�A�q�#�I """""""""""""�[b�+���������������7r�"""""""""""""""�%�$"""""""""""�{�$"""""""""""""""""""""""""""�z�=����������������������������r���DDDDDDDDDDDDDDDDDDDDDDDDDDDD9�@O"""""""""""""""""""""""""""���:DDDDDDDDDDDDDDDD�NU��a 6�r�R���$�7j4�H�$���L���������FpF�r�/���������W3���T|��vD���8M�-������*n��������������f���%�%�����7+��.w`�k9�O�:ES��F�4|,����M����|�t��~fD4��j��8��u�h����u��X
�L�u���|w9�O��t��wLS������-$�����v;��:IY�����I�����p��^*|��$��V4^��}��9�.�����?�Mm�E<v�>��J.|��������2�~�g_$�y�a)~p�r<�i%�=�+�Ho��"�}�c�:{
��3>�l�H��������G~�
�����w����	�����'�.p����
�����l�P�E��#�,�oE��J������=�	���~��(�
���cc*�h����s� ��z#�����0')g�����_(�M�/j_���N�c]GlK�GlK�����Qp����� :|�"P��$""""�9`�z*�������|�Z��k3Z)����.��??����_z3rgg�^��g��+'�f�Gh8�Nt\����JzK�g��8��c��+�{/��J�=�3��kh:p
��F���-�]���.\�;��.~v��p��)����������������0��4#4<�n�U{�s�����d�R?lFc{xd@�q{
�W�8Q����z�������(K���`["3�/�EQ�o0�q�
U[��&�h<�bL�������7r� J��
Q���������7����]�83S����M=��U�s?	>�G���e�n���s�\��!"""""""""""�+�����3��s����H����	��x�7�i[Q��U�9kj���}�A����9Q2�%2������q�����~��Y��DX��a���V[!*���*y��
Q��w?#-1B\����#�GY1\~3E������}����U��X���/���gt.���)vJo+��.���
�6����p��/q���x��*>�*����������kkqg:���e<�"�sI�r��-�}�
��w�p��(��q�OW��#���q�GDDDDDDDDDD�-J�"������Y�|+|1+������=��H�Na�'y,�}�i���P��l���(lK�,%H+~� ���������h��_�����/m��M�����W�A�wn�[4��QV<^6��y�������pg�j����~�w�Z��#8��U���p�����?�F��W�����F�q��I4i�<�0`W�v���K�;�/���_>�'w�u DDDDDDDDDDD�@E��/�!�U�u����d�����y�eM�g������A��\�b�������N�UlK���q�P�SADDDDD��o�:sC���{���hy���?���	�<�����p�|-��d���p��.�v���9l�r�����i�����?��I�s����M��6��>�#�	�<���(��0�K'��l����B��p{=*L����V����B>^�M%���Q@���$����������������h2�LG�4�S����K��w����uw������9�'�������X���V�2��e����v�G�<2���jv���4�vNDDDDDDDDDD�K:#�~��n���"����eJL[�8��.�B������F�����a?r����:"""""""""""""""�d3�8��p�������}?F��L��%����E�8{k��[}�����Y��c��������Kg9�DDDDDDDDDDD3I����-v�s�q��+^,_���RC?��^����*�#��p=g�Q�i��CLA�C?r���P����&�	RA�8�(�s~����**P BZU
�f�3��K�7 �7
�� B_lD���e���r�_@F8�@�0����f"���<*�jT�?����������JaZ%b.��'�� ��5&@�K0�-����
XE��h�zQA���b5�f3�Y���K���kU�K0n(E���<W�����2��D�����eF7��T<�'��_�rOJ�$MX�����BV��A�����@�
�����F�^g��{��3�m�Y�*_
B��G����N��7@��	%�y��0���l�%�~��O�0�!t_	CQ��vP��q6�����dD�nz}�Y����ze�������#$'�D���
#�&����gD�s/��l�I&,%�sud�E����0��c*�e�q��,SzB�d�{"����"	F�P_qJ��"zIF�,#�;�{�
�(B*^
�3���>��5��
�J�P7����x8�$���z""""����L,��s}��KWb��<y:��v��0��n�����g/����?����^lH{
Q""""""""""�|"�����U��v��������B��:=�{p���eYN;�����
wt��t����g�4��/�����^��j�e
�0o�F�����`�U���J�N����-�{���v������[},
��kP�r3B������F4�3#��\
B�\pq���(R��N�����_8P�Y��������B��)��a����p
,�6x�����7E�����(��9��X��h��f��f��hG#�����#%�zq��g��c�~����:'��t5������)�RY\�:�v^�e��R��z�9����p���x
�8Y����C�C(=���%@�����U��rT���c�1����V��J8�_TMZU4�.D��	6��
m����ZL�����V�:�\Q&XX�����'k��k��OD	��B-o�������jn�?mY(��/�9�>@x�����q��������Op��lK��'������!:Q�H0o����*����Q��>.���P�!X� ����-'y�����g�~�`yy�}l��K�����=��Z�p�%�c
��'%�=7T7������>�m��������V���S!��G�k�t���YQ �����������������6�NBM{7���u�q�
_�{�N�����C��MV��^�nV��S��`���su��:(��V,>:�vt&8~���|��f�<��s�u�u�>��~�k,�Z^�;����N�����p�����jVXPu����7����7��r�'��b^T�h.�&��*H�,�{j9��~��8D���6��f�n�8�efT>W�i�O�L�e)J�&^H0���f��T
�w���{��RR_/�	�v����:��K	�w���|�/��1�5"������P�E������
�t���{�sb��m[Q��
�����'""""J��.W���"��KJ�������$��1�K���0>��O,�[��\��<���RS�}�g ���O��ig>>d#"��X�5h�R������-���cDDDDD�$X�n�o�ky=��t"����{ ����BU�����������Q��+���?��1*Nz`�
�2�I�8b�8P��c�C�����D����)�km���_z�p<j���I"pc*���>���g=�� �_�~Y���>D�0S:V��� �����<k�*�1@���������Q��!���rT�:0�`�!�%/���s�	Os����>'�5=U���q�����bsM-��H��{���qL~���s��T�^oA����5O���Dp�@^�@��	�U��V|�����%gCl�>2)U�p�k:����<�2�4��ty����7��>����4W��zQ�����O�������������5�z8{�Q��'�Q�h#B�0i�#�7�`G����`������l�m�Vc5|�fEx��x�
�<���},�dC	p�;X��t��o���Zg���
�j���/�����)~V�h>�}_���f��)#eSX_��]���-1�����W�z�x�����nG�#p����p�������i��0�5�F[jON����t=�JP��m���l��f�Hj�N��	��.�{���������h��F�b*���p����������gMO3�f��k��P��P���+^�3l�����plA��'�B��(���R�r�<�
$]��m+�O����������B�[U0���B�4�D�\/P���}��i�e5B�+�h=�������Tb2�����4S ��Q���{WZ^��8a�j~�+��y��q�HGQzh}%o�k�-?��DDDDD���@�nF�����
�?t����
�2y�������H��^�����\�g�c�7uXrg!�^��l�?�'�H�o-���Y6v�v,��
���en����7o������,���DD� ��\	!���g@xd g)""�}�h���3�2��������f���C��Z�����pb
/���a���s�o��� @H9k�@/�Q���Q���bJ�� �T(� �]��`�~�G�bg�����JA��b0XZH��E��TE"0C!���/�^r�v�*B���cK
��$�iFe���rD	�
FH��D w�3�����r+����<i`��Z�� O���H��0�?�U�J3�{��r0p�AHy�I�[��rC���c�l��Y�����%@D���h%�P(��f��h���mw�<�`�������Qy �!��0��(�Ka(���mE�����q��e����a}dl��PlB�Q�(�P����������{+T���m���U�G+Sy�0$�t����F�C�)��L.�o���*	��"Da�~_A����|���2�sM(������<nG�p��N����Q���^z����������2���@��Q��	��2�����~ep?]���|3_�9!@���.��*"�d�]�����}����m��rr����0�����v��6�4�E�C9����i��p�������k�R������;�[�mB#�M@�n[����������V��k�]q�rK����N�����D:���P����P��Q_��h}��'S�f���B�n����C(HuO���MR~�j�!;��xQ�"�S,6��(A_$�%���-WyF��:E���l�o
a��P�:����J�n��P2����	��_c�j�16x�3K��/y��f[��`e�>�dA�S=Y
��F����H0�3�` ���m�X�}�{ IDAT�/GoMKMY�	z#�+0,!@�r=����fa���`Q���u�<�WE��c_�"I0�������Fa94�}ODDDD��������>�5����WnX_�T��n�����e��
O�{�S��� �X���>~*�V����ec���`���~���Y=��/���.y���=�-eg�gwh�X�p����>�����m^_�hT�-�woX�����'Wr������/��Mu������:aDD��u[�^4���3��:s�0""""Zp��q����T0�.-���}��Y�����[���~�q{]��b_�S���G,qA����u
��;�����,������Q��]l��l�'/[d�7��q���EHlO��2��|��h�%�E����@K�;������/_�|����xd��|�����^�%^�V0����e"�3Glq�6]:)^�������EL�����?sm����
���2����.���|���x�2M:�9����3�ex����t�s)�M{���3U������9�I��9�>`J*�b���7V���E����{���W��5����EW�2�7��)�������Q����=�^����:��t]�:��)n�������G�Z���xD��[����k�8�U����u9��v��g�3��/q�5n?�?Jq.���p=l[�|��wx&��������/mOQO^������vY��L�X/:�&M��?q&�m��f6�p$��E�W�q�` ��!^���9���\kKd���<)����5��V��x������YK\�-[�)w�~�}I���V}�L���d{��_��C�)^J3�_��5+4�3�we�nK��}+��hgS��x��|�h�������X���x��!n�_�����wu�i)���������e����'~�b$���/~5�oz�<n�#.���>�������%�W��@{%���������[�!U�hpG�H�%��g�E!n��q}���R��Qd��4w�����[����I[���5Q~E�
e��QPoI�i�uK����A���(��<�O�6����xS���
D�g��%A{���������-;5�'Xf���t��)��8��
t:�f19���x]s0Iu���?�zM��B�C��W�q���;�!���l�������8ee ��^7'�5������9\��j�c)2��R�cH��g��C��e��{��%""""�E��������|=��m�������~?x��.��v���5�������	���#�����������������]�����u����\���W��$>�
�w��K�[����\;���v�����z?��=�:����uK�g����7���'p��|y---Xj�_?�c	*_�"�/@�R���n��
��[��m
8s1��H�
��AT��(}����B6)'p��y&RdE��68�Kc��/�)����s�f��^8x�w�i�P�@���3h�E9�Id��j�9�H��P�hE���6�"t�
�&�KXc����v� ���@����k
L��������T�r���P���5���l���Q��/�f���yS�c!��{)�Ox�{�
�����-�[��q�Gh�����M�rC�x������'����V�wh2&����$��Q��>�5+�l�/�>@o��U|��9��V8�0�9;T�����lh
t�����o�~�^�	��2�|�m!g�[`������{*��]7"���;,�R�#�p������S
�\�|��m
8�v�z���^��h�IUF�FM�Y*��6�vh�XSOs
,���#�a�V��A�CnT,�����YiKd� ��t��^������fH�MVd��p���n���z�X?N����S� 8��\	 8r�`2�bLV�z~�Q����o,���&��
m�������U��7��e�l�%rw���T�T�^;S�2+:��<_cQ�Ut"�[��tN��U��S�w-G[��-.�.����
�5�D?�@���
��/��=U?)}:��z8I��2Z[�����<�AU�6�����X��#m���gY��o�u5�y,��\`B��^�vG�{�;�v�	s�O��!����t��G%Z���l��lM��X�\,������9��� �__g�;M��*�,{]h��go�$3e���9����=p���T<N�0�m���G����jc��l�+@�T��7��[��j�K����|��a��3�m3��y����_�����g��'Y2�������K��������+i��n���o�c����|:	C�Y��xG����#��M������G���.���4\��4��'���ch�8�=A""""""""""Z�b!��>�F(
�V��D����U)FTa{������!������<�����
ax��B��Y^h@��q�?@0��Hmbp���F��>bf�w�)��Bu�f��D(4��8_%
>uoB�$A0b�����n���xn�!���Oj2S���rr0_2=�_v�|�
�6����F�v�|q%\��,�ow��Ss��p��^�HV	&��R��L��g�0j�y�� ��-@=U���ZaM
�^�k��LL��Q�>�P���)F�*7���I��9��a�[�t���i�5����OA_�S�A
��/�G&�'�`�\*J�����V�e9i�T��4O����������D�YQw�>�E�`��@��M=�C('�?D���D���F �
B���(�h�P�K�fO
��t�;i�
���D��NJ]Hf�-���5���q�����3��
�����"LOx���ij��
�
���v���qE&�w����l���9^kd+�T�W�A_[a]�f�L0����1���aJ{\�/EX_��}����\�I�|�	k���!�^�v*�x�n�}�r�('\p}�
����D�����W���4�Bl�`[�~y7;P�E�|��\�� [�
����@-���-�JY��y��~���y��h�e?B������������6���_=��GVb��G��UM�����b��W�����4�z���������8�'D�/"��g�����!i���D������f������/����t��h�[1$M�y���rm���
Q�����s�\y}W����{p�V���4�\�
g���L�""""""""""�,��Pn+� H�<�A�b\;&�+����G��g�6��;�p.���U;
Q������k��*��j�������L'�b�d�E�7�$�GL�|e�������&���@��t#��h%L#3[��=�:
D9�
���������I6_T�����,���Oy53M�]U�N:~SD���IA
����E�d�}�$����s�����H����D53sX�s�2n�����������-S|,��L���bI�,� M�����$�U�QOZa���jm�2����bVL+��,�%�ZA),��4�+�;G�F�\
�p����R%DE���������A�SH`B�c���4�
,����C�m���$�o��sZS�V��r���q3��������2��~m_e��������U/9&��\6�tS�G�������B��>L�b����:��[&�=����s�j_e�}��]gD���c�E�v��3�fC-�Z�_B��3�e3i����l��UU�Ogz��^=<���������(���@�E��^|�)|�oO����{���Z�J���M+�3�������=�#�X��,}q
/�����?$�pK��[������?���������p�R��E�.����#-O�����������������������7�����@��&Y�������e\���w����x��^�}�KX$���-���]��7�4���>����8""�|&��D�^o��k�����������M�u��NT�:aDDDD�P�5!x�g�`�h��.�\���!lN��#��+���L0;C�[�4A&P�g<}�R`N$;�XJ:���=���{Z3@Q'������k�(��N����a�jA
(-��1k���2����i��a�N�L:	������������3��i`�l���[u�b�u�O3Hv�~�43!������_�MMp��P�<���+���'��p��!��/�������*B��,v"�e�P���;�/<o�x["���������.<���j�T�:S��U?��������ZS\�2B���`*MoV��d�_������(����C�SM ��n;��|f��f�-1��o�eax�eMH��]�Y���+a�:q���M]����_"
5V�|��u0S�~�z4��-���B�b,i���[�fKZ� �fL���vf%�>�(>x��KX`�`V�l2,��+*"7rA��z�����1?��s��,DDDDD�����~�G�Ng�;�u�Q���[���k#�[���>��GJ�C�����h�Z�=^��
���C8��q�3��r��������O��q��*~Q�{��L������qtW�Dk�O'`[�
�	^,)�1����_
�Yg[>��=?��9_z����#@�b�=�� "�KzX���$"""��I0������1�N�YAZW2��!z�	�od��rIF��	�-� ����@@�#����q��P�������l� =:	�$C�M�W����
���(I���,��=%0
�,��2F��2�����9����f� ����Z?�����g8�� �H'WC\���BU��#>���N�&�JQ�I`�P�
_�����������9�R�)�"�i��EU����"��NU�w���I0�3�zR���!t�M�,�kJa*��1���Q��b4��u�i�L�L�%rL���(#�ADQgNu=�/j�S0���((E������t� ������^�4c���6��m�j�%%W�����i��g%���P�����,�J��^���Z8���>�l����\�/����xf��5��!��!��M�=ji���
����`�s���_���������C��J���2in\_��n���)���c"�������&�xOIz��P"�����
YE�/b����H�"7X�|	�4)a�B2��0�n�Pbc�[rr(�����UaY��E�6� ���b
Z�*G�Z�N3�s�b!""""Jm���	�������W��xb��������Vc���uX4��/��G����'��j<^��4Ge�8�q�~�j?i�A�?G��DO����q��J,Ig��Jq�������{�+m������C_\���`�t����\'�)I��W^&A�a$HN���`��l

�I�_�z�'8#FX;�V���i��k�m�GUh����h��`H9�?���Hs��b���C�a�^���@X=�e"����1�^9�9�ND���J!���x�"5N���
�#�.�$r��7�2��1�Op{������U7ZO���t��Q���n=���f`C4��4���QY-�T�1������RE��[O:�_S
�fJ7�P���U��H�%3����~�����V|]
2M�����(]/�����]~��������>���)x;�f�wIA"L�I��Y�/	��,pv������xU���z/����L�lCEq�	�/f�-1Z��[sYoam���%�x�4�����m����r~�Q�D%�v'�g��Q��f�.3
�W��0o0�d�����,S���Y�
��i�������#�Cq�G�3��L�HW�"|_'������q�,�c
B'�:���\8���L�wU�z$�����F�����)	���n2�t}	L&�<�	�����(y�8>�tK��r9^
^����GW�Al5�:����m������L7�.���|�u�n^�3>���|&�X��9�_h~�]����������n�[������������^���p�?t �"���1`��+>DDDDDDDDDD4��pT`(�J�gQ�`T�X�<hQQ�7#��!:`��K��F$i�n�~qa�1c��A�����tO������%�M������4B;0�O��)�t��&�w�|3��������P8���S����*Q�f(��#b�/�I=)�(,@��T���#'�Jv���~7\]VT����v����C��W����v��,��f9��t["�����|�	oO�f�h.�^'#��L�]���������2	�h�X���9��%�oB),��u��K���^4G@E�������.:�I�������"�Y���Y���}���n$�	K
�/P�m:��~-+}���^g;��-.x�w�z �T�����B���B!�+��Z	�^�yR9��1��B�X�R�$;
!�����C���Ow�y��F��7�g����E�N;���F`p.=�\�`�
����5"����?��)7���Y��L��U��Q;�����)DDDDD�,�H�;�k]F�p���>|��o�^R�%�	HzjnX�U�����X�M�z�Z�W���G��c��m�������h��b�mlf����t�tX���i�\����O�C4� ������������������/m�NE�PG�"2��!�)�:�8�S�T��
���e���0��pl i��  ����������f�:�S�/�����F����m�c'�EF�6��d����c��� ���g���T������l�^��ZC0�����=��p��:�F�����p��A���<��9`�����u��,�����*Da��:,|�������6�Q"�������������r,m��=T
�{*�^�0ap�?��`��XeBIQ�}e5�D+��%4�������:�6j���i%>/��}������\���v;H�0���,����Qg3��0�����z8�7���h���
��{�~���N�{��k�����g_F��=�9����o*���=�I}pX<�4��cep_J�Pq����
0�.��]���f(?��^��m
�,p�w���<��T(�h�@�kN��6����/�!"""����	�C�F���n�)=���m�����qg��v�b,���?b����#���8{�{�]O$�x-�FY��Nh�P��7� ~;������H�C7o.�_4����������������PpX��bH�@7���J� $�������L��P�b����Df��%�e���R�u����GN[��Gv��Y��Q�J��D��i���0��L}��P�X5jOj�eD����c��pE�=4������zR'����t������k��	�s^x;�~D�3�������+^�n�B���n�����x�>)�H�R���(_5q9���'�H_��U��CP!w��B����o�=�:=,[*Q����BP������q�X�P�X�,0��+��_,�m0=8X��d����s�e�������Jb
��JXx������*����\|�H��t���V~%���:x��!z���v�!;����EF��V(��m�4����1��_gp����i�M,��R%�|I��4�3I����� OaU9�/�P�E���TO�x34�Y��z����ZGo��^�A�B~���cK�)�V����*_�3�Q�Z��TtX��9�[��z��^V�E�$-�*�,������wg��8v7]����+������e�'!���q�����E����BDDDDDDDDDDD�J�X HnV����>$
�E�`���XQ���O�gx�W!D����1}�������<�=�������M�O�K�\(����E��DS9��0�,=2��������j��!��5�g���}�T�1�Y��B�9
��i��0n���yx�s�.?|�Z�~�
���t%�3n�|U�m�eB=��&@,s��w5��G���7�BYc�y���g����*�|����l�H*�����P"��T��z(M��&f����=�AN�I��%�]�s�D�5�%�Z�$�E�E����i��$��)����_ IDAT
����������c'�G�g%��Z���;{?�����{W=��+�w�>����P��T}���}��U�2C��t���0�USV�]v)�(�����.K��	!&�������D�������e�y���xI2�+�R��=5<���2���1�oMdvg��!��Y�]H�0Q��;�$j��h���(]�����>m��W[���*U�v�++`$���T��JY}dn=������e���Q�s��AiQ��!.k�+�HJ�xe������SU��r�kzF��j��E?a�u}Y�v���Q�=���>#TC]��v��b�_!��PpW��r�U��h.�ub��yuOH9E	}d�L�&I3-_����j����?�x�����>����h��Z����z^1[�;�k��!~�fK�<��S�Ad��g�e�x^p��W9-�MO�Y��S�����sbu��.�,�����Gz�K�C��,��D��|*�uC�
]�cpN�s�Jg��Q���Q'	+x��q�f����=i�.�����Ts�9���$�����%���<F,#I'�_��iV04�b�.���p1�k������:�
9x���R��a���$�B��vfC�����v�����g�K�?��*�H
)xj|eKNI�����1$)�WM����l����n��;C�L���dJ2�~5v|���%��I��_nem�|�P�*�����5�����)��Z0���o��oMd3\rY�W�h�s��i,��4���1�_�2fy�~O�*4��2W��H�[����pv{�j>�z���`�s�{f��(#aoZ[���+�����e��l=�mN9c�;V�����R�H@��vb@fC{6�v�{��
���� ��Q5���]JY�����
4�*k��;���v����,.�@��#�����sj�f^����m-���:�O���y����.�t�=3c����^��G�t��%g�U�~����gCoH������hG2u�d����-����m�9�n����7F�1���[g,�5����w�G��[���
��6�(j.��X:�G���1?��iBv8^>�Is���?�2m��Q��F������-�5����Q� Y������lM�1U����t��uV��{���tP �v2�v���r
��u���S�i#�`����K�OT���d��{��V��%p��(�� �������cmOI��V�F�4�#>��K����^�%����Z�p�O��8X��L�H�g�z���Z����K-���*�$�_�PMGvw������u'��D��[���K��=J^`�>�z��W�1�1y�g��p��1�_Ca��~�*I�6�O��@�$���[��Q>�������3l�����/���n*�act���+��ez�[��>���!�f�f�+<���=r[�H�O
����`�[���J����!5�7����lW$��<��w��#���K0�3����vQJ�������9�j-_ly�?wR�E�6s��I��n��$�������k�O�D[����X�����g���:���4����t:��>��Y>�-Q��~}�B5�W���k�<��	1V��m��~'����%�X��dkG��|Q�/�W�h��PrJ�&�/.��Y�
�zU�<�����GS�u�e���M���SdXO�VsX�&�9ls)e�%� ��6�������f~����Y�����1a�*}����W����Ug�2����f�0����T]��9g��6�v�+0��'%E��}{�]��-�jz��q};�]��v/2�}��.��(���������Y�J��V���_�:��$�#���{�%�3�S�{!5��u��SR���~����2C�k���f]�*>
�bWMW�������&��D��[���_�$��+,�E�����D=���0�t1n��)��h
���w��r/K�6h���M�H�g�e�x�|�F��)�|��(�e��{�������<�0�l��:��Q��1�B�'5���]�!�"A5���1q�W�)���Q�H^/����Ty`�w�K�]1n�*�:�M��!�D	��K.����;z�������+�jz�k��on�����H�^�<��m(rF���^m�3lZ�b)�g�������_���KRN�=�bP��m�u������=���^����z�:�N��Z~��T	��)��{u��f�?��^nxU��"�*Y����\���#�����JW����h�Wk��(:X)Si��j|��WN�N���^�����dL��*T�g��e�k��'��Lm#\��h��x`s����s��jN��IsJ]�JK�I�K���`X5/Tv��Z�.�����1e�����9#md��:._��+�=� 5
��D{�����@T����T:����h��UZ;�Z9�y��r���^���}��X:o��J�O��&���PS4���~m�z�
a�(5�������^�$c�*�[�t�Wx/<�E��T��3+���O�9�r�uv�f�*�nS�%��&���s���1�oM������-kS��"�=1�T;��;]��a�C�������n,����<���g���}.;&l)��>_�
��e��q���(���s]����E���(G����^P�G�*0`0��r� ,v��N��Jn�%0���?�b������{�)��,Y��'��h�'a�Dse��=��
������l9�
{b�;�`�_�lz��|��*�k�S����wu�{S���t��Mw��E��[��v�@B�����_����������a������������h�}������D�~,G��6BA��d�J9{�:���5������s��s���K>��u�m����`�p)�no��h[Tv��U"m�H
��b�������*���\m��t�<U���mjD���m�����]32���p�y��=T�����U��8�7 ��nkz�z���2se�&�9l��*���O�T������pm�
���6��6x��v������-T���O�W��k�9�T��L���a�6��zw����=e�jG�9��v�����|�D�V?�!\�mV��N�)P�%���,[Y���G�+,��p���
9��X����e*y5�&I��5*{���J�>��{�<kpD@��
�q/���U��x�2�j��m,Ui��z�����.z���LZ��������\JY�W`wl���,WY:�L�����Q����A��ce>K���5�W�y�*���~�����Ht�Ch_�6=���Q��q;��=���*N0�X�KR�����"�]H;�,��]����D��\y,
w��|��s\��J�����A{r-J���jx��`>S�'T<��+T����f�
���:+[�+?b�}�W�����Pe�dG�1���.�T�x�r7���yV�������=9-������}�����\m|~�/�]QP�O��w*��vv�vz<��@�������>tH?����]�S�l{G�����/z|�1u��I�����������l�Z��[�6m�MM�����g�|%�6��1��e������Kw<r�[p����k�s�w_4i�����_t�J����>������;*o���en�-���5}��7Z���^�����~rX?�����-�����{���`�s��h�P�6�e�������O�2V�`�5b�
��DH64|����*o�%0��P�%�T���w��pP
��i���r�Wi����t�+��MJ���,�U��e�����P��^e�/3��2�]m�\i�a�*�z�L��B
��"=�
`���F�
���o�O�+��j.����|����+`9����*�q��c2&l>�/�%���Ly�T�v��k�<�������%�w�Jj�:?FUwf�+�z��T���*y�A��)s0�=��LkV����V�{�������s��i�	I����%�"�+W�
�����+�yK;is+���!t�5����y��9���M�����_~��O��<F���Qa�|��7k��e���^��+�iuv�`y{Z�V]
�9L"�5���L����|�F�^N*��m�Hm�F��a�V��������B��l.y�<=�TzZ{��P��Y����E}���e�(7+��`�yY����;����1�oM����������e�u�RWx��y_���$�?���
�r��M�g�����w�X�+�VZ#��]�M���<<��;Ic�,�����Vi�+Y�6oS��A��Z>��������z��������\����=��Lm�w��]��D����@+�����2�H�����w������Z��G|
��3��~��3
T�i�O������_�-���P��C�a2+[�k,�1T�Mi7���j�~������B��#EE��u��C�
�]���}�>��Mk�k�2���Us_������e~T����z�&P�C7+��J#���a~�1Q��HH�/l�������@%/7\x������3����n��Y��| `�}�����u%���J�xNE��<����0�P�":�b���~CK6���?�p�'���{_���o��d�S3�����}��I���"q��=�o���}�}����7t0���}�i����������l����wt���T6M��j���W��#:�����'����-^����K���?Z�3
c�]��(��������U�����T�c�sp���h�s���?L�������Aw6����7k�f_{'$CY��U�f����m�7�������R�z�K���j9�W}C�t6��O�����9����J����#��aK��!{|4m�*:�������H��3U��3��V������e�n�.��%
�����I���H�w����\�I5=;Q�]�,��=#QSt^-����$�����o����"��,PL���+��=�9�����#����yP�����'�"�<!�::�������2����"P��dD����������#9����	�zC�2���g�]JY����)Rk��|j8�}���Tu�T�Wj�F��M��G��5���iVi�@��U����}�u0�U��WY�I
����wW^�q���Q��n9S4�<���C
~X/�l�����J���Zy5[S2*;���'�T����}px�F%g�u���h_���S6u��c��uc�R�w)�0�
��^���p)��\7��1k�5���G�uP%��w���)�.
��v�F�]�,���0����hP�G����^�?1�,y�|�j�����5j�8�|���py������p��Y����Tb������^���B�2]��*o��OG�d{�]a����U�w���R��^�>Z[4��^�����HE����c=�[��T��1�~Of�6�V����������<��oS��B�-m��r��5�����SeZ����n]�ykT�����I&�������0
��c�|�D�V\`d}�I�?*�a����;�/��7�qk�@��������6it��b��/��%UM������;��%J���+��$�;�Y�,����d�������\�z�^���5���e�=2Pr,h7U��������.�C�N���;�32^jVUN�����d�>�������(Y�$CfKPM���+�]��
�x�@��m���b5��s���N��|�Ens��L��u��v���*���)�f5�WC�AN+K�{-O��~'q�L�)U�[ ��@�A����)�����5,��i������k+t����j���L�����w,c�G��\�)R��ZBA���{���Py�<wWwn�w�����9�2"�Z�7�w���8#C�*xp����]�4���Tm�f����Z�,�5.%^i�	��T�4(������^�?���`���(�?�_[Dg��5<���I���kU|�3� OI�%*��
:��.���3&�\����`�%,�I/��~�<c !�V����W��u������T�q+�%j���� O04��[TS}^�Y�,�uM������>V�9���ZQ��7[�|��f��56���l����+F�y��s� 'W�k�\����A�,����`����Zg�����+��5��}A5�\|F�Jw�)��w���#�[�����6[%�����h��c����j�2�����0T��^�};cQ��^b��4*�d���W���R��%�Y���~��x5�0M�
�s����z�E�Ww���<U�2 ���]Yh#a[��o{Y�p)���*]]���C������r��V�Sj
����v����2U=6� �ex�R������}g��X��f(��=���3�*�U1.�<���,1��J�J���U��+:��{9 _ok|7_U���ecW�h�JYb��2��}E���]������������uc��fd*wu�jvY�o#U�k���I&��D,�[&���0n���:�6��u��:���!c�8����~��q�2+W�C��P���b8F���!��j�/�p)��*��� OIrd���R��.Pu��<�B�T�Q��
y�P��D��?�Yy����tm�3��o}
���=�x�T�c��4��J��]�G�UX�"a��Q��>���UT#�S�p�	+sm�j��<��
��
GY��=�K�e����[�m��{�M��_�S��)2�y�w���"���'��CZC�����:qxU�r�r��T]��6Y��HX��|
���Bvy�������	���b]��K���oR�
��GD9-I�sn��7����	��0��M��_{_������s^��-w�_w�����nh�M��6�zo�
�pjz\?��M�I/��~�������}E������{�r������+-O�u��Y�%�������A��2_7:2r�e)��*5��^��8��T��+��>���
�Vo��U�]0�B�f���@P�����IW����u��4���V�K�j����E���px���J�v(k�0�;
�d�8V��U�5K)���q�[)k�T\Y���x|f�3�<T�����ck�2�<r�����w�)U���[���]4��^�Jk�Uu�{A��fe��n����e��X���{�^����k����R�3�
�����<s�����<��+U������M�w�[�?��z�[���q�B"Z���V��[3��o�[�?�R}m���������bm+y����y�������P�w������+}Mz��cE��{�:;�M�g����:L��ee�������_�W�{���f�kE��v7�fe��w����[�V�Q{����5^y�8d��)
���fe���b��x���~0����������3r��1���a��s<���:<�}�^���RZ����Q��~��)�}�^�����3p|���V���}&�[?�Rcm��#�i�����FU=�����'T�ZS|���g���.������F����>��{"I6�<�����[�����A�p������*T��,yDQ�9�����U���7��k-'�s�+1lm�N|���[t��U�����UD�l2�������y��Z�8I	#��������3:��/���������f�;�D%L���/�h��u��Z��gM��)!�r����
�Wka��� ����c&��������T�PV�yU����A5������g�2#��S�k�J]��'� �KM���lT��f5��e��=>Q�W��v{���-�P;�E�
����F����Jt�W��ty���Is�
}T����f����aW��%��Ty������e*�~���8���lv�'�9�-��n%/p���@��O5u~5�6%#>QN�[�e^y��N������5��EaI�$����U���t���9���4�
���l?6��veA��)nM�>��FkH
u{U�~P�g�2m��kcQ���<C>��b��������SveTU��g�����d>��>t��>���k�G�)��������M�vx4�����j��4��3-2��C�N�\����,%�,���_�Z���kVs�d��r{R�MK���A�|�(Q�����@���w�����Q�<�r�QE��?S�/����L�J�T�}�����IN��*%�3��f*�v�|
�����p{��"U�q;�G�F�]1?����HP���J� IDAT����������2��+��nrz��@�'�Rx4Y��_��9�[��i���(��h�{��N�O;r��w;�N� �����e��z2�]�2���������Uu�k��>K^�<��@O��&�SM]�k���gN��`�?U��'z�����2bY'����I$���Ta��cO�T*���	 ,��y��Q�{Z�r��F�?[�+p�	��|����y���f5��R������[���e�*P��jU54��d��j|�B��
��X�p+��l9bXG���c-T�c�~j�
y~\������Zj��������n���LE��y@�.�u��x���+�c)�[80���k��<``d�s�r/KWz���W��^�����Jq�%���J�web��aw���*}m���x��/��x����)�\�1���k-'�s�+D�>�0�U`D]�
\���=b�@O�!� F��=b��
Lm_�*t����/dO�W��*�+S�����6IqS�H2�Q��BG�j��8�-G|��0�	2x��7*z�eh+�9�q�R-�^��E�uH��qT�5����Np&�����|�\��m��N�����f��c��R|��>9e��[�
���j-��W����e��UIq�ND�[�_�D�����v���Hi�V��lU���>��5c��HP�o�������=�+���5��	�� ����w7m����u�j��N���6��w��T�Q�g��h��g���w�d�-������_�u�TZ��^�;���c��:�xT��GU��o���6=����9����Y�U�����F�U�{��X���T�t��������R���%���b]�����_������o���E�������v� ���jQ�/���
���W#W�MK���1��^PeOWty�HQ�f����	L�n�g��qQ.7e,":�s��������q�Z��:�}��y�)�SD��/u"��6��O�A����x-��l-_�m�t^�o}Sj;���:�W��	K`��ohm��:��BM���8C��*Q3��z�K���k���.����+���:�����D~�Z�H�2n�L����^����cm�r���&�$5�=m�Z[���\6�E�}��6=�=�s�������V���vcD���B�]��M���+'{�r�������u�
��1����Ut��s��7�i��s��m}tL��T���FU��ZU~�/��������z��(?#�T�c��|2(WZ���)R��(6�Un����}
/����"yF�W����)S��7�[��3d����vY�+01�h��o��%����~�_�tK?A������*��B�`�yU���:���*\�G�g����q�6]k�v�U{*?��(>���@��-YI�������Q��x��!S��ez�k���
���������IV��>�LI�A5�z}�]�{�����|m�q�����h|W�,������k�H��m�J�/�U~Zb��2��V��s�`���xT���:�;��:��1e������+,`�����Z��j��u�]2����L%{V������uaS��J�`���J�;nJ��>����
���J��y�L���l.e�8[��*Lzz(���4�hg�Ci���i���	��u�52��E'N������_5wMO�Z��H�
0X�\+�Uq0�����>���i��e���ue
�\��]���l��e�����
5�����V�x�Jv�j��<�����dG��@"��=��5�4W9��cW���5�[v�����\�m�k�%p4a�b�u�\��]��b���Io=�+��T���@D�L�|
FJ��To����,��#]S
�l����y�C�s����I�6�"������%�eB�u����U��HDm�fJH��M���X�;2����1W#V<�����*j�>w��j�X��M�`��4h[z��~i�gs*��*���Y�p)3\��x�|��J�(QC�}�����U�fk�F<��C�Z�����y�*X3j[��$
���l����/L���H�\3����PR����pg4�M7,v^T���3:q&"}�������4F���N�k��7�t��*�����]�I�i�
c�
`�3���_
���eH����F0~�(�oP���Y6���}��*��O������P���HX
���]����E�[1��7^,VM���]��7�3Iy�gru7�����N-�����3������K���;k�*����'��te���;'����������g��IOu�V����+�S��K�����<���:j�tB�l-�l�G�>��_uM��m���
�����|�P���(�*)����R��b�LC)w�jJ]�|o�i��B����hk�2�P��p�J^��s��9��_?���`��,�Y=x�� OI:������h�s�������y�2�}�e���/�c����!�s�s�P|�� OIjknVm���������N�R�a��I��n���%��u7(a$�����>i	pM��?�jHQQfP��7*����'kl5�Z�EU����Ur���Z]��>lT���r��nS����{��wj�������C)���?�r��g�zF������u��Oj[X2�����S���am���Y�|E�f[���b�V?rT��S����_��^��y&������I�����^������7h��)�����m�|��`��!�������j�)R�<������z�-5�P~�CF$��7���oV��a��l���|]�<*��=���ld"���$��/����%i�U�k�4����N�<�#��i��Gu��
_5k��*��u����":��u��~]�O��#t',\��[�;�:�H�]�Z����E��fgGw���Eyzi���}��
m�u�k���T�/��)����>���8V���p���H������T}T�E*}$K�(�z�/�R����]^�������,e�z5B/��(���@���.m>�3����/�*gE�z�4s���Tx�Y�������f��b<wRO���������nDm���m��= I6��c�~�5����Zr�MZr�|-y`�6���^L��<�/���6-�:�|�������@L[����Zm�v��v8�����N�����%�P�L����j���s�)��T�[���������<+F��%���5�v�=�������S��V�*���k���U�L�����+�~�PK����3o�I��Yp�S9���yW����8����m���7���[��w�R�X�#������m�j��]z��}�����[����v<�8wL?�{]���<m��~�^��@��|X��uM'�X���F�x&C�����u5`\r�{-$b���{�0����F�����*}���v��W��a�\�.�u���%?Z��$["4#�z��c�����wQ\���wOK����uo�5B��������f���.��J�3=�6�o������S�Y�TY�h����#X>ZPOW(��U�����^
c�G�K-�S�-I9��e��<{����������1k��Z�">�M-I�������G>�'�ng����K??�5Bx��[���]��#�������?���q��L��I_����^�oo�v�w�����7*���K/�S�����Bk����8���6%L�����y�Qn���y_�L�l��������G���W-�s��[�w|_K���~D���>�	K ���k�@�K/��T�����?��b�HR�Se
t|�ns+ws��#�p��$=��\�n�*����/�������/����_��(����":�����L��V�{����c���*�q���L9Q��I�o�vM�9�������e*��������cX0i\�����{������������}���6�S��{LG":����]�����v�r���;����W!Z����-��q���kG~;L<a�<S*��>is)��l9bZ'0Y\������l�:c����h�5I�i��lk5��}����eZ�������EDG+_����u����*��^�"�4jgT�����������i�(l	�	��
����4����4#���%��v�YX3xNM��+�X������ �S��I�?/����e�.��g��^����Z�H�NwyN�J���W�����t��>l�H�b���?:�`B1�{�D���I�C�s��i��d2J���YD���
��w�S7��is��Z���Wj�W8wR�E�:u�]w��I��n��$�`����k�O�DGz��Nm,�Ra�h���:���zN�e�V����KE��5�9o�3E��x��A����o��GK��r-���x1��B�^������5���L:�\�g��w�du�e�MKW���>�����:[	�GuV�"-z���
S�+��
E�h�����s�MKSf�����7��G���W�3���S�AO��������
���%�����+��KCX{�j��2�P�SM���+f��q!R��5�T��e���-
M*�1f�F������|��+}�&y.�_W�h�,���o}]�u-�`���}����oo��W�������~��~�R����>��
����$������[�dN��;o�{;m��������s�3l�Z�X���mtS��~��j�Xf��B��=TP�Z�/��9��l��w��F`��}�>tHE/���Y��v�\�M��Zx�Ss��|�����i�?������5����?�Ei�������o�^{�XgV�W�w����*�k��[�_��j��=�\|T�-q�s�������}��M����5+a�U�{��JJ���H�S+'��r���j�L���AK&�Y�H	����SS�R���wt�g��I�w��1������?����)a��8Et��T[���-���z63�3s~�G�����f��h�����l��,vj�6�}��O>8��_t_7n��U���..��s-:�c�����pTU��i����z~rX/��e��]��w$
v�L>�O%����y:2Tp�;�5�����H[Dg������I���kU|�S	��iKT��t��]*�mQ[��s-:X���}����&���n���Q�~��?�ak�g�b����0n�v�����i�]����>`��,��D���&��pjz�A����<�V�~�~�8� �S���������Z>���8�U��r��u��J�I2�:����Xf�A�u��
0ND�*}�F��i{������F`�Z��G��J[���|����hnU��y�}�)���6}kz�f^{��/NRB�Hm4����i�gt��_��-"��;Q��w<�J���Rc�>�0�U\��f���R���i�}o��9���VLR�#1�����5s�Xn�������s�r�`TU�lug����m&����b]����+��f��cm�r���B`��=�-��]>i�K.I����9C�XWLjzH���x�I����\�
\���=b�@O�!� Fl���ds���c]0�,���XW�2z���1B�'@��	#z���1b�u&��/Z:�G���'�+a��������|���)r$�������/�*"SF�3C��a�GK��l����D]�d�7�>:��CKH�y^��hl����7��s��`3ty�Sy�1����O��<��/� �St�4�.�f�+��|��U��>�I�����~��[y��6�=O��FEo�m�8�6n]��C�_�h����7�j��f�8���	�$��x��/�������i������o~�=�O���>�'����;�lh�uWk�w�r���%��������������������!�f9���k��o����!o��B~>T�?|_G�4���}�bv_��v}��d]������f�������L�+w��@��[��M�f-Z�����[=�|0A�
������{
�$�����:����l���7��v�W�K����R����
c���Oo��Ku>��.x�����f��h��Z����np���*z�C[X��B��$���0%�	��k-'�s�+1G���7m����Gk�zP���x�Mm���j��HTk�-�E��~_s�+���J����ugt6�b���J�x����\��gh���=�Ii��~��6����n�IK��vF�}Fa�6� <2����8��M��O7�w$�����>�I=�?ru�`�����SO����?���_.��C�?��%�rk�����r,�o\���-;t�r��V���-��g��/��O��
�x�o���QP����;Q�������Gj:=W<���}x�,F��y_�u�(�,��XL�E���;QyF%�����������ZT��r�`�;:U�����w�QQ������@aJ2
�SZE��,8�j�#&�L�{��T��c���"�uB��!c�����?�W�D	V��c
��D0A��A`!�c��|�u���
������X�������g���{����p����f�&wC�]�;\�c)G8���'�B!�����B��j�����VS�:���(XO���C�mU�Y�"�cM�,��m��{�.����X��n���B!�B�
���y.���#y����1���9B!�B!�B!�B!�dDu o����vsb���r{�]��s�����1��%B� ��(�i����.:��\�k�d�9N��eD��s��D�(��QALT�=�^1s����6pA����"����dg������z�%�},�?��g�x$�~&�������
��
�;������*xa} ���v=B!�B������qDL	'dr0j??��`k7�|���Rkr�g��lg��`rs��1��-�oO��b�c��/a���&'2�_l�FjJv���4v�Lsq?odD��:��b��9��L#�{�x������jj���c(�s�M�&J_�7&V�A+�R�B!������O����o�zZ"��<[Z IDAT��N�}~xY�im7��y9��J���s�<B!�B!�B!�B!����
zz�K��_����/��Y)/l�������o�#��^�.�:�9��������t�-�b��P&;�)%�
�n`�Ky������_}L����zt���7�������Q�?�(��a�r]��1!���g�d���9��������me�����v!�Bqsy���I=����G��?�	��uF�Ry���}���l=��-z��+j���?T;�fzh�O?���"��71��	h����dRkV�#_����!V�"hv
K�z����8��yZ/���k��c��\�)�����f��!�B!���������"����u{y��H��
��B2`k*����(�q�B!�B!�B!�B!nA�p�p{h����rRQEs��?���7D����lX��a��;-�
�_��p2��y����]���Xw�U>��C�f-��c�#�MeC������O}�Q��\O;]fk�B!�����l��AR��!O�C��;�����e'>�y�-T��Ae�c�Z��e�SA=+����;(��j��6���K�{y)U?t��o���N3}#�q���r!�B!����Q�~��2����_!�I�s ��	$�9�������]��
!�B!�B!�B!��,	z��T�|��hE��(&�UQK���vW2k�s��'pO(����x�(��s����,>o���	�5��������G'�k���e�@�B!���/��)�y8��j
�v����B��,~:
�!f	J�
����q�b�C�SV�d��c�n���nl�!�B!����B�z^q���/�!��wFK|�fl�%�B!�B!�B!�B�F�*�x�����9��T���y<2�f�����Pfy�	k�k;��s>����t���������xO�B���o����=B!���
�%���=��Z[�I�'�U|L���))$�f�	����������Deq�%\[���%,<��rl=c���D��:�B!���Y;h6���7#��\�����{	�������������t����j�`���b8a����F�Lmg�������*�'F�@����w�|����im��x�h
}�������(���i�:��g��{(��d3�Q�P��B��l6���%�{��|�����/�Vb6R[]�����N����Bf�1E���.��H}e9�F#m�����@���7�=7��H��:����wp�x��?!���qDL�}k��jj*Oal2q���KH��H"f���}�D��o	�r�������P����fS�N6Tx�}	�8����]�B�w�w�B!�B!�B!�hHTo8]-���1<a*��{���4A���@_�.._u=�w������qo=v��0�[oB!�B�O��M}E	mv�pPL�[��������7os��z�{�����w:B!����;���=��=T��K��F��P�� /���,#����A���h[S9�����(���j�:�X�O3�� ��Uh��.�W��������x��t�g���M��fgn.�M��3z��F����
\������FY�|>z�{�z[h.�f���1���Lo
3�Yd�K#x����:������B�[���G��y�H]�����X�;P�<����w�4�~���RYQF�E'�O�)	���+�$�?�5�������r������j�V���CIJ�b�>�Zt��o���_H�y���&%���6V.���[���E����3���C�,u��*������xr���$�J�!��Ml��L!%�?�����uFlvg��4' ��E��������ZsY����=O��~�=��-5`k�'w[&���av�/M,��,V�&t#�N���(�ID�_A�"=aN_�kc+[������l{@�!��8�p��(�%�}�_�S���X�4��`0p����v�y��~�y�EO�������w�B!�B!�B!�����p�hq��{����5���.���W1~���'������y��b�
w��r����g�����,{�B�;���_%�Zy���_���'57�IB��LF�����Br�)�����{T��t������OG�����_��1�z`������'@��c���g/g�����7�q���^=Dr�Mk�B!�����)��w���X(-����4��]��C�[����1.�����p5�.q�t�-�d��������i�#�Y�`���?<�>�V��n1[�����c����f���D�%eP��jU.��*�^��w�����g2Q{��.t�c�Z��G��n'��t��t��_���$��!^I
:���}j5�0����n�|=��������|!y�R���
omC;���7t�����7Sy���wsC!�2J0g��i-3�}�������)8��}�],a��xj.%�:��D����ZV�s�(��xK�F�����:K_`S���.�+[��,Z���qi����r��p�����r�(~��Y���[����~3�N��}���9�%���*VN�j������7���!L����W��>f�/������N^S�p��CNv&�v���c�=~�p�\�<�u�Y� ;���h{�e�l-����m��j�#��w�(�okB!�B!�B!�p���uq������`�{���fr�j�@�3������,�����A���r���������1y�
zY�����,>��z���N%��s���it��'���#CW-����"P�b���Q��B!���B��TS����*X��Mk�b ��V���W��W�������L{�<���,~!�@eO�<�F���
z���w���m�?���_�4��S���N�P��B!��oZ
	���?�}�m�����4���U���c8H�$sFT�K�h8A�@���j������FG(�j�t�B����[�F�>��e��q19�NB��0�=W�?��� �
�I�����1^4����2ymw��t���!��������h���DL
A�a���)j����:�(���X)&+)�����D�A��ql�14��4D�r���6�!84���|Q{��JM��iTTe3��N�
Y�v����}�ZG����c0���K����8�:n��fC:/��;��2���$����y����oe�7u�j���u�������{�9[J(��P_�OcZ�n�_<�����/��'FF��%($����P�SAg���0^�pWZK��f!����k�lg�y�Y�����(�����D}�fr�6�uR���`��zfj��r�w�y!�������(Ee������BJJ�+����p5����
'dr ~�xa��n�XW���m���V�!w[A�T?�|7�I~[B!�B!�B!�swV�����-{�y�"�.
��5�����$-������ws�/4�;B��*����7��K|��?���s�����d��A������k�8��?�����f\(s�
m>�Z})'���k��irvF1w��]7/��'o��7���G����!�Bq
,4�?M��jGG.�p�X���J��fe�)�@�-P�BP�
�z:�����X`������s���1�"9��-�B!���|]$�g����;K(:n"�IwN�-�<v�/(�G����b��0S�G��K���S{5�r�y��%���wP��ir��X�2,3<��ul=�d����{r:ma��t����QY����|��Ai-a���v��x��UDOr\w����~�=e��@��7cxj/����:�md�$�<ci�B��������~�}=��9��j"����*�9=���z]�B��O����GQ��)�h<�N���i'�������|=�c=!G��\����%�������;(�������O8���X��'���l������g�U�3�e���	��8T`����g�S�<�bY��+*+Zh,�������H�����Q:;0�[��]�*���w��%�B�1*J
=�c]>��,�����r����~����zD�K!a^"����wr3�|>�Co���[}���}3��p�#
�+�{���o���K��4�����$�OX0���Wb�����Q��ZxLG�����Qz����lK(x������i�H��T�er�=�{7wu�&��
1����m3��T�
����k��/A1�����G�D'���DmA6om��6l3����v��6�(��B!�B!�B!����
z����
��t������`��6��OG#����{��Fs?X��x��G8�?N�
X[Z8�����7s�8�^���c�J�9��8�=�HZ2��C�����d6��#���]���G�Z���g1�E#�i����"��*G��	�l�:�9R�S!�B������d�,�[�kK(;���eFE������R����Z������G���o?_��u��C}_���Z;7{,[-�l�����i��B55��� ?�zE�+4�
��ro�B!�B�R�tz"��Si�PS��O�q~�YH�	E�m�]����!�yj+��1s�j�~��_w��q?%mKO��ZM��B��GY���!��R����xs-3^_��4+��Y�$����2��%�c����"8����B@^�zVn��j�<�zo���PZaA�u�z��2���2��H���H�2x�=/�{���);+z�O����Q�.{p��g����������6�fa!��V�[�'nv��CR�V5u)/�XA�6|��NEP�Z�v��?/�XS��6�v�.��t���n�>l>�I��:�u�:������iEA�6�����b�]�n[��t?Q�:dt~;�1*�H�n9��R���yY��Q�rEfO8�V`�XF�En|vFB�����h�`
Z]"[
�����|\��)nT�4�����z��H	z�E�������������g�[����������}�+� Z?����6�CW,�Ir�!^�����Pk��^N��U,5��8���cACt�6�Ssh;SHQ�n��|H�������of��X�I+X��R�'�0(<#m�f���4��Sf�3�m6Qz��q���%a~���=|	�f����b��a���f&o��I*���L����;�}2����|�w�B!�B!�B!����������g5�/�M����L��WW�7����ojx�r���z�[���s|u-
���7�9��y���g�#n�I��>k�_��Kz��vY8���X�Mp���x�~��7�g��6VQ��~�C1�:������B!���t>�������z�����x�dd��yzML`������PUL���<���C�8����%3�>~��}��O��)R�P��W������74�����9�e��,��brr!O_��r��w��T�F!�B��n�R�Q�*[UR�4�l��|������C�L�Y����ga����m����������������$�2���$-�u/T:)�W��I`�����&jj�\M
)�/����*����4���;��k	S���v`hu5���s�?0p�YG��t2S�Oc���R����cu�������aC�
zV.S���j*+L���!�p����W������.B�
=��I��w��

\�����V�:�s�\���^I��Z\�6�8?�p}q��!�����������c��R��!�>!$=�Fp�>�AME�#`8R���0����
y�"H�F�M��������p��L������w���9�������V����Q�w8�$,Pz�)9��z�^��*���f��:�!�1c����:&����7�Qy���C��F!�B!�B!�B�kv�=�'������3v�Z���������k���K�2u@�i������f��f�~���?��1�����������d��t�W�y��e��-���Ywp�P��./���#�}�u��dwpO �6?��#O���	=U@����%jjZ���v.��,��`��9}�Q�PB�B!����v]1������N�VK��>*��e������;��������g���;�
/�������(����C
��i-3���^!�B�[���"ha-���8�@�E���G$��c�4�8��P������kX�G8����~�����D����XB!���F��,S!e�2u"��B�o��4���Wg	�eC��d�����.B2f#�'����j2� ?}�<����3n���QPTA}�����������a�{2e�����j�
�e����lB{9%�(���"e���'V�n8P��:���o`C>%Ce��e����	t1#�(���D(~��^0�|
�S�g�����IV�f�����3>..%k�*��M�;h<���k�X��(���K����ca�����l�3����p����C*"t�����/��)�yu4�6�	��(�B!�B!�Bq�n���w�,�v'�L;��B� S!%�
WZx���<��b���d���?f��y��*s������E�s��&+����9��3G7�9�������7w]��-�����2��k���*�Y_���vy��#�N����,��sGJ����|t�*C=8��g5��k;��'�}f*���B���������c������!����e1��4��d1�'�tY\���������fg��[H���\o����]���j;Y+Oq�Y�LMpTg�Uy<�n�."�U��#��U�B!���y��S��`��x>�O�uN1R�I��Y0�z���	�@o5�v���Q>l�kF
���8l�B�C��O71�O��[0�N&��)���1���h��YC|\^�������OOAR��9�B����#��Lv���q���He~&��7��� 3�:>�&@C�'4��^�K�CN~����O
��*����u�w��}�k�^��|5�fX��TF���������n�4�����w�T�L����1^�G�����S�p!�Gs��A��0��r��`���CJEh���_�0n �@OuB[��;�<���CC\�R������&����2���N�Spx?��8|�Z�1�>�����<�"�
�������	M!aF6�U��-s�~�)$��Lm������O�y��G*�{�0��������J���&�mM!�B!�B!�.��A���x^pg�q�,��
���G��E_'ok��Nqo������`�6y*y��,[���j���i�+���E�ps�J���p����'S�|�]�F���z��� ��%GGwOS���	h��W�\����O���7`�����>��;����B!�*B��v��!��l���^��n`��s�R#�u��Jh�����a3����_��4teO�� �������
�BP���}���'"e/��=v��v�.|JM�QN�5al�r
^�G�!��-Ynv.�Y4D��)�B!\�{���tE=A�3�kX�r!3�!�������:=���Lu������-�^��f���i:��uu`�d��b	���y�<������W�Y]?������oA�r;|�I�G	����:�I���O8��}�He�~�BJ+�iv��w�x4��u�d����In6N1s�)�/im����2�}��jZ���:�������wPS�(��H�,7L}TMz��V#
M�����,F�6{M�t�s����p�4��7@P\I7�c�+�I4���q��S�&��N�'�>����V7|eVg�ik���`�������}���D��0a���w�x=���*�g��|V
����-��p�~�u�*����r�Y�K�v�Hc`�B����Y�4�`8a"I������~'���Q4�l���:��\i�p�>�i�[�����vF���Fw�okB!�B!�B!�p�.K����������N�����J��rt��t���{�}HsW�#s�{Z�}�y��	z�7�i����"g�q���w~y�wjw���Q�u*��^�U�}�;7;��(�6�X�����������Hw(�Z_���;�g<6a4!�B!��|���9���n��`�l=X������c��.e��EG4��9�:ty'�b���W�i������Y������ IDAT����x{��a���,'Xg��l3[�5�����Ud�~�/���U�v!�B!n>_��'�>���|�ZMIq��uv~���xI�^��$����:�0�7
�����gntr����#	�����q������������E���o�&� O��,�K���!��u���� Z�A:���QYYN��N������������!��b�7Q��r�{`7Cy���F���a>��r�q�i�����3�Y�F�{���g�I[����I��-���8	�9710��OBc�;�6���=���|J*s��d���{�G7��U��J8��R�:�*��kzN'�g�3�fn���<�vx{4E3�@�p�0sa3f���C�n��V�q�{%h��Dl)�����cGi��9
6����
�%^���R��mgo�n�*������w�����Q!�B!�B!�bwY���������:�w��rU]��;����w���{&���^�V5'.��w��z����6S�5�����]�Z{��O7/�����mQL��.������Q���3�����������<s�*��*2����M#	�
!�B1���$m�a�Gy������u���.f��:�����u@e� �!��s����8��)�$X�jSv$T�u��*��"(.�M���Sp�{��,�7���2�B!���S�M!�o?�Z,��OcZ�����~���QB�+*����l����i�����H@���V�5�A�7���U��Zf�_���+\U+T�OK`����f��D}�vv���������lfg������u�N���������v�������i��T�������g�`u��3���
{���^�Z���88-��"Z�'��f��������1�+u�*>�T�V�����1�B��T2���x
��G�k���1�uP�z��n��)l*���z�:��|R�_�J��4��}4O��I����
�����HT����j�g�/�W6�T��uO�����]�O��|7
!�B!�B!�B\��/�	���P"��q�����v.\=�
��8�i����4���|���G�����>/(�pz?���~��{F��v��sG[P���y�C��<�X��y�P��o�G]8\A���,���B!���Q���'��Z�����>�����;����E����Bg;W;A�3�kb,�����+zl��s����4z^�u��si�X�<���'s�)��B!���'�V�������|>>���i�'k3|�����9�'rc���L�>�ze��C�x����2�gp����M^E���#����dY��e@ZO�#h����Y�H��\
a��47�=+����=�Psx?��;��n���?����&/�p����6YC��/^�|uVsx���P����>�<�y-�-�6 ����������}{���6t3{�w6>�f]����Z(-:��;��bD��p�x��sJ����5G�1%�����5�rn����)m�F)���j�7]�e����+vQI�'����q]�X�V��VC~w��2�F�����St�hU?�B�;%y[y-m1
����I�D�~����Q
�pn?;��� �-��B!�B!�B!����z�F������\�'AO��Q=�������6���W�����N`��
�p"{?�������y����]j��i���{&��<�*�<��fs��g�o.r����E���:!�Bq��G��cgUIO��*+J����;���������K�;��-�^Rt���%H3=�qO���%��CeS	�
0s���F!�B��'����f;`���q5+�)CJ&J�JY���Ae�����_7�y�����k��}�^���1
z�F�]Y��������r<�;f�@��
k)��L�{��l���i������^������:��5��R���d�n���G������7t���X����:�v�L<vP������m�M������������[��m7��J�$��d����a�U�=W��4R��c�����������"���af����\
aC=��^��h���wsC	���9|4�Z��U��HD�_��G	�w&�VO�_>�v5��4���o,��;&�����J�����
��r}�sC�������_=��(��w�B!�B!�B!�jwg��OS���������G����%x�������E�������r������y�����>��8�|���	Ls;p���`��^-\8���!B!�B��)�x�tw���h���_<C����2��%��J�F��c<C�9�P��<Y���F���y��B!��=yE=�v�v�]�n,����HG����**����u����v��������n����#��;�
�=������ya�+�}yD���?��]SI���l�p��&0h_����2�N��!}���bqZ�r8�g���;Bt�*�CUGA����3����G2���f,��l���j�������	�]����(-.�67�/f>�OY�[�"b��y��j��VQe6����b�6;���J�-�mF_tcR?��%�k���h?E��c�2:�t�'��$������C
��KD��/�����>��pq-K'���^��V�.',D��1������a����C�w��	�w�n��F!�B!�B!�B����f7����-���#��xw`�O��dE��z�������t�,�i=U��u���s��H���h�}�lx�I���(��:�m�g`�uh���;��/_q?�*�B!�u��������!.!+���;0�7:�����~��PO'l��[:��N�-�n��B!�B�;��G���)9�l6|HM�9�/qnU,���r���~!��]�f5D��[�R���	T�,4��y`j�Yq_�k�������������o��������b�g�;!O�n���G Pl��D�uH�5���U���?�4��/[������G7��/�>�d���AYq��=��C;/d�e����P|����X�N�����yi�	����P�{��d����v����g?y�5�96(���V
�����~���kG���x��c�����u�?��c8���$s���k���8A��,�B��w�g���nB!�B!�B!�]����i=��ie��{��|���D�88�u���_Qo����r-�\P�g��7z.��%?����D�����O�6��.O�;��.������E���N��8�T!�B��v��V�9���
o���*"f?�WAIO�5�U%��������iy_�P��Z�����H�W�;�{�qE!�B!n��:=�������0|\�K�b#��2G�$ ��;����Z���DLw�Wg5uw_�3hR8�T����gOa&��Pm���~�[����m^^�n����&hF�n.��L�����>�!lZ��	vYOQSk!y�����&O#���P����F{���KF�n��~����5���1�����.�c����)��RTf!~�
�))u�^�O�����459��B#	s��P�S]�.c>_H�����������_���'��Ns3`>������K�	�B��|�2���+f��%�Zmn2:*{h{0|��L�V7�dw����Q!�B!�B!�w��0������9B������r����I��������|���.������.(�3e�����a��.����'���IaC�5����^4�W���.q�spg�vj��+M����^[{�B�[��L9�_Rv$�.~S"�|`�;�	!����e���<�������K��9��U~LY{���Z�����.*"����5"�N*�x���U�74V����8Fz�I���k�B!����Y0%��g��
��\K���)9����M!��sI��A$7�b>�O�����x��%�{?���A��4��������S�����~h�U��c���7E��3� gU�,����0�}��1��!ln"A�u=���h>f]��^gj���
=�MeT^�����g*���	D��^SL��n�u4�q"�.����(+*�<O������r�*��_�^����Ujv�.�����~��������Bv��\T�,e�~I�c���qy'��B����lg�1��`yh9E����d=	��\��2�����*o����s+|7�/V���|�U�'�p��(�B!�B!�B��nvn4kM)9���1��,���.�����P��v�S����[Q�%~t���T<��U,���eE$�\��ozFxO`��?'G;��Nb����"�t��y?;M����������
/�B��:8��~��S��V��?���i���"e:RE��X��c'�I���,e.�`�0U�n��J���'��Y��k�Ai����eL�#b��f�����:��1����T7?�B!���xD�]�@4b��BcQ��r������U,_��SZ�hp�<�Z�������w�����P\���w��z�^
�,STv��#�a�B�:J��1;������)*��H�9[�x�~�z�
un���(���R�n��a`v
��{fC6���*��$<����q~��A���������!h�@��|���)k7Qz���^������1�v�,Fw�t^�e�a7�w�v��<�"�>��-G����w�<i�C�����	�}P�����jl��c���*x�;Ux���~�c���f�;������A�����nRe9���s�Y����B!�B!�Bq����������1���=J�g<�\1'�Q�����-���!)�1���"�nw=p�`����q�,~��z������,������~<��e���U����~��.N�:�;�u���oZ��j5���NR��4K!�B���T������;��.����3�T��U'���r!)Y�_'9����]t1���}�owt��>��U�-{	;��3��6w/R������v�g���+�3�	�B!����u)�����������
��'���[�JEXx�"�R�����L�nJ%���W��[:}�"$i�rG:MC�b�#oS6����z�
��B]ud��$u5yF�����ogc��~�`��y�iR$��[�v
�	���n����_s�wl�a�#�%O�8�M�u��:���#�G�u�}��E&�����
G�����7���v~3o�~�0�K�!���g{!%���*,������W=�6U�/^�������%�|e��+w_���X�f)������U���^�u�������x?yGUU="Y� �����G����������4�?�k�%	;���B!�B!�B!��p=��������a����R������].���w6�!��#|���o�����y<2���������zZ�������v��^����h�9�R4e����������/�9��c����g�W5l~��F����O��I��#��#s�Q���������_[{}u������V�X���GV�H�s!�B1f�V5y��Y���������������4�)$��GI]�J�y�������a;W�u�*�z����������T��5�������������r�!�=�,�>���3�;ZH��
��:*�y-u:+����x�I!��X���!�Bq+��G�8o>��/l4/����<O�/��|�i�o)����Vl��:�����B�A���0�������+��bp�f*a��G�zBY�,���R�U��B[�vr~�$-f��Syv������co/&u�jJ�M�K$uY����$�����Y�����q�� {���Y�"��V@�����xN��>���M^~D�=�Br~O���4�
�Y;h,�eO�<���A�o�G�P�$�����f��sb���V���+3����:��������tG������8]�0�=%
���5{���s���g��b3�?_�������g��q{��e����Q���rw�|������G,�������������G;m���?8j;���u��lu2���co�#m�~��������[���nB!�B!�B!������p���C�k���zFx{2~�
o���n���h��9�Lf��U����gd}�./��=���G�{�h�s��|�'����?����?�w��yg��qyo�J;�s����5n5M��9�Y����*a�����c���_���wy?{�&to�7Lg/R�hT-u����Iq���B!�B����3����'�w��/��T�e�����E%�y��Z9|8�#����P�������b>[S�;-�i�B{g�������A�nI����� geA��*��uw��]��lv���H�f���7�#�B!�-/���ql�(�uZ�#�p�\�\	]�
�n��	��MT��(K�����#$@��4����g�}���~���F���Sy����A��Lj{B����l�E�uP�����bn������B�D���G82��g������&��S��e��w#�&'�L��g�7�5�/��2�6���<hk��k�\��q���8oWZ��W����s��BR�
��3�ue�1���0��h����U=����c[sl�/���������Z������$���/��wH�t1{F�
��\(������|����=�O
�1���UKe��/�\_G��[�������FP�O�`����������{��	D�'��WZh>SBeC�gQE�/���H����#��nj���n&�v��J�*�t)�da���>���7�}k6������E'6�o��+M������w]=���������>�7��Q!�B!�B!��wD�sk�/]u��{&�x}2o.tT������������vG�J;'
��t1��9����y�+i�DS�=�G����}�o��'
�\n�*"�<�_�`��i�B!�k���g�x�2����Z�'��
-��x�������l`��l	�g��#��_"K2���c�`k7�6Du�IzV��=�F����B!�����'��f	���C��f�ti���;�KM�z�Qu��ZGeQ�N�P�Z��7��{�G��;�����fa���A�Ag�A�_��W�
w1A/~*���M4�WG��/���{I�i��.tY�=����i����4�.������C�f�m�����a��>�C��w����������B��O��l��Q�=\��=���
��tM������%�^^X�^^����ZV=�m���x]"�E��z��y�9#�������h~f5�.:>���
%NfP�������q�����'aF6��;����F���{d�������{��N�'�S�l��V���.������p}���B���F�"f^�2�B!�B!�Bq'����������,�r��!�q��L�����5��g�{ya��|�)���Cgd���������:�0�]O�LMI�D�26,�>��{�<UL~8��?>��7E0y�NB!�B�P��]��)����Y��[C�.�
�>'7CO��S�Q��+���H�]���?*��?��%��j�q��v���i��
G�f���	$�;��I�S!�B���@7�\7lA
a�>�E�'��;J����`�!�S���!rw�0��xw"uL;>,&=9����c*��V������l,����H��f�����I�n_�yD�M�EnA)�n����m#w�.�cB��F����-eSr���r��}��O$I��8��m$�
G=��<T�OK$��]l9���0�X�k�*6�����"I�X��_'�~�1��B��{�!�����;)��}����!~��I	$g���=��U�Xg����7yE=N����C�%z�_�}s-���8{��0�-y�,��;6����u�nJk'������"5J�U�B!�B!�B������E��w�q��.�7s�������.���.,x����������I�����1�Q��W5
�8}���X�]���7�����(����C��o�Rs�"��^��W�r�����������	�DMb��[cC|�m�~ IDAT�p�� �B�������J���f���\�&#m�:��i�f/�&��#�iUW�k�������5r�lo_&��H��k^Z;h>
�#�M&Z�t`�Z�y��w�����L���P	w
!�B1j�&j+�Rs����;����&tZ��cw�p�1��,���F����fW���NDTa�%lb�|�������Z���Z�����2=��i�k
�J(������U+x���@8aQ	D���Y�u�~Z��#��:�j���q�i�N��H��!�l3Us���sL�v��ZC��8���?������sZ��2q��F��4���� ��m�A�;��v�{���/�N"�Nb'������n;��Ef
���|��LB,z�F�Bj'CbBeXd
���X$�p�UO���d�2�����������?����}��=Y��d��?��mh�ts�7�[f�f�.�Yd<\,����?�����K�x��,�7����}�kc����b�U�J�S����y,�
�K�����CDDDDDDDDDDD�����IAAO/���>��%��������e�IW	U�SDDDDDDDDDDd��B� """""""""""""""2��1���!O�8Y�>��������������Ll
z������������������H����������9"""""""""""2�(�)"""""""""""""""2�>�������������)"""""""""""�,�n�����������������D���a��_vn��fV�Iq�DDDDDDDDDDDdLQ�SDDDDDDDDDDDDDDDd�S�!�\��V������������X��T7@DDDDDDDDDDDDDDDDDDDDDDDDDDDd�R�SDDDDDDDDDDDDDDDDDDDDDDDDDDD$E�IK� """2�,��g�n���������������������������)"""""""""""""""""""""""""""�"
z��������������������������������"""""""""""""""""""""""""""")������������������������������H�(�)"""""""""""""""""""""""""""�"
z������������������������������������6�5�r�BW>�nr���c�-&��a\v���q������\�d�V"""""""""""2�L"�B�N�����-2��xYn� ����9�UDS�&�����B
r�X�������0��2�R@�8��}	m�����T7i\2�������;�z�E���E��x�W&�h$L�L�ps������������������W�T7�F]����h����d�~��,����y+�����q���p����<-cw�=�������1��������_�����������&�=�lp������]}K2��^<~�}�����q�������:��Y��^��<�=�)�����w�m����b��t�s�cQm5x�P�f�_s����������������*q&1����	�������L�ak�dFi�D�t�;#z5���ADi|�M���M�(��<ZL3J��Hg[Z��B��!���~��p?���L�+�h|�+�y���}�T�4�*4��v�8�E��<
Vdb��%�����DG�=�����&����=YN���-6r6��;��3RR�}8�j�6�;��2�<��9��Ny����������������do���C�)��_�����>�/���J�%�u��o��s���p���7�2�?�b���V�+��h79�t�}M������^����<n�����}[����~����%��u��o�����AE�w���:DDDDDDDDDDD���t�������E���Ni�FX��~U�����k+p
����G�N�^���2)��AOW�{��>]Cd$<"2)�_#�05[
)~�?@��$�$�$����Y�xv�P����������9�F�[�z����_��mq`{t=S���F�>�����X>���$����S���������8�9T��ly�=�C���V�~���6=�k��������<��BiC��0�q���X���������!�QDDDDDDDDDDd��e��*�`���prV�������+{��fc�������c(���2p���Y��aKg��'Lk��HKAEd|Q�26D��,����o��y����VHz���Bew�#�F�^D""""""""""��	�����t�S��x��!�����>B�S�X��kd=��S�B�h�g������9|&�@e/7����sx��/q{����_@���q����^{�s��'�x��*��#/.d��5���Z��������p��x`~:VK�k�=�����'9������o���W���	w�����������HJD�x_
��������6RSo%g�����!�!��1��y,��@f����>�V�\�H����5�4T�bM]�d��e`�k���
�ic���qK��p9@��<��z>a]�C��\\�, #���Zhi�p$��P�P��g&����mg� ��	I�jL��1���X�:�s
�Y����\�<�m�~6�����o��b���u""""""""""����Y�XU�$��?��n���)�Y������E���&{v�1�����T�eO-�\���w���s������A�=K�y��#��q��o�c�C������(y�5auido�!�����i3�1o�<V����]�u-��}���yumzR[#""""""""""2���r*�C���p
���I�v7y���g{(�QJ��$P����ZH���wl���tlT���
���U4<���WM����49������I�N�>7�,_��0�$a�����T�B&"�+���hA��g���g+�>��u,�@���(k�������\��f)M�Z:�zMj����������;ndc:Xx6Q���5�����(5;|�����
c�����������R�����W�.G�h������+� �	�����h!����������o��du?!�.3�P�{�_MXw���Uq���b�����A��Q�+��h�W�ew����^�I���>G��������������(3�wW ����\<����t���$\WN�s�7�jh&���b��\L�"&���y86��Vy�:��Fj�������!����C�X�����%�l[��nKu�3����Vd��������+*�	y��f'��=4k)�O/�c���	/e�����"
�������������L
z&��}*�$<X1�n�����>\PXn�h�*������	�4��G�1-aT{�i����g9X����%��/d� ��v�_�Hf�������/�6RDDDDDDDDDD�o��^|���������������������0��������a�/*41OUQ��,�/'�l�-��w+q������V.�fbj��x`�9��o���e
K��e���LU(YDn����5R���H��,�c{�XiK~�\�gaz����>l���#��%�b���t�EDDDDDDDDD�F�?���'*ado�����M�e���)'9��9���s�[�������}�>�&��4�����9K;@���������n��""""""""""2y���v����3���qg�3��Q��M��RJ�z����-wU�Y��w.gAc��	�9��PB���8���ui.����E r��@[9i=�1k�_��>;������w��(�h�i�D1#��}�b��N�i�.ah�a�9y&L4jbb`�����d�=l��(�%|��P(L8%�f���j�����kL��e9�@C0D8�4���������L�c��bBGh8&5!��}~���;��(��h�8D�r�r�.&si�����}c���6;�%Yd�ac\���h_��y�C�DML��l�3�p�J��`�Qy*a�5��M.��)5��7�(����>�l�!""""""""""C���`b-�IHH�����#~'93nf��
z�J[?����s	on�2{��,:s~6�������������""""""""""2�E�Qq"^������!����\[F�*��Q���`]���LB����|���-\����# �E�2���\KM�I�����M^��Xq���J��������v�	F��
i62WR�����7���I�@9�/VR]"�g�4;�+rq?RL��6E���Kicg���T�����������@5���D����h����=��1�R|�sPX���Kg)Y2���c��W�?�����e�R���s�%��j��r~.����YN�K�46��y4ld�*�dk9��X`��b,�v�K�1p�
S��:�C����j:��������-!�B��W��1�t'�[�x7d2��Fi|���g}�z�:��PF���C��"��({���.H��Co�����RJ�9���O\��
vT���}M5
/�$��m����{��!;U
�Y���f���n�tml|r�;�p;Eu')��Eh�]���g���vS����T�k�=�yZW���{�����}��q��@���b#w��H�JDDDDDDDDDd��B�0�5������������R��b�x��i������W�q[�/oN���������`��K�n�r�����dY�=������!�I&������#���{j�YEDDDD:������\x6�@U(����=���L���b%���/���'����j96�P{ ��7}��������.��
=�a���\L�Oj���Eh�WB�s1���`��]�S��,�-�W7@��-L��r����^]���w9@��J�#���iB�yr��rGyO�SU7Hh:�����,f�s��J�c@�~����1�o������e~P��e��4wm����B��w��s.&o����'���y\�����p����>���6v]�H���T[���9�����<.�����t �co���.������@4D�O����%x��d�����c�z������S�p��WN��b�|�G��c?�����q�K���(�'�S~,��G���,e!����t-b��WIl�0�xWg
|�����S��}��e6��O<	��������������%|����x�Xz1������������1A+z���������G����=� ��=�����5Z����k�s���.�����L����[��E~�����5���{������LM��"�m��~�%""2����	��^�c�����������4^Neq��A[�Nf}9�#��������{�k��ZL��`�jS��4�$G�����x����S��\��|�.@�P%��r�:������3�c�. �
CJ������0^u�k���d�i�j1���h8�i�B�^�U��r�����Q����3��(+�E�q�f�����[������l�K�O��<�t-�������r����c����e�a5�4i9"t"��a��r���}&�����0����2�����]sJ�W��m��,!����;�;j�|�1�z"�
�Y�%������N�v��I�|��c	�
���rL#��c�/�s���_���
�X��(>���V�s��� z!D�B�JM�/R�������^N��^AZ��vZ�7<�"��)�����:(3�w�����;b+�E��gX�����AB��C���brVC��E��-�^.�!s=5 ����K��3�-����7���7K���b%��7j��h^��P�h���t<�1�sl��j�)q����,��R�}8���o�Vr6����DDDDDDDDDD���U�3fr�����x���<�>��o-���_���k���������������x�L��������%��5��������|�zp�����b��~�����;5��}��	�2-k�Sm����f���J�+�#����?��o���P"T�PI���m�������D�T=��w~���A"���
�d��<�fD��Q��� ���c�b/���e��_�S]�^��|h�J��!�pb!��d��bs�YZ�M��f5�5��l�%XMQb ���B��I�+�xe����A��jN��r��;��TS�j-��&�^j����7m�Z�P����!O�c��Z�3�N��"*j8�z��P
o�R�j5�o��<KkK�O�:������)� �-�d��f+W�^���z]�Yj8)=z�4����'sR����/!gEB������;I�<9QN�{�<m����HK�����y<z���
�y,k���!|�z�J�P�h�f'?��x���;"!d�c/%��`������|�DCc'��r��2r�&�9��B%����>E��R-6r~\���giz����j�%X��+`:�'4�^��y'�<��vn�����������z����D�J(����l7����>�r��u���>z��{cBum[e{7�Ly�|�����6�#�/�x��g������w>n���O��������y&g
������y�[������5R�}8������inEk��	DDDDDDDDDD����$���g9}��;k��r��}Jwq�C���xr!���?�|�fl3������w�����p���[Z���%?\�s�_v��#���ON������%�����i�L>��n�������M�h?�s=��x���7V^!*""""""""""���
����[�=.�2�0�������������6S}�$������[�}E�|�D�.��I��6�����0|�4|\��:~��E��w�lP�U�nzy�C��F_+����{"�s�8TK�J�5a,������.MX�e?�[�I5	l-��D��f�PQ�D�3�8��1���c��=GB4���>uH����*
��u��J�S�v���O�R��{h���4T��Y�����:�I�����f������?p�k"C�+r�W�6�>i���C��k?O�
Q��4�k���'�l���+@`Kf<���d{`��D��D����;��8G�s���]D�k%d�����5�^���f#e���Xqm�S�5{Z�I�������s�����C%����5��o6P}�vtn���T�W��]��$��_���������x�Z��R
6���� ����+�Y������������]��zw
�������=�����w�Y����{{5M7Q��+�^oK���8j�����&��5J4:���Z<Tc��px_9���1�|��+m�9DDDDDDDDDDd ,���+�9�S�_����A��q���_��2��������g�:��q���Y��4o���09\�K^O�yN��E��Q�=�yS�/��Qkrk;�/�{U��q�S=EDDDDDDDDDd(��<�#�����N���O,�����'}#`�����&N�K���G�&�A����t���lF,B��B�}��)?5�4���s������C��`�Wv����p
)��r��h�O��M�'�w���y�K�`e��}l��[x^���(�P��c�T?�Lb����|d��:�yo�b%��~���
�H�����n2�>�
�J(�9��&�1��"��Z]N�;���S`����W��r���ca�E�y��c��������'
������G�mU�5��oc����0��D0����CT�I���b*�����({�=��[�v_����J���=C�}���w{~<�
��p0����l����H<aL��)}7�=�c���&S�Q�6�'f�lb����W���"5��{M��T�L�R�g�|����cD�B���IO��T�OR��1�}�l��+���\�q��EDDDDDDDDDd�=��� ;�m�[v�^���:��Z���=H��y����������(?>�]�W?O���e�x������M���r���	���GO����v��c������B���R�6��q�m��{�}��f|�{��p�������$���������.6Y��aq���@<a���h�`N IDAT#'��Y��S�4}\K�*����������"\�������&�8#��e�!��~������6g���2gh��~j���k��������W���N����hH�b]YB���r��^
����LW���k��������^iY��$�!NN��_R�y������#�u�[3)�	P�"�p\����=*G�<]�\�3���Y�~������PNn�Y��=2Xh%s�����E	��/�g8H8&Y�q�K����|���_b��;<��K.l]�����5��pP�r�]�f,�o��������b�/��Y�}%Tnca��6���Yx��Y�v,jm����1ur�/c��>y�_BP����\�""""""""""7�n��
S�z?yyk��`Z�[3��A��-�������t����<����������7F{b�����#n��J���=q�[�Y��7X���l�����d���/�//�n��
n��G~�!�����F�]E�W�q?x(�������m�w����b����i��?��������|�����X{V����������%���?����~Ig���GDDDD�	��/�����F�7�E]zrl�C��s�Z���sm��pjs\��G�A������cQ�{��;CJ�����������Ff����icyv���*M&
�M�����a�u�xE'������1?('oE1��<��F��~�7P�o��b�Y���l%rH�xNF���LB{�,��p�	>�����~sgx[���j�L��`e����w��tU%�<��7Vw�I�����}��������W��X���	!P��ki�]���K�l;N���C~B	aR������7�peZ�6w�;��&�Qpv��v���Hpug%�5x��|9��G�������m�Q�r2�k���{
ps����rc�yH���X�?�W6kE�O��������������A�����LxKk�?��[_a������~�=*~y/;L��)_�����B��,���� �?�I^��=��|�n||z�{�������ykV�{mzR������/�c���6g��?'Z� k���]��g��<U����i\l���"""c��}�w��!"2&�p�S)""""C��|_<c���x�u�-vso�-V��!�22s����������m���b����p�|�}����N}�9�dX!! z*DW��3HS0aMF��G'���6
W���k����0xe����"�q���Z�Q��9M���}�ru����e|����5��'Ej)j8�D������"k(���v�;�!|&��D
2'�s*� ���cf^���i[�Ps��u�$�-���5��kEi8�P���A�}��V��}vtE��0'��E��i]YA�M������+��� ��������F�����]a_��P�����LDlU���y�����6�1���g(R�}8z�K����`_SD��f�������,���<ud�M�w_bm���Y�{pS�����kn<��7Yr��=���G�f�zEW*��p�Y����z���B�����x�.������u��]�-�(�ows��xE�+����}D��9,�����1�~��i�����������J�����S�L�SGDDDDDDDDDD�[p���9��h6�Y������P-�b��2g������a�=#��g��[���-a"1��u�.���f;p1�z=�P9y+B��=��T�'���X?��B��X���j'�I��z2c�O3����2	W�s*D$q>3D�� �73��y4��xX�R[Z����@����[i�1Z�xd�X��L�y�#�_(-�%q���I�O��2��~����=�:PBI}+�
~��0����>���A�V��(��&����o����]�l�qb�k��w���'F�
��UL� A���=x�OK�0�/T���F&���	rN������������X��=�,3X[0���Nw��|x��cx���a���F��eV,M���%Ys�������<�{~[�����X+����G����-����n�
qY3|�W����[�s�k�b�k:���>f�u%?�^Iia�-�������lw0><��g��K,��Qs��\�/��CD��S�=�m���H@b��t�5�SG���7�����y�����k�ct���O]~<v+F��Q�p)��	Tm�bEN�uv��sS|���Z"=?���*����]5�t�,0u8�����J�b$�o�[I�����0���@���%fb��N�^.�!s=5�����P��+�m�xF��8K��z��)}z�p�vl�d=���>l�������mU1��#�*�IgR��f~}���hW��R+�>n�=��i7@[|T���'�"�����'�[��!����-�(|#~�h���e��o���!/�0/��c���W�;��x�=���{���;�`�������e*����������������QxoYB������He����,�>���#wv9�g:m�rq
�B�I�$�1��-���d^��X�U�rxe������x	��4n/���
�-{Q��\�����N�".��m���]��K��G�?��zY��P�����f��\���&�Y7c|~����y�X���P�������UbM�����4��'��NH�xm��1�����q[:��fFZ�������>��y�������1W�_�a29~�������\��>��`���$=�����d��-S����?�����-�6����*�w)�������}�u(�-��������,������g\�r,S�v[_��|waS:�q��g�������nl�""""""""""2	��w5�3�r�����E��%�����&``X��W���L&���#��g��2@"��k��Q�����`5E� �l����;�W�h1Y�{��>z���H�c�=B��e�){�����$a��z�xY�������a�'�X�3��\��Q�wRa'��������	!O�"������o
!D��D�������e��^�����8������z���st��R��2	<?I�z���q���u`��tmw$L�
2'��#�Qv(~m�.+����GDDDDDDDDDd���AO,��.1�����5+�)����>�]��^�������?���{�s�kT�<����c�r��9��=�6��%����������"���<�5d�\WL��I1�V�,����Y��r�D�C�D[���ZI�oZk���vfK-1:^�9�f�������mr>���>��������y�E���7�/��y���S� �5���7��
~�m�#���)���������q��q�*',��349X���Y���c�e�OO����\<�
>��������gQ���=o5I.B���G7l�����Q)zl������xK�4��L�;���l�r�X�G�(^'�;�,6���7�4!iJ[%)����`�e�b�`C����%"""""""""2|!�
H�O�r��[V�2��*���2��n�����'��V��7�X�S��:A��U���gg���u%{��~n
��'�r8~��i���]�4",""""""""""I�����"���y���M:�e$DWL�����|!L8��a��?�9��=1#�"�������3���	+�8��TFnB� r�C����7&I
����h;�x���!|a+����_�����g�Y�xw%V���R@�{���j���=�IK���&����pL�a�=*f$LK2��-�;�X��H�����B
�vW�6m���WW��X���n|g�[��5j���bz�;��0
����GR�L%���;1�>��QI�����������L�2��~���+x������3��C�.��~�^���s����[�*�}8��Vo9����D��F��k(Z���DG��t�
+_��R�/�������z(P��Qe���Q�,|�)�*t�8�#�d�����&Ns�81b6hLQ(q����x/%�����BH2J�9!Jf8�r&�hk�!8�a4���e]Q��
	��� ����u�b�	6J���22�8f'GOlNn�`0Drg������A������9n��~�$Z3)�[��������?���1���Q�6Nr��s�TT6��v��z���F�F7�M-"""""""""2�&a�3��C��!J`��2���J�7}��NX~z��&w�����9�����`� Y��uo��G�9�����W�S���7!^:��W/��o�������� "'	��	N��	""��z�W�n��(T���$�oGM�_���.T�gtK�X���lH J��)!�d�8s����ki�������Ig��m���u	���FJ)��R�����R�����N��M$cqYqm�QtOB=�^�o�a�B�V9�'|��URyl$�'I�8�Z���3H�>�r�!��W�t������_3�}����bj.t[��l�d��������om�4�-�`S e�u*���q�p�q�����)e&�Y#D*��K����)^iM]{DDDDDDDDDD&�I�l?�k��iMc��e����i���	,c��Yu�+��(v�W����������_��������#��`m�yni���m�����'�13����HQsDDDFM��M.���v���k-��*"2��(_����\Z��T�&""""c�Y���^<
a[��=7�
��f���H�r
��I�N���Kp�e��l�r���2+(���T�4�J��{(J�2j+g����v�����0C�L���� �g�����_i���.!3��]x����>[6���`��4�����()`�Z��L�Td.�]������W@�����RJ�G�'2i�R�c���^|�%���MB;��y-���1���	cvEk��X��M��/m1��^�9^w{������8�|������������$o=[���-*�[��k���<�����Ff�E����o����������_P�Fk�3�^�;�	wgo���=�M��������v����b�Zv<4�!�O[9~!�������+&n�-sxj����""""""""""2�E��Y0N�O���?�`��aW��7	l-��<�,��'KiL�~i]��`� ����$�Jf���n|��uD�P�3���IIsQ��gbo���T���NG��[,D������OP��d����e,��o{BH0�����D��*��(.�*&�I��&�z��������0��)�6�+�����m��>�%4��oqR�t>�����%,
Q�����,���`���\7�]�\E��(��V���z��w���k�����-��M<���(XYB ��g4���,�^L���!��^J�[
(Z3IB�""""""""""�l�c/��?�t�����C������/�������Y1�s��r���g��g9������G�!��AVu�<����[�vT����z�^�[���us�9%a��6�=����\L��7�?�5�3��'')��_r8�r���1��q�+�������Y�������=��]�~�k<pw�f��W��K�_�{^z���M��h1x��b����GDDDDDDDDDD&�*(?�bY�y(\���Lr�5%xv��*��P��G�%/EK{>�o^P��zJ%V,��xS~A]+9[�p����2�U�_&����u.�}�������l)e����������q_)�[�z:��E�y��wI-������9V������p��������%���c��S�t!���X����X�_�
{(��b������%��������[u'%;��go#�`�������-�|�F_�����TSYU����l9#�U������*����'��3}�6d&T���O��n�]G������
����.����J���WkF	��f����]�������Q_��,�TA��~6�����:��p�O��md�w�N0�wm�@f������>���nc��F�Oo�����\6�P��������5
H�/oc[�q��(�2��N��^j.t
d>��5��+��8�w��,���Y^���S,L��`
1������VU�%���y��}����'G^bc]�k:�[9�m/w����n��B�'����������S~�����r�b;|���^�\9~���I5-��%���cm��}�����`�-h7��I_;����+�����6HDDDDDDDDDD&�(5�����,v�
��&&����dw	��;3*���]~�e�u��t�UZ��44��$f�,V\[}lN6�k����2�+�	t��4�}��x7�q.q����T\�&�q�3QF2��xb���)�
�\�S��6��Rf���d���]U�b?]�������a3���p���a����ui	��}N�jhcz�q��%��GUs���R
6e������q_)�/����U�M�H]9���)��$�N6�T��Wi�!�q�c-�b��.����k�	�i����7������8Sx�������	�]3D��Y��w����n@�� 
GB�H����q$0���6�_�!��C���}Q4H��<��Zq,�����
�m!r>L��I��� �S�]�� s����wr�'�Pv$��:f4�+���Lv�}�N(�ym�@l�|TG��$T#6�x��h�6��}�mQ"��/�����X����1�mC��z��w���-��G�l������������6!���h�q�R[��~�~��U���`Z�����v���a?�u��w��������g�iK��������t�G]��&?��-i<�Y���9��V������������s�G����	��<�Md��l�_s���m�fg���c��d������'��0�qO������ ��Y4L�.L��91����b��y������!(��R�[\4<��g��e%��j��s(>������B}�M��Q]U��F��c��_�\�;�4�vUR4	�\O��M�Y�wT�������G�	$�8�� ���?!]�`�05���Lh�����f[����VsD��I��q�RC$7����s�B��k���R*��gi�z�L6
`{���}!�{G3J�=?��[���g�e���MI}B%��2|�8�����wy	���&��d�\3�_�0����������Y%<^Nc$��bQ"��D�w�>�2�E��Sy&>�\WL��O�������������R������������L6Dy�X� ���qv%����
_~��?��f|bJ�m����y�A��R!��9�]=��3��2%��}��o��P�SDDDDDDDDDDe����+�c�����$�u4.X���N�*qaO`B��=�CE}��g2����1?�=�!^*"���a#��R7��6�f��3��xw�c��5b|�������9iN��l�vk.��Lgu��L5
ue�l�80=���uE{68��y,��q7U������w>n�rk>��o�1�A�*eU
��ed*,5���l~�����3l�6T���f2�C����J�@�e��G��mQ�g�P
S����e�@!/���Y�x_��H����}����4�E��X��T���s�ym�8�+�h����g�q���X�/�g�+�OM���8R���[s�<�Le�DDDDDDDDDD&�?k=��?��7����o��p+�Z��\�J��1L,7Y�������/���3�6e�V�������~���1�b`�R:������L�7Yc\<�;�?u���k%��1���[����_���oc���ncO�Y%�n����������������w����4��h3
GKq����'�h��#�N�	_�b�k��8����3����Vw����M��[hi�bb`M��>������C"Y[���Z��i���Xg�Y�(��Nl�(��&��2�k��h���Z�L�X1nN'c����a<(��-Lc]��!Z.�`d��p�Z��9���!�4�
���J4FZ:�3l8�/��t���!��6���3zs IDAT	#%|����!�]}�a%==��K�t�S�8VW��^l�N�r��������������11��2)(�)"""""""""2v7-`�OC�CVr_Q�G�1����P\�Y/���,�@����JDDDDDDDDDd��B� """""""""""��������s�x�(�)""""2����x�����U���q�T7@DDDDDDDDDDD����J�����a��\F*[$"""""C��?���,v�s���Y""""""""""��������R��dXg���	"""""""""""""""""""""""""""���n�����������������������������d������������������������������H�(�)�?{w�}�����2#� 0U`+�����1�u����7m#I[c���W���{��k�Q��&�����!�D���]��RP"� ��T ���;\���������r]9g>�|>�^�����������'@?q���m�N�_���Q���!w5*z������'@?!�	�Oz�������p��}{I��Wr�yz����h���:o��z�d8@�>Fn�O��1nn?���Ug6�b����4��Sn.7��Fs�j-W$����U��*Y.Z��j�����=�}��;��;���z��w���k����p�����t �T���t�b����hlD�&>�'�+xP���UU)�Og�w�J'��T���������Q#B�5������c5�769���cz��
�I�Y�:�5�>?�9�8^�L���;�7�����VQ�:u��JJ�Ui��m��)���hL��2��St��
�Ywb��������U�����������,S�<z�l�W��l������@�J���l�,�����B���<Wq�&��&X����\��/rTX���Z������(��/U�G��-�������q#J7n��uU��x`����l=���]gR���os�������a��y�1w����w5q���u��:�F��c��W#��
�6��v������nc��h�{��'�a}�����;��w�����E�����!G�=���Sc����_'(�����ud�,���@����zG,�+k�*f�3�=����:��w��
�����zz�o�6w��Ng�0?G�'sT��q��Uw�}�a�V�}��!�z�7�;�=�������������EYN�<��������$��������|��5=��F<��������$����O�����t��slVk�B���T������������lW��e�J��}�S��������u��3;�����R������#zyWq���34�k��IZ�Z�v'VQg!O�������������2:�g�J����o��
G�SX����C?�� ���7[t��Ry9�����G��$
�O�c�k|����4���4H�o�:s�����*��u
s���^���hw������Z�z�u��Qa��N/�
���F��5+���zg�W*�����P���+��>�����1Q
�������Aj4���4G��vXE�������������T.��������fZu�*O���j��������*L��]�'������=z31\!N���c������������n�[�Y��*�S�2��[��M��zc��vL+c<������������������m_f��5mC�C}L����59���h���_���Rw�S����X��&?>ZS~����n���f}�n�^�����\��O�L�}s����?�*i{Uk�P��4�7?������/�).��4{A��.:��o������h��1�����=)^�������e���4_��!�ZH���Z���x��;*�����V�p�U��CZ��p�]]7,P�*���z��$Y�H�����]t`���s5/&^�1S5fX��IX�%'6��W�+�lKp��\)VkF�Z�q�6���1,\!Gi��6�J~�\Y���p�����7�Y�����.��1��:�)B#�<���H�V>�}�O���9;���H��T�E?����������9�5��
�����L��<i��qy:��c���L��Z�-}����9&��7}(`�.�q��!P1�I5Z�R���^y)�2~��;����][�����#f�V:�<x�M��3�`u�,-}d�a����jLgU=
S�d�Tg�Dck�;�J��$]W�n<�Jc����;P���^���	
{8J!����d�t�}���w�{w���z�sk�r@����.�y����a
s��DY�0�u.���C��eW=�(BC��d���4��'�A�����������*�adcQFkX�#
�u0��u�%T��I�w�����L�V������N������3��u��Z%��}��.���b�f�b��<�����-�2|��k�F�&�0I����Z�`������-�v��k$
���-�T�V��U\X7}�4�q/m���_R�gg�G�nl���
��w�����T��ZI�;n�������G�U�C��a��iR����m�V~Z�{cco�S!��rK�Qc����VI
��>����^���U��rU���R�Ur1��!~��Q���p�Q���*��X��]<�=,T!�+��Bu�
���[p�����X%e�*?S%KC�%7wO
�^��<��a����Y�r���qU���QF�7$P�c�6�Wn��g���;���z56����XE���4�������j�[q3��'T�E)$���c�����W���U0}��`�}�7G.���s�t������6A;�h���w���g��������M�*zpMZ������e���m*�v&$*V��v\��� C%M�m�,��x�5�
%oG(agKez����Lk�zJ�*��ziU�>�dZ��V�t�l<����d�g�+���5t�k�@���P��Y���������{�`\5o��Z4VRS������;��z��.�
�N���7���[Y���h%��*&n��f�St/��K�=J�{FW_��T[�����/�����\���7�Z���*���M����P��}���l���b�Fy�����_i��Xy��.m�~�"Y������|L[~(I��^��o�W���k/�q�1*^�~�J	������Fk����?���-/5�������?���}��XK�y�b��<<\��Y;��������q�����Y���O����Q��T�)��uqp����N*f�r�f����l����_��S�eW����q����Q.�AOUT��E)����;�U���s���b��?��?Cp��rU:N�v���N��i�{2&��n�F�
tm
z�l�J.J!^=r���<�v��~}�������~�L��x/��'�k4;��F�~�S�n�J�$����U� ogw`�VFZ�m-�����I��z�^����m|��r�$i����~a�^K� g�uux�����tQ����@�������By-��U��^o����a����h.P��/(�����������a���{��k��n�QG�.O'+��U��.*3>R���r�
��q�SR�znW��{��r����vX������M������5X��|mvI�W��Yzes��	�g9�����i��M�l�lr�}�"5YU��\/-���NC�VUf�����k��7��h�V���z�9�<�����v�zX����j]�"�������7~��_�]��C��������.
z�u����~k���UF��3�7Erl_V���dW����n?�jt��.��j�P/�������?�\��,�� ��,�j?��?;��t�Rp��o|��R����M�����
I=w-���\���q��a��\��h���w:\�Kn�1
�l�r�W�(s��v	T�'��x*p���e�V�����j�km���n3������o��������%T�]UP��o�\���W���������U���N_��Vc�^���.��<�q=
#�*_?
d�lV�V���C�B[��6L�����[?�����Z�����B�.��	��zVU������{�BmZ��9�3�F^��2M�w����cS�2��hI�'�/WFjvkP�%���.�w���G��5�~Oy���U:WZ����{@���JZh�������d����?����
��m��+isk��mH��y��V���rYC����������X����^�k�i��m��O<�@�t�J%��4�����$�Xd�[;WiL_������;[�����|��;������[���=�_rV�5���
�R��`����3��4��#?SaVk��������X�O��Om�����M��~~���,�'B�S��]��>���Z�06-��X
�l��K:������|�-���C]���i7���.=rw���NaUE�3J��0Q�%T3���ZPC�*���~��|f�@�1J�Z&C6����*���k��tm]��2j[Wy���f���
p{�S�v��i�NoHW��j�=����UyG��\=%�� �{�����d�W��	���L��@Gv,�[h	�5�+�3�uL�r����d.��C�!O7�	2=�X��X����ERC�*Og+?}��''���}��1O&*��e����h.V������$������P3�����G�\E{�QJ�}Me���<A���}�l��O���"�T�U7=FNU��O�3Ma�|;�]��2{�����#�[��gw���1
�0��J������������f��*,4T��j��y�@���J��CY'��T������"y�]�%�e�p8&K��������Z����E��-��n�-���.����B�W���k�c��V�������=�h	�ZN����c�������U
�mC�}��(����n�]����4����.�Ux4W�Gs�ik�V����	��Anu��Sx��l%���/?��?�;��VU��{�t�����_>�m/kh/����U���/�v���Uz�L���>��mu���z=��N�[T���z��7��fj�2zeh���n������zv@@46��v�z�*Km�����}h�f�;�<=��.-���}M�.:.��jH��-��2xy���q��<�U������dR�fUc����{�e�j����=JINV�C�-(A+W;S�������)G�6I��0�CU>���m�a�f:T�/Sd���@���6-Z��6���pMY���H	ZB����=���S{`+W���J�����uK5��������NU�����Y�R����f��������e����O?T~�����N��{'������4-���	��Qp���2M�U��������8�V�Q�?��HMV���F��6���G�<-��P�cB��Q�QK�jg��O�t�\�����J=;W��w;�XU��Y��4W���]q#���Q�A4A1O-U~r��/ j��,yD��[�&^_A�#\S?����8�r������M����z{�*��|�
xj���:U��|9���P�K;�mS�?I���j^P�qXu$�_I�}���1Wkrv)����p+�eAO�\��P����d�O�vrWaE��_t|�<@�/�����7Ntd����{���O���w^m�#%������n�Tlx H�&N���>����
Wt�����4��!�����_��%V���z���Z;��z�\��fb�]����'n����0;�a�o����j��MZd�f�oC�,��iq�����P��Z�t������L���]Zn
l��(�6��VY,f9��x�~�H�fb���B�%��_/������a�����Pc����un�fwS�����l��L����BX^S���=�Q!�e�;])-9����4M����45���&��
K��]7�p�M�E?}�m�MY4ASmRe�nI���G����KY���?I��W�{�T�f.��S�Q���6e���mn6�+=-[K���Y����&=����}V���
qfHW
�����Fk�7?�Z��;���v,�z�+VK6�R\w�G_E��wn��p�_�A��_��,A��U������qUjB�A�������J������;y:���VK����(
9:���y�����w�{}�����3����k��:�����=�m�IK�+�]]�����h}a�U9��u�����q�g�B���"�r�����Vu�*U�����������t�GZ��R��5}�D��*��������$��j3G~��\b������!OI��Z��}��W����������p���*fY�J���B�RsU�6�[���
��7/4�<%�6G�����W�fh[��f���"����@�>XC�w:_���}�l���w�M��S�r�E�.��y�&����4�!�������
��%T��w���?>AO�N����mY�Jq���&�jU��d�^=]s��o��"I)����Ou�-r�b�u{����{t*Y����V����	�D����v�V����w�+F���&���
�n7��F�1������)�j��+�8�������mp�S1s�)��w�"��J���7�������Z�s���hp�G,�����U�������J�f/~��IYz������v����*�\�\5b��:�V�F8nw���M��8�h�{�=��i�+�������T����8�����}�f�J���+&iVH7?����Jg��+�[�.�y��2O��L@�~
���o'�	����m��Z�	~�3�k(V��Y*?����Wi�Hc���Vu:��|\���7����U��7����n�M}��;�Y�W��Vi��Xy��������L��)��D_/�tS�	��IO*z�aeX$���������N��rX�������z|�����}<%�T*�YufI��=4W3"�����*2>Q���z�l�R?���C����^��\E)�U��ZG6W����WHG��e�b'�j������C���*:��sT���������t]m����j���U�����n��X����q]cT��Xyw��%P���Ru���l��.��{�bU��62:���<�����W��?�s9*�V?��5f�&������*�v���)����MZ�v���|�	�.����S��w�� ?-��B���������M�����I��M�O�0<8^���y:r����&e��W��sB��&i�'�y`�V���W�i����JN~��ie:sY�����Yz6�TGV?�wfv]�s@g���������K#�[��opw1*��%��0�{��x-y#T����F�.�T��8GY��l��T����J�=����J����g���~��R�|o�y�_����\����5W'R6Yei0���*�:��S�j��X���7&)+#Q�6�R�m]��W���	�Nx�Tl�re�6�7O&�H�R=�IDKF������c�oSM�Y���*)-V�_�T{�^�M��U!<W�b������~��?U�����6<Vq/�*��M������{u$�������a�����>A>���~Fc��+�����M��J=��������
��V���5S���=|S�*����L�jk�u�f������uxw���^�R����q�Q��^l�
���N� �67�V56���][���~�
���`��(���3����>�Q	�����������ngw|��g����Z���~������R>-�Z������p].����N��JTJ������>:��� IDATNM�
�23�d��Q?����}:��b�>x�%����:��X�W�\oO�$H�7�W��V�����F+�7_��M��
{��e�8�����i4�c�:���Ci��J�rK�R6<���rdi��P�#����#K+c:��z}E�k�M�T-|!^��%��&I�
��V�:�����ips�E1�c�3���YU��^�Z-Us�rWk�2O�xwi�&����2��=���������wt}_�����^�"C�b'��ZbC�2���R~�������hlt�Q��}]�Q��\���E3.F
*o�6��Q���h|�5�+?u����#'*���t~�G�Ul�j��l^��<YY�x�tT���e��.z�<�q���������S9m�N�7���7AO����������<9s�il�T���iK��T���(�������P���^u���z�8��K���h�� �=^zm���ce���������<�?�8\O���TW���4�_kt�%#y�T�J��v�g��:�X����9�i����iV�tM��64�q���f���9O)7�ke~a�!p�&>�x�v]h�t��>�'�}�#\q���B|�����[&�+��$��oRdG�Wy����k��a���7>GyEU2D)r����V]jt�@k������j�T�����:K)g��Z�����xm��LE���1q�����H�$YU�Y�*��I����n
�E�U�p����������u��������!C��;������FN��U�@�{�/Z��Ch�T������<]����om\���<A;N�������c������aU\
��*��\��V�#�������{��h��}�N�����]������5@-I�����a���������z��u�=%
�a�����:����3%�����4J�����G��}���Q.����f����~la���e�[����A�	m?4I�t0�d�Q�.�����]h�4������k��eU���k<�p�G��Q!	��03B��L�>�[�SW)2������p�tu"p�Y�$���n�&(zXG}�����ky���^�x-�u��^���&I�*�=�Vc��	�;�{�L1�:��%(v:Y��N��Qm��e|��k��g��T���cIz���*q���b�wh�"CC����A��O^��Z�s{\��Qnw��-�+���J9rX%�h]<0~B�?�S�B����&I��>rX���!���-n]��'NhS�R~�#��Z�f��W�B"�4j���xy���������5X�kF��)?�&k�� InI=��tsiw��~T�=��z��C��Rk	�+���:zJ��rz�<4���6h�;��d�.\yC\}4���z=����2��d�3���?��������3�������3\��w�Lf���%T&S��Ko�xS���t5��__	�+P�nr��Re��TI��*��8Lju���o�V2��zJ��;��\��s��/�����n�[�%���Y�M��
��Y��
whS�������������~��m���6!O���Z�b�b���N��fK=�"�e������u���j�n�&(&n�f����a�</SD������,Y��6���w�4��Q��������t��e�����C��#\q/��E�����������zJ��l��������Z����gS�`�k�U�o���}25�h��D^���so=��.i�����{�KU���������v]q~k�
���k����0��5:#)���xiT�����&��|-�Ntb3�LU�}���

��#C5�%�y��$��bUJ
h��5PA#$�lY����7�����V�J��1������}=�h�0J����,��*��C&��E<��a���l�rEZ��^o
W��P_��<��*fH��m�|�R��[���,U��-[��Gp������('Bm.Fy�����U��[�w*����:h�������/�ib�<��*������C��t�g�kJ���U�G_���K�bL��o�R�������u����x	�E�::����g��]����[,m�Vyxu����+OW~v==|U��{�>qo=/^�����Ie��#}4�U*mio�d��.��\�������Q�N���G�Om�[�l?>W/�4J�-��V�*1K1N<��K�
���AC�����hWU���������]�)�l���T���������(+hS-H�r#��;d���5�U�
����X�N�����g��~r���m^�����{gOE���
�u�07Gu��~�2�|�S!O�Z��}�k�
p�$�R��d�~�G������s�6<V��5#.^c|{����'5����$�^Yi�.>A��d�VFFyk��s��N���w�u�n���BgB��T]�J{���*^~�v��%\k�Ui���;�q�*�*���=��s
��{2�i;U��<zi���4�[�
�J�mY���J��`g�\�Yg������o�v���U;LP0�F������2|X��\���?���/#4��>���Z�PI2Di�=����McM�j���F:��6*��G����\UFV�K�%!����u_��V����p�B���^M��;�v��[_�$���������h��T���r�d�I��H�n�6�4d�bc�	����\U��!\a��#6d���6z���8�S���S������W!1��dK���s�L���++�9,�����j7Dj������
�
y<������
k�?�uB����J��
�P��t�e�V�S��)c�����JJ�V\C��#t���(�����;5�����p���q=�2?+�y����~��$���51�U��lp�ke�����O�u��>�D�fW��__{!�$i����I���+�P���
l��:�m�fur�$]R���}�j���n�����O�����d�52\��������������t��w��
1������1�3e�4��"��J�p��.���bo|��u��+����\����97_�*�����o����C���Tu�3B������z�y�2c��_����&+�dk��{�\E;u-i���n��/a�d&+��sm�V�o�V���k�ZxM�)~��f�+�O�o���6Ui{d���t��V�S��;r��"�!\&�3�<%Y{�m*V�����w3�@��+��n^n*V~v�4���}2Cy����R���2�n�r�v�G�w��b���o�������Tln����j��,�M6;�q����5��-���C��nV��R]��#{��}�. 9�����;��;�G��y���4�X�w��t���������V�Y������S���ob���9���������S�Y�S��F�=<����x�>���������8�Y)�&������w�^Y;�(�q��O��F�q7}�)[�^��s?����O��`Y��p�<.����+��*R�Ur����W�Sb[�t�S�9,��U��u��@v$��ug��y��j��D���_���O�<��C��<&�+��~�*L�P���J�lM�=���N�p�g�{�����i7�RWk_7�}w'���&o� t��[����v������
o���;Wu���C�(��������N�-������Y�����0���Q_��e���E��.;����gtY�GCM����|�P��4w���3�R���! 9(H��w���=�5cE�����7R�*
��/�����.�h��sGk����]y[S����N���k�*t8�#f���N��P���{u�����������R��g#z��4%���7;�a��UE;�k��N��
������%�O{N��r�M���0K[�s:��s�z�;K��+o�6`�B�38���`������M��:�Y�9VX��)�xg���
m*�����	)U+k�|�8����w	��S5���AZ�v�[����N�k{�}�L[o��}�#���}���QaS�����
W�C��1{�R�	�6�Z����s�|�r�Z(��gwh���.�^,�I�x����%\Sf8��������:��^���uA�l
����
�����n���2}�q���+�����}zb�$Mt���������jYs%O�Y��'[����� 
u��m����>���Ju�!����i@����r��*sO���+��`M|�_a�i����V�����~��m{JU��������ms����������}[�����/O��q�:���>�c���0���`-}!X�7@_���U����'��������"�>�����w,��T���le�n��}�U�fv�Q!�Wu�l�aJ�����x�J���6>;K��{G�"6�N�{�=����S��Z���]Np�T�����zo]�"�W��	��B�|�l�X[���d�����c����%�w����DZ�����p��r���+%iwC������*�_:L�W����\���3Z1d�V>7U����x��v�}A;���(�<<$��
|�*2n�f���������Q��������l�dK��-F5^
]���4��8G���}�WGRZ*�6�h������=���mS��&��u�Ud���)��zY����a���"^���Z����?L�K��Jz1^����U����_��
�yOK���n����;�����Ij*V��������`���oh��bMy���<�;��lu��L��L��e��U�e�]�V��me��_�����u��uF,��V}��^<z�y���OV��O6yi\��F��*��f���Z��������Y�}'�v�/�J������5t��d��X�������_�}����7M�������J�WJ�/���k���R]�N�����d���D�t-x���z������2Y���r��� �d��b�o�����MZ�8����.����Z���e�6�j<����k��(�z�S2�����U9]|�l���9y(�b���V~����r�)w��b}�����5o�;�2��~��^�b�Dicnzs����nr	U��z����Z�S/�m�:�T��w�kNr��"�8�(5�U����,�v�1>Q����{�;��]��)k���~�[����Y��6/7:|=�?����x*����xA�-/�i,������v>�1��d��bm�J��UQ���!Pq��ru������$��w�JV�V�\�{�W���4'9Pc"'(p���J�_���\��T���Z��xyt�_�K�Nm��s}����be�����>0*�=^S
�)��?����ulv]�����}4k�l�{�O������l��.��W�5�����f�e����f��Ek��'i�uo�u�e��_��sW��-xR�Gk��?�����[��_�)���J��Y��_v���&�����������P���.>w�����k��x��8����z��z�x)I��WWZUw*]Y�:�#P��>�U�70����Fs����7q�E���y��7�@�����u��jm/S��z*z�-97M3���m�-V~j��;��c�R�Y�T������Fbe�	�����}���i3{ Z�U�;�E+6����RS�*OV����TL��z%&[+V�x�w	_����Vj��L)n
Z�U�Q��N�r���w6)��Bw����UD�
y8�0/p��n������h-���PgC��|4q�I�������<����w>�O������S���kA����>�&�t��3�}o���� ��9��4������������������1x�c:x�i������n����"�v����i'����?c��Z�V���*����F_���r�W��/�^�zD$j��4-��w�������gi�|g��Fi��O�|Q�������1y�*n�����B��;
�)S����!��U��/lq��y[����xtD�U��h��������������g�5U��������I;vo����]������������������[sL��%*fT���mH���x@�vo��a�h|�5����]E�a��������|�������A�0�UgJ*UZn���K��pE��vY�*�@W}o��F���
����]���y�F��Zd��%�Q��^
{(H?���^�K�U���T�N}c���^Q}�]V�d�*��^
����?���kw��T)7���N�U��8�7|��~��!����V��pJ��;��
�O���*)-V��r����b�U�M���Q�|�����{�W[���l��B-V���!�B9U�#o xi�W���*?S��s���X�F�U�.F�7�WC��j�CQD����j�R��
�~[�|�}��FE)2���p����+;�@e��u�&��{j��
��U$�Y����t�
�(P�7����|<�'@��*����q�����L/(�vu�Q���R[~��.����M�fwG�����;AO���Y���dY���X[>�����	z7�w�{�����c��!Oy*�g��Q���G��FM����n]J�����������t���������c����k��,��d(Iz`�~9�����=�.�1i��M��Q��w�{�*�����'@?q���0	��=�;J����=�;��Q���!��;��=�>�w��]Q�����'=�	AO�~B��������4������F.4��Wn.�dH���}���%U_�_��o��u���_��������a���e������gn��~~��&C�)9o�&�o
n'��|t�v|�����������
���p4���l��&��{i���M���h�V����v3���R[%�E�]��������/;n{��"�t��y��-���f�I�5+��e�)G�U���ekrl�%��/�$�&����n����E%6I������f���n�z����^��v������4{��n��w��bo�l�����YZ4��G�[���
?�����$�����j�<�yT@_��c<����^O5�nc���ym��zs.��y����*�X��\l��`?����G����`�~���*�����NT����*<U�3���6r5jD���=:Zs�q�&���'���5�����=qV�5v�j��>����N����\[��o��eU1P��Xk�U�M��������X]��c�**�B�NWIi�*����]<�?���~R��y����>�N���={��y�*�r�U����x�s�e
�GOB�M��<������T�qU��������W�B"b�w��*n�ySqw��*�U7�td��%[��{�������_��w`{�V���F�2N�K���7�tO�<q�k�X����v�P�����cT��������$�[��4U��x��w|����/�����m<0L�_��md���4���\e~����U5���F���j��I�<�����k�;�j�������Ug�,��/�t`{���1i��
s���]�K�*�O_�O_�U��J��R���5nY��;z���h������6���T�*O����4&~�^�u�B�{���\G�����
di����jUd������w�^Y�V1�T��VR�tq�]4��b��(m�vl�����zz�o@��k�K��o����KF�vf6�<�����zOV�������Z������w*��+���o�%PQO����5]�����(���S� IDATb��\7�W�������������J�3�
"0U�V��6va��D�6(�7��6b�kLbR5��H����G�f��6	�|�f�jh5�����Yp�5"�4�B@Q��0������p�~>�q�9�5������'�-�%""""""""""""�D�z�]6�o|���������lu�<[��q|�o�y��7����~�S�K�����na�"���gW���3.z���;����/�����ui����j��JD���f�8������{�����X�m�C]=��+��������2�UV-*#e�N�v������D����������nA(���BDDDDD�����!O�q��OXp���{y�oO����g��vQ��@M����0��Cro����yiJ�+���`{�[E���Qx0�m�
�Es,�wq���"ro}UO��W������E�DDDDDDDDDDDD�w�uq��>x�]ll����V
�8�����y a1?��0&�f�����\A)�����nar�����0�I!~���0xH?��`���sg�s8�,���q�DO>����ft�{DE�N�x��7�^K�U����?A���ud^>>x��QUL��c���C�,o��]sj/�"5u9AVq�Q�e�C����-gA�4�������[��N%�
m�����pB\��������K���`�n��L�**�K(�}�YME��d�<�W���:���NDDDDDz������7<��w���9DF�aE����{g�]4��*�e��7�S��Z8M��H�5<��������&+�Ur��'���?q����H��?g��]j�Y<��y�s��?f�/����������i��:�}���������e������,O���
{y����s9�w�N����;u�����L�������t>��
D"""""��<$�����~(���P|�����b27-����5�$kr��q����8ma�;�M�C=��^y�u��4Yz���q���x-�=���Ci���`m����c~L<�1�?���eSX��^za%��&n;�9��ZfE�g�&)����H/3��,~����l>��M�A1�zt�g>{v�5^�xE=��Q����{Y���HP�ZJ�@Q*�.'RU=EDDDDDDDDDDD��]A�;��=�����������o�`d���'�c��0������1��h��������U
;m}������v�a����=~1���
���]O@AO����d����VbV�K�:P�������4~)�mh#w�Vr
��bRXmyxMH"��L���������r2~=����i����i���&,e��j�w2'o��h��R�NHTDDDDDn��TF��������[����9��_6lx�?_��HD�7�Y�^e��6�����R8+������!�u�z�Os����i;(���:
y�i}2�0cN���fa�Vy�1g��Y<#�y�SDD�g�?����'�5���8���lM�!��7m{�2gqb��������v�?��f�[2j)s�x7m;�)�-��>DDDDD����gus��
�����Sy�;���Ey�{��H�J����E�_n�@nW#""""""""""""�=z���Q��}�9[wc����<����9�?���p�J�v]
�������t[�|v��`���M�������������N&�?�4l;���F������W;F�#v\}�c�{���w��rr�dCTW�z�)���=�*����Q.�Ozvu�����1�����Q����O)�P�U��WA��	�?��V��WSr*���b*��q&/������<��p|����������/���>g�����P��K�(��]�`/�0/��/�����?����?������~�AaQ�56L��j����v����(��g�_(�j�
L|�B���"$��k��r
?���\1�56��@�GO&l����c#lC�v�YL���M�����"""""""""""""-(����2>���i�o4�t�x�<��A��<;W��0'��8)�YE���D���3�����L
���*�'������t��7�Y�5��F�p��{��������S�F��`�zm'��&��RVO�|�wC��������&rJl��*Ry~�3o�����o7��p���)�}P���P��db��dA,�\�8.d�7����0�����������������{���u4�9���\�����u���V�la��i�����J��i�N_���B�j���x���6l�����7����y����Q��=6��_/%���,������n
+Z�C��Y����iv����"H=���5�u�{�h�&��[�IM;��s����Y?g�SK?��^��%=�����+x3��������������e-������6���D�/g��y�����Z��S�T��3��g�1�?�9�y�N>Zk�m��=n%�y�}Vf�&�v1}��DDDDDDDDDDDDDz+�;RRDNY�������K���*�]3l�}��������"6�<���5�;��4�z��=C���7��h���$�r�|i�`�����.uc�WX=�������
��t~���Qz��0!����w=�1v�l�m�� n�>na�������BN{+!�fl8�	�����������w_�de�7����t��67B���Tf���U�R�F(�Q~����$0:�%c�je�p�b���n3��x��|2��!��<^x�-f������U����3d�����x��/bV\l��@�������*�X��U�L/�dn5A1
��v��TSY��z�_�~�F6�T�S��1]��������<���m���~m��I�lJ!��cv��gn<6�w��d1���om1���d[�4�.����YN�k�y������C�z���)�lH"���"l�|�U/�R�F��GE>�o, +=�e��$a\��EG�k�������a�����+d�����#�#""""""""""""�+���g��j��76lNO,~^��p+Er�_�V��dBD�M��\v�s�������|�w7��:N�{9��=��`&u����H�f�����d$�����HK6
��n��������<M�q"�����.VN��b
������*�Y�������-�G�]t�;���8i���JdGEDDD���`2�����p�+��`0[������@Ud�l�~1��!������qj-/����s�1����9<�%�Ex����p���E5�>����1��(��KKl�������qCz�y�����B��[������������ss���O���X�1��Q]N���)<W�5��;�:��,fo���g���l/�B�1J���9kY��?�o,%�*b6�����[	y���$w�tV���<�j�&h\V?\)�� �����*��Y�����S�B(�2}1O��M�M��(����������^�n���|������0��s�<-�Z����{|���M���x��(|=
��r����
1��wR7�]A�:G_���e�9{�����6i43gE�xz�]���J�h�yZ�����W.�������Os���}���C.���!wb�Hg���'���06?������DDDDD�%i�I�n����E��m���rJ��D���:w��J�P\h�`�,������~E�V<MfE�.�I?'!��O-""""�.A?���v���5�<�^��������#���_�IE��������q�8c�z�
'�Nu�<����p�����I�OtD8�>�FMy1�y��L�����OUy`1/4yz23�e�.%rx����3���~����x��-��n�[�0��$f^�MfNA��eUY��$��d|'�3s�"fM��*�5i�����x������Z���r��f��T2��f�w��������i�<��l a��un/'w����)����QM�JR��%51�;���_?��/���7�9��#vR����GU1�'3�>��=���<SM�J^�iyz���/e�1�m/'w�
^ym7%
+�|���_����m���SyiM���W�r^X���1�E�l�}��k��u�;��ClL^K��$BZ}-�2�7��i����!9��<�X���N���������'P��1J��s��"""""""""""""wX�
zR���E���J'>����9l���WeqX���K
KX{x�?��y<�O��u�c/+���e|���0�����F3��i�5�?���Q}���������O�P�,O���^�p����H�������y�FME���������7���d��v>�_*��q�����Lj���������dF��4oWYQ
�8[�n���5~~w\���\>'>����4

TSp"��.%��3�����H/T�����%�`5����8���+6�N��},����Y��%rz(���2?s��+v�����q{���A�%��H�3�e[�	|�oY����YK���I��n���!pJ��$���cd����'�����F������nv����Y�����~��
��4�
��������C�O(�	)D&$Q�Wp����H������n��D&�c��$��������o�%s�Nb�����=����8<����W�����}c��2%��)��_���o|n>�3����e`Zz|'[_l�11��`'�����\j�1%{��;7���m
�F��$��]��$^��J��$��vV��q*����o�y-���} ���{�~�Q�Oa
���EDDDDDDDDDDDDz�>����	V��D���g���iY��+6�v?_;��K���]��~�����o��_��\�����M?�	{�����d�V�����������tg_�%1!��>�����bK�B���Z[M�q���>x��_���|%������IH���8k�_-x5�i���
W���/a�[��<�	����X��V�������H_a���M�����a��jj<���� +�:��B`Lb���|{mcH p�f���ld%!)���g����d��Ee�R|;}Cz���L]2��K6Q�����c�����������]���i��^��Y�:b+-*hZ4o�O�m;������p�;��<������C��	�X������*�8�^N�����WS=������>4����V�;r�s�K��������-���z�M?��
�ok��?��WLn���4��7m{�2��Kj%�i0"�eO���5��
Vs|�.J��w���V�������^@�9`�[G%""""""""""""r��u����/��gG�����������`�����.��sG3�E����s�y�D�U9��q��q�:���������Vo��}�(/N�������X����9���V���%���?Mz��{��<EDDD���J��#�?x�e�<���f��-M�������g�C�����${��h`�dn^-�n� ��	�KI�W�����bJ�-4�p�;��Wt
�M��0������cIX�Z�p�|�4U�t|�Y���u,NJ���G�������)��d���Z���3i�Z;���}W%s ���5n��Z\w�
���?�Y1U~�oQ�8�y��v�h��y,� ������<!d�SDwxBob��'����d���zkG�!r��<#�b�K��
g-"��u�I#�|���o�n������������W�4�L e{c����
��Y}��w_�
���q�F���W�O������V���n������OF�z����1�x�&��fb�X&>��g?l�%��*��;�N����}��]��������\�sBz�C)""��X�]���m�7`r�{�#"7�- ��9�%��|
SGu0i��F��A�>���-&�f�{�F�����=Z���u+�����S��4�%b���o= n���5�T�C�pw
HDDDD�q�QQa�����N.��OT�������G�^j�4E>N�W�&,�L3���O9q���)�z��V"����O������=��"����P[��k9y`-G�W��93��6�#^C�1AC�����d����x��n�k�#���j}�4��p��
��D��uw�����N��N�,k����b��q�0��UJ�zr�'�i�:���c�0�����V����,�����E����8Y��j��� ���qOeE`u��DDDDDDDDDDDDDnG�O����iW
`�/1f�����_5N����6����\�4`��$�|�E������k�8���n�f����u�!��r��������o��~��KU�����q�Pg���Y<�}��kg�lU������8g6���7sVs��?�G2�����w7�����{&�GIt�0D����,{9�qr��Q��K%�#+3��Z�YMI��$�����>�g�_�����^
��
�<�4�G�uA�����i�p�������g��:��3�8G�1��Y�I���Bd����Od��!EDDDD�W�6=,������Q����U����
�B0���:�n��*������
j�F�2��Xf>����]�O{��G���|y��/b��y��7�n%�8.����H��Y�s^X�p!Con�3X���#��
������b��!��y��b(�-����]s8cF�x�y,!�-P�p|�i
�7��j���aRo�cB]����P+����`�����0�6o��5���e����/�EDDDDDDDDDDDD�����{���l��OJu�]���E�����oO�7�o�0e�_3��D����l��6�X�����"��Z����2����])���? ������^���U��o�����}p�k�[��Rp��_:jx��-X����u��T�w��Qm5���71�\��Q������D��>qeM>^{��{�Q�j8���^Y��i�����9���i,z&��5i���	Y��E���+x�M���;!��	��a����W��/k�l��R���U+�I}c9A���������t�:8�;,������P�n3HZz��!V�~z;�~��5�(?m8�F�7�(�UUL���;^�������v�j�'%�dR"Kj��M�����p���>�����o��E$DnacN�5����7�0�i���e��&2>���p��{��|�����J��n,��(����d<��������4>PC�����'���4�P�����h�������+�zW������1�w��d�������������������H�������������?�_�+"�n,Sn�7<�n�#��<3���&F3��.q�!Sz�L)�uc	��{��:���w��jQ}��~�w�aN�������tgU���O�����29b4�z�%q�W83_�OB�g���2������L��MD�6Qr�w�����fu���g�1��,�E��_m\ug
Z0
h#P�)��X�N(/�����[���+���uA��`#"""""w������$�QY�<�Yr�Uv��S:�OR����|�� �
V���G�E���8�)�9D�'�~�� �G(�����%�9l�&���$/�����]����M�F��E��q�b�;xX���w��j�A5�o�O��n��jj���[|O����AO�JM7=�q�Y'>�D'&/�B�W����q�mg�mDDDDDDDDDDDDDz�����(�0�Y����}��sW�!-[z2x����+��1>.vd�c��AO���O�1��c�����J���J>���1e�BM""}�Ga�-���&�Uq&}7'+��Lc�������`+Q���uB7��h�����boz
����0������2NmWki6[�4|2��V������{��zQ��x��"��gR�t��}o+'_�xU��[<-��@m�����w���6}6�]�r�u��������o���C������7A�&��IF�#��C��e%��fPZ�z3GE��=����������[o�^�0u��M����lY1�E���UN��&3��k~�G����Z��z��c����<*�8��z'v��fb[0�o�Y�Z IDAT�""""""""""""�s���'^�{BS	��\��V�����1�i��b�����~6����r-0���}O?�>:���5ta�hv��
����=�L}v=S�k��gGnS��+�)V&����������E�-/�aR_5�98��o���c�������K�V��YF�%�Jo����g�����Oe���2�-�������|���nl7,<�mK�Y0�j�D�4��V�q�����U�V�O�������S��V5
�L��E��=���.������#�|���G��w���)(����������Zb������n���L�Y�����pe���5��R�a\N\��E��������|�b��Z�_�:q�{��6�p;�+����f��A��6���}>�)k���N�e-����������g�~��_�0����6|�q�1l�����V���|G�2�#������s�A-zZ		�j��+���@����)-o~���nk�73�%h�.��,���������H��a%��E
�ue�V����,��7Bh�zp)	��9�����Q�UNl�����<F�j
3w��;���Sio���7!1���_D��P�n%���������[Z�m����Cde�f��C�T55u�����x���[�E����*k8��Rc\�^nJ7��k�-�{�������TS���kj��m�j-����Y'��z�Z��*�O=s�n�����?��-�~�[��qI�z^���f���cpU6��c�'�mho�j�^�k�\�����xZ���_D[O���������X��,&��ZT�p�6T�h�_����`o8�P��YM���0��J1E�+�x�%��'Y[07�o�qSU���	�
4�6�,�����6�~_(&��W�t�QZQ
x�yT]��J��hYy&����&��!
+Z��F�7{�f�3����fo�&�#h�<�/>����l;zc�#��wsri8���:����(�+��*��j���e����2*�
��g�.���O�&hLRVSj���]9���rC�J�C[y�y0|����SQ�k�\���m��`r�P7)���a����^�KDDDDDDDDDDDD�.���p��2>7��<���C�h��@��!��/R����eU�3�������I�?�Pn��������������KeT>s����~��v��	�6
�2\��Q��������c��5��T^l>�����f������2f��f�.%E�nM���5T��Q���w�w&c��:W[����T����3�z,�Y��a�;i7�<����-g������GX��y]�li�d���3�/P\��@�kp�
�+�](�B]��Zg��lA}��#W>�l�a�'��
>z�<��m/���.�������j(����8"�p\5g
\}�hy�Z�~��0��]��(.2�/��2��V?�Xz�q���\4�#���&Q��Cr��W�s����y_q���(?Fwi����|E�9#|�nWv!""�G��:FFf���1��n�����������O����o�}�!��������NX('#3��D���X���Ky��s/=���I������c��d4����THEDDDD����p
��RWCmnb��"
f�f�G�]�>�g���`�-��}-�G�`��[�<S~���<���x�H)�����)�]���(&��Em��
�z3������.���y�T����L�eu�er�0~���]�p��<��oH�:��.p��S�7����"��@c���������CT��GmYy����p���Le^&���S�UWV����)4�����c�h��������������`}.�i?���4�lnO&=2�am1��q���YW���g��QGu����yC��I�
��
�a��-n����>DDD��j�s,����,�[�����Q�v��������$����o�tXs�=iL�<��y�����tu��j�R��k�<�E��.���8���L4O��������E������H/1&�0������\
��M�i��3T���������pjPphS%Ag9�s��R��Wy����������������G?deb<!C�2<���+�Mo
j�1�GZ
�1�yT�t�s����{~\�����4*'=�5�������\f!���������Jn���j������8��6�^�!���#o;�t<����d���iD�l�y���������.�Ws����'���6��	zp���w�|���*�]L���EO���_3�����|�<`X�$f~��x0���/�snO:��
�<3gF��\���Y�������i/9���t������CDDDD�������^|����&i6q���K�%�k��K�Tk�����	��I�6N��d��6������

���"����3�m�s��v����m���sxiO���AS1QU(DDDDD�&s,�Q�Jz� �[/�b!��?'�1Ag����r���������$o��t�^�b3\?��%s����n�k�4~Q_�3uC
3'�]����>�z�SG�V�O5�Ve
'��dd���2^g�i/�h�0u%;O�f�YN��d�������
���C������a�ZD�1<y>��[��^����d6_K�L���se�lf>d���|v��j��6nR������a!r��NW?
m]SM��]�v��`�D��M�a+QQ�w�7������uu\����7s���q��5��	�b�Yu6��(�������"�C��yt�C<��j���%�x����g]����^�6<�0�l�U����g7���!�9���������*9��9����F3���Ly ��q�4������������}����'��=�P�}]�4�w����u^��q�������l���)�����>""""�m�������������F���9�B��h�P���� ������s��f3!-�,Hi;���+.�����F���Cl|r�_nf~����v�y�m9�I�>�X�����x{�(��Ii��J����L����	�ov�����i���Bz^y�J&��H\<��'������HOa!2f^v����-��Q�
��k�R^x�7$��Q_A�^��U����dq"�#,�d��L�&�`'/�0M���>�Y�%�`C����,z���>E�x�!�xZj
��]���D����������`gK9kI^����x�N�G����m��(9��W���f�#��>L��������E��������4>ek
���3��v5^�x�V�mv��h/.�~������TMa�J^zy7��j��&��r����Y�����s�N�oO����H~6���������^�B���;��I,�^'����r"3W6.�U����������Do��W~����Wr��ag�R����V���a�WY7��|���/'qA<�����o���d��g6�����i��r�""""""""""""��������"��[���a�����,���r�
{]kGY��O	l�=��>F.�	)����_��a����;�`�#9��7U~�g�i~�9��l^�=:�7P���y��i���k��a�<������f��s.������u_u\	��l>�7���)�2'L�CEDzo'�T��5J��"����<���Si�����7��,Pg���G�@}�D����'�z�2�zr���&�:���q�!v��b�}�PU��S��rz��b3��xS�
�=���7��`��Wp\������%����v3S��������HwR����V����v{�a!{>������_)��v���u�{�)����!<g���R�x"��X;��d������_������{����+����[��������������R�.�f��)d�<I�����Z����M=By���`I�A�;���u_0���k�4o7;�v�c������������TSx2����SM�X��]���FBB8���1��L���W	���X�_)���u��7������Wr�V�O
�0;�����<s���"dx&G�'38���xMJ���)@���y!+�U�t:�9����Y9��~P[F�g7�S�RV�"�����Y�2��9�(����<?�U���%d���*J�fs�L��������"��v�����������s�(IO&9=��������k���>"�N
�:����zE��&�:._�����1gU�`�����a�����3����UM!�+U���x�
����~��7U�t�5���wO>��Ic�;M�2V��b�&������j*k����7�����:�/x)k^�f�s����8�PI&�Lk}X���>Rn��E#�
GU9�Um71��g�/�b~����#""""�Nu6jj���p��z����##��k��%n���������Q�HB7.�	�D'�'����5���k9�_#��c��ln����'����:/�B�`���1����XxMX���I��X�4d�f�gOg���0w5%�gP������;IY`��_wr�����q����,g5�y�(�k�����������r����CV3�W4��s2���me�H��MD��v_`�>^�]����(��~j��$'��cb�3��/����[|ba�3�H���+itI��
'?N��������$��&""""""""""""rw����:]����������q�9�ov&�y�����������S�����0�	~�'����?���?a��q<=+���������1�z��f,#���"""""�8�M^_����c	�wq2�����$V�:MjR<���<�����GX63�6������w�xm�+�B�X��CV.I$zB(^.��+8��+>d�o�)�)"""""
,D�]������,v��\����}����,K�%�����5|2�	)�~��|�v��U�L����o�X�b)1��z�jX�������~~)1V��Q�F���t�=��=�����7�lz(^m,�d:��k����4|ow�Rs8	�e��g�l��d+���H}����n0�2s];7$3���LC����>v�z���;�������;�d�����3>~=[��X6�6���P����=���%�9!�@����Y{������b�2sD�_DDDDDDDDDDDD�M���*�/��m��8WX���*��]���u������e�'�����L��cp�"��x����_�����:0[��!l\0?
�a�-�Pm/���3�8�u�t���:lu`���0F� �It"��Kx����C������<�q����y����wf�S�V����+?u�z��c�q�q]��f���P���7p����F��.s�L��x%�N��
�P|���K�\���p����A~A?@�����5����U�s"'��,�J�
��JH�4"G�F��^M���R|����T\��a����0p�?C��2f\�����Ts��`�����D�oR����;�^N�g�������8���� |G�2�BF������Sr�����r��V�pZ0yy3��PB�F6�����7��� ;�E��Z�<&��I�-�t�
��$������'pt8������F�����,��q��^b�_Ac���� ��"Gy>���)�c	�6X8$���9ir������OV��W�e�;y,�D�N}-""""""""""""r�����	
z�t=�6=;GAO�S�,\��B;�����O�����"�W�k���W����7���D|;q=EDDDDDDDDDDD������""�+����#�*c��2���O��m�iM9����U���|�mn����������7n9�����@98��|;������q����#�_��Y�����|j~�B�"""""""""""""����""}��[�:�|�}K�������N��y�����=������IDf>Cn
8>����������"���?u���-��),�`i���^w@DDDDDDDDDDDD�0"�eO�cp��u%NwJD���9�Kv�T�o�Lc���x�wH"""""""""""""]J��DD�ox|9I��4�z��w�������%a�j������k�[,�,z�d�(�.�C�pw�KD�n�QZ���$����z�^����R���A���������$��{=�����{=��1��{]��}��nz�w�""""""""""""����������������������������������U
z��������������������������������""""""""""""""""""""""""""""n�����H�����(�=q���p�DDDDDDDDDDDDDDDDDD���O�K=EDDDDDDDDDDDDDDDDDDDDDDDDDDD�DAO7Q�SDDDDDDDDDDDDDDDDDDDDDDDDDDD�M�q=EDDDDDDDDDDDDDDDDDDDDDDDDDDD�������v�A��4�������s�N��;�����<������}XDDDDDDDD��S������J��o��;x�d��.:�5��Sm��~��Y0w��VW��*����7���.�CDDDDD��-���������;x{�{@"""""""��k��>XN�_�7�}�{E
r�����8^������{��:.��}��w�+���w�,����?`���3*�#z����-G��K�
��L�c�1�+Cw�"��E
:x9���eQ���x����y�|'pO?�?de�`w�n��p_�����>��:�=&�f/
s��DD�;8�}���>{�������9���3ydqq����������G%""""�S�z^���x)���6�x�$�n�^�V���y�K?���2�]i���~L�f���yt�hF��;����������e|�E)'�\��7u�yZ���2��&��,�4���g9�y���K9������xz2,(�I���9<v}�������WI�������+��?�{/�C2���������7Fi�_�B��o)o������������:��5�N�����~s�Cz����^G���0�������%�%��e�U�?	���c~�
yJ_gs8)�����{�u��A��lu���&lU}�[t/�!>XOM���������*�.""""]��=�O��{�n��a<�fa�:��s�Gx�_r8�u]��.�]����8�a�w=���?ft;g=��
���
{���8�E��(b�[G�87�
/F�B����yw{o�/�����������?|�;~����5�L�������������(���?����+l��Bj� V?8������'``?���<k���u��d�{��I��~XZ��uT}�+�����Y�uC��;Y:aP�����a���VQ������{
F�B�""��C����1g�2��!z����CH]A�6�����K$|�pe=EDDD�������e����Hx���mg<o�����C�-��8����<U��o�������7$�����6�~���S�Y�#��?�SFDDDD�c&��"b��R������WX}�������)�)""""""""����j�n��g�~w��E*#r�����n�_�'�_F~o{9��:>����vY���t�{��z���.V�:�jC��^�
J�`�DD���C'��r�8���������������i����?�����{`""""���������.66������8�����y a1?��0&�f�����\A)�����na��=a�B�m�a��~x���M����p�Y��5
����|�������<��F��`��F0z�@�}�AmM}����b���4+�L���<<��7IDDDD�/��P��!O�a������~�_����2[NTp�jC�o������?j%q�{�-"""""""-�s�MX�R�i1k������O� IDAT���u�=��|o=�"����>����-7�h��G��A���#""""��ay���(�pr��%2���%�����t����H��?g��]j�Y<��y�s��?f�/����������i��:��Z|�xt�y���L����< ��IU|�a/���U�x.g���i�3�����`��]�n,�Z�$�����u{yfGS�?��z�X������������o(0�<�����?����*�	��L9���������/������2��=n��_v��u�(�
&G��(��g������C����B�H��HB�DC�������k��������Zw*^gNJ�����#ez�f{������t^�'sb��4G�������;t*��U�-G�,��(RI���a	��_� r�wR�gF���.v��ow���,�V!����!���71��mC!����$!�Bq?S���O����x��:�Q%U=�B!�<Rf^D��}�_8�������g��4I���z��?{����������������K��e�����w^6���8{����/������������$I�4��/��w���%�z�C����}B!�B����}���<s
8��1������__G�a��W
��L!�B!�B!�b��v���{�dP��F��n�B!�����-���|i�6}�w!�B�I�4���O��~�1����([�z�*/}�1l���q���}��W���o���v����O��1����'}�B!��������av?TLuf�w��E.3dzF�4\-�F
!�B!�B!��X��W����k��R��2�;�B!�Xx*{7�A{�yh��LO!�B1�4Uqe�����:�����?~�/�.�6����mk��x��������q��yf��4��+7����%�B!��I��h��oYC��dy�.�^g.%7<A+�]^�*�T��<B!�Bq��i�q�?DOdH��&���5T�3&���p�v�F�?�[���%���k�������4������l�l����������n-=���\�W���#�����3DOx2,8���rX���,i�-}�h�7�7��q�Q�U�����sB�4��C\�G��P3,��*;mYT��se�����/@s�k[k��vd�����Y,��
/�E��g��B����=0�WOC����n�r��m�*-�������H-:��8�����R�3����F�;8�o@U3)/��j%�NM�����e@��g��8rUve���v�Y�nE'^���Q�H}����h��� m��sR���e{N,4��=�J�6��0�������7LOd�|t���,R�e�T$B[_��=���ty*��S_h!�������X�(���\�ME�e~�G$B[�=.��gh�ZK��W�����x���
q���
��-�4�,����l�~�Gq�i�p��)2~]�h<<�slj�E9T����_����Y�s���F���Q@s�z�����5�B!���$z�d����yb��m��=9K�=F�.�L_KY~:0��:��=��)�B!D"Z_��H��Z��*����TZ<4��������b>'qB!�B�,��p��~n�F���R�����Vl3|��V7������1U{!M_^�nS�����a�%����iy,;I��NO�]Nw�i�u���0�4ET���-�~���3E������ n�X��SF��Nj��x
�Ps�8ZU��|�����}��������
�y�����u5�����4����<=�a'}��XO�)�#4_���_yh%x�je��J9�3{�c?U���}�<Hc-�"���8�C�+��c�f��������I�w�'SU�
G.�6�S[���g�_c�G�v���J�K[9���F/b�\�8����qUO�����^�k?M��KF&U��9ZQ@�|%f����������r�g4y�����C�tz�#?�F�x�B�Z��I�5���'`��[���Z��svl���Q�������������w��L��������r��G�;H�?�/
6{5�E�m��d.��
�z��kz��f�����9���h�|���zh
$id�v;�������%��:=�L�+U�9��o�
h�'.����=�x�j�z{	��Q���E���E��!*����Z@���Ek�3�����U�z�^Zr9�o#{g����l���xWPL�q��2z������x�Z�����\�)��G�\���e������j�8�����?q������"�+
���w+f���q�NzLly���Z1��f����~�}�KCgW���j�z[u�M��Z�]��r�/��*:�������|Pv!g���j��i����<6[��S�%By]����o��8�A.?��j8L�M�]wiv��}�A�b��a���b���/j��
UW������/�������j/uiN���X(__���S��R��R!����%4�����>G���N���-�E�Y���6��7o���#5���n*�;��Q���l�a����|��\���&�����e�}2�B!�K=gr�����y����l���3hx�e�l�|�$B�s�tl��l�B�vM����������F������$!���>��5����)7�F���<������m:,��\� G������tj~���T��B!��~
s�\'��
6���{/@cg	'�)b�4��
�i�������Q��.<�;c���Z7>�&�"m�>�,�4W�w=���-
��I��=��t���D������2���N����K��8��m�Ogr�}�N���q�n�/W�B���1Q=>�0���0��#@$��w;8�=MV������L��9��=�~����#�f���u\�~��h|���������Fi>���Of>O`�JW�K��'J��������h��>\�6X8�[�
�}���V��(m�:�>�'�vG�4_����
_���Y��-���3��h���������t����S%�rr0��l���K�,���p2q}�X`���T���-IB�r��-��S�o����C?���Oy.arN":^��-~N^-�������<����781���z|y7@SoMO�.�~��}���C���0����=7�x���Y���t3k��T�����l���}�E�9O�����h��E�����������������KkG/�ss�����my��.��_������������"���5�� C�8�/�^'���P�S�;h�]���T�z:F�����]�����8��f{#a��������w&Y����
j.��z���N�F1U�Nu\����m3%�P���;iry9��e(����f����53|�j�������D`�������K���G��~z��E�zc��M]��O�P���O]>J������e���ab�B�q����/��_�8����D������+5����$�&����61�������}�&o@����?�����T���=����u���T�f�/�9/���L�;P�Mn����k<����g���������f�&B!�X�Vi��0>�]z5�h:����9T�f�IC�nsqh�U:�>���9>�:��%��";e�c�s������_������:t���7"���m�}�W"�B,7��m�~`�s��+3��.�������:
N��'����"F���c9�(��`��%E�j��B!�B!�'����7']LY,�XqZ-0<�k0D�x�8:����~Z�/�& MawE�}�8���s]����������y��/�f�����T��f���SqZ-�2� ������/C�������:L�@�h��*U+��FKO(V�7H�;ix��f[�*RQ�����/t����H��A�5A���@�T�N��%yZ,8s3)�op���q�:m���+��q��������vqjrBNf&�T����#���b����wP���Tp]|��]S3,�dQ���jM���;D��H���i
�%�~�Erg2����xn�f��X���c�������	�Um�|��<��=��'�,����ev��h����|�?���h���>��-T9m�U�]�~xZ/{���V��G�'�������C�`�������~j~:��=�;C����E8�~��I��g��r�������*|Fi�|�����k���=��T��?%Q*����
j\4T��8q��� ol�E �v�����W�9T���S]����(����(0)yM��ne��tlDq�B��b�������:�j'�g�L��y��h�(��R;����Y�b����EK,��.uq�fxb�����F�q
i7<��q����Z�PH��*8��I��8O��u��R(>)�b��0��5i�m ��p0zn����N���6�����x����sq
�r-�#Q\�!��1�����o��90]h��d����&�2}_�����j�29qi���s��Nu�����9}��Smy�&[x$a;T�*���8T*#x�0�5z&~�t��wQ����YT�5nB���]�L�D����h������H����S&�������4 ��{]�R��ga��j��/n<���6�����f�{,�9_^�M���^w��o��M�5��}7Dk��K*����cB!�b�X]���g���y�����;�fI�����������y&�y�
�<O�m[���������w��e�u��+����g������/���a������w��m[���(E����_^�����u������!�B!V�a\���8����Rpdg���%��`����)�B!�bn�4}x���$���;���Gy��������w����V5��e�5y���r������Ec�#4~�����H
q���4�_�*��r#�&U��j��}e�T��$���z|��p����&���wS�r)Ufr@��8����c���tvQ���X���W����/:�*���_����^���4�C�#��+y�������y�t7�3U�H�����7
�L�����c������VC�4]����:G����"A��������@�fk|�D4B���9x�C�x�'�.������������
�2JU�r�����M���C��A��WS��VB	�6�\��+�8��B��	:m7�v�5�CO�R�T
��:������K���,���k�j�Be
Uc�jh����u(4�����FO1���OYr��!�E����wY�~8��q����`t�e��Gu��:���
������Z?
=�|�"��6{.��y���Ke~F����~���=���G�>���Y�������
���x���lC#�B4����k�����O��/�F�|V��-O5g��<K���|15���[(HC�m_K��j4��M�:'�SL����q������tbH���
�\����$O[�9���������P�6���|x����&�-s�
�8�e�S��X�>@4B[g;�8����m�����9��EK,*=B��u�j�s���(2t�����y����y��u��K9��RM/~��|������Vh�@��}�l�s,����i��KS� �]�'O����k��$O[��|!��}���x���R{a-���>�28@mk|���������o���qu��`K/M���C~��Keu1I����wz|��]������D��g~��s�\v;m����&���\w����s�tyh2$�U<`Oz\&(��\�?`g��l*r��Z��r�|����=7o�����+���������
V����Q��M9����F��<A��8q�G�����x8��D4H����%y��8����-4|�h��_u��G~\!?M���~A��j��������uN��R��|%y?��%<��+;�`��������p�V!�Bq�Xew��z�cj�'�����?�������?�����e��}7�����"��<�x�o����S�<��n�>�_��_x��U�l�CA
���`��O�x�G��7��
�����,�t�g��������G���N��o{�1�0�UC�B!�X
�n�T�J:vu�%���M�T�Z���C�]�!�B!�XI��n^�b�|�����VN.Q���sS1��\����K����h�����2T'�����K��kR��7����P^�����U���'�p����~�������6{�?�����^~�n�K�s>P4� P����y�%���%��}���`M}����U���K&�����)�^�����U�q�4��3��,�i���cqU�
8�gG�X�V��dP������X�V=L��~C������qA���9�X��������=�\�*d�2{��m8#�������$���unrp����X�kn|�?~a��6���������4I/q��h4�(�����&�x1��D��N��!���g�s���(�jP�e�Tm.���vp��B*�pn;�����w���f��\U	��a�~�,��b��~N�"��d�~�lQ|�'�j����4l5������<L��84�}��pn�H���NN��fS[� ����������)��v���UGag~�,���yk�!������B�3ES�<l�v�>�`���u�R�9�3K,3j^��l��ww�����_�9�-i��.tR��%v�������
�����D�\;'_(�O����������\J&�_��W�4�v(�s����X����_,�~k.9��Z��IEi�?��W6RkO�c��8z����P�����'%y���e4?_m������Wt�?����#VTL��OJ�]����3/l��N���Q��<N�q�+���0�����%o&����b�f�s�_��s���_�I�������8�������4=[D��"Q���i��2��O}�t()]O�W����v���1l�gQ.��9����/[���x8��D��^N`n
_���	`������y�����T��y���<�e��p����M��*�B!�,,�[R�w�"�|�����gz>L��x��J^�"������&�7���/?����J_���?��G���Cc���{�����wx��X�������������v�?�C�{���n'������!�B!V�(���
6���p�c?���\��?.���@\��5s���ptlw!�B!���F�����f�B��e�;f�N������� �p���3�M�6m��C�����^j/�.�7o���XU�����7Y��Q���98��S2�}$�P�*J�������I��J;�Y_J��6$]�|" Q�X^�%l�����j~!�+w�h��C��*$edS���;�$��
%�����'z�>������=�.5[mR�Yl5_qoQ,~.����i*���8���M� 
�gYf���6l��O�a��uzi�q�t�ox
����v��e��'�E�����6s�95ak��qn*�:g��T���������<���-
��N��$#��'��&-���7�U����<�Z�y�����C�^�O��Q�xd#�c_��1`2�g�N�w(�R��\;�[&�Sn�U�h�1����|x����OS5>�#4^]I�� s<�r'�}�y�Q����z�������8~|���4�S��W�X�@�`�c�q���9��R�0�����,���(��o+�����T���	�o4���Y�9v�~>w�cRR����
}@$H��`�7�}��a�t�C�&~��)r8Za��(��zVw����X��4f��9�m"�=���0�S�&M�2Y&�wM��:=���C�J�� �w�/?-]����E�4>k��%	�J��l�c�H��	W�d,��p-�
P2����i�����y��d<� ���P2q�5����C�B!�X�VM�g�:_���������^������^�{�z�C�lc[��7�����8vq���aBq��B���?�f����G����]��q�5=�;~�__��]j�g\���s�G3%��({/��u.��������=�����/�����������n�W$�B!�j1B�xy���u�9�N��Nw�GE�4_tq��(cI��8]g�C��B!�B��~
w���B�����a�T��5����>��
���� IDAT�wIu�.ur����h�����X������c��Ba6��[��L�Q,8�S+������sr�b�����C����oJ&����!���n�!ID��~7y@���W�����CvSC�6;��J�ts��Jh�#��+-��+�b�aK6�[g
W����n�&�w�	�^8��
g�e_�!���������������&������l��i���pl�&�-1gq�!IS���Z���u��������X�+����,����PU�B����
��QTj����?����T:�0�q�5�8�$[v~��
G�4t:��|.�\Ba����������	^T��\j+�����Ky}s6��k� �>����K���]��c"OlU�%���Q�i�{&5[�cM��.��'��S?CR�LZ���j�P��p�*}�,��n7$dA�M���v�W�X-.�v��/�9,����8��I�u�M��fsFiv��{�<4O\�(T:m8�}�,T������L���x|����������93`��f��/������y>����z����4K!�B�|�K�s���Q�����>�����f��:������/~��7|�����>/��
�%|�0C�@�!7o��N��_���#���o�����v���?��g�c���~��=/�������[��!���1��g������P�9v���u'����_��+���	!���J���������X��B�#�������?i�=JKO6�F����Q�RX����odw�3�tv-�L�B!�B�R�w�i���R�p�fbYCU����F�s��0��mQ9��zZ���4��ih��*�������T�d����M�k�(�+��n�i�xuf����-A��=��E�*�S�������$�eQ5%=��BA�9Y���t<ZH@���P�D��zs���j��r
��%������^�`j�l���S���{h�r���K�"���\����Y�Ce��������b��i�d��a�����t�&���� ���w�����^��s���I��M?���A�v���z7�8���\�J���B�3*7dc�K|�i��%sQ����8c����KM���XR��r%0������)Ie���g����A�Bv������4�3�b;5��S*K��c����:���f�~������R�h���u�}��o����u���Z��R@�6;�y����K����~F���4v:kw�qA/�j���@!{��O����L��j��~�0�*k���-� -��"�X��/hH T�X�cn,�����\c;+��?������>�gg_a/�c:�n�Cvj�6�0�]�qa�����&�Xc<�#�������Zh���>������Y�� m����$�~>�G�B���xxy��s����=�a`>��4�vl����u���!�Ba�������,���������;^�/]��y���	������z�����i�n��#/p��y�=����y���y�e��)��_��u�?S
�����_u��;t�a��o��7Z��������Ge�o����vKlz��]������h��-�B�*�/�R���!�X�b�����Pp�����&O��lg���jk�Ro�B!�B�@QZ��b/�t*�R	3Wp�5�E�\�&��S@C�=�����p���Dp�B��M��\>)e:=���a\�������"�_��\�*
k��r�4�"�S����+�e�T����i&�0#
��h�)�E���Q�m�
 ��T��=J&��
F?C��q��v,>ga6%8Q��u��=Y�9��N�����cq��-_��|��beW����<��,E��*l�����5�K>m����X6�n�N�
_������9�d�������a�BTYZ,z�`�6��P����	�"�p��E��'
P2���W�V�-Z���.�B�'O�6C�&� ��T�c�q��\~

�����1�R����e���?��hiyQvJ�%9Y���XL��V�L�����������Nv�h
�v�
��I7���9T���	��V�Xb���|�����R�M��g�!��an2��Uf�O�L&:�e��D�X�e���%�
���d�60�{D��3&�Z�Y`���BE~&�+41�J�'�����d���������p����[�����4�������o6��p����@�����������	�������\�g���K����|C��<�����*r��3��/�xx1-�9`�0^��x�����,-��5!�B����O�L����U����Ra���p��I�~ag�$�t��\��<�����3eT���������e15���������@�:�yq]���w�����������;��g?������r��q�[�����H��z�����y|IfmB!�bIK�O��
�7Z�[QLU�����m�b��0k�Lz����)!�B!�S�a\w�g�i�tS�N����%���06�7�HD[��x�{>
^��b%��bN>n��XbZ @������K[h�LF3�9q-��"�i��4%���K��Gf�9���l��&-�'���0.c%L�'n.��������'��evM���|�sx<{F���q'�>��|]U�l*
��,�R�����,rvdg��Up�I��]�a����������-k��)����o������v$X6���a��Q�$\ �����Q)_�Q'=�m��+����1�����l��5�B��rh7P����-0K�9~�������Eq���z#����<���
����sH�����G��fx��[[FU��0���&�ji8rUJ��������s9�X��n
��i��U��	)�V�XbB%9&���3�8��0�{$H��i�YT��NC�]g��i�����m��c���9z��������`��56�r�� ����Yf��|���N��O�������N-�g����'��Q�n�s���z�xS���'3R(���D��#�at���q��5�	J:�5
xR��,�xx�-�9?J�(������qB!�b�Z����(}��l���N$3��w���N���7�������M����;^�Wn���w��)�]����;yd�{}�:����W�u�&{����]�"��*)s����!��n�DQ�m�����R�k!�B!�$
�L&��`�a�`5�������goFU�j\@�'2��C���!�B!�X	��#�0��{i����z�d
U�6Q���n��\�>]L���u�.wRs�G{�����pam*�"�����s�����������?O!�Z�u.�COm���]�������G{��SMT�J�#������d�����mX���?����e��%��\�m�*���+}�����3@�cje"������PE��d%�����5����Q�Str�Z(� �	#)�Q���36�b�����0�%*���0�AG���Q}�T��d�mX�g������#�s������>�d���������/��h�Bm�N�`���~����$���k�%{��F;��L�2����uf����5%��\�%�If���X�X�����I��`K�U3���u�Q�0��p�$�y�w����X��^���������;j�6����E�z�0(�m������A�b����F�FB�%�~>���b���R��c�e�+�B!��r�%zE�f3�d]������~ ����e�@ �'�:v���v�c���DO�<��a�'o�#�"�����87������y���o7v���|��w��5w#���=^�~_6!�B!f���� E�L}`��R�)�x������f���[!�B!�r�����S�N��65+mR�@�t�/uPu.h���d
�6�jA���I�����b>E�P�d9��s�%���[�HZiDi4wh4w�S�XG�3�g59��`M����*
�F�X�d�Vk^ggo^G��[\7��<�CU\��N�
?=�}���>����e�[��o2�dz��������DUU*������C�L�	���g49a6R9���GH��|����R���4��|���-�R$0mxd���&���-���
�yhL4�V(�_�����U7�HK��m���>���4e��#��W�tR�WBM��	����M��J��6�o�?z�$2��{`-�o�F��#�h�s`��,5����}o+���L"[��k?�A�/���r��,�R���##������k�y�����'2�Q�X"A;M*��y���a���QZ��&
j�\0�B!��O=q��$&Jz�7H�DO(Y�c�g�}-Ef�Z��<�z��������)����K��?�1�
��-����>�����W��2��I��^;�5�v���C!�B�YQ2)Y���������=�s���^;�����B!�B�`5^"fds�1;�����Fy�g[����uRwkR�|����z��B�U=}��^0S*�._��G�TL��kh.I��w��K���wXgp��I�r�5�i���-��
�����7H�@��=S�5tz���{{�3���Z�Jx�A*IG�qA��$������+���������q����RC�����XcV��53����)�������N#�J��K���M�t��~�>��>��r>�����q�"R�����tp�1�����aza�,St�B�������M%�����^;�O��\�k��Fh����g����W�T�r���������+V�X"�d���GE�]���(R���%�k:�	�f?{�DJ�7�'<��?g^G��M�������F���Q�i����Y���L{����KVe49t��q�4�kw\����G�8P�9m��B�]Ky
%�
�(�l$��|=���������9�=��{l��B!���>��K��9�P���K�d����f���&����S�YyE��Q��1������	l3�~_�O��?=���/�e����{|��3��B!���gn:0^�S��ff��
/J�k�a��B!�B�9��$C�L���w�b��7oQ�I�j����EF�������k6-O����z�����@��G�yW����(�$���dZ��C���fG%K�A #���Bv;G_G����i����3?��lEm�����sa�_���7����I��K����p��F�'���=���Zi�D����4�~*�6�M|�����hh7&���-/5������<��$E3]�H���-����t�gW�`�����E�!Q2q�(0�?2����8�O��-.�,���B��l]��[����D���`��1����q���������PR�G��j7���M2�rK��RbN=�'l6Cr��`��T��2-��l���UM�L��3u����7��lh����/����Z�Rd�RSj�������|4��84^4Cq���W����
&�z�������G�N�����
�7�����t,�2
c�T�y��c���a���:=���4��[!�B���s�)_\�+yI�l�m]G�!�s(�14�x�)�E������3��I��C�I������k�>�cH����z���lf:$!�B!�d;�j��#��������i��L*�2��B!�B�*J:���Gsz�bE��m�}��33��/=��E�����~�.���F��T��Q�kf�)�hx4aC������-��B���b��a���������*u�\ZW�>H���0Gf
�10U��X�D��Vs��QS��{n�h��n�4u�c�3����D����	h�*�8
�3���mB�H�����.c����P3��g�V��,MV�0$32p����Z���3��\@�ZEIC��������eN_	,	-�������K8~���+	�<U���9�[�~�����L�Ld���J���mF�W*5e����sR�0�(-����w����6�e�T���gXXI�������s��zk$�;�j}������m�Z�H���l���h�����~�K������N���E��b�����0����kv�,�D���r���a�O��>�+h�e���`�����������CUw!�B!�����CW�|l�Y�m�,?����chw�������i\v��Y����P�]z�uYY�&��}�!���g�����3�5����n�B!�����l�
WY��{���~�������M���"�B!��L�
���-w!qA�8��m�'�T2�~|��������(H=���8�7��a\��i5�J���@�cU<���X�e7�����5�v�l^�����;���l����	�2��>�ec�IZ&�y��IAU�.#xg{~��6����&t>��������9}+���b;�LU��~8%���tga��j�����'d�C�����w�v�6�6g*=JZ\����A�[�0���c�E,�]�,C�����4K/=g����������<���%�����~v���Qs��&���Vp�y��-t���T�7�'"��XB�j<O�������)aF��G3���G�1EU)_�D��,v���C\��|��m�8^Q)OX�!g�!hN�ra�l����_��R+:�p������uC{&v�N[����Wm�������^g���=W ;vJ�
���F���^0,:O��g��\L��7���T�����a����j���%C�b�V�B!�+�}��9���J�19�!�&�����g3��wq���s��w�i\��ul3��i�0g��"��c�����v�"��Ox����t�������`��
!�+U��Zi~������n��Q1�����4�i4Qz����6�b6G.����g��� ��@�_o�E_�B!��~VQ�kH������;��L����:w,�������c��yE��x^��J�����3<��2.�~������W,�$�������=o,���y��MUA\��2
�]L��.�f~wi6&wggS�b��j�>�b��x��
;�Q9���M��x��.M_S���k.�Z���Dg��u����������z���!�^��([*���`�;PF�%|'��Cu��Q
z89�|��VR��0^�qy��u�5�(�*Cb�����E�_>����vv���������nmj��je�C����Ct�)�~�<V�4#���[�!�v$�+�|�q������w ��R2Zo n2R�0�]K)�d���p0u���&����4V���L�H���j�;u�n��1��H��^���X��.�ujF���"7��C��
�B�/���,9�7Tk���4z=���6���>��*���~'�>N�����h�;�A��+��G�������'���]??�%�������}�r9��!.�|j�v�g��
?��B!���w��C�����)��y���(J�����f&&.�������iE�w��[7
I��<���9���������k���p_�O�����{�#_�=~|x��	!��/g������3������K�aB��N������z��W<�?D�8q�0���A�3'� ���9��k<�O�
�:i��"I!�B!���7\�y�z��0����-j>���y�2/.h�����
��}���L���f�nHh��C����A�\_=�[�M����Yt���q�TD4#��8C��N�+�{4\����]��j8w���T�APn3$g��{f��Vu��c�!q�{�K����������&3��NM�%�~�����h��F/�����ss��3����S��f��=�)v`�*���'m�.�����`����*�������Q�C�a�ro�T����XK����Pi�	��g?��<A
��.HQp:
�f+�����'
��/�L���%�������w�>Vq��{sk
�3u�N^��%�W�.��'�����3@��~�gL�����'���t��#�0��g��x��N�t�r�^�t�������|�������5*������KO��i�%��!Nw����h�[��;�M�K���y��33��i��L\>\]S�{�/�<y�<��pr������~�S��J�K8F��a,��7C���-�s��4�9��b�UR�X���B!�����������������|��|�s�3�G9��=�{�^x��8b����������d IDATI���G?�;m�(���������y�������o�
������;�5��:�:��/��c~0qc'�m��?��yN@B!��>V���*��'ow/��������-����|n\��<�B!�B��b��#�X���q�l''S�^k4~������c��?K���r���S=%X=��On�@��F�~�&:��|%�
cb�K�t����u����)W��|^�p��j�Kk
�\��9�A��������S���0��~N���%5o
�k�':m������O�/'��K�!A��c-��[Y�W����R���p��'w����6WQ�V�O�� �pj�����p��6�
�Q�����&���p���4_��IC�Zbg�A��j��K��r��&n������1�o������N�{�������>��P���������i#��_+2T��i�����N6=J�u75�^�s^��E�Z��}x�z��7���lJ����b�%�kbI���^�.�D���[��c��G8y�M�4af=�9bL��Q���Q�R7�ScL��r�����������si����Fm��{FC������������P�����j~V\%7���s9���.�������p�3C�E�J��j��J
��0��-W�i���w]���+r�����S��mM��
'�O�������Na����N���AF��pu����8�uZz{(�ToH�jZ!�B��Vp��0}���_��l��|�����nW'�N5��y�2����<��'��m��9��g����V���C_���C��k���or��P����!/��U����w�W$
��������b������y��M��������������O��5�G��|�u��7����dxO��'�����?s,��r�tr�B!����|�w�q38���^��X
�x�E�qfo%���+2=C�B!�B���d�z����~6]��c�����Q�o
p����������6�������n*�Y���&���\pf�p��uT�o���]�H����2C�����vh	�����irq�/
������b
U�/5$������;��%��i����;��h�����<r����K�?���L'uW����m�N{��=�0�+T>h�|��uY
�{�GnE���=�}��yO\�p�%,��zr��	!?z���}4��h�7����6yu���J6�
�`Q�>��%)T;��PiM���d������#A�����?A����^�����i
�C���:��:;@�����F����b8n������Ly-
U;
�����ikwQu��S�AZ�'���+uO���]�A���i������A/�f�?����.��
�z}I��������w��\�-����X[�j�:�)�����O���3����N*������4z��Wz��~xaY��B�>��+�9�x!�y7��b�%��<�*������{iNZ0��x�����y�W4_?5�ts�7�;Ei��Eu��P�Wa��b�.��l?�g����v���}�O9���]������
}%�K8<�x���G�~o���M��{i
L=�=}�����S���B^�:����KuA|E���uq�3�+�������L���iH���S�Y�GR���7?��+�O�<}��s��~����]����s������I���9,��a������o�8�����]�dO�/�k�%������G�9?@�'�7J|�8��Z��~/~|�6�=��[B!�BL#}�7`>�nt��w;x��c�J'/W%�a|���D�Ry�����1���W��~���'o����������w�<�����t�=|�qW�����op��F��~�$��]��/�����U�r�ax��E/������|�z�&]�v���]3n�dY_������>B!�B��v?��:wu}cF"!����mV*�3Q���qi��+���Ny�(�B!��[��z���z���!N�wq�#����f`�@(�'���6�f�N��N���7�J�|�:m�>������<7V�K�s�=7���`w�K��-��4����D�'~q��m9T�82@Gp�	������T�osl����Q��+T_K�@����{����;-��iV��l��L��.��\�V����n��4��#��s$3��uV���cE�����������}XT����gA���(b"oJ��b��6x�k�lI�U����[4{�����_c��M�i7��7FRm�Z
t���5	�]MT���8�����20 �7��uy]�p�|>s��3g�����f��u��
��a9ge�9+��:����`#a�5MmW�p���M�z�rH3���1�E�����W�>x���:�J�&h@
b;���/2�+�s�(�T���y���� _��(�^"��AH�k�Fw'�U��>*���_�����.���/�����L�<1�eM4��u���3�H+�Y��W�:����-�������6�4�7	g��
8�/Zy�O�,�gL�� ��X�T�[RI��0��H��`,�]Lzk�Xgz�I?�$�o_3��9�{���	���\np��ND?��e�n���=Y9������^���'5��O�#AM�)L��������X��(9{�������~��0��	?�5���X���^n��*�o����^�i7�L9%C�[���5"��gsy���[�����H~�A~�4f�������8�+���M*���~���WCnu��x,��s#���y�M=K�����D�a6u�^���RW�������	=Z���|��:3&����W��/e�'V��':�3&g�>?��{	e���G��������
���z���dia�)#cB���	�^���7�S�R����X�^�?���uU�K�)f���D��JtW������J�������)?%�U0�QA�K/�
��J�X�i��k�N�K��z�����AD+&��5�����6���-������Y��H��{weD7�k�b�TI��+�\o��;����������ut<�Y��,��E������Q���L���H�~�U��_�;�2��x������:v1�����V\���t�����>����H����!v���6���n7	�6�f�""""�f����
���x������d����|6������'�g��_���}�����VeX9��e�G���o�1�����w����wy��/��y��R�����4EDDDD�<��Iy�?�OO��|�($��+�_j�V�����;���w)�;�����Oh�i��^��������;����S���g��e�@s��X���g��c��S<w�f���������U�?�~��_����R���%�.6v������}�/[v5��[������e��y�s���-v��[����;��������� �����f`�����x
[�ev�7u�{�b�#����y����N�C�vGU�:�:��:�����q���Qb�D����s�n���Z{=�k0�u29���jY-u������Zh�����P�C%�����p�6?l'�@i]��kN,���4��k0�������2�������>#s�E���5U��:����:\s#��#�6yc��u"a���N�'�`k���y`��Ffd^ �-���\w}&C'�Z�p��Lh$���$��������{3��v������t�3���"����5J���mm���d�bnN���^m|,�=�/��
j��]�t�w�y���D���l�-�
�x�>b��C/��Z�;W��\�S��b��zy�^�_g���>���7��{�gd{x��G0���2���9b��O39��+�N�gR|��g���?��h}�������f�a�}@[����*��Hl�;l�`Pw&��#�a@�����WT
���/0�������W�������_W���#��7�qoC%�V��DtO�;��������8'2�����+'��~�`"9�?��>Az���\:�x��N&��h���O�VGo���6���k�g���:�m��������Hk���7�����x&>�^��������$���9�����u�a��q|#���>9���Iy���(�G{6=����Go%����D�yy���+QO������/�J�����uc��l�;�M\x6u�����56��A�""""""r���G����=���}M6���S'B{t#y�w�5y(�52�R�Yud�d$9�/����v}�����F����[�a�r�`6O�.+��'������}����d~w3u��;����p/�B:72t&�O��o���A�o������`�BRo#�^�7���2����7>��m?��c a��d��iYt2=0�O���7R���]?���!$�6j��y�
�pcL�ALh��t22���u�>��[$�_�&|��a�&�w'B{�N� �G�n"t���;��d���w��kW��
"��68G��H��#�{�;�����n��>��
����yDc�6?3���s+4�O�[Y��	C����_�dsA���lg�3��������7Y����������R�p�V�sm����c���,��@Vlb;��'9n���me����s��}x7��BQ���f&������`"y�`���7I=��`L~~La������F�F'��y���~ku���A�|:i+����g�v������yDI}���7x�IO�\�L��A����d�MT;���f��y��@&�����@������^������d z`�&�OJ/����*����k�=�5��M]��M�x�i���!����W�����������;�x�:�n�?�#��3��n�	2���Jn�W�I-�������-f��.��EDDD����~��6���M��s:���+��/Qr�
U���������������#{������?V���8q����j�5D���^t�[y����;q��X9�
��j��`��!�W��'fD�w����;�"""�I��������Ur����:�������F"CH�il~0����������v��_��E��Nl����� ���MD��w����_�B�����;�:���@P���]��/�Uz����W9��������D�1���������W�+�B^�����X�:��	��@X����.���"x��X��EW��N$|�u
��� �����*�@ga��H�J����a����-��p��.^bwq%_UTcs�|��u5�����3��V~��E����h224�+������m�%�$�B%y���^����/����m��9���3����M���VG;��*y�+����\vRsy�>�L�	�fbD���n�����K�n�Nl�\�y�?	a~M�Z�n'��Kd_t`�
}0ua|����%�J��W�w��O��������m��_�B�����_�Vsa2b�#!��YV5����eX�]��G����td�n7���� �������m�s`b��}����r)�|�
���;�3�O��V�[�n;�Y/���2_]��N��	a�6��������n����^��w21����l��}[l����6�;����{���""r�P�SDDDDDDDDDDn�&��""w��bF�:G������C���N
������/y�����������6	}���^��[�N�K�=~��[���]'Xp���r`�����`B���6����c�a����^H/�]#��]%��2,�#��s�
���B��x1J!���5��T��0��`/�<E:���y�]�	y��D�CAm��6/""""
z������������������m�@�C�Ip)�_(e�7�����HG�� ���a�9��=:�;r�\������A�����=�A�V,��g��0�j�!���EDDD�y
z��������������������[V>��	�������w��;%"r��J.�u=�����������R��_��z2����7��9��b�N���e#�i�m^DDD������Q'���#_9����R	�];�_""������5U���fn����6k6?#f��`�
���]�]�b72}Xo�z��N����EDDDDAO�=����_G�BD�C%���`tG�Bn���������{]'���M�-hI������t��������������������������������T�SDDDDDDDDDDDDDDe��7�X�h�F������m���������>��7t`gn?Z�EDDDDDDDDDD�N�����������������4�^e'�Z��vl��P��s����z�+��{q��:,"""""""""""w���_/����D:^`����:��+i[�����]�v���; """""""""""""""""""""""""""r�R�SDDDDDDDDDDDDDDDDDDDDDDDDDDD��(�)"""""""""""""""""""""""""""�A�� 
z����������������������������t=EDDDDDDDDDDDDDDDDDDDDDDDDDDD:�OGw�nQ��K��_��u��������+�����GhO�m��U�9��+\�\
&������������Qf�RQ�.A���hh���J+���=��SQZLE������0�Lm�����������i�l��Z�p��}b���NI���l�1������g.o�>��v:W)"""""""""""��;>�y~��l��u/�
�������p�����x�I.�ty�?w������`�|b0��5?���b��-���E;q����?������~x(����<z��[9v�k>����8�w��%v��5�C�=�������L�
B�EDDD��9Jr9v8���?���#�����j�?�!��A#��I3�xSm�M��-[��,�B����2��	<�4�)���d���F�Y��d������G(<SBEU���A�D�L��Ng��1kP���������]���v�H���������G������#c62��q	��ws����8��J\��qthoDDDDDDDDDDD�ns�����vt'n��5��YY���G��_L��=�9�g?���A|S����o�8��!�����;�2����jb���=-����$��
��������nY#���a��xr@����.���EDD�u��}x%�!
��c����
�22,i��*��.-l����7���G�T8��4x�|^}c�}���n��?������o<�)�������PDDDDDDDD�%�|��%R�����������&&l��I������3��SH���a���m���wk�[�SGw��b������L�C�^��^���'@��C[���ib�o��J3��i��Y����Yu����"""""�Peo���6�o{�9?{�����.���X����'@��U,�5��g���G���qf7����M-�'""""""""w��u,�9�
-
y�)��&��k�""""""""""""rG�����{X��^N�����9Ws���L}����O��D�?���cH��Tc�Vp:��C�'9��V�#��2xx?b"z2�D�~�B����>q��{Nr����������8{�����h?�c�9��=������J,����/�������/`�/>��������$""""��.�K��H��D�/8��Nf�_�ws���8���u��`�������������K��2�8��S�3�o ��c�����4
+]�����)�Dx�F��~c�6����w�]L�VJK
���422�����2_�7�fq|��������������4�7_|����3���x��	�7��\Ly�����9����S%�!�������������=��
z�te��b��m?��/3y���!�^��w��G<:��b�����xw4�=5���g�������z������b��+����_���b�_Y�6���um���'�06q(?~x �{4������'�O9�����.|E���<�j0��y?"""""-��#������D��H��8�~v����3Y��k�	| IDAT���d�����1��I�M7T��5���$g%n�.��Y4����13�������_��
�6��X=��D&�����$��3�O��I^����X��B2����N;W/gR�
�y{�M��|{!;��=�g<�����1
�cE7a.�b��h;��b�^�-��������������t���_/���;q3N�YO����>]y���C�������_f�U
���O��v$�;,*k��/���[k���}���7��m���-����u�nCy/�i�tk�F��w��oTDD�����D�62�d�NK�3���|����{|����<���u�	��M&��+�6�����T\b�|Rw�`X�z6��r�������B��n�c�������������$�W&<O���>]�0�?>��A�����"���$F�i�.�����������)��\���	�0z�}��A�e:ut�G��gu!O�d��0���QD����h�.{~Ek���T���V�����mCDDDD���v:n��3��������=u!O�Ly�s� |�?��>���fv�{��U�e�������s���
��*�>������	)�hA� �A�<EDDDDDDDDDDD�U�3Ts���8y��%&}i�v@E�����]�X��qu%�6l�7��A>��kT�9w��������t0�t����6�������q�����=1h:	6��o���l��+ �,!g�&�\��	$"2��l�g���m�������]��F�����PTj�R�&����?�!F�����Qt4��_�QZa�a$�O$��1���N��9�����(�#� ��b**m8`�HH�HAD���gr�*
����E�6��b�<,��A�[9O��l>B��k�%0j���Gi�>��r��f[1�����X"���r��Px2�i�V��1���a��%jH��Uo9Js9�s��.9M�08���"	hm5Dg	�9Y;e���]	7�2*�
�{�%��E�i��1�5(���c�z���>���=�&�F�����NYA��<�J�������1 ��>C�6���[��6�(����G��+�R%5�q~�V���y^��<�O$1	D����������������
z6���}�Y���3�v\���|�~
.����������H�|������)s;�
�I�W�����7����(7�|�w����.x-""""����G���U��`"�_
xcbKBivr�?����]�#q��,�o<\�8�M��4����y.e��NV���a�f1����j]P���0�?\7�1����Kf�%�h9RS�9k����@�%3��&i��a;9��c��H�'�b������7���%�#��
x�����R������u���B��P�.%u�|46��Fa�v���rfq������@�����i	��7���<�(�*g���^9����(�Z���W�q��-�U'`HS~�����B]���1s}n�C���/c�qjV.a�K#�4;�y����~-�\��w�{Z��p�'`�x&�<��IcZ�����G���ka�e������FU�r���O�H=�z�e<�����!�Ml�������3YY����h���1$��Is�������JSye�Ku��������	i��]����]���c�����3oxn�����g�����������%�YB����w[�/m�?A�<6�^�9������l^����)���b�&.i>���N�
�WX�=6�14Xa!'c:�E�������������3S���	���u��������a*_4���`"|T23f�05&���Q����<��
�DLHa��������"""""""""""r������p���a���q[V��%VN_v{�D��m�F������>&���]KED�ngg�?�;������tt�D�]����;��p���J8q����"�j�8�����gr�/�8y+�):]ox���l�m9�� 9������9�m�1�H?���������F�����dUYd��������[�1�E����	q,z}{��	yTZ8�s	������l*�����a��[5��U�l{9���Y�x�j��V��ow7Nio�\2~��L�'3g�!-�cx�U����S��9�F��-�EQ�'��[�Mj<�	��>�i�x���n&�	`���n��f�~�g[����*�>��j�7�#�������8��o��Xc;���t�v�2^"��3��h����e�b��f��L������qLK~�mY�C����Z3_XN���t�Rf��G����"��}y-�E^��[o|G>N��s �=�1i�V��J�M�<���fF��$O���<��p�N�W(�XH�O�����C���l��^����V5��*s�<gsVzyXs�����Lo���N���I~�	6�����zw&�S����&���+n~��p�����2g���Io:�	5�OY�����\�JaUS��u�V�n6$��E���)�	��Stp+�G0guz�?lw3���;m��\��3f������$�[�����\,�������>�z�?�Dk��T}Y���[>v�|._���j0���W�{���Z���8�A��n�#��!����|��nO
d���mCDD��c��o�d���`Lk��"���o��v���x��x����n������^V�	2c������,X�mu��4��sHi03�{�m4��`�l^6���"����EDDD��3d:	���w�^?!�4��J]���J������O3���}�L�$<4��n&��SZ�G�)�`[����X����^�n�zY3�K�xm
+�7�N2��n=;E�����-|�2���YL�6��!-�|V_ ���	���2'��#c_6�F����2�d��k|cIgnb�F���0�LH�@|�Q^���������bKf�Y�����EM�S�m&��K�y��n�s�:��%�����]e���'cU	����4��z�R����m��������0�2��X�=MP^L~^.En����%,�m���K���P<	�4�W��Y	`'O��)C�
��K��v�
dT���U��
$�Ix� ����FQ�,glu�Fi:�2��O�ss�_,��E��o���^)�5������SXs=��Hx?3�]��\�%��r����%����,�t�7e{�c��-�����A����i�������g�X1{
l�Sy�wHo3�[��?o�pf
��j��o|���!A��Sa�`��s�I�����3�R�&��_�|>��%��c����3�"	���b,�s����r�}�����W�4�=_�u&���`nd��#���D�����<���qfK��FT���A��DDDDDDDDDDD�qwW������3�'/4���-����L�4��&����w~��J]�����]���/��������C��o�7,��������h����������b�����N�6l���L^z� �k��Q?�O�.MEDDD�e�0�9�lt�j�d��{zIe	E���|��v<��Lx�	�W�qZ(-���68�/Mg���p�B�OLy����"y,1��/�k��+������O{s�m���]uA����b�bv13,>���$�b��Xb��������;W��i#g�s��f������*,`�����1t�O�%1>�����	Q��"'}#����T�����T
���q�A5=k�[��u	����8y�&$��@_@�t��������(c9��a�7w�<�F�[E<���H��E�����S$�O jHh#�����ulx}	{O���gRysy<Q��{����[X���f]�bfT��&�'*2��.�T�<����4v~�J�7��62~���
>�ySH���*r������5��s�8��m��2����Y��=�HD�R^}e.���U%�l[����P�
U]���������E��J[��k[�1����:�����1/��S)<�D@��3�=���'�'ql�ALcH4q��I7�QE��6Yq*���^H�~W%��\6����O�2��!_�	>z}�+0.�����Mx�	�SQb!��n2�����w�u�\������L�/V0ofj��5���_/!�z0�����ofVLr��|I*�~S?�0r>�.N��!���N��U���r2��#*���%����B����yT,�����8���,���7R����7�Hx�xK�NBl,}YW�J8�s9o�^W6,�X���	���!l+���l6�\?�i����_�`�����Y��R�e'?u&kFfaSm������B�&$.��Es���(�f���X�3����x�vEDDDDDDDDDDDZ��
zR��C������}9�� k7D���'y.���%EnW�
������������5r[T����}[�������O�������%]u�������jl��<Z�_�p�?�@;*�b[�H��j����Q�w+�O�w�a>����w���?�	����7"""""�
�JU���v*J-X����k#;�,n!�@F�r����p��r���PB^Qj�7(c��yA��?]Y�
�2)Ze�����;.[)=������3-�|��q`2��{S�EDDDD����D��lr��������8�����nU��'�8���{_3����I�VkLP4�-��=B�jW�*��[w��||+l2��T

��7W�gX��]	>����3������7:��>6��cSx�l6;7��O��)��Ma���>8��V��8�I����Xp�	]H|4��[]����d^�������I#��:���&7�
<�y�g15>��>������f�����y�,c{�LgF�f��;�;�Qa�������L��=LC��1�?=���,�/ j��
#����)7V�������#X�����ydf4S9�����7���Lxz�_c=�PF����P?�_N�}M��%l��������v`goJ8K����0�7�7����J|�x�d�Q��%���<;(���~�F�����'�D)DcP4SSf1ujB�A��AI<�V4�/��,��~����=)�Jj]�_��T>.�C�h�.��y�������HFM�d�����������V3�-���	
���m~���3�p�Xv��Lk2�<��N���J�����)��nc�lM��Ma��P�x���]�����������1��8p��k3�L�em$q��$����A7WA�	x�/e��7�A@���������H��*
�l�l]���W0����V��v�����7���w�#��E���c��U5�)N;��cj����62~���a������F*���a��B�v���6��������������SGw�#\���md��K�LY��r��~t�|���!�z�.q`�V�|�$�[��������3����o���w�6?���<}����/���a�����_�,��um<������������n!O��<����a$���h�������N-'9��|��/6��L����%lsy�$0ce&o��� �J���]�p;�u�Je��<�p~��8V�q�e"���>;��A���Z~�����x�wy��SX���41q6y�&""""r'�3���u�7��O�<���*���r;�0.�C��%h<���E������)$�k��d�����&9�TX������FB�7�7���tXUDc�1<6�=��*��{��I	7V?����m	K~:�IOMa���zS�Q�M��8-���r�"�I���M�'��DSW0������$f?����r�9X��+�Ta�AP��n�1���!�QS�<����f��FB��B��yr�y}q��&f�8����)}f0��FB�n���`����2�i���_�?�X��a��4/�Cvr���v
��Mh&�3�y3�y�2����������l�XmT�c����B�
��O&��J���+x���g���L�u9V!?���P��6�s@�Hf��Mm�@�d��q��l�h3���7D33e>|����|�y�L���G2������-d�(i��7��/V!mZ@L
3v��l9����V������n�
]������e�K�75���#o#�r<�K��s��wA�xf����g�P���x��;DDDDDDDDDDDDZ��	z�����q��'���3�����c�3��F"��
fp�
<\.������XS��j�\v|����3S��{�Hox����%����'��!�gF������OX�Qs������)�r�������-yz��D��'�K�/��y��J*""""�.�D�`?;v�g^��|����u1�C;s���/�����Mi6�R�g����0���[eo��"�#����>|c>�<V���������b����_�������H4��7Q�����2�A���syX�ob~�H�.l&t�1���������/��/eb�c�`���il^��~�]�-a�aK��#�������2�r�����H#=���U@\R�Q[	����c9}3�L��Z��q�K��YL��D����Y����	�j�7:�����#&�i�
d�@����(-����P��0�����ji�7B��"�}?:���������c�r���N[�7' n)/Oh�;Y�$Lm:���Q�=��a9�9����M�{5�Qs�4���>i�n�?��42�x�> fo��K���;Jr����^��+O��0.�%�S�)i�j��������8�D��V��E�����>!���i�&O'������NYq�U�=;�����AIL}�s�XDDDDDDDDDDD�-���=���,�8�g�{���w3������_��%[��x=�Y�5+�d���z�TYM�{���}����S�x+�������'��8��/}�/���
U}�?��+&<�X��~�5._��ol%�F�p�8�D��GYm��Gb��gxi�8^|4�}�"""�	����'�?6&�c�#"7��#c�,��I~e)�5WI����1��#;�`�\e9_����f����w��@����X:��~���3���KG2� q�{D��D���7DDDD��<�)�V�&��N��4�~6�pO/����,[���$�*��R���~��Y�V�Ng��v[�*]��JJaTR
��Ig���g�fr������p|�r��\��A�I�<����hl����h$�S]�������y�����!����p�RH(!>P�j��������%�II��O�"&�1	77��Lx\~Y�TT��������z��]w|��=WQx}S9���:�7��aS��8��gk0��n9q&�+�2'��#cO6��nw��L��bx�SD����0�C�RW����~k��!���3�_�[��F
�"����/��v*lV���i����/6�����^_���@��q}U�r����<W���������>��KYax��l�����M�J�skY���v;_����v��6���h�u���n�d
��+��4��P�wU/�"�"��������
LD�&x��c"*v[-x]���[���g��8^�f�na<������yr��������7�����D�d�>�{��<�����D������s����c�$/��;��o����~V]�v�J�_�o�/�vN�������]�4�LnaeO��L}�i��ZU�+\����'�p��I}S�r���1��p���Le�k��)""����I��n����$1�����S�����e���NQ%��Q���%w�_��1K&6]����r@�A������au����iJ��M��z��SQi��������%8GI6;_GfF
KW/e�m]�3�QI�C�����A�I�[H�+���"���y�C���4�jj&�%&��&�-GI�'�(:WLi�
�hP���I�c�
{%�3���m��/���L`�/�Rtp3;���w��w�K���l{}7�~�����#���h�ID�nyMx�YB���8������%}�[����$�����i�(���-����Te��s�r.�n7��r�p���!7��xF�4?]K����J��~��q8h��nU��I IDATn��o4C{���Dv�VE�i�H���L����+c��$����D+����W�0�����C{��Uf5D�^5�kv�
r�X(*)���^������n�{*��aVs|c�A{T�c&���]L��]e�t�.�{ :�o���DD�1���
�ZNZ`B��jc��<��xf��M��-��N��yTxZ��2�~��������D�4�[a!��<
�Z(�����qi���U��*�xz��:\u�|�J�5�^�o�3�}Mp�f���9q��`�����k�����h�n����(tnMDDDDDDDDDDD<��"{&F��?[��#��������V$m�Z��7\�41v�����CyarO>~���	;2
���X;�����'z6���b>|��,��uMu���x�V������������G�u��qP}�C��W�d95�=?��T�Y�e�wT�SDDDD�W�HF%6>�naE.;W�����k�U����)�d�8���,�+r����������MEU�D�\���n�W��k���;xx����;EY�X���d����\�����;�U��EDDDD:��2��-5��U������;����/��2�o4	���Zbe[�;wl��)�[u.��t��	�����X-��5�2��Ip���7����dfWZ����[����@L���y�t"���E�������H"��2i_l!���ap�S���}O���i�F22��R�R]s3��=G{W��%�t��7���U=���`-����
1���
%��[�[�����*�I���of�&W��l�9+�����dd���j`�y���l:;~���{v�_�����M=�D2������C	��\I#����Pv��o>a�	��?�}�@]`�����r�1t�%���d������8v4�C��9|c�����X�������|����g��m$+�Rx�VUs���:\j��O�����Nx�q'��������k�����,����������f�
p���EDDDDDDDDDDDZ�z>=yf�@V9Y{����Ve�
K����"���d|W��;�^�v���L��E�W%�f���:�������&�Yu���)�O0��&������N�/L������{���x|�oL��������L|�S"B�`������y�|}	�1k��`�n���5�L��1�ds�x1�b5$���v.9��0���W��)���H��l
;��<[���7�&�~�7]DDDDDn?c�����v���Far��73)�NFV]��8r:���k���r^KYN������!�����VW�s&3_�n>�j03������m��N�w��Y:9�l�O_��H�C���`�Mz����?�����
of��RX����3y3-����Z�+�|!��j�k�����
[]��K`��07�AA�=����+�IK�������j���������qp��Lk���qIDxuS(;��f�du�7Q����=C	i��W�z[�S^oC	�k6c@�P���*���Z������$�$1���G���l|�n�+L[��i��=��y��f����|�����Q����[K�U`����
�-�}}N;U
��X�p��
�t����|\�v�v%"""""""""""��{/�	���@�|Or����VN�=N�Cwp�������:��'C�=������w��E��,H_��C�
����q���vL���c�3'����*�V����,����""""��LD$�e����9��}f3��,eTR#�O	��uw����J���3�C\����Q^^��nAm8�74�y�J&��T�\�r�����+���""""r'��@b|({���&�������)e�p�6,abt�d��%:/a�����-&�#IxX ���x��(c9�� ���	c��<;\��������{w�_�H�����1M~F��X���*Y{wS�8�~���M�����}����uZ���GX��~��I��X��%$(c�+_���X��.X�j&�w����k}���4���T���N��U|p��aQ�'[���z��d���:O@M�����i���O0gEz�0�o(F�5(�>=k�	w�%�l]E����)��L���{�]iP���oK.~��0�;�t!�z�"�aq�cX4�%2K]�W���������_W��e�S�YP{
�7���F0�O(!��G�������U�n�u�������QU/������iEDDDDDDDDDDDZ��z@���������H�B�pz�����������8��X	x{W����d���Xv�����YTM��!LF�d(Q��'�\��(�X�`F��k������.�$&���p�k�����8��nPd&���o�b�.�]�g1���	m�J&�O�����*���S��i3"""""��+����"'��%������(!}Oz]��K������*�
�^U/�>6�y��?�����o��Q��.b�%s�v��L�%�l�}�?q�&�`T�f����H���Y5��*2���N�1�{�8r���&�hR�pP��v���}n!��h&��������K�����z�!AO�+��z�������
��>�����=��G�8d����){c%C4	����Tn�����9��Qc��s�n�?�[��C���9��u,}�-�ie�������D4u�*g�=m�������j�~��^?(j�k�N����o������|�:T[���b�b�������k:�������N�����o�y���MF�$���q�n���B:n!�=d������4�&@�Z,.Ut����RP Z����<�S�����F���9�E�>����+/���P�mK�)��
B��B5w�jM�l��*��6&�j]qw�9�($�m�l��>���aS�"{�>���7�F�cZ�,@ku����Q��������Y�����wY�����\o��S�)O��!L[~�
%��� �)��[AO���|��D0��z�P�����%��U$�~��)D��%���v���o%��0�=_E��1�����og����;��1���I:�I�@#��=���>��5�G�t����p�w���e} �3v��������?Pr�q��zo�B������b������Q��6�<��������C��lU���t���2>
�������0*B�.��B���3��*S��Z���u!\��>;|�;�<"���;]����^���5��E�\�O�MM�b������Fe�l����
_+^��%��+�):���AO�]ny��.|\����R�]Ru�����j��[����$e�z,���D��vgvo�C�������WF��+S���d|������UHr�o�$UUZ���{����xk�=��wRt�v����Z���+��������Z�e���r��m��]y{���R���P�����M:�+OOIu�U�>�����Q���v-���]�[T�T��8����t������l���MvG�����_e3.k�����k<�_o4f{�P��jmgR��u������G����}����u~6!�T�nA���;9��I���	���9^�c"����r�~�(�ce��������
�iNde��[a�%�|�K!O�DE%�ko�!
������;X:q�|�v�=U3��h���C����k��i��"m_�Z��Z���;�)E�
��)��>]���g(5��]l��G�e%):���S]�<�r%�)I%*j��M�w���mL�]�W��i�2��_����}
�
HT���cWR?��[��e�8z�>��#Vq�CZ�fu�Nd^_�����+!O�~����#P��+9�u��A�w�
�{����3~!
2�7U���Y������R��.�<%����&�9��n<��p��t��;hz((������_.��pt������:m�����;�N�wA���r��N{I9�R�+�\�U��q�<��"Zb�K�J?���������J]jp�I��X������	_������mQ�����?���5�rN��r��O&�����n3��
�Sx;�Wu��\jx�y7>s��{<!Q���J�������1�:x��|�&g�K��W|�+A����s�"Y�/nt#CY��y��n�|J���*���~���0�9@�q�h�S��;�t�>S��H�Gk��U�+��lM�#Ue�RJi�����p�|��K��f�c�.wx+8�Q�	��0E(����p�=[����va��/��kx��"����w�X=>�f�n��j���,Bq�b��t�q
�!%g�4r�E�VJz}�����������w�S�B���:��3c���~��j���e:��/��H�M�����T�B�����������������.���G]I�KR�r��nc1w�9l���0�>��}�pLY�R���U��(����Y����Wnn��X��C�r�T~W�p���`����Osu��|4P���D���F
3i���*.*��C�b[��.���B�8�\������/�����|���BRyF�N��U�v��L��c:Wj<���|D)���'��l:�q����}C����{�8��St���m��O�a����~�-QJjF��"c�������I�qc�Q����7e*8����{��WAQ
�L�7`�6���,J�������$)�l}������gI����H.^��2-I'*\[�s����#��w�w���:^	��4��D��k��G�������nn7R�|�D�������wC3G)!��0���!��l�9��nu�G�<@:[d����li����T7v��A�"]
�7���~T[�1�=4�)E�&E'nH�.QF�aU�NTU�N��j�hQ��	��6���f����DrR��\u�C���Q~m�I�r2����-��7R�~������.[-��r�:�tP�������}J>��� ��sX!��������~��i?k�m������������LQUbb�Y�2S���g��S*��{�<�Pp���x �pw��=+]����9&�����5zilB���&V������r�j����I1#�i�dj��F�2����~Q��6�_�a�4�F�]I��*^?����_���)nyU�N���lLGZ9d��f�D�1�,UyX��Z�Zp��?i8��G�������2�o������b9���i/��h�H������~��>�swa��xD)n\T}p���J��������q96��pE
yy&���s�s����nIj�pFGq�B��!�z|�-��?��C�hv{�<kx�JT�����ut��*+9�>A�mH�����Ao������U�t�zW�Wiw[��uhE>1A�
A��?l�	c5�L��w�t��4j�k]W�zS�0��8EeF�2�%J�,�>��9�������U����J��[��������<c�)�p����[��|��]I��Tc :d�b�;Y�B�RO�9��96����A�U��(�4�z�����;Z]��|WO�Nlq�}����<a��1����.S��;��	��O)���_�|��[�2I�j��I�2V��������O�����=�������Z��o��d�*S/�xT��f��O6���?!F���/J��X�� �pw���2���
���M�si�=�8]G�q�����,���Q��@���*]��J���]��t�X�_���Y��0���)a�&@�ve�����Z���~�[���Z��2�0�������]�?D��%Nt����E�s����S���
N��0O	��M�N���S�1����9�+���j���'����h����_�	3^���:_��>����S��j�*��#"a�l}��p��������m{����s�xM��^m?Z�-kVhrL����6�1^	���<U��X��NR���V,����\�^�(lh!���k����].�[�[�,%�g���
��}�Tf,��� �G��>�j�Wt�b�VJ��=G�Pl�?c����0��i�>�?T�|yI�L��7_�J�L����=�S����
���d����dx-Y4|����o?�??���[w������7CR�#@�c�~=���R����}t��gQ���u�I�v~K�C�5�I�����Z��*�i�s���a�Y������)�l�Zk��$]q��2��n��)@c8�����'���Q�����t�M�����F��T��9�k�b���o
��zi������y�i���]=�.���~��K���_S�ow���ru�PJ�?�X�����k�����q�(|�.-ZR2�UX�hA�M�Y���j�FM���9�}5)���N��n�05]�f���?��^X���G.*����%���������j����V�?�����t��n/Q��Ez}B��M���nQj�)5>���LEgk���zv������Dm���]�<�Y�3a��5v����/L����N|,I������L�	x��5������z-/I������G5o�2�9tXg�J�Ob�Uu9['����gi��)
O<���sFp"-:�~�J0|/:�L;����34�9	�X�T��-~�����T]8�mFj��lU�"O�.vl�[��O^��Y��?�E?KTxk�6w���	ST<��h��$U�}����1�wxS�x�?aX��1m\����m"4U]�3I4w�"�_���#�����<B����bG9�:A������`e���@�^�@��R�	K��c�����w�
���+S��U�=�0�A7��h�hC���L�oO��C�����+�k�����v�L���g�&��|��B�c Uf.�k��R�w�_ ������s��w����5+���I5��Ez}r���^�mI�����%���M����4s����n����8��7�X�������j�ku��`be�>[3Z�����j����6]���aI�h���4-��)4s��N����N9�W����UZ=o�������2�	��(���z���/�?G�-�����#od���?�[IM����������<��m����v��$o/��r��j��q�Q�dQ�K��nJ/���?��Z���z����v�����|=,P�4�~�����{�����i������*]�:��Y���nVO���L���}��&j�k�.�!�.j������v��$o_��&�~����\����0�[����Y��O��l{�&iO��>��e�6UZ�T������i������zf�j�����~%U]H����Gc5���d�����
�rz(��u�����b�	r��_��E��jN���(Se��nB=��������q��^�����������
[}P�#Bq�F�ns��5+q�^�U�u��D'>���I���>��UE>��g�o}���Y��B�j��|���T,��W��
�
{J#�@{.�LW�0tx�yJq�������hx��[���vj��:�������y�m�����*�\;�9D��R��e:�;{���^o�����u��2���TMO
���G(�Ow�F���L��F��n�������h��|�+a��R������NPBl���'/���)�V��<�=o<��
�>$B}zH��b�M��[�%-
�����A��]���R5���
^I[��'�U��x�?�+�����e�ot1�Qz~�

w5$[]����1�m���O��|}��e��e�R�������W�D��B�����_%�����E�7v����+�����6U|��N�8�+uA��D�����������9,I��W�[���/Pz����.��7k�?�(��(������(���s��+ix�������z�����n]��2�$������������*k�r2������60^��St����.���=�C�������OSO�����t�������S��]Zy��[�|WXu<���NV���M�o��{�\}C�m�t���,����6-������K&�?1R�����C���FY��gM����Oo��7�;��$t���W���-3t6������oj����^�h�;C3�m�������"��%j��7��aw�I��������(��g��D%��[��F��W�~7A����B��IDAT�[u9['��u��5</�;kJ���v0�	s��"��w��n���	SZ ���>���?��HY]����Ut���C��������U����P���Z������nt��:���3N��6p���_����lW���	��;y�m���<���v�4�����T��}v�>pW������&V�(8�#�� B�e���N#h�^�w�Y-~7��C��L�I*p���=��>��B�������������*h!4�m���v�&�6�\�������Z��X}��%�I����V����m���/���7��v~��6`���]��s���6to��WNF~��dd��[��
-
��>-�:Ao���n5����3iM�?$���;O���8}�t]��J��Q�~���{�����&���q��w5D���Q3���<mjM��N�@��u���Q���*��k������	���f�O��v�����Ud��iMs/EN��~��U���A��R+������?���iTx/�]�dR��H-�8O�I�wG�����;����x��x�s���h��s��$QA���7��D����������6[�~��w�u�[h�f�;�Esgk��y�X�gh�&�qP�?�K��S�)J����n��
w��-F=����t��J����yFh���j�����
�p��x{���om�{�:m��I�bB���V�]nK�����w��������Gk�(n`��{�>Q��^}�c��>t����������%z�h����=������W'�h�����_���J��U�?���X������&=3*B���m���WkCR�^������?~�
��hr���r��s�xM[rT��|��\���������Y����Y��G�V��=G��`�vy�l��p�v�%j��<mY�Pq���-s��cg��%{���t=�B8V
��_��p�Y�D�~�W�to�>4�r����s�g�/�lK�a��}�zq���]���T�S��|�
����������$KO�~������4j������J�.e�)�t��_��������*��P�0�W�m��i/.U��R����K�������I>��
{$H1C[pmJ�UYgKU��U���*��P��!��"O��)fX?���?M_}�.uw	�������
p���l��f+��|])-S�
����n=,��Vp�PE�R�6v�m�������3.PE�M2���C
>^��A��^����P~a���+���2U�m�����w��<������P��@��(���C�:_��W�j>o?����>���7��S�����S���D��R�>��7B���5��YN�t��e}yJ����F�w`/�`����-���T]>���-�?�������5|H��U%�t�d�
�\��7l�R����B�jx��aM'�k��9_�����x�<|��A=�P�B������}�����u��l�������n�
��(E��*��^����1e��BJt����q��#���Fi`DD���W���D����RQi�$y����1wx|�	U��j��;�������G'5��.��������G�z�K �	�(z��N,��]%��{O�H������a��t^���N������y���s\y����'��T��3�'{�]���W�����*OS��v��=�b"�<�-&w�������C!�$��K4-����
AO��h�'��7�]�_=���*��nB��ML�.����=w�::z�	AO7!�	�&=���'���p���,�W�����������%������6]��T�M2���?��<j�=��q�~��/$SwYz���/P��Dhht��?5^Q}�]!���{��+���"���#�������l���1�lKp��Ui�����\��,VaE����4xX�F=�I����&������?]��_)�|�
�:.d��x������0Xc�����\���Gu �8n/�Y0Z�����\��w��@���:V��<&[S7��P��-�������th>������)n��=#����4�UAO�
�����T�����d���C?RX3����P���({kJ1Y==Ak����� *�<y�~47K���3�i�'�hid���Z=�N�=%��;��cQO�{��t,6�~47�����[�9Z��$�M�w�A�����v*�"W�V5
yP���������7e�xN��k~\@��%�f���W"��U�,;�@_��]\��]���P��]��^���!Hs/E�=�1?����2��2k�
��t�X���qz}�z�R��~�	�SX����.�d�jU���,9W����(���/���w�T�=���I���;����$�,���}#4����&hKA���)J)Y���m�u���������V?��������i���GZ��kL�����K_���G������~�4�Q�7Hc�'�+���%VX�G6_�UOy��4i�vO����2�?�E;kZ��yX�W/*�j�7t~>�J�-�Jj����FAO.�\A���������_����O���a���=h���H-��a�O��]-���IK��J7��}���6���J��c���������d*�.������{��]=�fY"�Jd�$G��K�]���w�!|���������i�;-�<�6�&��HC
��y
��������g����0Z�FY��F���������fs�$���g�J�{N���i��,�1^����#���0��TI[�|��e/�.I�i�/#���>%��[/��#��G��|n�����	��W������O"�j�[TZ�$��B������@���|K
��Y\?����gO���@�U��
�f_��k�&
w��c����c���Vn�N�������c
�z%I��pOIp�p���u��0��g6����n�
��:i�����J���M�j�,~��h��
[�U�,{��I�������R�:$���}���^��e��Ie������*�5!��,-{;W�I&_M_�cE��N������S:��6�<�4���*���U�����e�,S����� �C�\AO�Mi�nS���[�hx���"c�4��a�3!P�.�ya�U�9O�����E�l�����9���X��@��{T3g�hR���v�i���X/���P��f�4X�.o�����@i���h-���g:W�S��k��
���d*�H��m�����9�-K�*�'<<�/�sN���j�7�&�����b�����S��Z���pO���d���p8TVjU��<��Nj��
��N��X�)OM��O�5^�Z�8�!Qu,���m�l����t���k��������Y��V�����]������z�^������������.M����:�uA������pTY��3�
�K&j�D?�]���<�\~R�I2)��	��������1L�T|1_R�����t����/P�F�*�Q?
|�S�^&���KKu�d��U�U�
������
�5K#��
��n���_�����<�#�i��a��_SM���s���������6rw}�7�����7*m��~���D�y>T�.'<k�9��Am��v2<F���_]@c��t�Q3���*Q��[���=����b�4����w�{&��������Z��X��'\���V/K��}?RX��:dw&��:��$�������{��o\�A_EO���A�^�M���n����G�M��Q=�x�k\/��wv)�O��h�hM
w���g�Qol+�]�L������n���4,���^�'5�8��#�LC5��7k����|54�M�p?x,^�}W�TA�����&����iv5���Y/������wl:����������$�zi��W��K�_��k���g0���H�$A��u��zN/$�����MZ�P���q�p�Ti��*����o������u�h�
��F{�i����~���m��(��)j�5���0M�o�����i�����{�L~Z��+Z�Z�w�O���hF���(�)*�;���������5��@�X$���	.���=���-��_{J����r\���y���L2����h���o>�)I����f����l�&������4����)�4���Z��y}��y�����;�^/���������M�nK������B�h���'�V�X�O��'*�W���S����$:T�����{wu��J�Z%��QzJ2�i�3�
:_���S�����������4)�WS�&:6T��Li��"�49N+yj��gi�������T��U�u'�dj�{uAS�"�O���v��$��������x�����@�^�S��CiLz�ZUX���&y�l��3�O}](�O=���K�*m�I�/M�Q�$i�im>�TW�k���������aZ17P-5%�"G��"Vqoh���7Y||�7@�}\=��+1��H'���T��R�M�_�����yJ�vk�����Kg����t���������V�mL~�>��V���iSZF���5q:��=_���j��=������)�j�F���K�����5j�O5�����#�^��)����p}����%��T�"�X�[@�5��25�f�����%��Wf�gB���������������p?��T�������PRX3�����@NkG�)��s���4�R��f�v3@gc;��!OK��||H+�����]�[T�T��8����t������l���MvG�����_e3.k����t��i<�_o4&���l�2J�'-c��eB�\�%;z������gO_�����H/)�j�����S-��r�[Uh��S��|�!�_*Ubv�������,
��I[���Jee\T�u�6�)��n�&E:���.����|�1���X��Lz:��i�.���j��N�=�i�0���]����N:4)�������*4�3������J�����Y�|������4���5�U����'�is]����IKfji��@Rr�����4��.�Q��KW]]���+[�5�G~�W!C���}U�N�ke�)����O�z����:�j�cR��0�;]���&���H��%�a����Z;H��
�(��!L�bF�6�Nk}��������w��2�U����Y4�_�)���U�G��>5A[.��"���9����p+���`�b�1\���h;��/?�����-�a�*S/�xT��f��O�6��B�&.��P�����|I���������W��Nlz�K;�����:������b/��+/UZ�af3c��O������'�rS���jLB����S��@�=h�-�M�Yy:��Lm���Bc���K������
������V����{n����Z�|����e������^Y��K��g�?�X�����k������G�����4jh�"Tcm�
�]�����3W����L�|~��1���=���i�o�����3�&y{Yd�C�V������(��iZ7��Kc���S���C�r�Z��UVm��u�����d�jU������p]s���~��2���F��uN���is����{�$Gs�"�'L���]�/:E��6v��K�9�����.��5����m�|5s�s*_�K+�Xe��_a��T��;Y�;z�6������r�
]����fn7Y=�)mZ2H�;��	@�������4k�
�s�����C�����'���y1��
��3P/o����G�r�I�8i�)�������sB���P���T����Hj���tAY���[?@/E��9/���ZWRw������Y/������cv�
s���oUa�5������C6�d�i��}�?��F
�����u�RV��N����J���l�O��"��|������TY�Ku�[�.����n8dsH��&���*�� �
�[��vP>}����6��w�����l�$��o��In.
@���;z�-�����rP��#�452���l�St����}���M�_���<%�|���zt4����.��O���-�x�}��x:GGO�������&����K�*E;6�����E,����m��z��7���7���lS��y�����tx�����Di��CZ?�����`��	������d3Yd��+_��<2HQ#�5~���rw�:��Y/�����\��w��K�]}�����'�<���*��_~��tbC�qw	p���'���p��nB��M�?9�����IEND�B`�
#12Jian Guo
gjian@vmware.com
In reply to: jian he (#11)
Re: Wrong rows estimations with joins of CTEs slows queries by more than factor 500

Hi Jian He,

Thanks for fixing the compiler warnings, seems the CI used a little old compiler and complained:

ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement]

But later C standard have relaxed the requirements for this, ISO C99 and later standard allow declarations and code to be freely mixed within compound statements: https://gcc.gnu.org/onlinedocs/gcc/Mixed-Labels-and-Declarations.html
Mixed Labels and Declarations (Using the GNU Compiler Collection (GCC))<https://gcc.gnu.org/onlinedocs/gcc/Mixed-Labels-and-Declarations.html&gt;
Mixed Labels and Declarations (Using the GNU Compiler Collection (GCC))
gcc.gnu.org

________________________________
From: jian he <jian.universality@gmail.com>
Sent: Wednesday, September 6, 2023 14:00
To: Jian Guo <gjian@vmware.com>
Cc: Tomas Vondra <tomas.vondra@enterprisedb.com>; Hans Buschmann <buschmann@nidsa.net>; pgsql-hackers@lists.postgresql.org <pgsql-hackers@lists.postgresql.org>
Subject: Re: Wrong rows estimations with joins of CTEs slows queries by more than factor 500

!! External Email

On Tue, Aug 22, 2023 at 10:35 AM Jian Guo <gjian@vmware.com> wrote:

Sure, Tomas.

Here is the PG Commitfest link: https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcommitfest.postgresql.org%2F44%2F4510%2F&amp;data=05%7C01%7Cgjian%40vmware.com%7C711eddbb381e4e5ed2cb08dbae9ea0cf%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C0%7C0%7C638295768555223775%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=%2FuPl5rS1rFaQRnNevIVxKZCNA2Bbmr2rg%2BRoX5yUE9s%3D&amp;reserved=0&lt;https://commitfest.postgresql.org/44/4510/&gt;
________________________________

hi.
wondering around https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fcfbot.cputube.org%2F&amp;data=05%7C01%7Cgjian%40vmware.com%7C711eddbb381e4e5ed2cb08dbae9ea0cf%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C0%7C0%7C638295768555223775%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=t%2B8JrNQQAibe3Hdeico06U3HhLx70B17kzPMERY39os%3D&amp;reserved=0&lt;http://cfbot.cputube.org/&gt;
there is a compiler warning: https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcirrus-ci.com%2Ftask%2F6052087599988736&amp;data=05%7C01%7Cgjian%40vmware.com%7C711eddbb381e4e5ed2cb08dbae9ea0cf%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C0%7C0%7C638295768555223775%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=8WbXadRi7MhO0AiHjtJOs4y5mqCP8VHBdcQao%2FXPpM8%3D&amp;reserved=0&lt;https://cirrus-ci.com/task/6052087599988736&gt;

I slightly edited the code, making the compiler warning out.

I am not sure if the following duplicate comment from (rte->rtekind ==
RTE_SUBQUERY && !rte->inh) branch is correct.
/*
* OK, recurse into the subquery. Note that the original setting
* of vardata->isunique (which will surely be false) is left
* unchanged in this situation. That's what we want, since even
* if the underlying column is unique, the subquery may have
* joined to other tables in a way that creates duplicates.
*/

Index varnoSaved = var->varno;
here varnoSaved should be int?

image attached is the coverage report
if I understand coverage report correctly,
`
if (rel->subroot) examine_simple_variable(rel->subroot, var, vardata);
`
the above never actually executed?

!! External Email: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender.

#13Tom Lane
tgl@sss.pgh.pa.us
In reply to: Jian Guo (#8)
1 attachment(s)
Re: Wrong rows estimations with joins of CTEs slows queries by more than factor 500

Jian Guo <gjian@vmware.com> writes:

I found a new approach to fix this issue, which seems better, so I would like to post another version of the patch here. The origin patch made the assumption of the values of Vars from CTE must be unique, which could be very wrong. This patch examines variables for Vars inside CTE, which avoided the bad assumption, so the results could be much more accurate.

You have the right general idea, but there is nothing about this patch
that's right in detail. The outer Var doesn't refer to any particular
RTE within the subquery; it refers to a targetlist entry. You have to
drill down to that, see if it's a Var, and if so you can recurse into
the subroot with that Var. As this stands, it might accidentally get
the right answer for "SELECT * FROM foo" subqueries, but it will get
the wrong answer or even crash for anything that's not that.

The existing RTE_SUBQUERY stanza has most of what we need for this,
so I experimented with extending that to also handle RTE_CTE. It
seems to work, though I soon found out that it needed tweaking for
the case where the CTE is INSERT/UPDATE/DELETE RETURNING.

Interestingly, this does not change any existing regression test
results. I'd supposed there might be at least one place with a
visible plan change, but nope. Running a coverage test does show
that the new code paths are exercised, but I wonder if we ought
to try to devise a regression test that proves it more directly.

regards, tom lane

PS: please, please, please do not quote the entire damn thread
when replying. Trim it to just a minimum amount of relevant
text. You think people want to read all that again?

Attachments:

v2-0001-Examine-simple-variable-for-Var-in-CTE.patchtext/x-diff; charset=us-ascii; name=v2-0001-Examine-simple-variable-for-Var-in-CTE.patchDownload
diff --git a/src/backend/utils/adt/selfuncs.c b/src/backend/utils/adt/selfuncs.c
index c4fcd0076e..196f50b241 100644
--- a/src/backend/utils/adt/selfuncs.c
+++ b/src/backend/utils/adt/selfuncs.c
@@ -5493,13 +5493,17 @@ examine_simple_variable(PlannerInfo *root, Var *var,
 			vardata->acl_ok = true;
 		}
 	}
-	else if (rte->rtekind == RTE_SUBQUERY && !rte->inh)
+	else if ((rte->rtekind == RTE_SUBQUERY && !rte->inh) ||
+			 (rte->rtekind == RTE_CTE && !rte->self_reference))
 	{
 		/*
-		 * Plain subquery (not one that was converted to an appendrel).
+		 * Plain subquery (not one that was converted to an appendrel) or
+		 * non-recursive CTE.  In either case, we can try to find out what the
+		 * Var refers to within the subquery.
 		 */
-		Query	   *subquery = rte->subquery;
-		RelOptInfo *rel;
+		Query	   *subquery;
+		PlannerInfo *subroot;
+		List	   *subtlist;
 		TargetEntry *ste;
 
 		/*
@@ -5508,6 +5512,80 @@ examine_simple_variable(PlannerInfo *root, Var *var,
 		if (var->varattno == InvalidAttrNumber)
 			return;
 
+		/*
+		 * Otherwise, find the subquery's query tree and planner subroot.
+		 */
+		if (rte->rtekind == RTE_SUBQUERY)
+		{
+			RelOptInfo *rel;
+
+			/*
+			 * Fetch RelOptInfo for subquery.  Note that we don't change the
+			 * rel returned in vardata, since caller expects it to be a rel of
+			 * the caller's query level.  Because we might already be
+			 * recursing, we can't use that rel pointer either, but have to
+			 * look up the Var's rel afresh.
+			 */
+			rel = find_base_rel(root, var->varno);
+
+			subquery = rte->subquery;
+			subroot = rel->subroot;
+		}
+		else
+		{
+			/* CTE case is more difficult */
+			PlannerInfo *cteroot;
+			Index		levelsup;
+			int			ndx;
+			int			plan_id;
+			ListCell   *lc;
+
+			/*
+			 * Find the referenced CTE, and locate the subroot previously made
+			 * for it.
+			 */
+			levelsup = rte->ctelevelsup;
+			cteroot = root;
+			while (levelsup-- > 0)
+			{
+				cteroot = cteroot->parent_root;
+				if (!cteroot)	/* shouldn't happen */
+					elog(ERROR, "bad levelsup for CTE \"%s\"", rte->ctename);
+			}
+
+			/*
+			 * Note: cte_plan_ids can be shorter than cteList, if we are still
+			 * working on planning the CTEs (ie, this is a side-reference from
+			 * another CTE).  So we mustn't use forboth here.
+			 */
+			ndx = 0;
+			subquery = NULL;
+			foreach(lc, cteroot->parse->cteList)
+			{
+				CommonTableExpr *cte = (CommonTableExpr *) lfirst(lc);
+
+				if (strcmp(cte->ctename, rte->ctename) == 0)
+				{
+					subquery = castNode(Query, cte->ctequery);
+					break;
+				}
+				ndx++;
+			}
+			if (subquery == NULL)	/* shouldn't happen */
+				elog(ERROR, "could not find CTE \"%s\"", rte->ctename);
+			if (ndx >= list_length(cteroot->cte_plan_ids))
+				elog(ERROR, "could not find plan for CTE \"%s\"", rte->ctename);
+			plan_id = list_nth_int(cteroot->cte_plan_ids, ndx);
+			if (plan_id <= 0)
+				elog(ERROR, "no plan was made for CTE \"%s\"", rte->ctename);
+			subroot = list_nth(root->glob->subroots, plan_id - 1);
+		}
+
+		/* If the subquery hasn't been planned yet, we have to punt */
+		if (subroot == NULL)
+			return;
+		Assert(IsA(subroot, PlannerInfo));
+
 		/*
 		 * Punt if subquery uses set operations or GROUP BY, as these will
 		 * mash underlying columns' stats beyond recognition.  (Set ops are
@@ -5521,20 +5599,6 @@ examine_simple_variable(PlannerInfo *root, Var *var,
 			subquery->groupingSets)
 			return;
 
-		/*
-		 * OK, fetch RelOptInfo for subquery.  Note that we don't change the
-		 * rel returned in vardata, since caller expects it to be a rel of the
-		 * caller's query level.  Because we might already be recursing, we
-		 * can't use that rel pointer either, but have to look up the Var's
-		 * rel afresh.
-		 */
-		rel = find_base_rel(root, var->varno);
-
-		/* If the subquery hasn't been planned yet, we have to punt */
-		if (rel->subroot == NULL)
-			return;
-		Assert(IsA(rel->subroot, PlannerInfo));
-
 		/*
 		 * Switch our attention to the subquery as mangled by the planner. It
 		 * was okay to look at the pre-planning version for the tests above,
@@ -5543,11 +5607,15 @@ examine_simple_variable(PlannerInfo *root, Var *var,
 		 * planning, Vars in the targetlist might have gotten replaced, and we
 		 * need to see the replacement expressions.
 		 */
-		subquery = rel->subroot->parse;
+		subquery = subroot->parse;
 		Assert(IsA(subquery, Query));
 
 		/* Get the subquery output expression referenced by the upper Var */
-		ste = get_tle_by_resno(subquery->targetList, var->varattno);
+		if (subquery->returningList)
+			subtlist = subquery->returningList;
+		else
+			subtlist = subquery->targetList;
+		ste = get_tle_by_resno(subtlist, var->varattno);
 		if (ste == NULL || ste->resjunk)
 			elog(ERROR, "subquery %s does not have attribute %d",
 				 rte->eref->aliasname, var->varattno);
@@ -5595,16 +5663,16 @@ examine_simple_variable(PlannerInfo *root, Var *var,
 			 * if the underlying column is unique, the subquery may have
 			 * joined to other tables in a way that creates duplicates.
 			 */
-			examine_simple_variable(rel->subroot, var, vardata);
+			examine_simple_variable(subroot, var, vardata);
 		}
 	}
 	else
 	{
 		/*
-		 * Otherwise, the Var comes from a FUNCTION, VALUES, or CTE RTE.  (We
-		 * won't see RTE_JOIN here because join alias Vars have already been
+		 * Otherwise, the Var comes from a FUNCTION or VALUES RTE.  (We won't
+		 * see RTE_JOIN here because join alias Vars have already been
 		 * flattened.)	There's not much we can do with function outputs, but
-		 * maybe someday try to be smarter about VALUES and/or CTEs.
+		 * maybe someday try to be smarter about VALUES.
 		 */
 	}
 }
#14Richard Guo
guofenglinux@gmail.com
In reply to: Tom Lane (#13)
Re: Wrong rows estimations with joins of CTEs slows queries by more than factor 500

On Thu, Nov 9, 2023 at 6:45 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:

The existing RTE_SUBQUERY stanza has most of what we need for this,
so I experimented with extending that to also handle RTE_CTE. It
seems to work, though I soon found out that it needed tweaking for
the case where the CTE is INSERT/UPDATE/DELETE RETURNING.

The change looks good to me. To nitpick, should we modify the comment
of examine_simple_variable to also mention 'CTEs'?

  * This is split out as a subroutine so that we can recurse to deal with
- * Vars referencing subqueries.
+ * Vars referencing subqueries or CTEs.

Interestingly, this does not change any existing regression test
results. I'd supposed there might be at least one place with a
visible plan change, but nope. Running a coverage test does show
that the new code paths are exercised, but I wonder if we ought
to try to devise a regression test that proves it more directly.

I think we ought to. Here is one regression test that proves that this
change improves query plans in some cases.

Unpatched:

explain (costs off)
with x as MATERIALIZED (select unique1 from tenk1 b)
select count(*) from tenk1 a where unique1 in (select * from x);
QUERY PLAN
------------------------------------------------------------
Aggregate
CTE x
-> Index Only Scan using tenk1_unique1 on tenk1 b
-> Nested Loop
-> HashAggregate
Group Key: x.unique1
-> CTE Scan on x
-> Index Only Scan using tenk1_unique1 on tenk1 a
Index Cond: (unique1 = x.unique1)
(9 rows)

Patched:

explain (costs off)
with x as MATERIALIZED (select unique1 from tenk1 b)
select count(*) from tenk1 a where unique1 in (select * from x);
QUERY PLAN
------------------------------------------------------------
Aggregate
CTE x
-> Index Only Scan using tenk1_unique1 on tenk1 b
-> Hash Semi Join
Hash Cond: (a.unique1 = x.unique1)
-> Index Only Scan using tenk1_unique1 on tenk1 a
-> Hash
-> CTE Scan on x
(8 rows)

I think the second plan (patched) makes more sense. In the first plan
(unpatched), the HashAggregate node actually does not reduce the the
number of rows because it groups by 'unique1', but planner does not know
that because it lacks statistics for Vars referencing the CTE.

Thanks
Richard

#15Tom Lane
tgl@sss.pgh.pa.us
In reply to: Richard Guo (#14)
Re: Wrong rows estimations with joins of CTEs slows queries by more than factor 500

Richard Guo <guofenglinux@gmail.com> writes:

I think the second plan (patched) makes more sense. In the first plan
(unpatched), the HashAggregate node actually does not reduce the the
number of rows because it groups by 'unique1', but planner does not know
that because it lacks statistics for Vars referencing the CTE.

Yeah. It's faster in reality too:

regression=# explain analyze with x as MATERIALIZED (select unique1 from tenk1 b)
select count(*) from tenk1 a where unique1 in (select * from x);
QUERY PLAN
----------------------------------------------------------------------------------------------------------------------------------------------
Aggregate (cost=692.29..692.30 rows=1 width=8) (actual time=15.186..15.188 rows=1 loops=1)
CTE x
-> Index Only Scan using tenk1_unique1 on tenk1 b (cost=0.29..270.29 rows=10000 width=4) (actual time=0.028..0.754 rows=10000 loops=1)
Heap Fetches: 0
-> Nested Loop (cost=225.28..409.50 rows=5000 width=0) (actual time=3.652..14.733 rows=10000 loops=1)
-> HashAggregate (cost=225.00..227.00 rows=200 width=4) (actual time=3.644..4.510 rows=10000 loops=1)
Group Key: x.unique1
Batches: 1 Memory Usage: 929kB
-> CTE Scan on x (cost=0.00..200.00 rows=10000 width=4) (actual time=0.030..1.932 rows=10000 loops=1)
-> Index Only Scan using tenk1_unique1 on tenk1 a (cost=0.29..0.90 rows=1 width=4) (actual time=0.001..0.001 rows=1 loops=10000)
Index Cond: (unique1 = x.unique1)
Heap Fetches: 0
Planning Time: 0.519 ms
Execution Time: 15.479 ms
(14 rows)

vs

regression=# explain analyze with x as MATERIALIZED (select unique1 from tenk1 b)
select count(*) from tenk1 a where unique1 in (select * from x);
QUERY PLAN
--------------------------------------------------------------------------------------------------------------------------------------------------
Aggregate (cost=1028.07..1028.08 rows=1 width=8) (actual time=4.578..4.579 rows=1 loops=1)
CTE x
-> Index Only Scan using tenk1_unique1 on tenk1 b (cost=0.29..270.29 rows=10000 width=4) (actual time=0.011..0.751 rows=10000 loops=1)
Heap Fetches: 0
-> Hash Semi Join (cost=325.28..732.78 rows=10000 width=0) (actual time=2.706..4.305 rows=10000 loops=1)
Hash Cond: (a.unique1 = x.unique1)
-> Index Only Scan using tenk1_unique1 on tenk1 a (cost=0.29..270.29 rows=10000 width=4) (actual time=0.011..0.676 rows=10000 loops=1)
Heap Fetches: 0
-> Hash (cost=200.00..200.00 rows=10000 width=4) (actual time=2.655..2.655 rows=10000 loops=1)
Buckets: 16384 Batches: 1 Memory Usage: 480kB
-> CTE Scan on x (cost=0.00..200.00 rows=10000 width=4) (actual time=0.012..1.963 rows=10000 loops=1)
Planning Time: 0.504 ms
Execution Time: 4.821 ms
(13 rows)

Now, what you get if you remove MATERIALIZED is faster yet:

regression=# explain analyze with x as (select unique1 from tenk1 b)
select count(*) from tenk1 a where unique1 in (select * from x);
QUERY PLAN
--------------------------------------------------------------------------------------------------------------------------------------------------
Aggregate (cost=715.57..715.58 rows=1 width=8) (actual time=2.681..2.682 rows=1 loops=1)
-> Merge Semi Join (cost=0.57..690.57 rows=10000 width=0) (actual time=0.016..2.408 rows=10000 loops=1)
Merge Cond: (a.unique1 = b.unique1)
-> Index Only Scan using tenk1_unique1 on tenk1 a (cost=0.29..270.29 rows=10000 width=4) (actual time=0.007..0.696 rows=10000 loops=1)
Heap Fetches: 0
-> Index Only Scan using tenk1_unique1 on tenk1 b (cost=0.29..270.29 rows=10000 width=4) (actual time=0.007..0.655 rows=10000 loops=1)
Heap Fetches: 0
Planning Time: 0.160 ms
Execution Time: 2.718 ms
(9 rows)

I poked into that and found that the reason we don't get a mergejoin
with the materialized CTE is that the upper planner invocation doesn't
know that the CTE's output is sorted, so it thinks a separate sort
step would be needed.

So you could argue that there's more to do here, but I'm hesitant
to go further. Part of the point of MATERIALIZED is to be an
optimization fence, so breaking down that fence is something to be
wary of. Maybe we shouldn't even take this patch --- but on
balance I think it's an OK compromise.

regards, tom lane

#16Richard Guo
guofenglinux@gmail.com
In reply to: Tom Lane (#15)
Re: Wrong rows estimations with joins of CTEs slows queries by more than factor 500

On Fri, Nov 17, 2023 at 2:16 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:

So you could argue that there's more to do here, but I'm hesitant
to go further. Part of the point of MATERIALIZED is to be an
optimization fence, so breaking down that fence is something to be
wary of. Maybe we shouldn't even take this patch --- but on
balance I think it's an OK compromise.

Agreed. I think the patch is still valuable on its own, although it
does not go down into MATERIALIZED case for further optimization. Maybe
we can take another query as regression test to prove its value, in
which the CTE is not inlined without MATERIALIZED, such as

explain (costs off)
with x as (select unique1, unique2 from tenk1 b)
select count(*) from tenk1 a
where unique1 in (select unique1 from x x1) and
unique1 in (select unique2 from x x2);
QUERY PLAN
------------------------------------------------------------------
Aggregate
CTE x
-> Seq Scan on tenk1 b
-> Hash Join
Hash Cond: (a.unique1 = x2.unique2)
-> Nested Loop
-> HashAggregate
Group Key: x1.unique1
-> CTE Scan on x x1
-> Index Only Scan using tenk1_unique1 on tenk1 a
Index Cond: (unique1 = x1.unique1)
-> Hash
-> HashAggregate
Group Key: x2.unique2
-> CTE Scan on x x2
(15 rows)

vs

explain (costs off)
with x as (select unique1, unique2 from tenk1 b)
select count(*) from tenk1 a
where unique1 in (select unique1 from x x1) and
unique1 in (select unique2 from x x2);
QUERY PLAN
------------------------------------------------------------------
Aggregate
CTE x
-> Seq Scan on tenk1 b
-> Hash Semi Join
Hash Cond: (a.unique1 = x2.unique2)
-> Hash Semi Join
Hash Cond: (a.unique1 = x1.unique1)
-> Index Only Scan using tenk1_unique1 on tenk1 a
-> Hash
-> CTE Scan on x x1
-> Hash
-> CTE Scan on x x2
(12 rows)

I believe the second plan is faster in reality too.

Thanks
Richard

#17Tom Lane
tgl@sss.pgh.pa.us
In reply to: Richard Guo (#16)
Re: Wrong rows estimations with joins of CTEs slows queries by more than factor 500

Richard Guo <guofenglinux@gmail.com> writes:

On Fri, Nov 17, 2023 at 2:16 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:

So you could argue that there's more to do here, but I'm hesitant
to go further. Part of the point of MATERIALIZED is to be an
optimization fence, so breaking down that fence is something to be
wary of. Maybe we shouldn't even take this patch --- but on
balance I think it's an OK compromise.

Agreed. I think the patch is still valuable on its own, although it
does not go down into MATERIALIZED case for further optimization.

Right. My earlier response was rather rushed, so let me explain
my thinking a bit more.

When I realized that the discrepancy between MATERIALIZED-and-not
plans was due to the upper planner not seeing the pathkeys for the
CTE scan, my first thought was to try to export those pathkeys.
And my second thought was that the CTE should return multiple
potential paths, much as we do for sub-SELECT-in-FROM subqueries,
with the upper planner eventually choosing one of those paths.
But that second idea would break down the optimization fence
almost completely, because the opinions of the upper planner would
influence which plan we choose for the CTE query. I think we
shouldn't go there, at least not for a CTE explicitly marked
MATERIALIZED. (Maybe if it's not marked MATERIALIZED, but we
chose not to flatten it for some other reason, we could think
about that differently? Not sure.)

I think that when we say that MATERIALIZED is meant as an optimization
fence, what we mostly mean is that the upper query shouldn't influence
the choice of plan for the sub-query. However, we surely allow our
statistics or guesses for the sub-query to subsequently influence what
the upper planner does. If that weren't true, we shouldn't even
expose any non-default rowcount guess to the upper planner --- but
that would lead to really horrid results, so we allow that information
to percolate up from the sub-query. It seems like exposing column
statistics to the upper planner, as the proposed patch does, isn't
fundamentally different from exposing rowcount estimates.

That line of argument also leads to the conclusion that it'd be
okay to expose info about the ordering of the CTE result to the
upper planner. This patch doesn't do that, and I'm not sufficiently
excited about the issue to go write some code. But if someone else
does, I think we shouldn't exclude doing it on the grounds of wanting
to preserve an optimization fence. The fence is sort of one-way
in this line of thinking: information can propagate up to the outer
planner level, but not down into the CTE plan.

Thoughts?

regards, tom lane

#18David G. Johnston
david.g.johnston@gmail.com
In reply to: Tom Lane (#17)
Re: Wrong rows estimations with joins of CTEs slows queries by more than factor 500

On Thursday, November 16, 2023, Tom Lane <tgl@sss.pgh.pa.us> wrote:

That line of argument also leads to the conclusion that it'd be
okay to expose info about the ordering of the CTE result to the
upper planner. This patch doesn't do that, and I'm not sufficiently
excited about the issue to go write some code. But if someone else
does, I think we shouldn't exclude doing it on the grounds of wanting
to preserve an optimization fence. The fence is sort of one-way
in this line of thinking: information can propagate up to the outer
planner level, but not down into the CTE plan.

This is indeed my understanding of what materialized means. Basically, the
CTE is done first and in isolation; but any knowledge of its result shape
can be used when referencing it.

David J.

#19Laurenz Albe
laurenz.albe@cybertec.at
In reply to: Tom Lane (#17)
Re: Wrong rows estimations with joins of CTEs slows queries by more than factor 500

On Thu, 2023-11-16 at 22:38 -0500, Tom Lane wrote:

That line of argument also leads to the conclusion that it'd be
okay to expose info about the ordering of the CTE result to the
upper planner.  [...]  The fence is sort of one-way
in this line of thinking: information can propagate up to the outer
planner level, but not down into the CTE plan.

Thoughts?

That agrees with my intuition about MATERIALIZED CTEs.
I think of them as "first calculate the CTE, then calculate the
rest of the query" or an ad-hoc temporary table for the duration
of a query. I would expect the upper planner to know estimates
and other data about the result of the CTE.

Yours,
Laurenz Albe

#20Richard Guo
guofenglinux@gmail.com
In reply to: Tom Lane (#17)
Re: Wrong rows estimations with joins of CTEs slows queries by more than factor 500

On Fri, Nov 17, 2023 at 11:38 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:

That line of argument also leads to the conclusion that it'd be
okay to expose info about the ordering of the CTE result to the
upper planner. This patch doesn't do that, and I'm not sufficiently
excited about the issue to go write some code. But if someone else
does, I think we shouldn't exclude doing it on the grounds of wanting
to preserve an optimization fence. The fence is sort of one-way
in this line of thinking: information can propagate up to the outer
planner level, but not down into the CTE plan.

Thoughts?

Exactly! Thanks for the detailed explanation.

Thanks
Richard

#21Tom Lane
tgl@sss.pgh.pa.us
In reply to: Richard Guo (#20)
Re: Wrong rows estimations with joins of CTEs slows queries by more than factor 500

Richard Guo <guofenglinux@gmail.com> writes:

On Fri, Nov 17, 2023 at 11:38 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:

That line of argument also leads to the conclusion that it'd be
okay to expose info about the ordering of the CTE result to the
upper planner. This patch doesn't do that, and I'm not sufficiently
excited about the issue to go write some code. But if someone else
does, I think we shouldn't exclude doing it on the grounds of wanting
to preserve an optimization fence. The fence is sort of one-way
in this line of thinking: information can propagate up to the outer
planner level, but not down into the CTE plan.

Exactly! Thanks for the detailed explanation.

OK. I pushed the patch after a bit more review: we can simplify
things some more by using the subroot->parse querytree for all
tests. After the previous refactoring, it wasn't buying us anything
to do some initial tests with the raw querytree. (The original
idea of that, I believe, was to avoid doing find_base_rel if we
could; but now that's not helpful.)

regards, tom lane

#22Richard Guo
guofenglinux@gmail.com
In reply to: Tom Lane (#17)
1 attachment(s)
Re: Wrong rows estimations with joins of CTEs slows queries by more than factor 500

On Fri, Nov 17, 2023 at 11:38 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:

That line of argument also leads to the conclusion that it'd be
okay to expose info about the ordering of the CTE result to the
upper planner. This patch doesn't do that, and I'm not sufficiently
excited about the issue to go write some code. But if someone else
does, I think we shouldn't exclude doing it on the grounds of wanting
to preserve an optimization fence. The fence is sort of one-way
in this line of thinking: information can propagate up to the outer
planner level, but not down into the CTE plan.

In the light of this conclusion, I had a go at propagating the pathkeys
from CTEs up to the outer planner and came up with the attached.

Comments/thoughts?

Thanks
Richard

Attachments:

v1-0001-Propagate-pathkeys-from-CTEs-up-to-the-outer-query.patchapplication/octet-stream; name=v1-0001-Propagate-pathkeys-from-CTEs-up-to-the-outer-query.patchDownload
From b16759153bf73bb75a22c31785b045564c7fba20 Mon Sep 17 00:00:00 2001
From: Richard Guo <guofenglinux@gmail.com>
Date: Mon, 20 Nov 2023 10:08:28 +0800
Subject: [PATCH v1] Propagate pathkeys from CTEs up to the outer query

---
 src/backend/optimizer/path/allpaths.c | 20 +++++++++++++++++++-
 src/backend/optimizer/util/pathnode.c |  5 +++--
 src/include/optimizer/pathnode.h      |  2 +-
 src/test/regress/expected/with.out    | 17 +++++++++++++++++
 src/test/regress/sql/with.sql         |  7 +++++++
 5 files changed, 47 insertions(+), 4 deletions(-)

diff --git a/src/backend/optimizer/path/allpaths.c b/src/backend/optimizer/path/allpaths.c
index 67921a0826..8ba3a90b5e 100644
--- a/src/backend/optimizer/path/allpaths.c
+++ b/src/backend/optimizer/path/allpaths.c
@@ -2876,12 +2876,16 @@ static void
 set_cte_pathlist(PlannerInfo *root, RelOptInfo *rel, RangeTblEntry *rte)
 {
 	Plan	   *cteplan;
+	PlannerInfo *ctesubroot;
 	PlannerInfo *cteroot;
 	Index		levelsup;
 	int			ndx;
 	ListCell   *lc;
 	int			plan_id;
 	Relids		required_outer;
+	RelOptInfo *cte_final_rel;
+	Path	   *cte_best_path;
+	List	   *pathkeys;
 
 	/*
 	 * Find the referenced CTE, and locate the plan previously made for it.
@@ -2921,6 +2925,20 @@ set_cte_pathlist(PlannerInfo *root, RelOptInfo *rel, RangeTblEntry *rte)
 	/* Mark rel with estimated output rows, width, etc */
 	set_cte_size_estimates(root, rel, cteplan->plan_rows);
 
+	/*
+	 * Locate the best path previously made for the CTE.  We need to know its
+	 * pathkeys.
+	 */
+	ctesubroot = (PlannerInfo *) list_nth(root->glob->subroots, plan_id - 1);
+	cte_final_rel = fetch_upper_rel(ctesubroot, UPPERREL_FINAL, NULL);
+	cte_best_path = cte_final_rel->cheapest_total_path;
+
+	/* Convert the pathkeys to outer representation */
+	pathkeys = convert_subquery_pathkeys(root,
+										 rel,
+										 cte_best_path->pathkeys,
+										 make_tlist_from_pathtarget(cte_best_path->pathtarget));
+
 	/*
 	 * We don't support pushing join clauses into the quals of a CTE scan, but
 	 * it could still have required parameterization due to LATERAL refs in
@@ -2929,7 +2947,7 @@ set_cte_pathlist(PlannerInfo *root, RelOptInfo *rel, RangeTblEntry *rte)
 	required_outer = rel->lateral_relids;
 
 	/* Generate appropriate path */
-	add_path(rel, create_ctescan_path(root, rel, required_outer));
+	add_path(rel, create_ctescan_path(root, rel, pathkeys, required_outer));
 }
 
 /*
diff --git a/src/backend/optimizer/util/pathnode.c b/src/backend/optimizer/util/pathnode.c
index 0b1d17b9d3..05b85305fe 100644
--- a/src/backend/optimizer/util/pathnode.c
+++ b/src/backend/optimizer/util/pathnode.c
@@ -2113,7 +2113,8 @@ create_valuesscan_path(PlannerInfo *root, RelOptInfo *rel,
  *	  returning the pathnode.
  */
 Path *
-create_ctescan_path(PlannerInfo *root, RelOptInfo *rel, Relids required_outer)
+create_ctescan_path(PlannerInfo *root, RelOptInfo *rel,
+					List *pathkeys, Relids required_outer)
 {
 	Path	   *pathnode = makeNode(Path);
 
@@ -2125,7 +2126,7 @@ create_ctescan_path(PlannerInfo *root, RelOptInfo *rel, Relids required_outer)
 	pathnode->parallel_aware = false;
 	pathnode->parallel_safe = rel->consider_parallel;
 	pathnode->parallel_workers = 0;
-	pathnode->pathkeys = NIL;	/* XXX for now, result is always unordered */
+	pathnode->pathkeys = pathkeys;
 
 	cost_ctescan(pathnode, root, rel, pathnode->param_info);
 
diff --git a/src/include/optimizer/pathnode.h b/src/include/optimizer/pathnode.h
index 6e557bebc4..2d76471814 100644
--- a/src/include/optimizer/pathnode.h
+++ b/src/include/optimizer/pathnode.h
@@ -115,7 +115,7 @@ extern Path *create_valuesscan_path(PlannerInfo *root, RelOptInfo *rel,
 extern Path *create_tablefuncscan_path(PlannerInfo *root, RelOptInfo *rel,
 									   Relids required_outer);
 extern Path *create_ctescan_path(PlannerInfo *root, RelOptInfo *rel,
-								 Relids required_outer);
+								 List *pathkeys, Relids required_outer);
 extern Path *create_namedtuplestorescan_path(PlannerInfo *root, RelOptInfo *rel,
 											 Relids required_outer);
 extern Path *create_resultscan_path(PlannerInfo *root, RelOptInfo *rel,
diff --git a/src/test/regress/expected/with.out b/src/test/regress/expected/with.out
index 69c56ce207..9549cdc3d1 100644
--- a/src/test/regress/expected/with.out
+++ b/src/test/regress/expected/with.out
@@ -654,6 +654,23 @@ select count(*) from tenk1 a
                ->  CTE Scan on x
 (8 rows)
 
+-- test that pathkeys from a materialized CTE are propagated up to the
+-- outer query
+explain (costs off)
+with x as materialized (select unique1 from tenk1 b order by unique1)
+select count(*) from tenk1 a
+  where unique1 in (select * from x);
+                         QUERY PLAN                         
+------------------------------------------------------------
+ Aggregate
+   CTE x
+     ->  Index Only Scan using tenk1_unique1 on tenk1 b
+   ->  Merge Semi Join
+         Merge Cond: (a.unique1 = x.unique1)
+         ->  Index Only Scan using tenk1_unique1 on tenk1 a
+         ->  CTE Scan on x
+(7 rows)
+
 -- SEARCH clause
 create temp table graph0( f int, t int, label text );
 insert into graph0 values
diff --git a/src/test/regress/sql/with.sql b/src/test/regress/sql/with.sql
index 3ef9898866..54da8b2d21 100644
--- a/src/test/regress/sql/with.sql
+++ b/src/test/regress/sql/with.sql
@@ -354,6 +354,13 @@ with x as materialized (select unique1 from tenk1 b)
 select count(*) from tenk1 a
   where unique1 in (select * from x);
 
+-- test that pathkeys from a materialized CTE are propagated up to the
+-- outer query
+explain (costs off)
+with x as materialized (select unique1 from tenk1 b order by unique1)
+select count(*) from tenk1 a
+  where unique1 in (select * from x);
+
 -- SEARCH clause
 
 create temp table graph0( f int, t int, label text );
-- 
2.31.0

#23Tom Lane
tgl@sss.pgh.pa.us
In reply to: Richard Guo (#22)
Re: Wrong rows estimations with joins of CTEs slows queries by more than factor 500

Richard Guo <guofenglinux@gmail.com> writes:

On Fri, Nov 17, 2023 at 11:38 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:

That line of argument also leads to the conclusion that it'd be
okay to expose info about the ordering of the CTE result to the
upper planner.

In the light of this conclusion, I had a go at propagating the pathkeys
from CTEs up to the outer planner and came up with the attached.

Oh, nice! I remembered we had code already to do this for regular
SubqueryScans, but I thought we'd need to do some refactoring to
apply it to CTEs. I think you are right though that
convert_subquery_pathkeys can be used as-is. Some thoughts:

* Do we really need to use make_tlist_from_pathtarget? Why isn't
the tlist of the cteplan good enough (indeed, more so)?

* I don't love having this code assume that it knows how to find
the Path the cteplan was made from. It'd be better to make
SS_process_ctes save that somewhere, maybe in a list paralleling
root->cte_plan_ids.

Alternatively: maybe it's time to do what the comments in
SS_process_ctes vaguely speculate about, and just save the Path
at that point, with construction of the plan left for createplan()?
That might be a lot of refactoring for not much gain, so not sure.

regards, tom lane

#24Richard Guo
guofenglinux@gmail.com
In reply to: Tom Lane (#23)
1 attachment(s)
Re: Wrong rows estimations with joins of CTEs slows queries by more than factor 500

On Tue, Nov 21, 2023 at 1:46 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:

* Do we really need to use make_tlist_from_pathtarget? Why isn't
the tlist of the cteplan good enough (indeed, more so)?

I think you are right. The cteplan->targetlist is built for the CTE's
best path by build_path_tlist(), which is almost the same as
make_tlist_from_pathtarget() except that it also replaces nestloop
params. So cteplan->targetlist is good enough here.

* I don't love having this code assume that it knows how to find
the Path the cteplan was made from. It'd be better to make
SS_process_ctes save that somewhere, maybe in a list paralleling
root->cte_plan_ids.

Fair point.

I've updated the patch to v2 for the changes.

Alternatively: maybe it's time to do what the comments in
SS_process_ctes vaguely speculate about, and just save the Path
at that point, with construction of the plan left for createplan()?
That might be a lot of refactoring for not much gain, so not sure.

I'm not sure if this is worth the effort. And it seems that we have the
same situation with SubLinks where we construct the plan in subselect.c
rather than createplan.c.

Thanks
Richard

Attachments:

v2-0001-Propagate-pathkeys-from-CTEs-up-to-the-outer-query.patchapplication/octet-stream; name=v2-0001-Propagate-pathkeys-from-CTEs-up-to-the-outer-query.patchDownload
From 48c79d4fcba599ce17bbd66d09b9a05e92db54c8 Mon Sep 17 00:00:00 2001
From: Richard Guo <guofenglinux@gmail.com>
Date: Mon, 20 Nov 2023 10:08:28 +0800
Subject: [PATCH v2] Propagate pathkeys from CTEs up to the outer query

---
 src/backend/optimizer/path/allpaths.c     | 17 ++++++++++++++++-
 src/backend/optimizer/plan/planner.c      |  1 +
 src/backend/optimizer/plan/subselect.c    | 16 ++++++++++------
 src/backend/optimizer/prep/prepjointree.c |  1 +
 src/backend/optimizer/util/pathnode.c     |  5 +++--
 src/include/nodes/pathnodes.h             |  5 +++++
 src/include/optimizer/pathnode.h          |  2 +-
 src/test/regress/expected/with.out        | 17 +++++++++++++++++
 src/test/regress/sql/with.sql             |  7 +++++++
 9 files changed, 61 insertions(+), 10 deletions(-)

diff --git a/src/backend/optimizer/path/allpaths.c b/src/backend/optimizer/path/allpaths.c
index 67921a0826..749a69ff51 100644
--- a/src/backend/optimizer/path/allpaths.c
+++ b/src/backend/optimizer/path/allpaths.c
@@ -2882,6 +2882,8 @@ set_cte_pathlist(PlannerInfo *root, RelOptInfo *rel, RangeTblEntry *rte)
 	ListCell   *lc;
 	int			plan_id;
 	Relids		required_outer;
+	Path	   *ctepath;
+	List	   *pathkeys;
 
 	/*
 	 * Find the referenced CTE, and locate the plan previously made for it.
@@ -2921,6 +2923,19 @@ set_cte_pathlist(PlannerInfo *root, RelOptInfo *rel, RangeTblEntry *rte)
 	/* Mark rel with estimated output rows, width, etc */
 	set_cte_size_estimates(root, rel, cteplan->plan_rows);
 
+	/*
+	 * Locate the best path previously made for the referenced CTE.  We need to
+	 * know its pathkeys.
+	 */
+	Assert(list_length(cteroot->cte_plan_ids) == list_length(cteroot->cte_paths));
+	ctepath = (Path *) list_nth(cteroot->cte_paths, ndx);
+
+	/* Convert the pathkeys to outer representation */
+	pathkeys = convert_subquery_pathkeys(root,
+										 rel,
+										 ctepath->pathkeys,
+										 cteplan->targetlist);
+
 	/*
 	 * We don't support pushing join clauses into the quals of a CTE scan, but
 	 * it could still have required parameterization due to LATERAL refs in
@@ -2929,7 +2944,7 @@ set_cte_pathlist(PlannerInfo *root, RelOptInfo *rel, RangeTblEntry *rte)
 	required_outer = rel->lateral_relids;
 
 	/* Generate appropriate path */
-	add_path(rel, create_ctescan_path(root, rel, required_outer));
+	add_path(rel, create_ctescan_path(root, rel, pathkeys, required_outer));
 }
 
 /*
diff --git a/src/backend/optimizer/plan/planner.c b/src/backend/optimizer/plan/planner.c
index a8cea5efe1..7ac5d7b159 100644
--- a/src/backend/optimizer/plan/planner.c
+++ b/src/backend/optimizer/plan/planner.c
@@ -643,6 +643,7 @@ subquery_planner(PlannerGlobal *glob, Query *parse,
 	root->planner_cxt = CurrentMemoryContext;
 	root->init_plans = NIL;
 	root->cte_plan_ids = NIL;
+	root->cte_paths = NIL;
 	root->multiexpr_params = NIL;
 	root->join_domains = NIL;
 	root->eq_classes = NIL;
diff --git a/src/backend/optimizer/plan/subselect.c b/src/backend/optimizer/plan/subselect.c
index 7a9fe88fec..5a112b1562 100644
--- a/src/backend/optimizer/plan/subselect.c
+++ b/src/backend/optimizer/plan/subselect.c
@@ -885,16 +885,17 @@ hash_ok_operator(OpExpr *expr)
  * unreferenced SELECT), "inline" it to create a regular sub-SELECT-in-FROM,
  * or convert it to an initplan.
  *
- * A side effect is to fill in root->cte_plan_ids with a list that
- * parallels root->parse->cteList and provides the subplan ID for
- * each CTE's initplan, or a dummy ID (-1) if we didn't make an initplan.
+ * A side effect is to fill in root->cte_plan_ids and root->cte_paths with
+ * lists that parallel root->parse->cteList and provide the subplan ID and
+ * best path for each CTE, or a dummy ID (-1) and a dummy Path (NULL) if we
+ * didn't make a subplan.
  */
 void
 SS_process_ctes(PlannerInfo *root)
 {
 	ListCell   *lc;
 
-	Assert(root->cte_plan_ids == NIL);
+	Assert(root->cte_plan_ids == NIL && root->cte_paths == NIL);
 
 	foreach(lc, root->parse->cteList)
 	{
@@ -913,8 +914,9 @@ SS_process_ctes(PlannerInfo *root)
 		 */
 		if (cte->cterefcount == 0 && cmdType == CMD_SELECT)
 		{
-			/* Make a dummy entry in cte_plan_ids */
+			/* Make a dummy entry in cte_plan_ids and cte_paths */
 			root->cte_plan_ids = lappend_int(root->cte_plan_ids, -1);
+			root->cte_paths = lappend(root->cte_paths, NULL);
 			continue;
 		}
 
@@ -960,8 +962,9 @@ SS_process_ctes(PlannerInfo *root)
 			!contain_volatile_functions(cte->ctequery))
 		{
 			inline_cte(root, cte);
-			/* Make a dummy entry in cte_plan_ids */
+			/* Make a dummy entry in cte_plan_ids and cte_paths */
 			root->cte_plan_ids = lappend_int(root->cte_plan_ids, -1);
+			root->cte_paths = lappend(root->cte_paths, NULL);
 			continue;
 		}
 
@@ -1051,6 +1054,7 @@ SS_process_ctes(PlannerInfo *root)
 		root->init_plans = lappend(root->init_plans, splan);
 
 		root->cte_plan_ids = lappend_int(root->cte_plan_ids, splan->plan_id);
+		root->cte_paths = lappend(root->cte_paths, best_path);
 
 		/* Label the subplan for EXPLAIN purposes */
 		splan->plan_name = psprintf("CTE %s", cte->ctename);
diff --git a/src/backend/optimizer/prep/prepjointree.c b/src/backend/optimizer/prep/prepjointree.c
index 73ff40721c..4164ada823 100644
--- a/src/backend/optimizer/prep/prepjointree.c
+++ b/src/backend/optimizer/prep/prepjointree.c
@@ -990,6 +990,7 @@ pull_up_simple_subquery(PlannerInfo *root, Node *jtnode, RangeTblEntry *rte,
 	subroot->planner_cxt = CurrentMemoryContext;
 	subroot->init_plans = NIL;
 	subroot->cte_plan_ids = NIL;
+	subroot->cte_paths = NIL;
 	subroot->multiexpr_params = NIL;
 	subroot->join_domains = NIL;
 	subroot->eq_classes = NIL;
diff --git a/src/backend/optimizer/util/pathnode.c b/src/backend/optimizer/util/pathnode.c
index 0b1d17b9d3..05b85305fe 100644
--- a/src/backend/optimizer/util/pathnode.c
+++ b/src/backend/optimizer/util/pathnode.c
@@ -2113,7 +2113,8 @@ create_valuesscan_path(PlannerInfo *root, RelOptInfo *rel,
  *	  returning the pathnode.
  */
 Path *
-create_ctescan_path(PlannerInfo *root, RelOptInfo *rel, Relids required_outer)
+create_ctescan_path(PlannerInfo *root, RelOptInfo *rel,
+					List *pathkeys, Relids required_outer)
 {
 	Path	   *pathnode = makeNode(Path);
 
@@ -2125,7 +2126,7 @@ create_ctescan_path(PlannerInfo *root, RelOptInfo *rel, Relids required_outer)
 	pathnode->parallel_aware = false;
 	pathnode->parallel_safe = rel->consider_parallel;
 	pathnode->parallel_workers = 0;
-	pathnode->pathkeys = NIL;	/* XXX for now, result is always unordered */
+	pathnode->pathkeys = pathkeys;
 
 	cost_ctescan(pathnode, root, rel, pathnode->param_info);
 
diff --git a/src/include/nodes/pathnodes.h b/src/include/nodes/pathnodes.h
index ed85dc7414..cacd566777 100644
--- a/src/include/nodes/pathnodes.h
+++ b/src/include/nodes/pathnodes.h
@@ -301,6 +301,11 @@ struct PlannerInfo
 	 */
 	List	   *cte_plan_ids;
 
+	/*
+	 * per-CTE-item list of Paths (or NULL if no Path was made for that CTE)
+	 */
+	List	   *cte_paths;
+
 	/* List of Lists of Params for MULTIEXPR subquery outputs */
 	List	   *multiexpr_params;
 
diff --git a/src/include/optimizer/pathnode.h b/src/include/optimizer/pathnode.h
index 6e557bebc4..2d76471814 100644
--- a/src/include/optimizer/pathnode.h
+++ b/src/include/optimizer/pathnode.h
@@ -115,7 +115,7 @@ extern Path *create_valuesscan_path(PlannerInfo *root, RelOptInfo *rel,
 extern Path *create_tablefuncscan_path(PlannerInfo *root, RelOptInfo *rel,
 									   Relids required_outer);
 extern Path *create_ctescan_path(PlannerInfo *root, RelOptInfo *rel,
-								 Relids required_outer);
+								 List *pathkeys, Relids required_outer);
 extern Path *create_namedtuplestorescan_path(PlannerInfo *root, RelOptInfo *rel,
 											 Relids required_outer);
 extern Path *create_resultscan_path(PlannerInfo *root, RelOptInfo *rel,
diff --git a/src/test/regress/expected/with.out b/src/test/regress/expected/with.out
index 69c56ce207..9549cdc3d1 100644
--- a/src/test/regress/expected/with.out
+++ b/src/test/regress/expected/with.out
@@ -654,6 +654,23 @@ select count(*) from tenk1 a
                ->  CTE Scan on x
 (8 rows)
 
+-- test that pathkeys from a materialized CTE are propagated up to the
+-- outer query
+explain (costs off)
+with x as materialized (select unique1 from tenk1 b order by unique1)
+select count(*) from tenk1 a
+  where unique1 in (select * from x);
+                         QUERY PLAN                         
+------------------------------------------------------------
+ Aggregate
+   CTE x
+     ->  Index Only Scan using tenk1_unique1 on tenk1 b
+   ->  Merge Semi Join
+         Merge Cond: (a.unique1 = x.unique1)
+         ->  Index Only Scan using tenk1_unique1 on tenk1 a
+         ->  CTE Scan on x
+(7 rows)
+
 -- SEARCH clause
 create temp table graph0( f int, t int, label text );
 insert into graph0 values
diff --git a/src/test/regress/sql/with.sql b/src/test/regress/sql/with.sql
index 3ef9898866..54da8b2d21 100644
--- a/src/test/regress/sql/with.sql
+++ b/src/test/regress/sql/with.sql
@@ -354,6 +354,13 @@ with x as materialized (select unique1 from tenk1 b)
 select count(*) from tenk1 a
   where unique1 in (select * from x);
 
+-- test that pathkeys from a materialized CTE are propagated up to the
+-- outer query
+explain (costs off)
+with x as materialized (select unique1 from tenk1 b order by unique1)
+select count(*) from tenk1 a
+  where unique1 in (select * from x);
+
 -- SEARCH clause
 
 create temp table graph0( f int, t int, label text );
-- 
2.31.0

#25Alexander Lakhin
exclusion@gmail.com
In reply to: Tom Lane (#21)
Re: Wrong rows estimations with joins of CTEs slows queries by more than factor 500

Hello Tom and Richard,

17.11.2023 22:42, Tom Lane wrote:

OK. I pushed the patch after a bit more review: we can simplify
things some more by using the subroot->parse querytree for all
tests. After the previous refactoring, it wasn't buying us anything
to do some initial tests with the raw querytree. (The original
idea of that, I believe, was to avoid doing find_base_rel if we
could; but now that's not helpful.)

Please look at the following query:
CREATE TABLE t(i int);
INSERT INTO t VALUES (1);
VACUUM ANALYZE t;

WITH ir AS (INSERT INTO t VALUES (2) RETURNING i)
SELECT * FROM ir WHERE i = 2;

which produces ERROR:  no relation entry for relid 1
starting from f7816aec2.

Best regards,
Alexander

#26Tom Lane
tgl@sss.pgh.pa.us
In reply to: Alexander Lakhin (#25)
1 attachment(s)
Re: Wrong rows estimations with joins of CTEs slows queries by more than factor 500

Alexander Lakhin <exclusion@gmail.com> writes:

Please look at the following query:
CREATE TABLE t(i int);
INSERT INTO t VALUES (1);
VACUUM ANALYZE t;

WITH ir AS (INSERT INTO t VALUES (2) RETURNING i)
SELECT * FROM ir WHERE i = 2;

which produces ERROR:  no relation entry for relid 1
starting from f7816aec2.

Thanks for the report! I guess we need something like the attached.
I'm surprised that this hasn't been noticed before; was the case
really unreachable before?

regards, tom lane

Attachments:

fix-examine-variable-for-INSERT-RETURNING.patchtext/x-diff; charset=us-ascii; name=fix-examine-variable-for-INSERT-RETURNING.patchDownload
diff --git a/src/backend/optimizer/util/relnode.c b/src/backend/optimizer/util/relnode.c
index 5a9ce44532..22d01cef5b 100644
--- a/src/backend/optimizer/util/relnode.c
+++ b/src/backend/optimizer/util/relnode.c
@@ -420,6 +420,19 @@ find_base_rel(PlannerInfo *root, int relid)
 	return NULL;				/* keep compiler quiet */
 }
 
+/*
+ * find_base_rel_noerr
+ *	  Find a base or otherrel relation entry, returning NULL if there's none
+ */
+RelOptInfo *
+find_base_rel_noerr(PlannerInfo *root, int relid)
+{
+	/* use an unsigned comparison to prevent negative array element access */
+	if ((uint32) relid < (uint32) root->simple_rel_array_size)
+		return root->simple_rel_array[relid];
+	return NULL;
+}
+
 /*
  * find_base_rel_ignore_join
  *	  Find a base or otherrel relation entry, which must already exist.
diff --git a/src/backend/utils/adt/selfuncs.c b/src/backend/utils/adt/selfuncs.c
index dbcd98d985..cea777e9d4 100644
--- a/src/backend/utils/adt/selfuncs.c
+++ b/src/backend/utils/adt/selfuncs.c
@@ -119,6 +119,7 @@
 #include "optimizer/paths.h"
 #include "optimizer/plancat.h"
 #include "parser/parse_clause.h"
+#include "parser/parse_relation.h"
 #include "parser/parsetree.h"
 #include "statistics/statistics.h"
 #include "storage/bufmgr.h"
@@ -5434,17 +5435,30 @@ examine_simple_variable(PlannerInfo *root, Var *var,
 
 		if (HeapTupleIsValid(vardata->statsTuple))
 		{
-			RelOptInfo *onerel = find_base_rel(root, var->varno);
+			RelOptInfo *onerel = find_base_rel_noerr(root, var->varno);
 			Oid			userid;
 
 			/*
 			 * Check if user has permission to read this column.  We require
 			 * all rows to be accessible, so there must be no securityQuals
-			 * from security barrier views or RLS policies.  Use
-			 * onerel->userid if it's set, in case we're accessing the table
-			 * via a view.
+			 * from security barrier views or RLS policies.
+			 *
+			 * Normally the Var will have an associated RelOptInfo from which
+			 * we can find out which userid to do the check as; but it might
+			 * not if it's a RETURNING Var for an INSERT target relation.  In
+			 * that case use the RTEPermissionInfo associated with the RTE.
 			 */
-			userid = OidIsValid(onerel->userid) ? onerel->userid : GetUserId();
+			if (onerel)
+				userid = onerel->userid;
+			else
+			{
+				RTEPermissionInfo *perminfo;
+
+				perminfo = getRTEPermissionInfo(root->parse->rteperminfos, rte);
+				userid = perminfo->checkAsUser;
+			}
+			if (!OidIsValid(userid))
+				userid = GetUserId();
 
 			vardata->acl_ok =
 				rte->securityQuals == NIL &&
diff --git a/src/include/optimizer/pathnode.h b/src/include/optimizer/pathnode.h
index 03a0e46e70..c43d97b48a 100644
--- a/src/include/optimizer/pathnode.h
+++ b/src/include/optimizer/pathnode.h
@@ -307,6 +307,7 @@ extern void expand_planner_arrays(PlannerInfo *root, int add_size);
 extern RelOptInfo *build_simple_rel(PlannerInfo *root, int relid,
 									RelOptInfo *parent);
 extern RelOptInfo *find_base_rel(PlannerInfo *root, int relid);
+extern RelOptInfo *find_base_rel_noerr(PlannerInfo *root, int relid);
 extern RelOptInfo *find_base_rel_ignore_join(PlannerInfo *root, int relid);
 extern RelOptInfo *find_join_rel(PlannerInfo *root, Relids relids);
 extern RelOptInfo *build_join_rel(PlannerInfo *root,
diff --git a/src/test/regress/expected/with.out b/src/test/regress/expected/with.out
index 69c56ce207..3cf969d938 100644
--- a/src/test/regress/expected/with.out
+++ b/src/test/regress/expected/with.out
@@ -654,6 +654,24 @@ select count(*) from tenk1 a
                ->  CTE Scan on x
 (8 rows)
 
+explain (costs off)
+with x as materialized (insert into tenk1 default values returning unique1)
+select count(*) from tenk1 a
+  where unique1 in (select * from x);
+                         QUERY PLAN                         
+------------------------------------------------------------
+ Aggregate
+   CTE x
+     ->  Insert on tenk1
+           ->  Result
+   ->  Nested Loop
+         ->  HashAggregate
+               Group Key: x.unique1
+               ->  CTE Scan on x
+         ->  Index Only Scan using tenk1_unique1 on tenk1 a
+               Index Cond: (unique1 = x.unique1)
+(10 rows)
+
 -- SEARCH clause
 create temp table graph0( f int, t int, label text );
 insert into graph0 values
diff --git a/src/test/regress/sql/with.sql b/src/test/regress/sql/with.sql
index 3ef9898866..ff68e21e2e 100644
--- a/src/test/regress/sql/with.sql
+++ b/src/test/regress/sql/with.sql
@@ -354,6 +354,11 @@ with x as materialized (select unique1 from tenk1 b)
 select count(*) from tenk1 a
   where unique1 in (select * from x);
 
+explain (costs off)
+with x as materialized (insert into tenk1 default values returning unique1)
+select count(*) from tenk1 a
+  where unique1 in (select * from x);
+
 -- SEARCH clause
 
 create temp table graph0( f int, t int, label text );
#27Richard Guo
guofenglinux@gmail.com
In reply to: Tom Lane (#26)
Re: Wrong rows estimations with joins of CTEs slows queries by more than factor 500

On Sun, Jan 7, 2024 at 6:41 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:

Alexander Lakhin <exclusion@gmail.com> writes:

Please look at the following query:
CREATE TABLE t(i int);
INSERT INTO t VALUES (1);
VACUUM ANALYZE t;

WITH ir AS (INSERT INTO t VALUES (2) RETURNING i)
SELECT * FROM ir WHERE i = 2;

which produces ERROR: no relation entry for relid 1
starting from f7816aec2.

Nice catch.

Thanks for the report! I guess we need something like the attached.

+1.

I'm surprised that this hasn't been noticed before; was the case
really unreachable before?

It seems that this case is only reachable with Vars of an INSERT target
relation, and it seems that there is no other way to reference such a
Var other than using CTE.

Thanks
Richard

#28Tom Lane
tgl@sss.pgh.pa.us
In reply to: Richard Guo (#27)
Re: Wrong rows estimations with joins of CTEs slows queries by more than factor 500

Richard Guo <guofenglinux@gmail.com> writes:

On Sun, Jan 7, 2024 at 6:41 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:

Thanks for the report! I guess we need something like the attached.

+1.

Pushed, thanks for looking at it.

I'm surprised that this hasn't been noticed before; was the case
really unreachable before?

It seems that this case is only reachable with Vars of an INSERT target
relation, and it seems that there is no other way to reference such a
Var other than using CTE.

I'm a little uncomfortable with that conclusion, but for the moment
I refrained from back-patching. We can always add the patch to v16
later if we find it's not so unreachable. (Before v16, there was
no find_base_rel here at all.)

regards, tom lane

#29vignesh C
vignesh21@gmail.com
In reply to: Tom Lane (#28)
Re: Wrong rows estimations with joins of CTEs slows queries by more than factor 500

On Mon, 8 Jan 2024 at 22:21, Tom Lane <tgl@sss.pgh.pa.us> wrote:

Richard Guo <guofenglinux@gmail.com> writes:

On Sun, Jan 7, 2024 at 6:41 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:

Thanks for the report! I guess we need something like the attached.

+1.

Pushed, thanks for looking at it.

I have changed the status of the commitfest entry to "Committed" as I
noticed the patch has already been committed.

Regards,
Vignesh

#30Richard Guo
guofenglinux@gmail.com
In reply to: vignesh C (#29)
Re: Wrong rows estimations with joins of CTEs slows queries by more than factor 500

On Sat, Jan 27, 2024 at 10:08 AM vignesh C <vignesh21@gmail.com> wrote:

On Mon, 8 Jan 2024 at 22:21, Tom Lane <tgl@sss.pgh.pa.us> wrote:

Richard Guo <guofenglinux@gmail.com> writes:

On Sun, Jan 7, 2024 at 6:41 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:

Thanks for the report! I guess we need something like the attached.

+1.

Pushed, thanks for looking at it.

I have changed the status of the commitfest entry to "Committed" as I
noticed the patch has already been committed.

Well, the situation seems a little complex here. At first, this thread
was dedicated to discussing the 'Examine-simple-variable-for-Var-in-CTE'
patch, which has already been pushed in [1]/messages/by-id/754093.1700250120@sss.pgh.pa.us. Subsequently, I proposed
another patch 'Propagate-pathkeys-from-CTEs-up-to-the-outer-query' in
[2]: /messages/by-id/CAMbWs49gAHeEOn0rpdUUYXryaa60KZ8JKwk1aSERttY9caCYkA@mail.gmail.com
for. Later on, within the same thread, another patch was posted as a
fix to the first patch and was subsequently pushed in [3]/messages/by-id/1941515.1704732682@sss.pgh.pa.us. I believe
this sequence of events might have led to confusion.

What is the usual practice in such situations? I guess I'd better to
fork a new thread to discuss my proposed patch which is about the
'Propagate-pathkeys-from-CTEs-up-to-the-outer-query'.

[1]: /messages/by-id/754093.1700250120@sss.pgh.pa.us
[2]: /messages/by-id/CAMbWs49gAHeEOn0rpdUUYXryaa60KZ8JKwk1aSERttY9caCYkA@mail.gmail.com
/messages/by-id/CAMbWs49gAHeEOn0rpdUUYXryaa60KZ8JKwk1aSERttY9caCYkA@mail.gmail.com
[3]: /messages/by-id/1941515.1704732682@sss.pgh.pa.us

Thanks
Richard

#31vignesh C
vignesh21@gmail.com
In reply to: Richard Guo (#30)
Re: Wrong rows estimations with joins of CTEs slows queries by more than factor 500

On Mon, 29 Jan 2024 at 08:01, Richard Guo <guofenglinux@gmail.com> wrote:

On Sat, Jan 27, 2024 at 10:08 AM vignesh C <vignesh21@gmail.com> wrote:

On Mon, 8 Jan 2024 at 22:21, Tom Lane <tgl@sss.pgh.pa.us> wrote:

Richard Guo <guofenglinux@gmail.com> writes:

On Sun, Jan 7, 2024 at 6:41 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:

Thanks for the report! I guess we need something like the attached.

+1.

Pushed, thanks for looking at it.

I have changed the status of the commitfest entry to "Committed" as I
noticed the patch has already been committed.

Well, the situation seems a little complex here. At first, this thread
was dedicated to discussing the 'Examine-simple-variable-for-Var-in-CTE'
patch, which has already been pushed in [1]. Subsequently, I proposed
another patch 'Propagate-pathkeys-from-CTEs-up-to-the-outer-query' in
[2], which is currently under review and is what the commitfest entry
for. Later on, within the same thread, another patch was posted as a
fix to the first patch and was subsequently pushed in [3]. I believe
this sequence of events might have led to confusion.

What is the usual practice in such situations? I guess I'd better to
fork a new thread to discuss my proposed patch which is about the
'Propagate-pathkeys-from-CTEs-up-to-the-outer-query'.

Sorry I missed to notice that there was one pending patch yet to be
committed, I feel you can continue discussing here itself just to
avoid losing any historical information about the issue and the
continuation of the discussion. You can add a new commitfest entry for
this.

Regards,
Vignesh

#32Richard Guo
guofenglinux@gmail.com
In reply to: vignesh C (#31)
Re: Wrong rows estimations with joins of CTEs slows queries by more than factor 500

On Mon, Jan 29, 2024 at 11:20 AM vignesh C <vignesh21@gmail.com> wrote:

On Mon, 29 Jan 2024 at 08:01, Richard Guo <guofenglinux@gmail.com> wrote:

On Sat, Jan 27, 2024 at 10:08 AM vignesh C <vignesh21@gmail.com> wrote:

I have changed the status of the commitfest entry to "Committed" as I
noticed the patch has already been committed.

Well, the situation seems a little complex here. At first, this thread
was dedicated to discussing the 'Examine-simple-variable-for-Var-in-CTE'
patch, which has already been pushed in [1]. Subsequently, I proposed
another patch 'Propagate-pathkeys-from-CTEs-up-to-the-outer-query' in
[2], which is currently under review and is what the commitfest entry
for. Later on, within the same thread, another patch was posted as a
fix to the first patch and was subsequently pushed in [3]. I believe
this sequence of events might have led to confusion.

What is the usual practice in such situations? I guess I'd better to
fork a new thread to discuss my proposed patch which is about the
'Propagate-pathkeys-from-CTEs-up-to-the-outer-query'.

Sorry I missed to notice that there was one pending patch yet to be
committed, I feel you can continue discussing here itself just to
avoid losing any historical information about the issue and the
continuation of the discussion. You can add a new commitfest entry for
this.

It seems to me that a fresh new thread is a better option. I have just
started a new thread in [1]/messages/by-id/CAMbWs49xYd3f8CrE8-WW3--dV1zH_sDSDn-vs2DzHj81Wcnsew@mail.gmail.com, and have tried to migrate the necessary
context over there. I have also updated the commitfest entry
accordingly.

[1]: /messages/by-id/CAMbWs49xYd3f8CrE8-WW3--dV1zH_sDSDn-vs2DzHj81Wcnsew@mail.gmail.com
/messages/by-id/CAMbWs49xYd3f8CrE8-WW3--dV1zH_sDSDn-vs2DzHj81Wcnsew@mail.gmail.com

Thanks
Richard