aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2022-04-28 03:23:55 +0100
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2022-04-28 03:23:55 +0100
commit8896c17b2b61d9e1719c337e664dca65949dbc17 (patch)
tree72a57c28951dc98d81e3175f318d05d4cf1189ac
parent7bf95509a49cadc9b91fdd092b0642f8bae210dc (diff)
downloadperlweeklychallenge-club-8896c17b2b61d9e1719c337e664dca65949dbc17.tar.gz
perlweeklychallenge-club-8896c17b2b61d9e1719c337e664dca65949dbc17.tar.bz2
perlweeklychallenge-club-8896c17b2b61d9e1719c337e664dca65949dbc17.zip
- Added solutions by Laurent Rosenfeld.
-rw-r--r--challenge-162/laurent-rosenfeld/blog.txt1
-rw-r--r--challenge-162/laurent-rosenfeld/perl/ch-1.pl13
-rw-r--r--challenge-162/laurent-rosenfeld/perl/ch-2.pl71
-rw-r--r--challenge-162/laurent-rosenfeld/raku/ch-1.raku7
-rw-r--r--challenge-162/laurent-rosenfeld/raku/ch-2.raku64
-rw-r--r--stats/pwc-current.json193
-rw-r--r--stats/pwc-language-breakdown-summary.json50
-rw-r--r--stats/pwc-language-breakdown.json2260
-rw-r--r--stats/pwc-leaders.json770
-rw-r--r--stats/pwc-summary-1-30.json46
-rw-r--r--stats/pwc-summary-121-150.json40
-rw-r--r--stats/pwc-summary-151-180.json100
-rw-r--r--stats/pwc-summary-181-210.json112
-rw-r--r--stats/pwc-summary-211-240.json100
-rw-r--r--stats/pwc-summary-241-270.json38
-rw-r--r--stats/pwc-summary-31-60.json28
-rw-r--r--stats/pwc-summary-61-90.json38
-rw-r--r--stats/pwc-summary-91-120.json52
-rw-r--r--stats/pwc-summary.json574
19 files changed, 2368 insertions, 2189 deletions
diff --git a/challenge-162/laurent-rosenfeld/blog.txt b/challenge-162/laurent-rosenfeld/blog.txt
new file mode 100644
index 0000000000..2af31d6da1
--- /dev/null
+++ b/challenge-162/laurent-rosenfeld/blog.txt
@@ -0,0 +1 @@
+http://blogs.perl.org/users/laurent_r/2022/04/perl-weekly-challenge-162-isbn-13-and-wheatstone-playfair.html
diff --git a/challenge-162/laurent-rosenfeld/perl/ch-1.pl b/challenge-162/laurent-rosenfeld/perl/ch-1.pl
new file mode 100644
index 0000000000..4294a318dc
--- /dev/null
+++ b/challenge-162/laurent-rosenfeld/perl/ch-1.pl
@@ -0,0 +1,13 @@
+use strict;
+use warnings;
+use feature "say";
+
+my $isbn = "978-0-306-40615-";
+my $sum = 0;
+my $k = 1;
+for my $i (grep {/\d/} split //, $isbn) {
+ $sum += $k * $i;
+ $k = $k == 1 ? 3 : 1;
+}
+my $check = 10 - $sum % 10;
+say $check;
diff --git a/challenge-162/laurent-rosenfeld/perl/ch-2.pl b/challenge-162/laurent-rosenfeld/perl/ch-2.pl
new file mode 100644
index 0000000000..1ecf07c77c
--- /dev/null
+++ b/challenge-162/laurent-rosenfeld/perl/ch-2.pl
@@ -0,0 +1,71 @@
+use strict;
+use warnings;
+use feature "say";
+
+sub make_cipher_table {
+ my $key = lc $_[0];
+ $key =~ s/j/i/g; # we can handle 25 letters, replace J's with I's
+ $key =~ s/\W//g; # remove non alphanumecicals chars
+ my @chars = ((split //, $key), 'a'..'i', 'k'..'z');
+ my $i = 0;
+ my (@c2l, %l2c); # coordinates to letter, letter to coordinates
+ for my $let (@chars) {
+ next if exists $l2c{$let};
+ my $row = int $i / 5;
+ my $col = $i % 5;
+ $i++;
+ $l2c{$let} = [$row, $col];
+ $c2l[$row][$col] = $let;
+ }
+ return \@c2l, \%l2c
+}
+
+sub encrypt {
+ my $msg = lc $_[0];
+ $msg =~ s/j/i/g;
+ $msg =~ s/\W//g; # remove non alphanumecicals chars
+ $msg =~ s/(.)\1/$1x$1/; # adding 'x' between two identical letters
+ $msg =~ "x" if length($msg) % 2; # padding
+ return convert(1, $msg);
+}
+
+sub decrypt {
+ return convert(-1, $_[0]);
+}
+
+my ($c, $l) = make_cipher_table("playfair example");
+my @c2l = @$c;
+my %l2c = %$l;
+my $msg = "hide the gold in the tree stump";
+my $crypted = encrypt($msg);
+say "$msg -> $crypted";
+say "Round trip: ", decrypt $crypted;
+($c, $l) = make_cipher_table("perl and raku");
+@c2l = @$c;
+%l2c = %$l;
+$msg = "siderwrdulfipaarkcrw";
+my $decrypted = decrypt $msg;
+say "$msg -> $decrypted";
+
+sub convert {
+ my ($d, $msg) = @_;
+ # $d (direction) = 1 for encrypting and -1 for decrypting
+ my $out = "";
+ my @letters = split //, $msg;
+ while (@letters) {
+ my ($first, $second) = splice @letters, 0, 2;
+ # my ($row1, $row2) = (%l2c{$first}[0], %l2c{$second}[0]);
+ # my ($col1, $col2) = (%l2c{$first}[1], %l2c{$second}[1]);
+ if ($l2c{$first}[0] == $l2c{$second}[0]) { # same row
+ $out .= ($c2l[$l2c{$first }[0]][($l2c{$first }[1] + $d)%5]) .
+ ($c2l[$l2c{$second}[0]][($l2c{$second}[1] + $d)%5]);
+ } elsif ($l2c{$first}[1] == $l2c{$second}[1]) { # same column
+ $out .= ($c2l[($l2c{$first }[0] + $d) %5][$l2c{$first}[1]]) .
+ ($c2l[($l2c{$second}[0] + $d) %5][$l2c{$second}[1]]);
+ } else { # rectangle
+ $out .= ($c2l[$l2c{$first }[0]][$l2c{$second}[1]]) .
+ ($c2l[$l2c{$second}[0]][$l2c{$first }[1]]);
+ }
+ }
+ return $out;
+}
diff --git a/challenge-162/laurent-rosenfeld/raku/ch-1.raku b/challenge-162/laurent-rosenfeld/raku/ch-1.raku
new file mode 100644
index 0000000000..0bba9a0887
--- /dev/null
+++ b/challenge-162/laurent-rosenfeld/raku/ch-1.raku
@@ -0,0 +1,7 @@
+my $isbn = "978-0-306-40615-";
+my $sum = 0;
+for $isbn.comb.grep(/\d/) -> $i, $j {
+ $sum += $i + 3 * $j;
+}
+my $check = 10 - $sum % 10;
+say $check;
diff --git a/challenge-162/laurent-rosenfeld/raku/ch-2.raku b/challenge-162/laurent-rosenfeld/raku/ch-2.raku
new file mode 100644
index 0000000000..0fc3937b3c
--- /dev/null
+++ b/challenge-162/laurent-rosenfeld/raku/ch-2.raku
@@ -0,0 +1,64 @@
+my (@c2l, %l2c); # coordinates to letter, letter to coordinates
+
+sub make-cipher-table (Str $in) {
+ @c2l = ();
+ %l2c = ();
+ my $key = $in.lc;
+ $key ~~ s:g/j/i/; # we can handle 25 letters, replace J's with I's
+ $key ~~ s:g/\W//; # remove non alphanumecicals chars
+ my @chars = ($key.comb, 'a'..'i', 'k'..'z').flat;
+ my $i = 0;
+ for @chars -> $let {
+ next if %l2c{$let}:exists;
+ my $row = $i div 5;
+ my $col = $i % 5;
+ $i++;
+ %l2c{$let} = $row, $col;
+ @c2l[$row][$col] = $let;
+ }
+}
+
+sub encrypt ($in) {
+ my $msg = $in.lc;
+ $msg ~~ s:g/j/i/;
+ $msg ~~ s:g/\W//; # remove non alphanumecicals chars
+ $msg ~~ s:g/(.)$0/$0x$0/; # adding 'x' between two identical letters
+ $msg ~= "x" if $msg.chars % 2; # padding
+ return convert(1, $msg);
+}
+
+sub decrypt ($in) {
+ return convert(-1, $in);
+}
+
+sub convert (Int $d, Str $msg) {
+ # $d (direction) = 1 for encrypting and -1 for decrypting
+ my $out = "";
+ my $second;
+ for $msg.comb -> $first, $second {
+ my ($row1, $row2) = %l2c{$first}[0], %l2c{$second}[0];
+ my ($col1, $col2) = %l2c{$first}[1], %l2c{$second}[1];
+ if $row1 == $row2 { # same row
+ $out ~= (@c2l[$row1][($col1 + $d)%5]) ~
+ (@c2l[$row2][($col2 + $d)%5]);
+ } elsif $col1 == $col2 { # same column
+ $out ~= (@c2l[($row1 + $d) %5][$col1]) ~
+ (@c2l[($row2 + $d) %5][$col2]);
+ } else { # rectangle
+ $out ~= (@c2l[$row1][$col2]) ~
+ (@c2l[$row2][$col1]);
+ }
+ }
+ return $out;
+}
+
+make-cipher-table("playfair example");
+my $msg = "hide the gold in the tree stump";
+my $crypted = encrypt($msg);
+say "$msg -> $crypted";
+say "Round trip: ", decrypt $crypted;
+
+make-cipher-table("perl and raku");
+$msg = "siderwrdulfipaarkcrw";
+my $decrypted = decrypt $msg;
+say "$msg -> $decrypted";
diff --git a/stats/pwc-current.json b/stats/pwc-current.json
index 830a74de95..5d5a58cb1c 100644
--- a/stats/pwc-current.json
+++ b/stats/pwc-current.json
@@ -1,9 +1,10 @@
{
+ "title" : {
+ "text" : "The Weekly Challenge - 162"
+ },
"drilldown" : {
"series" : [
{
- "id" : "Dave Jacoby",
- "name" : "Dave Jacoby",
"data" : [
[
"Perl",
@@ -13,7 +14,9 @@
"Blog",
1
]
- ]
+ ],
+ "name" : "Dave Jacoby",
+ "id" : "Dave Jacoby"
},
{
"data" : [
@@ -26,6 +29,8 @@
"id" : "E. Choroba"
},
{
+ "id" : "James Smith",
+ "name" : "James Smith",
"data" : [
[
"Perl",
@@ -35,19 +40,35 @@
"Blog",
1
]
- ],
- "id" : "James Smith",
- "name" : "James Smith"
+ ]
},
{
+ "id" : "Julien Fiegehenn",
+ "name" : "Julien Fiegehenn",
"data" : [
[
"Perl",
2
]
- ],
- "name" : "Julien Fiegehenn",
- "id" : "Julien Fiegehenn"
+ ]
+ },
+ {
+ "id" : "Laurent Rosenfeld",
+ "name" : "Laurent Rosenfeld",
+ "data" : [
+ [
+ "Perl",
+ 2
+ ],
+ [
+ "Raku",
+ 2
+ ],
+ [
+ "Blog",
+ 1
+ ]
+ ]
},
{
"data" : [
@@ -60,37 +81,36 @@
"id" : "Luca Ferrari"
},
{
+ "name" : "Mark Anderson",
"data" : [
[
"Raku",
2
]
],
- "name" : "Mark Anderson",
"id" : "Mark Anderson"
},
{
+ "name" : "Niels van Dijke",
"data" : [
[
"Perl",
2
]
],
- "id" : "Niels van Dijke",
- "name" : "Niels van Dijke"
+ "id" : "Niels van Dijke"
},
{
- "id" : "Paulo Custodio",
- "name" : "Paulo Custodio",
"data" : [
[
"Perl",
2
]
- ]
+ ],
+ "name" : "Paulo Custodio",
+ "id" : "Paulo Custodio"
},
{
- "name" : "Peter Campbell Smith",
"id" : "Peter Campbell Smith",
"data" : [
[
@@ -101,19 +121,21 @@
"Blog",
1
]
- ]
+ ],
+ "name" : "Peter Campbell Smith"
},
{
- "id" : "PokGoPun",
- "name" : "PokGoPun",
"data" : [
[
"Perl",
2
]
- ]
+ ],
+ "name" : "PokGoPun",
+ "id" : "PokGoPun"
},
{
+ "id" : "Robert DiCicco",
"data" : [
[
"Perl",
@@ -124,12 +146,9 @@
1
]
],
- "id" : "Robert DiCicco",
"name" : "Robert DiCicco"
},
{
- "name" : "Roger Bell_West",
- "id" : "Roger Bell_West",
"data" : [
[
"Perl",
@@ -139,9 +158,13 @@
"Raku",
2
]
- ]
+ ],
+ "name" : "Roger Bell_West",
+ "id" : "Roger Bell_West"
},
{
+ "id" : "Ryan Thompson",
+ "name" : "Ryan Thompson",
"data" : [
[
"Perl",
@@ -151,11 +174,11 @@
"Blog",
2
]
- ],
- "name" : "Ryan Thompson",
- "id" : "Ryan Thompson"
+ ]
},
{
+ "id" : "Ulrich Rieke",
+ "name" : "Ulrich Rieke",
"data" : [
[
"Perl",
@@ -165,13 +188,9 @@
"Raku",
2
]
- ],
- "name" : "Ulrich Rieke",
- "id" : "Ulrich Rieke"
+ ]
},
{
- "id" : "W. Luis Mochan",
- "name" : "W. Luis Mochan",
"data" : [
[
"Perl",
@@ -181,37 +200,25 @@
"Blog",
1
]
- ]
+ ],
+ "name" : "W. Luis Mochan",
+ "id" : "W. Luis Mochan"
}
]
},
- "title" : {
- "text" : "The Weekly Challenge - 162"
- },
- "legend" : {
- "enabled" : 0
- },
- "tooltip" : {
- "followPointer" : 1,
- "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>",
- "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>"
- },
"yAxis" : {
"title" : {
"text" : "Total Solutions"
}
},
- "plotOptions" : {
- "series" : {
- "borderWidth" : 0,
- "dataLabels" : {
- "format" : "{point.y}",
- "enabled" : 1
- }
- }
+ "subtitle" : {
+ "text" : "[Champions: 16] Last updated at 2022-04-28 02:04:44 GMT"
},
- "xAxis" : {
- "type" : "category"
+ "chart" : {
+ "type" : "column"
+ },
+ "legend" : {
+ "enabled" : 0
},
"series" : [
{
@@ -219,64 +226,69 @@
"name" : "The Weekly Challenge - 162",
"data" : [
{
+ "drilldown" : "Dave Jacoby",
"y" : 3,
- "name" : "Dave Jacoby",
- "drilldown" : "Dave Jacoby"
+ "name" : "Dave Jacoby"
},
{
- "name" : "E. Choroba",
+ "y" : 2,
"drilldown" : "E. Choroba",
- "y" : 2
+ "name" : "E. Choroba"
},
{
- "name" : "James Smith",
"drilldown" : "James Smith",
- "y" : 3
+ "y" : 3,
+ "name" : "James Smith"
},
{
- "y" : 2,
"name" : "Julien Fiegehenn",
+ "y" : 2,
"drilldown" : "Julien Fiegehenn"
},
{
- "name" : "Luca Ferrari",
- "drilldown" : "Luca Ferrari",
- "y" : 2
+ "name" : "Laurent Rosenfeld",
+ "drilldown" : "Laurent Rosenfeld",
+ "y" : 5
},
{
+ "drilldown" : "Luca Ferrari",
"y" : 2,
- "name" : "Mark Anderson",
- "drilldown" : "Mark Anderson"
+ "name" : "Luca Ferrari"
},
{
"y" : 2,
- "name" : "Niels van Dijke",
- "drilldown" : "Niels van Dijke"
+ "drilldown" : "Mark Anderson",
+ "name" : "Mark Anderson"
},
{
"y" : 2,
+ "drilldown" : "Niels van Dijke",
+ "name" : "Niels van Dijke"
+ },
+ {
"name" : "Paulo Custodio",
- "drilldown" : "Paulo Custodio"
+ "drilldown" : "Paulo Custodio",
+ "y" : 2
},
{
+ "drilldown" : "Peter Campbell Smith",
"y" : 3,
- "name" : "Peter Campbell Smith",
- "drilldown" : "Peter Campbell Smith"
+ "name" : "Peter Campbell Smith"
},
{
- "name" : "PokGoPun",
"drilldown" : "PokGoPun",
- "y" : 2
+ "y" : 2,
+ "name" : "PokGoPun"
},
{
+ "name" : "Robert DiCicco",
"y" : 2,
- "drilldown" : "Robert DiCicco",
- "name" : "Robert DiCicco"
+ "drilldown" : "Robert DiCicco"
},
{
+ "drilldown" : "Roger Bell_West",
"y" : 4,
- "name" : "Roger Bell_West",
- "drilldown" : "Roger Bell_West"
+ "name" : "Roger Bell_West"
},
{
"name" : "Ryan Thompson",
@@ -285,21 +297,32 @@
},
{
"name" : "Ulrich Rieke",
- "drilldown" : "Ulrich Rieke",
- "y" : 3
+ "y" : 3,
+ "drilldown" : "Ulrich Rieke"
},
{
- "y" : 3,
+ "name" : "W. Luis Mochan",
"drilldown" : "W. Luis Mochan",
- "name" : "W. Luis Mochan"
+ "y" : 3
}
]
}
],
- "chart" : {
- "type" : "column"
+ "xAxis" : {
+ "type" : "category"
},
- "subtitle" : {
- "text" : "[Champions: 15] Last updated at 2022-04-28 01:54:00 GMT"
+ "tooltip" : {
+ "followPointer" : 1,
+ "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>",
+ "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>"
+ },
+ "plotOptions" : {
+ "series" : {
+ "borderWidth" : 0,
+ "dataLabels" : {
+ "format" : "{point.y}",
+ "enabled" : 1
+ }
+ }
}
}
diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json
index cb047d30c6..87866e6564 100644
--- a/stats/pwc-language-breakdown-summary.json
+++ b/stats/pwc-language-breakdown-summary.json
@@ -1,4 +1,16 @@
{
+ "legend" : {
+ "enabled" : "false"
+ },
+ "subtitle" : {
+ "text" : "Last updated at 2022-04-28 02:04:44 GMT"
+ },
+ "chart" : {
+ "type" : "column"
+ },
+ "tooltip" : {
+ "pointFormat" : "<b>{point.y:.0f}</b>"
+ },
"xAxis" : {
"labels" : {
"style" : {
@@ -8,56 +20,44 @@
},
"type" : "category"
},
- "subtitle" : {
- "text" : "Last updated at 2022-04-28 01:54:00 GMT"
- },
"series" : [
{
"dataLabels" : {
- "format" : "{point.y:.0f}",
"align" : "right",
+ "y" : 10,
+ "format" : "{point.y:.0f}",
+ "rotation" : -90,
+ "color" : "#FFFFFF",
"style" : {
- "fontFamily" : "Verdana, sans-serif",
- "fontSize" : "13px"
+ "fontSize" : "13px",
+ "fontFamily" : "Verdana, sans-serif"
},
- "color" : "#FFFFFF",
- "rotation" : -90,
- "y" : 10,
"enabled" : "true"
},
- "name" : "Contributions",
"data" : [
[
"Blog",
- 2475
+ 2476
],
[
"Perl",
- 7900
+ 7902
],
[
"Raku",
- 4680
+ 4682
]
- ]
+ ],
+ "name" : "Contributions"
}
],
- "chart" : {
- "type" : "column"
- },
"title" : {
"text" : "The Weekly Challenge Contributions [2019 - 2022]"
},
- "tooltip" : {
- "pointFormat" : "<b>{point.y:.0f}</b>"
- },
"yAxis" : {
+ "min" : 0,
"title" : {
"text" : null
- },
- "min" : 0
- },
- "legend" : {
- "enabled" : "false"
+ }
}
}
diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json
index 0727e7d019..73155e88e4 100644
--- a/stats/pwc-language-breakdown.json
+++ b/stats/pwc-language-breakdown.json
@@ -1,17 +1,848 @@
{
- "yAxis" : {
- "title" : {
- "text" : "Total Solutions"
- }
+ "subtitle" : {
+ "text" : "Click the columns to drilldown the language breakdown. Last updated at 2022-04-28 02:04:44 GMT"
},
- "tooltip" : {
- "pointFormat" : "<span style=\"color:{point.color}\">Challenge {point.name}</span>: <b>{point.y:f}</b><br/>",
- "headerFormat" : "<span style=\"font-size:11px\"></span>",
- "followPointer" : "true"
+ "chart" : {
+ "type" : "column"
},
"legend" : {
"enabled" : "false"
},
+ "series" : [
+ {
+ "data" : [
+ {
+ "drilldown" : "001",
+ "y" : 161,
+ "name" : "#001"
+ },
+ {
+ "y" : 125,
+ "drilldown" : "002",
+ "name" : "#002"
+ },
+ {
+ "name" : "#003",
+ "y" : 83,
+ "drilldown" : "003"
+ },
+ {
+ "drilldown" : "004",
+ "y" : 99,
+ "name" : "#004"
+ },
+ {
+ "name" : "#005",
+ "drilldown" : "005",
+ "y" : 78
+ },
+ {
+ "name" : "#006",
+ "y" : 58,
+ "drilldown" : "006"
+ },
+ {
+ "name" : "#007",
+ "drilldown" : "007",
+ "y" : 64
+ },
+ {
+ "name" : "#008",
+ "y" : 78,
+ "drilldown" : "008"
+ },
+ {
+ "y" : 76,
+ "drilldown" : "009",
+ "name" : "#009"
+ },
+ {
+ "y" : 65,
+ "drilldown" : "010",
+ "name" : "#010"
+ },
+ {
+ "drilldown" : "011",
+ "y" : 85,
+ "name" : "#011"
+ },
+ {
+ "drilldown" : "012",
+ "y" : 89,
+ "name" : "#012"
+ },
+ {
+ "y" : 85,
+ "drilldown" : "013",
+ "name" : "#013"
+ },
+ {
+ "name" : "#014",
+ "y" : 101,
+ "drilldown" : "014"
+ },
+ {
+ "name" : "#015",
+ "drilldown" : "015",
+ "y" : 99
+ },
+ {
+ "name" : "#016",
+ "y" : 71,
+ "drilldown" : "016"
+ },
+ {
+ "name" : "#017",
+ "y" : 84,
+ "drilldown" : "017"
+ },
+ {
+ "name" : "#018",
+ "drilldown" : "018",
+ "y" : 81
+ },
+ {
+ "name" : "#019",
+ "drilldown" : "019",
+ "y" : 103
+ },
+ {
+ "name" : "#020",
+ "drilldown" : "020",
+ "y" : 101
+ },
+ {
+ "name" : "#021",
+ "y" : 72,
+ "drilldown" : "021"
+ },
+ {
+ "drilldown" : "022",
+ "y" : 68,
+ "name" : "#022"
+ },
+ {
+ "drilldown" : "023",
+ "y" : 97,
+ "name" : "#023"
+ },
+ {
+ "drilldown" : "024",
+ "y" : 75,
+ "name" : "#024"
+ },
+ {
+ "name" : "#025",
+ "drilldown" : "025",
+ "y" : 59
+ },
+ {
+ "name" : "#026",
+ "drilldown" : "026",
+ "y" : 74
+ },
+ {
+ "drilldown" : "027",
+ "y" : 62,
+ "name" : "#027"
+ },
+ {
+ "drilldown" : "028",
+ "y" : 82,
+ "name" : "#028"
+ },
+ {
+ "name" : "#029",
+ "drilldown" : "029",
+ "y" : 81
+ },
+ {
+ "name" : "#030",
+ "y" : 119,
+ "drilldown" : "030"
+ },
+ {
+ "name" : "#031",
+ "drilldown" : "031",
+ "y" : 91
+ },
+ {
+ "y" : 96,
+ "drilldown" : "032",
+ "name" : "#032"
+ },
+ {
+ "name" : "#033",
+ "drilldown" : "033",
+ "y" : 112
+ },
+ {
+ "name" : "#034",
+ "y" : 66,
+ "drilldown" : "034"
+ },
+ {
+ "name" : "#035",
+ "y" : 66,
+ "drilldown" : "035"
+ },
+ {
+ "drilldown" : "036",
+ "y" : 70,
+ "name" : "#036"
+ },
+ {
+ "name" : "#037",
+ "y" : 69,
+ "drilldown" : "037"
+ },
+ {
+ "name" : "#038",
+ "y" : 70,
+ "drilldown" : "038"
+ },
+ {
+ "drilldown" : "039",
+ "y" : 64,
+ "name" : "#039"
+ },
+ {
+ "y" : 75,
+ "drilldown" : "040",
+ "name" : "#040"
+ },
+ {
+ "name" : "#041",
+ "drilldown" : "041",
+ "y" : 78
+ },
+ {
+ "name" : "#042",
+ "y" : 94,
+ "drilldown" : "042"
+ },
+ {
+ "name" : "#043",
+ "y" : 70,
+ "drilldown" : "043"
+ },
+ {
+ "drilldown" : "044",
+ "y" : 87,
+ "name" : "#044"
+ },
+ {
+ "y" : 98,
+ "drilldown" : "045",
+ "name" : "#045"
+ },
+ {
+ "name" : "#046",
+ "drilldown" : "046",
+ "y" : 89
+ },
+ {
+ "name" : "#047",
+ "y" : 86,
+ "drilldown" : "047"
+ },
+ {
+ "y" : 110,
+ "drilldown" : "048",
+ "name" : "#048"
+ },
+ {
+ "name" : "#049",
+ "drilldown" : "049",
+ "y" : 91
+ },
+ {
+ "name" : "#050",
+ "y" : 100,
+ "drilldown" : "050"
+ },
+ {
+ "name" : "#051",
+ "y" : 91,
+ "drilldown" : "051"
+ },
+ {
+ "y" : 93,
+ "drilldown" : "052",
+ "name" : "#052"
+ },
+ {
+ "drilldown" : "053",
+ "y" : 103,
+ "name" : "#053"
+ },
+ {
+ "y" : 105,
+ "drilldown" : "054",
+ "name" : "#054"
+ },
+ {
+ "name" : "#055",
+ "drilldown" : "055",
+ "y" : 90
+ },
+ {
+ "y" : 97,
+ "drilldown" : "056",
+ "name" : "#056"
+ },
+ {
+ "drilldown" : "057",
+ "y" : 82,
+ "name" : "#057"
+ },
+ {
+ "drilldown" : "058",
+ "y" : 71,
+ "name" : "#058"
+ },
+ {
+ "y" : 91,
+ "drilldown" : "059",
+ "name" : "#059"
+ },
+ {
+ "name" : "#060",
+ "drilldown" : "060",
+ "y" : 87
+ },
+ {
+ "name" : "#061",
+ "y" : 83,
+ "drilldown" : "061"
+ },
+ {
+ "y" : 60,
+ "drilldown" : "062",
+ "name" : "#062"
+ },
+ {
+ "name" : "#063",
+ "drilldown" : "063",
+ "y" : 91
+ },
+ {