aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2020-05-24 11:49:49 +0100
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2020-05-24 11:49:49 +0100
commit2dce54510c61114bbd22ee752a108520e7c43a11 (patch)
tree18b3b443370a1052d4d4a22f90e17e435e93ce2a
parent8f187e56fc6e51829b2b555e24f6672bc505d8ca (diff)
downloadperlweeklychallenge-club-2dce54510c61114bbd22ee752a108520e7c43a11.tar.gz
perlweeklychallenge-club-2dce54510c61114bbd22ee752a108520e7c43a11.tar.bz2
perlweeklychallenge-club-2dce54510c61114bbd22ee752a108520e7c43a11.zip
- Added solutions by Colin Crain.
-rw-r--r--challenge-061/colin-crain/blog.txt1
-rw-r--r--challenge-061/colin-crain/perl/ch-1.pl122
-rw-r--r--challenge-061/colin-crain/perl/ch-2.pl35
-rw-r--r--challenge-061/colin-crain/raku/ch-1.p646
-rw-r--r--challenge-061/colin-crain/raku/ch-2.p68
-rw-r--r--challenge-061/colin-crain/raku/ch-2a.p636
-rw-r--r--stats/pwc-current.json215
-rw-r--r--stats/pwc-language-breakdown-summary.json64
-rw-r--r--stats/pwc-language-breakdown.json476
-rw-r--r--stats/pwc-leaders.json388
-rw-r--r--stats/pwc-summary-1-30.json58
-rw-r--r--stats/pwc-summary-121-150.json100
-rw-r--r--stats/pwc-summary-151-180.json78
-rw-r--r--stats/pwc-summary-31-60.json50
-rw-r--r--stats/pwc-summary-61-90.json46
-rw-r--r--stats/pwc-summary-91-120.json52
-rw-r--r--stats/pwc-summary.json384
17 files changed, 1215 insertions, 944 deletions
diff --git a/challenge-061/colin-crain/blog.txt b/challenge-061/colin-crain/blog.txt
new file mode 100644
index 0000000000..d476158e6c
--- /dev/null
+++ b/challenge-061/colin-crain/blog.txt
@@ -0,0 +1 @@
+https://colincrain.wordpress.com/2020/05/23/produce-market-protocols/
diff --git a/challenge-061/colin-crain/perl/ch-1.pl b/challenge-061/colin-crain/perl/ch-1.pl
new file mode 100644
index 0000000000..9ee814a411
--- /dev/null
+++ b/challenge-061/colin-crain/perl/ch-1.pl
@@ -0,0 +1,122 @@
+use warnings;
+use strict;
+use feature ":5.26";
+
+## ## ## ## ## MAIN:
+
+my @array = @ARGV;
+
+my $product = product( @array );
+
+my $zeros = grep { $_ == 0 } @array;
+my $negs = grep { $_ < 0 } @array;
+my $max_products;
+
+## case 1, no zeros, even or no negatives, whole array result
+if ($product > 0) {
+ $max_products = \@array;
+}
+## case 2, odd number of negatives no 0s or single 0 no negs
+if ($product < 0 or ($zeros == 1 and $negs == 0)) {
+ ($max_products, $product) = divide_left_right( @array );
+}
+## case 3 we need to do it the hard way and compute all subarrays
+else {
+ ($max_products, $product) = find_max_product(make_all_sublists(@array));
+}
+
+print_output($max_products, $product );
+
+
+
+
+## ## ## ## ## SUBS:
+
+sub product {
+## calculate the reduction product
+## given a null list returns - inf (defined, but any value is greater)
+ my @list = @_;
+ return( - inf ) if scalar @list == 0;
+ my $product = 1;
+ $product *= $_ for @list;
+ return $product;
+}
+
+sub divide_left_right {
+## divides list into left and right sections
+## shifting off first negative from either side and
+## calculate product of remaining elements
+## solves for either odd count of negative numbers or single 0,
+## but not both together
+ my @array = @_;
+ my @max_sublists;
+ my $val = "inf";
+
+ my @left = @array;
+ $val = pop @left until $val <= 0;
+ my $left = product(@left);
+ my @right = @array;
+ do {$val = shift @right; } until $val <= 0;
+ my $right = product(@right);
+
+ if ($right > $left) {
+ @max_sublists = \@right;
+ $product = $right;
+ }
+ elsif ($right == $left) {
+ @max_sublists = (\@right, \@left);
+ $product = $right;
+ }
+ else {
+ @max_sublists = \@left;
+ $product = $left;
+ }
+ return (\@max_sublists, $product);
+}
+
+sub make_all_sublists {
+## constructs all sublists as an array of array refs:
+## ex: [ [1], [1,2], [1,2,3], [2], [2,3], [3] ]
+ my @array = @_;
+ my @sublists;
+ my $end = scalar @array - 1;
+ for my $start ( 0..$end ) {
+ my @subset = ();
+ for my $idx ($start..$end) {
+ push @subset, $array[$idx];
+ my @copy = @subset;
+ push @sublists, \@copy;
+ }
+ }
+ return @sublists;
+}
+
+sub find_max_product {
+## iterate through array of array refs,
+## calc products and keeps track of maximums
+ my @output = @_;
+ my $max_product = - inf;
+ my @max_sublists;
+
+ for my $list ( @output){
+ my $product = product( @$list );
+ if ($product > $max_product) {
+ $max_product = $product;
+ @max_sublists = ($list);
+ }
+ elsif ($product == $max_product) {
+ push @max_sublists, $list
+ }
+ }
+ return (\@max_sublists, $max_product);
+}
+
+sub print_output {
+## given list ref and product
+## prints output
+ my ($max_sublists, $product) = @_;
+
+ say "product : ", $product;
+ say "subset(s): ";
+ say join ", ", $_->@* for $max_sublists->@*;
+}
diff --git a/challenge-061/colin-crain/perl/ch-2.pl b/challenge-061/colin-crain/perl/ch-2.pl
new file mode 100644
index 0000000000..d1bb7e6ac5
--- /dev/null
+++ b/challenge-061/colin-crain/perl/ch-2.pl
@@ -0,0 +1,35 @@
+use warnings;
+use strict;
+use feature ":5.26";
+
+## ## ## ## ## MAIN:
+
+my $str = shift @ARGV;
+my $len = length $str;
+
+ONE: for my $one ( 1..3 ) {
+ my $octet_A = substr($str, 0, $one);
+ last if $octet_A == 0 || $octet_A > 255; #1
+
+ TWO: for my $two ( 1..3 ) {
+ next ONE if $one+$two >= $len-1; #2
+ my $octet_B = substr($str, $one, $two);
+ next ONE if $octet_B == 0 || $octet_B > 255; #1
+
+ THREE: for my $three ( 1..3 ) {
+ next TWO if $one+$two+$three >= $len; #2
+ my $octet_C = substr($str, $one+$two, $three);
+ next TWO if $octet_C == 0 || $octet_C > 255; #1
+
+ FOUR: for my $four ( 1..3 ) {
+ next THREE if $one+$two+$three+$four > $len; #2
+ next if $one+$two+$three+$four < $len; #3
+ my $octet_D = substr($str, $one+$two+$three, $four);
+ next THREE if $octet_D == 0 || $octet_D > 255; #1
+
+ say "$octet_A.$octet_B.$octet_C.$octet_D"; ## success!
+ next THREE;
+ }
+ }
+ }
+}
diff --git a/challenge-061/colin-crain/raku/ch-1.p6 b/challenge-061/colin-crain/raku/ch-1.p6
new file mode 100644
index 0000000000..7601b9bf88
--- /dev/null
+++ b/challenge-061/colin-crain/raku/ch-1.p6
@@ -0,0 +1,46 @@
+multi MAIN () {
+ say "Usage: produce_market.raku array[0] array[1] array[2] ...";
+}
+
+multi MAIN(*@array) {
+ my $product = [*] @array;
+ my $max_sublists = []; ## we need to load up as an array of arrays
+ $max_sublists.push: @array;
+
+ if $product <= 0 {
+ ($product, $max_sublists) = find_max_product( make_all_sublists( @array ) );
+ }
+ print_output( $product, $max_sublists );
+}
+
+sub make_all_sublists (@array) {
+ my @sublists.append( [\,] $_ .. @array.end ) for ^@array;
+ return @sublists.deepmap( { @array[$_] } );
+}
+
+sub find_max_product (@output) {
+ ## iterate through array of array refs,
+ ## calc products and keeps track of maximums
+ my $max_product = -Inf;
+ my $max_sublists;
+
+ for @output -> $list {
+ my $product = [*] |$list;
+ if $product > $max_product {
+ $max_product = $product;
+ $max_sublists = [$list];
+ }
+ elsif $product == $max_product {
+ $max_sublists.append: $list;
+ }
+ }
+ return( $max_product, $max_sublists );
+}
+
+sub print_output ($max_product, @max_sublists) {
+ ## given list ref and product
+ ## prints output
+ say "product : ", $max_product;
+ say "sublist(s): ";
+ .say for @max_sublists;
+}
diff --git a/challenge-061/colin-crain/raku/ch-2.p6 b/challenge-061/colin-crain/raku/ch-2.p6
new file mode 100644
index 0000000000..5db5ae4901
--- /dev/null
+++ b/challenge-061/colin-crain/raku/ch-2.p6
@@ -0,0 +1,8 @@
+#!/usr/bin/env perl6
+
+sub MAIN( $str = "2552501135" ) {
+ my @matches = $str ~~ m:ex/ ^ ( \d ** 1..3
+ <?{ $/.Int <= 255 && $/ !~~ /^0\d/ }>
+ ) ** 4 $ /;
+ .flat.join(".").say for @matches;
+}
diff --git a/challenge-061/colin-crain/raku/ch-2a.p6 b/challenge-061/colin-crain/raku/ch-2a.p6
new file mode 100644
index 0000000000..1ddf9de947
--- /dev/null
+++ b/challenge-061/colin-crain/raku/ch-2a.p6
@@ -0,0 +1,36 @@
+sub MAIN($str = "552051139") {
+ my @solutions;
+ get_octet_set( $str.Int, @solutions );
+
+ .say for @solutions;
+}
+
+sub get_octet_set ($str, @solutions, $prev = []) {
+ for 1 .. 3 -> $digits {
+ ## out if str is undef or substr would be beyond end #2, #3
+ return if $str.chars - $digits < 0 || $prev.elems == 4;
+
+ my $list = $prev.clone;
+
+ ## get octet
+ my $octet = substr( $str, 0, $digits );
+
+ ## out if leading 0 or out of bounds #1
+ return if $octet ~~ /^0\d/ || $octet > 255;
+
+ ## if this is the last octet log and return # success here
+ if $list.elems == 3 && $str.chars == $digits {
+ $list.push: $octet;
+ @solutions.push: $list;
+ ## out: cannot have a longer solution
+ return;
+ }
+
+ ## crop str to remainder
+ my $cropped = substr( $str, $digits );
+ ## add octet to copy of list
+ my $newlist = $list.push: $octet;
+ ## descend
+ get_octet_set( $cropped, @solutions, $list );
+ }
+}
diff --git a/stats/pwc-current.json b/stats/pwc-current.json
index f6f7d4bc73..452cd6ff31 100644
--- a/stats/pwc-current.json
+++ b/stats/pwc-current.json
@@ -1,94 +1,77 @@
{
- "title" : {
- "text" : "Perl Weekly Challenge - 061"
- },
- "yAxis" : {
- "title" : {
- "text" : "Total Solutions"
- }
- },
- "subtitle" : {
- "text" : "[Champions: 21] Last updated at 2020-05-24 10:13:19 GMT"
- },
- "legend" : {
- "enabled" : 0
- },
- "tooltip" : {
- "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/>",
- "followPointer" : 1
- },
- "chart" : {
- "type" : "column"
- },
"series" : [
{
"colorByPoint" : 1,
"data" : [
{
+ "y" : 3,
"name" : "Arne Sommer",
- "drilldown" : "Arne Sommer",
- "y" : 3
+ "drilldown" : "Arne Sommer"
},
{
- "name" : "Athanasius",
+ "y" : 4,
"drilldown" : "Athanasius",
- "y" : 4
+ "name" : "Athanasius"
+ },
+ {
+ "name" : "Colin Crain",
+ "drilldown" : "Colin Crain",
+ "y" : 5
},
{
"y" : 3,
- "name" : "Dave Jacoby",
- "drilldown" : "Dave Jacoby"
+ "drilldown" : "Dave Jacoby",
+ "name" : "Dave Jacoby"
},
{
+ "y" : 2,
"drilldown" : "Donald Hunter",
- "name" : "Donald Hunter",
- "y" : 2
+ "name" : "Donald Hunter"
},
{
- "y" : 3,
"drilldown" : "E. Choroba",
- "name" : "E. Choroba"
+ "name" : "E. Choroba",
+ "y" : 3
},
{
+ "y" : 5,
"name" : "Javier Luque",
- "drilldown" : "Javier Luque",
- "y" : 5
+ "drilldown" : "Javier Luque"
},
{
- "drilldown" : "Jorg Sommrey",
"name" : "Jorg Sommrey",
+ "drilldown" : "Jorg Sommrey",
"y" : 2
},
{
- "y" : 5,
+ "drilldown" : "Laurent Rosenfeld",
"name" : "Laurent Rosenfeld",
- "drilldown" : "Laurent Rosenfeld"
+ "y" : 5
},
{
- "y" : 4,
"name" : "Luca Ferrari",
- "drilldown" : "Luca Ferrari"
+ "drilldown" : "Luca Ferrari",
+ "y" : 4
},
{
- "y" : 1,
+ "name" : "Mark Anderson",
"drilldown" : "Mark Anderson",
- "name" : "Mark Anderson"
+ "y" : 1
},
{
- "name" : "Markus Holzer",
+ "y" : 1,
"drilldown" : "Markus Holzer",
- "y" : 1
+ "name" : "Markus Holzer"
},
{
+ "y" : 5,
"name" : "Mohammad S Anwar",
- "drilldown" : "Mohammad S Anwar",
- "y" : 5
+ "drilldown" : "Mohammad S Anwar"
},
{
+ "y" : 2,
"name" : "Noud Aldenhoven",
- "drilldown" : "Noud Aldenhoven",
- "y" : 2
+ "drilldown" : "Noud Aldenhoven"
},
{
"y" : 4,
@@ -96,14 +79,14 @@
"drilldown" : "Roger Bell_West"
},
{
- "y" : 2,
"name" : "Saif Ahmed",
- "drilldown" : "Saif Ahmed"
+ "drilldown" : "Saif Ahmed",
+ "y" : 2
},
{
- "y" : 4,
"drilldown" : "Sangeet Kar",
- "name" : "Sangeet Kar"
+ "name" : "Sangeet Kar",
+ "y" : 4
},
{
"drilldown" : "Shahed Nooshmand",
@@ -116,9 +99,9 @@
"y" : 2
},
{
- "y" : 3,
+ "drilldown" : "Ulrich Rieke",
"name" : "Ulrich Rieke",
- "drilldown" : "Ulrich Rieke"
+ "y" : 3
},
{
"drilldown" : "Wanderdoc",
@@ -126,20 +109,18 @@
"y" : 2
},
{
- "y" : 2,
"name" : "Yet Ebreo",
- "drilldown" : "Yet Ebreo"
+ "drilldown" : "Yet Ebreo",
+ "y" : 2
}
],
"name" : "Perl Weekly Challenge - 061"
}
],
- "xAxis" : {
- "type" : "category"
- },
"drilldown" : {
"series" : [
{
+ "id" : "Arne Sommer",
"name" : "Arne Sommer",
"data" : [
[
@@ -150,11 +131,9 @@
"Blog",
1
]
- ],
- "id" : "Arne Sommer"
+ ]
},
{
- "id" : "Athanasius",
"data" : [
[
"Perl",
@@ -165,10 +144,28 @@
2
]
],
- "name" : "Athanasius"
+ "name" : "Athanasius",
+ "id" : "Athanasius"
+ },
+ {
+ "name" : "Colin Crain",
+ "id" : "Colin Crain",
+ "data" : [
+ [
+ "Perl",
+ 2
+ ],
+ [
+ "Raku",
+ 2
+ ],
+ [
+ "Blog",
+ 1
+ ]
+ ]
},
{
- "id" : "Dave Jacoby",
"data" : [
[
"Perl",
@@ -179,7 +176,8 @@
1
]
],
- "name" : "Dave Jacoby"
+ "name" : "Dave Jacoby",
+ "id" : "Dave Jacoby"
},
{
"data" : [
@@ -196,8 +194,8 @@
"name" : "Donald Hunter"
},
{
- "name" : "E. Choroba",
"id" : "E. Choroba",
+ "name" : "E. Choroba",
"data" : [
[
"Perl",
@@ -224,21 +222,20 @@
1
]
],
- "id" : "Javier Luque",
- "name" : "Javier Luque"
+ "name" : "Javier Luque",
+ "id" : "Javier Luque"
},
{
- "name" : "Jorg Sommrey",
"data" : [
[
"Perl",
2
]
],
- "id" : "Jorg Sommrey"
+ "id" : "Jorg Sommrey",
+ "name" : "Jorg Sommrey"
},
{
- "name" : "Laurent Rosenfeld",
"data" : [
[
"Perl",
@@ -253,11 +250,10 @@
1
]
],
+ "name" : "Laurent Rosenfeld",
"id" : "Laurent Rosenfeld"
},
{
- "name" : "Luca Ferrari",
- "id" : "Luca Ferrari",
"data" : [
[
"Raku",
@@ -267,7 +263,9 @@
"Blog",
2
]
- ]
+ ],
+ "id" : "Luca Ferrari",
+ "name" : "Luca Ferrari"
},
{
"data" : [
@@ -276,22 +274,22 @@
1
]
],
- "id" : "Mark Anderson",
- "name" : "Mark Anderson"
+ "name" : "Mark Anderson",
+ "id" : "Mark Anderson"
},
{
+ "name" : "Markus Holzer",
+ "id" : "Markus Holzer",
"data" : [
[
"Raku",
1
]
- ],
- "id" : "Markus Holzer",
- "name" : "Markus Holzer"
+ ]
},
{
- "name" : "Mohammad S Anwar",
"id" : "Mohammad S Anwar",
+ "name" : "Mohammad S Anwar",
"data" : [
[
"Perl",
@@ -309,16 +307,17 @@
},
{
"name" : "Noud Aldenhoven",
+ "id" : "Noud Aldenhoven",
"data" : [
[
"Raku",
2
]
- ],
- "id" : "Noud Aldenhoven"
+ ]
},
{
"id" : "Roger Bell_West",
+ "name" : "Roger Bell_West",
"data" : [
[
"Perl",
@@ -332,8 +331,7 @@
"Blog",
1
]
- ],
- "name" : "Roger Bell_West"
+ ]
},
{
"data" : [
@@ -342,10 +340,12 @@
2
]
],
- "id" : "Saif Ahmed",
- "name" : "Saif Ahmed"
+ "name" : "Saif Ahmed",
+ "id" : "Saif Ahmed"
},
{
+ "name" : "Sangeet Kar",
+ "id" : "Sangeet Kar",
"data" : [
[
"Perl",
@@ -355,11 +355,10 @@
"Raku",
2
]
- ],
- "id" : "Sangeet Kar",
- "name" : "Sangeet Kar"
+ ]
},
{
+ "name" : "Shahed Nooshmand",
"id" : "Shahed Nooshmand",
"data" : [
[
@@ -370,8 +369,7 @@
"Blog",
1
]
- ],
- "name" : "Shahed Nooshmand"
+ ]
},
{
"data" : [
@@ -385,6 +383,7 @@
},
{
"id" : "Ulrich Rieke",
+ "name" : "Ulrich Rieke",
"data" : [
[
"Perl",
@@ -394,31 +393,47 @@
"Raku",
2
]
- ],
- "name" : "Ulrich Rieke"
+ ]
},
{
+ "name" : "Wanderdoc",
"id" : "Wanderdoc",
"data" : [
[
"Perl",
2
]
- ],
- "name" : "Wanderdoc"
+ ]
},
{
- "name" : "Yet Ebreo",
"data" : [
[
"Perl",
2
]
],
- "id" : "Yet Ebreo"
+ "id" : "Yet Ebreo",
+ "name" : "Yet Ebreo"
}
]
},
+ "title" : {
+ "text" : "Perl Weekly Challenge - 061"
+ },
+ "subtitle" : {
+ "text" : "[Champions: 22] Last updated at 2020-05-24 10:49:34 GMT"
+ },
+ "chart" : {
+ "type" : "column"
+ },
+ "xAxis" : {
+ "type" : "category"
+ },
+ "yAxis" : {
+ "title" : {
+ "text" : "Total Solutions"
+ }
+ },
"plotOptions" : {
"series" : {
"borderWidth" : 0,
@@ -427,5 +442,13 @@
"enabled" : 1
}
}
+ },
+ "tooltip" : {
+ "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>",
+ "followPointer" : 1,
+ "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>"
+ },
+ "legend" : {
+ "enabled" : 0
}
}
diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json
index 3f0c80e29f..0b7240cb45 100644
--- a/stats/pwc-language-breakdown-summary.json
+++ b/stats/pwc-language-breakdown-summary.json
@@ -1,63 +1,63 @@
{
+ "subtitle" : {
+ "text" : "Last updated at 2020-05-24 10:49:34 GMT"
+ },
+ "title" : {
+ "text" : "Perl Weekly Challenge Contributions [2019 - 2020]"
+ },
+ "chart" : {
+ "type" : "column"
+ },
"yAxis" : {
"title" : {
"text" : null
},
"min" : 0
},
- "subtitle" : {
- "text" : "Last updated at 2020-05-24 10:13:19 GMT"
+ "tooltip" : {
+ "pointFormat" : "<b>{point.y:.0f}</b>"
+ },
+ "xAxis" : {
+ "labels" : {
+ "style" : {
+ "fontFamily" : "Verdana, sans-serif",
+ "fontSize" : "13px"
+ }
+ },
+ "type" : "category"
},
"legend" : {
"enabled" : "false"
},
- "title" : {
- "text" : "Perl Weekly Challenge Contributions [2019 - 2020]"
- },
- "chart" : {
- "type" : "column"
- },
"series" : [
{
- "name" : "Contributions",
"data" : [
[
"Blog",
- 703
+ 704
],
[
"Perl",
- 2565
+ 2567
],
[
"Raku",
- 1622
+ 1624
]
],
"dataLabels" : {
+ "rotation" : -90,
+ "format" : "{point.y:.0f}",
"align" : "right",
+ "y" : 10,
+ "color" : "#FFFFFF",
+ "enabled" : "true",
"style" : {
"fontFamily" : "Verdana, sans-serif",
"fontSize" : "13px"
- },
- "y" : 10,
- "rotation" : -90,
- "enabled" : "true",
- "format" : "{point.y:.0f}",
- "color" : "#FFFFFF"
- }
+ }
+ },
+ "name" : "Contributions"
}
- ],
- "xAxis" : {
- "labels" : {
- "style" : {
- "fontSize" : "13px",
- "fontFamily" : "Verdana, sans-serif"
- }
- },
- "type" : "category"
- },
- "tooltip" : {
- "pointFormat" : "<b>{point.y:.0f}</b>"
- }
+ ]
}
diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json
index 9a4fc749ca..be2647bc86 100644
--- a/stats/pwc-language-breakdown.json
+++ b/stats/pwc-language-breakdown.json
@@ -1,35 +1,9 @@
{
- "yAxis" : {
- "title" : {
- "text" : "Total Solutions"
- }
- },
- "legend" : {
- "enabled" : "false"
- },
- "subtitle" : {
- "text" : "Click the columns to drilldown the language breakdown. Last updated at 2020-05-24 10:13:19 GMT"
- },
- "title" : {
- "text" : "Perl Weekly Challenge Language"
- },
- "chart" : {
- "type" : "column"
- },
- "plotOptions" : {
- "series" : {
- "borderWidth" : 0,
- "dataLabels" : {
- "enabled" : 1,
- "format" : "{point.y}"
- }
- }
- },
"drilldown" : {
"series" : [
{
- "name" : "001",
"id" : "001",
+ "name" : "001",
"data" : [
[
"Perl",
@@ -46,7 +20,6 @@
]
},
{
- "id" : "002",
"data" : [
[
"Perl",
@@ -61,9 +34,12 @@
10
]
],
- "name" : "002"
+ "name" : "002",
+ "id" : "002"
},
{
+ "id" : "003",
+ "name" : "003",
"data" : [
[
"Perl",
@@ -77,12 +53,9 @@
"Blog",
9
]
- ],
- "id" : "003",
- "name" : "003"
+ ]
},
{
- "name" : "004",
"data" : [
[
"Perl",
@@ -97,9 +70,12 @@
10
]
],
- "id" : "004"
+ "id" : "004",
+ "name" : "004"
},
{
+ "name" : "005",
+ "id" : "005",
"data" : [
[
"Perl",
@@ -113,9 +89,7 @@
"Blog",
12
]
- ],
- "id" : "005",
- "name" : "005"
+ ]
},
{
"name" : "006",
@@ -168,10 +142,12 @@
12
]
],
- "id" : "008",
- "name" : "008"
+ "name" : "008",
+ "id" : "008"
},
{
+ "id" : "009",
+ "name" : "009",
"data" : [
[
"Perl",
@@ -185,12 +161,9 @@
"Blog",
13
]
- ],
- "id" : "009",
- "name" : "009"
+ ]
},
{
- "id" : "010",
"data" : [
[
"Perl",
@@ -205,10 +178,10 @@
11
]
],
- "name" : "010"
+ "name" : "010",
+ "id" : "010"
},
{
- "id" : "011",
"data" : [
[
"Perl",
@@ -223,11 +196,12 @@
10
]
],
- "name" : "011"
+ "name" : "011",
+ "id" : "011"
},
{
- "name" : "012",
"id" : "012",
+ "name" : "012",
"data" : [
[
"Perl",
@@ -244,8 +218,6 @@
]
},
{
- "name" : "013",
- "id" : "013",
"data" : [
[
"Perl",
@@ -259,9 +231,13 @@
"Blog",
13
]
- ]
+ ],
+ "name" : "013",
+ "id" : "013"
},
{
+ "name" : "014",
+ "id" : "014",
"data" : [
[
"Perl",
@@ -275,11 +251,10 @@
"Blog",
15
]
- ],
- "id" : "014",
- "name" : "014"
+ ]
},
{
+ "id" : "015",
"name" : "0