Skip to content

Instantly share code, notes, and snippets.

@sanshu
Last active April 4, 2024 20:29
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save sanshu/1106ceacc42dc99c1b842d954ae32780 to your computer and use it in GitHub Desktop.
Save sanshu/1106ceacc42dc99c1b842d954ae32780 to your computer and use it in GitHub Desktop.
d3 heatmap with dendrograms
/*
* Mayya Sedova <msedova.dev@gmail.com>
* See it in action https://sanshu.github.io/d3-heatmap-dendrogram/
*/
(function () {
d3.heatmapDendro = function (data, parent) {
if (!data || !data.matrix)
return;
;
var svg = d3.select(parent)
.append("svg")
.attr("width", "100%")
.attr("height", "150px");
var margin = {top: 10, right: 0, bottom: 10, left: 0},
height = 150 - margin.top - margin.bottom;
var labelsFromTree = function (nodes, cluster) {
var labels = [];
for (var n in nodes) {
if (!nodes[n].children || nodes[n].children.length === 0) {
labels.push(nodes[n].name[0]);
}
}
return labels;
};
var clusterSpace = 150, // size of the cluster tree
cellSize = 12,
colNumber = data.matrix[0].length,
rowNumber = data.matrix.length,
width = cellSize * colNumber + clusterSpace, // - margin.left - margin.right,
height = cellSize * rowNumber + clusterSpace, // - margin.top - margin.bottom,
rowCluster = d3.layout.cluster()
.size([height - clusterSpace, clusterSpace]),
colCluster = d3.layout.cluster()
.size([width - clusterSpace, clusterSpace]),
colors = ["#0084FF", "#188EF7", "#3199EF", "#49A4E8", "#62AFE0", "#7ABAD9", "#93C5D1", "#ABD0C9", "#C4DBC2", "#DCE6BA", "#F5F1B3", "#F5DBA3", "#F6C694", "#F6B085", "#F79B76", "#F78667", "#F87057", "#F85B48", "#F94539", "#F9302A", "#FA1B1B"],
rowNodes = rowCluster.nodes(data.rowJSON),
colNodes = colCluster.nodes(data.colJSON),
rowLabel = labelsFromTree(rowNodes, rowCluster),
colLabel = labelsFromTree(colNodes, colCluster);
var matrix = [], min = 0, max = 0;
for (var r = 0; r < rowNumber; r++) {
for (var c = 0; c < colNumber; c++) {
matrix.push({row: r + 1, col: c + 1, value: data.matrix[r][c]});
min = Math.min(min, data.matrix[r][c]);
max = Math.max(max, data.matrix[r][c]);
}
}
var middle = d3.median(matrix, function (d) {
return d.value;
});
console.log("Current Middle Point: " + middle)
var colorScale = d3.scale.quantile()
.domain([min, middle, max])
.range(colors);
svg.selectAll("*").remove();
svg.attr("width", width + margin.left + margin.right + clusterSpace)
.attr("height", height + margin.top + margin.bottom + clusterSpace);
var rowLabels = svg.append("g")
.selectAll(".rowLabelg")
.data(rowLabel)
.enter()
.append("text")
.text(function (d) {
return d;
})
.attr("x", 0)
.attr("y", function (d, i) {
return (i + 1) * cellSize + clusterSpace;
})
.style("text-anchor", "start")
.attr("transform", "translate(" + (width + cellSize) + "," + cellSize / 1.5 + ")")
.attr("class", function (d, i) {
return "rowLabel mono r" + i;
});
var colLabels = svg.append("g")
.selectAll(".colLabelg")
.data(colLabel)
.enter()
.append("text")
.text(function (d) {
return d;
})
.attr("x", 0)
.attr("y", function (d, i) {
return (i + 1) * cellSize;
})
.style("text-anchor", "end")
.attr("transform", "translate(" + cellSize / 2 + ",-6) rotate (-90) translate( -" + (height + cellSize * 2) + "," + clusterSpace + ")")
.attr("class", function (d, i) {
return "colLabel mono c" + i;
});
var heatMap = svg.append("g").attr("class", "g3")
.selectAll(".cellg")
.data(matrix, function (d) {
return d.row + ":" + d.col;
})
.enter()
.append("rect")
.attr("x", function (d) {
return d.col * cellSize + clusterSpace;
})
.attr("y", function (d) {
return d.row * cellSize + clusterSpace;
})
.attr("class", function (d) {
return "cell cell-border cr" + (d.row - 1) + " cc" + (d.col - 1);
})
.attr("width", cellSize)
.attr("height", cellSize)
.style("fill", function (d) {
return colorScale(d.value);
})
.on("mouseover", function (d) {
d3.select(this).classed("cell-hover", true);
//Update the tooltip position and value
d3.select("#d3tooltip")
.style("left", (d3.event.pageX + 10) + "px")
.style("top", (d3.event.pageY - 10) + "px")
.select("#value")
.html(
"Cell type: " + colLabel[d.col] + "<br>Sample name: " + rowLabel[d.row]
+ "<br>Value: " + d.value
);
//Show the tooltip
d3.select("#d3tooltip").transition()
.duration(200)
.style("opacity", .9);
})
.on("mouseout", function () {
d3.select(this).classed("cell-hover", false);
d3.selectAll(".rowLabel").classed("text-highlight", false);
d3.selectAll(".colLabel").classed("text-highlight", false);
d3.select("#d3tooltip").transition()
.duration(200)
.style("opacity", 0);
})
;
//tree for rows
var rTree = svg.append("g").attr("class", "rtree").attr("transform", "translate (10, " + (clusterSpace + cellSize) + ")");
var rlink = rTree.selectAll(".rlink")
.data(rowCluster.links(rowNodes))
.enter().append("path")
.attr("class", "rlink")
.attr("d", elbow);
var rnode = rTree.selectAll(".rnode")
.data(rowNodes)
.enter().append("g")
.attr("class", "rnode")
.attr("transform", function (d) {
return "translate(" + d.y + "," + d.x + ")";
});
//tree for cols
var cTree = svg.append("g").attr("class", "ctree").attr("transform", "rotate (90), translate (10, -" + (clusterSpace + cellSize) + ") scale(1,-1)");
var clink = cTree.selectAll(".clink")
.data(rowCluster.links(colNodes))
.enter().append("path")
.attr("class", "clink")
.attr("d", elbow);
var cnode = cTree.selectAll(".cnode")
.data(rowNodes)
.enter().append("g")
.attr("class", "cnode")
.attr("transform", function (d) {
return "translate(" + d.y + "," + d.x + ")";
});
function elbow(d, i) {
return "M" + d.source.y + "," + d.source.x
+ "V" + d.target.x + "H" + d.target.y;
}
}
})();
{
"matrix": [
[395.68, 417.2, 326.6, 33100, 35052, 20987, 23579, 26239, 128.31, 158.62, 81.803, 326.13, 440.54, 58.217, 1018.6, 104.4, 1316.4],
[26624, 117.3, 243.01, 3392.6, 2245, 842.29, 1265.4, 1225.6, 116.63, 160.4, 107.23, 43.581, 136.18, 85.462, 458.26, 148.22, 589.65],
[21772, 228.12, 378.45, 2782.3, 1358.7, 976.07, 737.17, 1560.2, 145.78, 153.98, 167.6, 156.03, 222.68, 134.86, 476.06, 157.64, 677.66],
[22774, 164.45, 353.57, 1858, 900.13, 604.22, 1247.4, 2371.6, 154.76, 142.59, 135.49, 146.08, 117.63, 82.5, 445.68, 99.639, 669.73],
[17479, 37.977, 40.291, 1374.2, 1319.5, 490.69, 260.48, 239.29, 29.661, 31.289, 33.723, 16.949, 17.981, 21.828, 307.29, 21.088, 506.82],
[13740, 225.52, 170.24, 833.49, 736.14, 618.66, 596.84, 431.99, 153.69, 102.36, 152.68, 951.93, 1748.7, 1715.5, 1771.9, 1287, 1010.8],
[11437, 83.342, 129.57, 1031.8, 738.28, 247.2, 577.24, 779.46, 33.527, 43.392, 50.067, 542.99, 323.12, 194.83, 318.44, 534.58, 585.42],
[14375, 21.426, 32.888, 1187.8, 365.71, 263.56, 626.98, 442.39, 21.037, 35.455, 26.508, 25.957, 9.114, 4.69, 79.328, 7.069, 481.56],
[13019, 30.131, 70.638, 1613, 1120.6, 591.59, 697.15, 670.13, 21.717, 20.484, 21.158, 31.014, 20.293, 8.441, 249.63, 21.981, 316.7],
[44647, 119.1, 225.79, 4950.9, 3547.4, 1665.6, 1460.3, 1353.7, 74.646, 98.779, 83.672, 76.908, 111.4, 144.13, 1240.9, 243.81, 1159.5],
[32592, 38.212, 64.939, 957.48, 592.6, 712.36, 296.25, 472.3, 21.719, 35.352, 25.846, 92.062, 77.439, 42.032, 528.5, 108.54, 476.89],
[37183, 52.139, 67.427, 2046.6, 1716.7, 785.93, 740.4, 838.1, 19.182, 18.784, 32.979, 52.632, 104.09, 123.61, 1072, 205.82, 768.21],
[34431, 58.57, 43.521, 4208.7, 2671.2, 1577.3, 1877, 2561.6, 26.512, 25.412, 29.03, 25.025, 27.54, 12.526, 466.97, 17.373, 443.22],
[34965, 58.244, 53.954, 5042.3, 2888.9, 2118.1, 2838.8, 3291.2, 44.255, 46.657, 47.213, 22.09, 30.102, 23.718, 815.12, 23.298, 968.69],
[162.95, 330.29, 32749, 284.33, 180.1, 91.841, 248.53, 239.36, 1388, 231.55, 466.68, 901.02, 693.72, 130.46, 197.38, 238.39, 420.69],
[494.7, 189.59, 41610, 320.72, 272.32, 165.77, 841.78, 212.16, 161.55, 184.9, 204.06, 260.95, 291.93, 305.18, 263.4, 375.27, 404.54],
[54.863, 76.403, 521.22, 435.28, 230.64, 175.08, 88.643, 54.91, 30.563, 27.257, 31.688, 37240, 11588, 2358.6, 79.084, 8123.5, 2087.8],
[102.34, 3217, 103.22, 79.571, 101.04, 43.168, 62.25, 132.31, 31162, 5132.9, 25407, 3343, 793.16, 36.355, 110.94, 91.258, 314.89],
[180.89, 835.39, 5507.7, 284.26, 339.72, 113.46, 134.87, 123.98, 12909, 267.64, 177.32, 671.24, 314.21, 58.575, 60.392, 78.933, 467.99],
[64, 1936.2, 174.1, 83.267, 94.68, 113.24, 128.71, 106.57, 10839, 1317.1, 8595.5, 600.3, 293.96, 72.915, 107.3, 93.651, 128.66],
[81.386, 3057.7, 329.11, 190.98, 219.39, 144.43, 301.11, 260.52, 13007, 2083.4, 9961.8, 705.38, 383.12, 170.8, 111.78, 150.14, 161.92],
[3178.3, 2697.1, 1902.3, 5716.5, 5135.1, 4152, 2095.9, 2279.2, 21704, 1290.8, 4330.1, 2278, 832.7, 2088.7, 3065.3, 1893.5, 2762.8],
[159.9, 11344, 347.84, 228.91, 150.82, 73.627, 226.83, 219.5, 19857, 896.82, 2299.7, 1117.4, 316.18, 84.429, 95.737, 92.389, 119.11],
[713.21, 1428.6, 348.69, 440.56, 450.22, 469.94, 416.64, 325.97, 23621, 2832.3, 7804.2, 2269, 1457.2, 216.27, 302.08, 495.6, 242.55],
[16.885, 58.443, 165.13, 30.48, 25.495, 42.183, 81.327, 103.35, 16242, 2906, 2883.5, 366.11, 53.143, 26.945, 27.259, 17.197, 26.448],
[16.433, 64.194, 73.793, 59.421, 56.337, 17.899, 52.106, 56.731, 19697, 4511, 4322.9, 698.9, 104.41, 44.304, 23.169, 29.882, 70.789],
[87.434, 27356, 73.882, 53.966, 18.063, 38.137, 56.646, 50.331, 3914.7, 522.63, 131.59, 63.616, 22.828, 26.677, 25.074, 21.049, 24.788],
[25.445, 23846, 2414, 16.161, 26.012, 21.551, 28.498, 43.676, 434.21, 293.33, 79.633, 22.052, 57.425, 22.695, 58.612, 20.681, 75.522],
[111.54, 22595, 323.06, 155.24, 63.8, 81.281, 287.8, 220.03, 2599.8, 660.82, 213.69, 112.61, 77.232, 35.318, 145.24, 90.422, 88.623],
[71.027, 24461, 181.87, 71.147, 96.217, 41.219, 113.71, 115.17, 4287.5, 352.89, 98.613, 83.1, 95.581, 32.963, 108.06, 56.517, 104.82],
[145.62, 34971, 240.88, 320.72, 1588, 284.03, 341.25, 435.91, 1632.4, 2510.5, 204.43, 97.655, 1336.6, 75.292, 440.66, 94.669, 207.34],
[15.912, 33167, 102.86, 33.529, 12.421, 21.868, 49.028, 37.239, 4063.1, 445.88, 20.269, 20.307, 12.939, 3.561, 5.255, 14.219, 32.322],
[91.55, 35585, 1368.5, 109.13, 94.808, 78.084, 156.84, 130.59, 6214.2, 1191.3, 100.46, 86.887, 118.64, 38.146, 72.235, 49.323, 102.29],
[330.25, 406.1, 468.78, 13482, 12327, 7914.7, 12484, 14351, 115.45, 190.71, 130.5, 161.02, 229.51, 55.3, 462.64, 129.79, 756],
[294.53, 525.55, 571.83, 15292, 14082, 8618.6, 14009, 16289, 265.38, 283.11, 198.48, 225.68, 328.16, 92.926, 610.61, 159.55, 909.27],
[329.1, 59.328, 65.166, 21387, 11410, 6419.6, 332.54, 1278.4, 14.306, 23.564, 16.55, 45.323, 42.148, 56.156, 294.22, 50.476, 668.07],
[226.35, 1401.3, 219.41, 23022, 6478.5, 4462, 6503.1, 7265.8, 914.55, 423.65, 239.32, 265.95, 221.32, 126.47, 166.83, 123, 726.74],
[875.88, 69.389, 289.88, 10113, 3156.3, 1094.1, 1986.9, 2423.5, 64.362, 93.924, 74.8, 108.17, 132.07, 114.67, 132.19, 110.29, 416.95],
[293.26, 297.68, 348.28, 11712, 2673.8, 2889.4, 498.98, 831.45, 119.83, 228.53, 185.86, 180.04, 170.35, 83.168, 244.87, 53.831, 413.37],
[275.69, 312.07, 392.58, 13310, 3401.9, 2895.9, 575.35, 902.55, 247, 185.85, 191.15, 286.46, 251.84, 76.966, 399.85, 114.45, 641.02],
[556.32, 1095.6, 897.64, 13389, 4016.6, 2195.3, 3613.9, 4563.9, 669.75, 406.34, 309.15, 476.24, 428.56, 392.15, 453.05, 520.19, 692.64],
[822.34, 301.58, 1098.2, 15403, 7850.1, 4753.7, 3450, 6123.6, 256.69, 334.95, 217.31, 702.73, 706.12, 548.37, 781.16, 583.52, 1149.9],
[17.917, 227.31, 36.823, 9753.7, 6992, 4487.8, 1347.4, 2163, 30.892, 22.836, 28.426, 278.65, 183.3, 118.34, 92.106, 343.14, 533.25],
[312.53, 113.37, 253.83, 8517.3, 10792, 5230.7, 3721.6, 4253.6, 101.59, 103.15, 101.97, 80.829, 114.15, 186.99, 183.21, 166.4, 291.55],
[528.8, 1126.3, 524.55, 13141, 14169, 6339.9, 3436.7, 3985.5, 188.3, 935.66, 142.9, 278.77, 344.03, 59.023, 370.66, 69.794, 338.58],
[1153.1, 109.46, 172.67, 15139, 11615, 7550.3, 4127.6, 4829.9, 44.602, 42.475, 38.954, 188.29, 83.886, 284.77, 815.94, 246.9, 743.39],
[599.46, 280.79, 1264.7, 588.96, 522.78, 231.16, 741.98, 630.24, 167.22, 140.35, 134, 14704, 12273, 1216.9, 2267.2, 2912, 2940.3],
[83.253, 56.232, 78.204, 414.42, 319.18, 33.136, 75.413, 64.085, 32.645, 38.707, 50.011, 10394, 9089.6, 162.36, 282.15, 666.48, 717.93],
[89.718, 55.954, 703.38, 441.76, 79.278, 23.436, 156.29, 157.04, 846.43, 65.088, 46.831, 11626, 7080.3, 42.747, 195.08, 634.97, 1329.3],
[680.29, 408.95, 442.26, 507.74, 597.15, 260.27, 260.49, 282.58, 235.89, 1973.1, 477.37, 3614.4, 9689.2, 1177, 2327.8, 2251.5, 704.07],
[440.33, 521.37, 265.32, 802.1, 999.06, 266.06, 374.46, 472.91, 808.73, 1260, 1982.5, 4649.5, 10693, 928.31, 2785.7, 3143.2, 1839.8],
[356.19, 652.31, 442.03, 1768.9, 1304.9, 762.61, 848.99, 955.81, 617.2, 1482.1, 909.71, 7208.2, 2925.4, 665.37, 1355.1, 1304.4, 2609.8],
[100.14, 74.24, 204.09, 751.36, 240.92, 38.515, 203.31, 195.7, 75.985, 97.755, 100.25, 7620.2, 5981.3, 24.566, 114.8, 131.7, 728.3],
[491.97, 179.31, 541.49, 695.24, 526.92, 334.2, 378.6, 407.28, 130.69, 147.81, 485.75, 6757.7, 6224.2, 415.43, 792.99, 1209.5, 960.31],
[2176.5, 535.76, 849.73, 1694.1, 2391.7, 104.07, 157.76, 419.91, 389.99, 4217.1, 573.04, 2468.3, 25077, 440.99, 9098.1, 1581.8, 768.39],
[1801.9, 272, 388.82, 849.11, 278.5, 127.62, 432.41, 367.02, 142.96, 681.38, 114.99, 7967.4, 15536, 235.33, 2664.6, 3060.1, 2719.8],
[1078.5, 584.64, 1593.1, 1463, 1883.7, 500, 389.29, 544.59, 471.56, 2650.4, 274.6, 4316.6, 19829, 540.35, 5053.9, 3029.7, 878.92],
[2698.5, 541.2, 1137.3, 1880.3, 2386.9, 353.87, 846.09, 942.06, 608.57, 3897.5, 934.09, 2070.9, 15246, 712.66, 9480.5, 1860.7, 1329.8],
[599.11, 2110.6, 1979.3, 1912.9, 2185.9, 1046.7, 922.62, 816.44, 2181.8, 2447.8, 3070.1, 2777.4, 13364, 2493.9, 5750.5, 1562.2, 2470.2],
[30.985, 287.74, 21441, 230.68, 299.56, 120.18, 69.519, 41.807, 196.07, 50.918, 71.192, 35.679, 40.597, 26.748, 96.34, 29.987, 341.03],
[168.83, 4735.8, 19069, 355.24, 189.21, 167.27, 287.16, 314.52, 223.25, 72.248, 44.71, 499.61, 320.66, 12.6, 77.17, 513.82, 269.9],
[68.168, 108.62, 5834.4, 47.653, 44.56, 32.565, 106.81, 102.32, 56.171, 51.768, 66.398, 45.207, 25.599, 32.273, 35.537, 27.734, 52.68],
[9.775, 75.161, 7494, 16.047, 12.525, 12.11, 37.874, 17.543, 40.419, 27.389, 46.084, 23.394, 13.984, 10.705, 17.582, 11.933, 24.745],
[27.242, 47.861, 6702.9, 51.796, 46.036, 23.438, 66.93, 68.085, 38.777, 34.741, 34.59, 150.19, 36.452, 30.118, 34.928, 30.255, 55.571],
[22.424, 29.8, 7096, 29.631, 76.257, 13.312, 70.916, 33.945, 22.463, 24.156, 106.12, 15.617, 12.05, 6.407, 15.818, 7.568, 20.207],
[94.772, 98.004, 7001.1, 101.24, 94.444, 66.289, 143.19, 149.05, 124.52, 127.39, 132, 69.516, 66.842, 72.071, 82.36, 80.849, 122.04],
[53.691, 58.926, 13698, 82.893, 49.74, 28.545, 24.378, 16.613, 94.419, 29.657, 11.755, 27.394, 7.688, 155.29, 26.004, 158.35, 25.175],
[29.283, 100.75, 10132, 176.05, 82.909, 41.943, 74.399, 38.012, 819.72, 109.83, 190.43, 24.289, 44.759, 38.679, 44.825, 45.942, 106.53],
[186.15, 94.765, 10444, 257.38, 151.54, 93.752, 264.46, 229.04, 374.78, 103.53, 1421.8, 315.04, 200.03, 112.99, 282.09, 132.72, 348.74],
[125.79, 33.083, 11321, 49.475, 43.257, 26.589, 45.615, 59.935, 27.844, 39.868, 31.309, 95.751, 43.935, 142.24, 142.03, 83.535, 176.1],
[19.566, 20.749, 12028, 34.921, 15.821, 19.504, 13.723, 15.532, 111.39, 83.791, 453.51, 392.19, 100.84, 4.607, 7.934, 13.365, 48.606],
[45.415, 290.12, 12243, 109.92, 33.965, 25.369, 54.365, 48.216, 406.39, 19.451, 29.735, 97.688, 90.763, 34.934, 28.57, 27.015, 48.013],
[107.37, 6520.7, 144.91, 82.304, 62.179, 22.661, 135.41, 153.81, 85.531, 73.135, 125.32, 52.122, 23.743, 51.693, 49.02, 39.758, 83.836],
[22.751, 7265, 230.31, 251.23, 72.213, 118.18, 67.58, 126.55, 98.807, 43.914, 37.723, 89.089, 27.311, 38.162, 83.076, 38.318, 85.352],
[24.085, 8770.5, 45.827, 31.797, 20.7, 20.595, 48.02, 44.575, 48.317, 803.26, 32.96, 26.193, 269.05, 11.639, 25.351, 15.255, 31.11],
[37.863, 8318.6, 35.132, 28.186, 19.561, 27.081, 64.546, 62.118, 660.08, 180.07, 49.416, 13.75, 34.176, 200.55, 496.06, 87, 30.483],
[8.488, 11449, 19.921, 26.306, 14.216, 20.578, 20.333, 18.133, 536.09, 4927.5, 171.22, 20.287, 104.69, 7.813, 135.48, 7.304, 16.237],
[12.314, 10802, 37.116, 15.212, 135.04, 88.061, 22.203, 21.938, 228.32, 274.11, 22.39, 14.302, 264.75, 7.562, 25.449, 6.514, 15.299],
[85.443, 13364, 158.08, 72.339, 78.498, 53.339, 171.73, 175.77, 193.5, 140.58, 96.662, 75.673, 95.566, 41.394, 91.419, 44.993, 91.241],
[45.643, 11205, 78.269, 27.062, 43.915, 33.14, 85.735, 108.6, 7487.2, 105.68, 34.221, 154.69, 54.538, 36.14, 25.883, 27.311, 68.932],
[19.318, 13839, 68.75, 57.382, 49.296, 26.492, 25.721, 26.113, 9587.6, 365.61, 113.99, 235.72, 198.21, 14.316, 21.628, 24.646, 44.054],
[39.066, 8096.8, 49.628, 28.973, 26.25, 17.639, 27.042, 25.763, 5647.8, 282.92, 246.51, 62.908, 45.944, 17.188, 26.757, 34.401, 59.883],
[140.63, 7051.5, 175.95, 68.466, 53.077, 31.555, 174.52, 279.05, 8883.9, 212.78, 908.66, 241.85, 36.597, 24.845, 85.886, 38.251, 71.858],
[210.04, 8620.1, 265.16, 118.4, 74.272, 44.964, 221.24, 226.95, 9682.4, 239.35, 827.99, 263.89, 77.313, 61.356, 119.76, 79.024, 101.82],
[229.3, 773.89, 666.64, 237.29, 182.73, 161.49, 414.11, 438.13, 2820.8, 2021.5, 17689, 289.86, 166.4, 135.49, 169.7, 117.12, 207.97],
[21.279, 121.26, 69.112, 10.493, 18.039, 17.494, 38.018, 79.575, 97.286, 5709.7, 16075, 40.886, 10.775, 19.626, 31.112, 24.51, 23.446],
[202.85, 383.87, 170.68, 75.038, 76.53, 60.891, 184.23, 121.28, 90.609, 4264.6, 17114, 106.28, 55.634, 23.273, 64.685, 43.037, 116.44],
[334.33, 400.57, 715.59, 595.37, 330.27, 283.03, 765.57, 729.57, 374.32, 3408.6, 17758, 236.08, 255.17, 192.86, 215.3, 239.04, 334.06],
[234.74, 724.23, 612.69, 261.65, 236.72, 154.17, 295.06, 301.73, 1813.8, 1542.4, 10819, 290.97, 235.63, 111.93, 174.29, 157.95, 202.77],
[104.15, 247.07, 219.09, 113.97, 116.72, 20.433, 119.71, 111.38, 666.23, 234.87, 10346, 242.18, 51.339, 58.318, 77.553, 54.795, 117.66],
[247.61, 267.62, 663.21, 313.25, 233.58, 115.91, 479.91, 402.89, 301.41, 463.63, 9213.4, 199.86, 162.12, 105.2, 154.99, 124.88, 289.19],
[74.948, 108.09, 76.151, 32.379, 49.396, 11.998, 83.199, 44.593, 184.27, 2928.5, 7282.4, 50.142, 86.203, 20.628, 24.101, 23.867, 62.558],
[86.424, 94.16, 118.17, 101.33, 67.955, 48.996, 74.338, 72.827, 81.505, 1417.6, 6752.7, 115.69, 80.099, 34.141, 73.689, 34.628, 76.574],
[187.27, 835.46, 370.95, 207.13, 163.27, 99.57, 313.17, 251, 365.69, 742.95, 7460.1, 118.57, 188.32, 91.853, 169.13, 83.777, 220.38],
[10.044, 29.212, 182.96, 13.36, 11.346, 9.715, 19.972, 58.372, 26.953, 72.346, 4539.9, 27.642, 27.956, 6.378, 25.339, 6.831, 10.612],
[141.4, 38.229, 77.585, 24.631, 16.766, 31.21, 87.88, 56.88, 39.471, 108.41, 3854.3, 27.911, 18.443, 25.22, 16.746, 54.589, 22.06],
[50.288, 41.48, 69.345, 90.488, 64.661, 62.882, 113.24, 149.34, 168.75, 579.46, 3833.2, 188.76, 161.04, 122, 90.515, 112.25, 142.99],
[130.15, 103.43, 141.11, 203.37, 121.68, 97.311, 120.96, 128.04, 276.18, 766.1, 5310.8, 434.92, 340.34, 208.72, 113.96, 189.29, 153.68],
[305.45, 517.6, 343.58, 340.37, 277.13, 142.74, 423.79, 260.43, 158.29, 822.66, 4885.7, 166.02, 133.08, 113.29, 728.19, 164.8, 181.08],
[116.79, 194.51, 110.11, 88.213, 61.413, 70.048, 110.28, 217.55, 533.47, 15010, 14937, 212.65, 114.82, 68.09, 90.243, 91.964, 56.154],
[100.83, 455.08, 174.82, 165.5, 111.1, 53.946, 134.15, 164.72, 242.42, 11487, 6434.5, 157.64, 289.58, 68.673, 102.11, 70.412, 103.8],
[18.398, 146.48, 41.177, 93.249, 62.42, 33.698, 50.778, 36.277, 182.48, 7856.7, 10592, 77.011, 102.19, 24.608, 68.223, 38.545, 57.155],
[125.48, 88.076, 156.99, 34.068, 71.675, 33.642, 118.86, 56.562, 495.99, 11043, 12507, 139.21, 130.21, 61.741, 140.74, 27.702, 110.65],
[119.78, 325.75, 151.87, 75.112, 112.25, 46.373, 50.78, 94.163, 210.18, 17765, 138.05, 134.04, 1488.9, 65.958, 912.04, 119.25, 162.25],
[305.57, 121.02, 284.28, 237.07, 137.2, 75.169, 147.68, 206.61, 86.24, 15782, 294.11, 150.12, 378.01, 277.53, 340.39, 283.22, 333.43],
[24.173, 184.31, 98.237, 16.286, 63.516, 55.39, 54.472, 29.717, 136.01, 17366, 670.32, 81.53, 523.84, 161.6, 314.03, 33.576, 21.011],
[7.758, 344.98, 52.809, 71.603, 102.41, 67.491, 10.366, 6.506, 171.77, 16899, 1454.9, 126.4, 620.29, 168.56, 566.4, 33.336, 20.332],
[13.05, 294.87, 49.332, 18.704, 14.555, 17.02, 27.273, 27.555, 275.86, 6005.1, 710.24, 29.371, 89.235, 11.874, 16.503, 13.074, 23.821],
[59.938, 1128.5, 187.81, 131.35, 83.048, 43.087, 129.28, 79.264, 139.77, 4969.9, 252.42, 110.84, 127.86, 56.07, 132.94, 46.834, 136.58],
[51.197, 188.52, 56.742, 70.849, 141.92, 114.81, 54.299, 51.949, 96.11, 5087.5, 289.66, 98.944, 262.08, 50.81, 49.734, 69.905, 76.209],
[162.49, 274.55, 381.91, 195.78, 158.41, 118.18, 353.01, 375.64, 192.63, 4875.7, 188.9, 93.606, 105.83, 109.45, 120.83, 113.92, 192.12],
[9.958, 234.49, 22.283, 27.693, 27.378, 16.056, 17.633, 17.894, 190.72, 8375.9, 3590.7, 115.54, 209.36, 7.239, 13.509, 4.991, 19.734],
[281.29, 242.14, 203.25, 293.85, 267.82, 183.33, 618.49, 400.78, 630.29, 8560, 2070.3, 137.07, 318.48, 90.275, 162.09, 106.74, 183.62],
[1021.2, 500.12, 730.17, 792.28, 765.69, 864.41, 672.41, 417.83, 941.2, 9736.3, 390.29, 990.63, 1117.5, 373.89, 936.33, 442.99, 1127.6],
[40.013, 33.817, 107.24, 25.86, 39.337, 23.056, 114.36, 60.898, 53.552, 8820.3, 95.649, 74.727, 153.21, 24.835, 668.53, 20.265, 78.773],
[369.95, 123.57, 203.15, 237.65, 192.38, 136.59, 76.097, 105.62, 194.02, 7052.4, 283.43, 403.48, 548.11, 104.92, 287.84, 245.13, 607.39],
[405.15, 899.75, 681.05, 665.39, 730.1, 446.29, 528.19, 571.03, 770.72, 7639.7, 1147.7, 582, 689.43, 399.81, 537.35, 501.78, 624.15],
[3295, 235.09, 318.97, 2481.6, 2276.6, 1490.8, 493.55, 258.8, 475.77, 1444.6, 1131.8, 1248.6, 830.99, 19509, 4621.4, 3289.6, 3018.2],
[471.19, 565.94, 844.63, 989.81, 734, 297.26, 509.97, 406.85, 305.97, 296.6, 236.82, 786.27, 699.43, 4324.1, 4889.7, 11371, 9535.5],
[1513.1, 327.9, 1545.7, 5202, 1429.3, 2599.7, 3060.4, 3890.8, 460.05, 363.43, 234.19, 773.73, 774.08, 3255.3, 2674.3, 1387.4, 14624],
[895.23, 1492.7, 980.55, 825.81, 13894, 717.4, 604.51, 685.16, 1422, 937.14, 1051.1, 1533.5, 3005.6, 1029.6, 2018.4, 1343.5, 879.19],
[644.92, 76.844, 140.71, 3510.6, 11697, 5016.8, 124.2, 181.28, 42.426, 40.426, 58.566, 79.989, 66.195, 68.735, 110.16, 58.043, 210.22],
[57.214, 61.13, 41.406, 51.681, 8705.2, 681.42, 43.5, 64.063, 17.853, 18.059, 14.916, 16.072, 16.477, 184.36, 611.56, 23.299, 53.579],
[847.84, 279.09, 497.14, 1318.3, 7943.9, 326.7, 1065.5, 710.81, 85.611, 422.82, 740.4, 805.39, 1089.5, 492.15, 680.67, 534.2, 743.61],
[85.982, 389.46, 415.79, 582.59, 401.34, 265.26, 313.1, 297.33, 268.64, 148.7, 154.42, 2360.8, 993.94, 2096.1, 1960.6, 5769.7, 4328.6],
[32.644, 84.826, 83.39, 201.71, 87.324, 19.905, 53.472, 55.177, 44.127, 46.494, 45.794, 477.55, 288.48, 876.21, 916.04, 3622.2, 2246.6],
[1079.7, 61.854, 148.47, 1236.1, 1119.3, 944.65, 371.66, 442.15, 21.243, 69.847, 26.316, 1159.2, 975.22, 1540.5, 1078, 3456.8, 1853.2],
[33.943, 152.85, 107.64, 62.117, 40.136, 28.776, 157.23, 118.26, 99.24, 87.014, 121.16, 46.41, 34.332, 1198.6, 503.37, 6792.8, 735.62],
[118.48, 232.77, 422.64, 115.71, 130.58, 54.383, 281.08, 335.21, 138.51, 116.27, 128.76, 239.29, 169.83, 2622.3, 177.5, 5811.1, 138.63],
[173.99, 267.95, 495.58, 159.72, 143.34, 90.669, 332.35, 344.48, 175.1, 201.49, 204.23, 111.6, 105.81, 2115.9, 581.81, 8644.5, 706.71],
[125.54, 358.05, 659.97, 611.63, 460.91, 106.98, 363.04, 243.73, 176.49, 212.95, 191.57, 1747.3, 1021.5, 3315.8, 405.99, 9957.8, 310.06],
[1438.7, 51.556, 223.99, 321.11, 227.75, 796.15, 223.23, 171.58, 68.223, 33.832, 36.754, 184.73, 95.148, 11233, 1119.1, 3816.9, 236.33],
[2131.3, 296.18, 518.97, 1502.4, 1408.9, 897.3, 752.27, 632.6, 397.79, 720.85, 766.85, 830.37, 552.98, 9645, 2549.3, 1791.3, 1750.7],
[123.05, 139.93, 257.46, 244.85, 328.8, 549.38, 314.44, 244.52, 77.241, 87.879, 117.45, 130.91, 87.84, 5721.5, 3485.5, 158.99, 153.9],
[25.724, 625.31, 66.225, 25.66, 21.031, 19.177, 49.072, 46.371, 104.49, 48.533, 55.962, 20.468, 84.797, 5823.8, 1084.5, 36.214, 31.201],
[842.79, 64.275, 53.295, 117.92, 255.28, 393.67, 100.27, 84.534, 41.216, 50.933, 62.825, 137.04, 110.9, 6581, 798.98, 1705.3, 174.69],
[1622.2, 183.34, 368.07, 935.86, 1139.8, 3038.4, 411.69, 346.84, 366.89, 236.71, 348.61, 427.68, 588.48, 6709.1, 1873.3, 1306.2, 844.34],
[1572.6, 1231, 188.67, 669.89, 1505.3, 2903.3, 846.93, 783.39, 1753.7, 1763.6, 2327, 605.63, 767.69, 7532.5, 2476.6, 1665.5, 844.06],
[146.28, 57.904, 91.888, 42.27, 53.862, 16.571, 102.85, 70.52, 29.994, 21.935, 25.763, 86.691, 40.447, 880.39, 3661.6, 26.909, 51.201],
[151.54, 50.691, 132.91, 53.729, 52.941, 16.366, 134.12, 85.046, 37.288, 64.781, 101.61, 9.094, 48.237, 1618.8, 4434.9, 489.94, 1240.2],
[540.88, 202.8, 546.89, 400.95, 331.91, 319.33, 599.21, 486.96, 127.25, 213.03, 219.86, 280.2, 272.35, 1132.7, 5171.8, 644.65, 1152.6],
[169.89, 62.439, 192.07, 146.75, 99.437, 125.95, 181.58, 145.47, 66.779, 67.21, 48.914, 132.08, 57.788, 126.73, 9648.6, 96.514, 75.661],
[992.28, 430.41, 644.6, 594.52, 1180.4, 388.18, 558.27, 536.28, 254.6, 1769.6, 267.09, 563.5, 2809.2, 2305.8, 8728.1, 1101.6, 1946.6],
[294.67, 135.6, 610.74, 1615.5, 2073.6, 2786.8, 231.11, 151.04, 134.46, 94.781, 290.04, 2300, 1248, 613.54, 1863.7, 1799, 9321.4],
[575.7, 94.563, 528.59, 671.33, 125.9, 78.485, 1355.6, 2167.6, 60.43, 42.333, 44.379, 234.22, 193.38, 41.553, 104.6, 191.29, 5292.9],
[448.05, 263.31, 1779.9, 1149.1, 388.4, 630.63, 1875.9, 3071.5, 209.66, 182.99, 151.63, 192.38, 340.33, 408.86, 389.67, 369.9, 6951],
[565.05, 138.81, 234.13, 737.37, 768.24, 920.58, 513.34, 503.68, 148.31, 117.47, 121.14, 460.41, 371.28, 751.8, 1173.4, 661.92, 3343.6],
[1161, 245.56, 1170.8, 732.34, 672.19, 494.3, 833.77, 550.58, 224.19, 401.22, 351.13, 311.67, 323.29, 697.89, 1576.5, 1403.5, 3811.3],
[888.9, 1546.3, 815.13, 580.86, 779.84, 629.17, 342.02, 318.99, 1674.3, 890.5, 1153.8, 913.3, 898.93, 919.73, 980.92, 842.13, 4361.3],
[172.63, 276.4, 706.3, 1023.5, 486.97, 268.09, 366.91, 415.21, 1109.2, 278.41, 869.58, 893.78, 701.58, 219.34, 620.67, 771.55, 3793.8],
[170.09, 303.25, 685.29, 1040.9, 563.83, 248.18, 422.51, 430.73, 947.23, 224.49, 768, 944.54, 829.88, 267.09, 625.69, 860.42, 5213.9],
[269.4, 98.414, 96.465, 5063.1, 3369.7, 1609, 4849.6, 4389, 35.155, 42.046, 81.002, 87.887, 93.53, 13.043, 62.309, 17.332, 131.67],
[266.97, 618.3, 714.06, 5953.5, 1829.8, 1631.8, 1793.3, 2011, 697.13, 454.74, 649.58, 243.9, 251.42, 153.74, 254.78, 175.49, 390.89],
[207.42, 121.18, 567.87, 7089.1, 3593, 3206.7, 1259.2, 1392.3, 97.122, 110.89, 138.05, 191.43, 156.86, 153.54, 176.56, 284.27, 415.85],
[6583.2, 73.693, 75.732, 757.95, 436.2, 527.22, 512.07, 467.82, 29.585, 47.005, 31.832, 44.886, 41.648, 25.193, 183.85, 15.044, 132.76],
[4308.9, 36.928, 43.659, 429.37, 167.16, 108.45, 65.809, 55.434, 25.767, 25.044, 23.977, 28.589, 30.469, 31.263, 119.57, 35.991, 107.22],
[5202.1, 22.137, 43.749, 135.1, 40.005, 74.637, 57.895, 39.922, 18.087, 43.664, 20.973, 22.518, 18.29, 26.404, 28.913, 16.45, 27.368],
[155.65, 28.697, 157.95, 195.17, 190.16, 66.138, 395.22, 109.34, 19.352, 24.334, 24.173, 3974.9, 1121.7, 128.7, 162.79, 615.75, 634.35],
[54.073, 40.016, 82.083, 171.22, 92.377, 36.349, 140.79, 81.496, 25.869, 27.474, 27.074, 2761.4, 735.14, 42.03, 88.394, 232.39, 232.57],
[351.5, 108.22, 407.85, 245.58, 359.39, 132.8, 330.03, 377.04, 92.684, 101.46, 107.02, 2740.9, 775.99, 189.44, 158.02, 147.29, 337.78],
[31.702, 140.34, 180.88, 273.85, 146.6, 17.949, 47.686, 42.818, 50.639, 72.247, 46.329, 5945.4, 1929.6, 378.36, 46.85, 680.21, 450.23],
[161.31, 166.84, 324.45, 192.1, 131.58, 96.953, 183.11, 213.56, 148.41, 112.41, 82.078, 4462.7, 3660.1, 190.35, 343.64, 541.31, 533.63],
[343.3, 88.882, 328.46, 289.89, 221.9, 158.53, 250.08, 392.4, 90.022, 78.403, 109.14, 3242.9, 2902.9, 223.34, 365.3, 571.27, 424.84],
[248.14, 75.66, 259.01, 505.27, 522.21, 174.05, 345.23, 277.7, 57.803, 112.46, 44.914, 3883.5, 2824.8, 256.29, 187.77, 433.56, 357.59],
[224.17, 438.55, 64.385, 92.382, 560.78, 58.119, 59.991, 60.383, 346.26, 1663.7, 577.13, 836.07, 6115.6, 124.92, 1646.5, 521.18, 156.03],
[33.029, 16.235, 76.112, 43.526, 75.933, 42.083, 112.26, 106.76, 20.035, 19.899, 31.973, 96.537, 5221.1, 54.307, 88.232, 19.387, 53.192],
[882.36, 56.1, 128.97, 248.31, 303.43, 158.5, 49.547, 60.247, 25.85, 190.18, 24.379, 259.52, 4757.8, 604.37, 1376.2, 626.48, 190.68],
[270.74, 75.229, 443.53, 343.93, 279.65, 196.79, 279.46, 191.22, 45.33, 84.376, 66.294, 1362.5, 3717.5, 283.02, 523.96, 775.1, 913.96],
[174.67, 255.05, 379.82, 263.67, 181.14, 81.324, 227.78, 206.89, 170.68, 146.5, 115.16, 1767.8, 4539.7, 912.05, 789.32, 739.24, 272.33],
[387.72, 77.308, 748.24, 355.76, 267.45, 226.52, 846.65, 811.22, 94.875, 266.24, 140.16, 223.91, 3689.8, 121.57, 504.45, 214.86, 290.98],
[120.03, 755.13, 630.04, 889.83, 574.84, 396.32, 225.06, 197.43, 572.42, 661.01, 276.02, 990.02, 3884, 248.45, 711.82, 491.39, 301.3],
[191.37, 349.29, 573.02, 194.55, 167.43, 176.85, 157.92, 185.87, 4099.8, 432.58, 3162, 336.18, 168.74, 485.72, 200.59, 264.45, 231.77],
[218.98, 822.28, 309.26, 130.26, 140.87, 68.801, 294.18, 302.38, 4948.7, 569.82, 4023.9, 437.88, 202.42, 123.52, 93.035, 118.44, 156.34],
[378.02, 721.17, 408.27, 244.18, 325.94, 217.11, 254.78, 217.39, 4524.5, 393.46, 344.37, 182.02, 100.41, 158.13, 211.29, 129.67, 298.66],
[107.1, 768.85, 247.23, 117.56, 104.65, 56.653, 236.55, 207.85, 3131.1, 132.67, 422.35, 126.88, 50.745, 53.798, 107.8, 58.619, 190.69],
[198.53, 370.12, 455.5, 213.86, 154.35, 61.94, 352.53, 358.35, 3604.2, 209.64, 157.55, 205.15, 68.283, 81.189, 137.81, 120.47, 233],
[100.04, 715.27, 330.92, 136.7, 242.86, 134.87, 81.805, 73.633, 2534.6, 653.16, 1603.8, 249.87, 161.79, 162.58, 112.18, 167.49, 69.352],
[38.037, 1320.1, 135.64, 271.42, 210.77, 199.36, 122.69, 123.37, 2508.8, 601.22, 1363.3, 149.94, 79.806, 100.47, 108.76, 126.74, 170.59],
[129.8, 451.57, 379.34, 230.96, 151.41, 104.78, 139.07, 174.98, 2336.4, 218.93, 899.63, 874.44, 374.83, 70.875, 124.06, 776.91, 314.56],
[23.967, 396.29, 21.038, 16.153, 14.451, 19.847, 23.683, 20.328, 2665.1, 261.12, 97.002, 362.26, 11.41, 11.268, 39.726, 11.115, 34.258],
[167.79, 444.14, 221.36, 217.36, 151.04, 110.88, 131.29, 147.68, 2057.5, 196.23, 347.38, 155.64, 143.83, 123.07, 109.41, 114.19, 170.5],
[34.393, 3886.6, 22.053, 35.849, 74.723, 52.423, 70.474, 69.994, 146.36, 142.85, 28.623, 31.933, 59.772, 5.447, 20.044, 10.747, 25.095],
[32.194, 4883.1, 23.036, 11.912, 10.115, 35.396, 24.648, 16.854, 360.15, 148.52, 27.917, 15.715, 16.009, 56.352, 12.065, 5.665, 11.918],
[6.634, 2464.7, 38.896, 8.573, 16.557, 7.346, 33.165, 45.886, 15.962, 26.477, 22.158, 14.214, 3.569, 3.6, 26.327, 2.994, 9.388],
[38.061, 1677.9, 99.159, 36.395, 9.425, 17.418, 54.262, 77.543, 175.25, 43.681, 40.346, 9.621, 15.056, 24.093, 28.613, 23.431, 31.673],
[64.578, 1833, 127.91, 13.202, 16.12, 14.462, 83.659, 111.02, 185.27, 15.028, 46.519, 13.486, 37.029, 76.931, 42.231, 9.847, 51.725],
[20.875, 2163.5, 36.188, 29.41, 19.209, 19.475, 26.511, 26.774, 27.293, 31.705, 30.881, 47.925, 24.496, 11.862, 24.088, 13.039, 18.01],
[13.054, 2003.3, 112.65, 87.344, 100.16, 79.679, 27.204, 28.815, 50.385, 172.65, 53.605, 82.961, 102.15, 12.752, 52.599, 25.61, 77.937],
[187.64, 603.73, 212.77, 2742.6, 3364.6, 1258.2, 1038.8, 1261.6, 146.78, 594.52, 84.55, 51.388, 86.743, 41.093, 133.94, 25.675, 138.73],
[11.084, 68.891, 31.877, 4220.4, 899.99, 1028.4, 411.99, 546.56, 105.23, 28.518, 59.415, 17.766, 12.93, 9.456, 9.314, 10.67, 15.819],
[118.29, 52.991, 85.514, 3782.4, 1105.1, 2016.2, 1131.8, 1993.1, 33.046, 16.273, 28.414, 45.306, 35.399, 32.087, 41.849, 42.774, 130.31],
[621.96, 337.89, 176.49, 2643, 875.1, 727.76, 1464.3, 1714.3, 464.82, 630.87, 791.38, 354.9, 363.68, 783.83, 465.19, 526.61, 387.5],
[178.78, 96.477, 123.4, 2850.9, 755.75, 264.61, 1466.2, 1287.6, 90.293, 97.26, 78.715, 61.713, 94.775, 57.886, 68.624, 42.995, 155.11],
[432.14, 184.05, 456.53, 3325, 798.08, 831.82, 778, 802.7, 113.97, 122.42, 84.152, 407.7, 331.35, 263.74, 281.78, 499.02, 915.56],
[240.7, 723.39, 29.861, 451.44, 3818.5, 2789.4, 150.52, 188.22, 513.67, 235.17, 598.57, 122.51, 111.59, 479.83, 269.15, 243.03, 72.247],
[453.65, 607.66, 630.08, 514.18, 4626, 496.97, 611.27, 530.52, 710.25, 447.56, 533.21, 829.5, 1255.6, 622.65, 1078.3, 640.07, 588.25],
[764.8, 555.77, 1058.2, 623.52, 4105.2, 524.36, 1044.6, 1151.2, 767.28, 452.43, 891.8, 628.32, 554.57, 584.13, 676.29, 495.2, 757.15],
[145.23, 215.04, 260.36, 159.9, 1331.7, 179.77, 216.7, 184.82, 244.96, 146.17, 243.33, 123.85, 106.44, 181.57, 162.89, 109.18, 155.94],
[170.12, 185.91, 244.67, 420.44, 1706, 524.31, 229.49, 264.89, 197.8, 505.74, 202.84, 146.24, 169.55, 118.93, 130.7, 92.114, 159.7],
[100.7, 26.704, 22.289, 392.81, 2681.6, 109.95, 196.29, 198.03, 9.568, 610.68, 96.818, 11.632, 11.142, 9.518, 9.07, 9.096, 30.346],
[73.413, 64.445, 90.119, 253.9, 2036.6, 121.93, 81.024, 103.77, 34.173, 21.48, 37.859, 54.027, 25.162, 18.336, 31.167, 66.482, 46.498],
[440.52, 73.722, 352.18, 219.78, 2444, 154.17, 222.47, 278.34, 97.11, 117.5, 383.62, 133.21, 138.24, 97.531, 107.16, 57.552, 163.85],
[526.88, 105.32, 127.52, 1157, 3083.3, 786.02, 716.76, 599.74, 75.283, 146.98, 347.1, 182.44, 205.55, 219.58, 180.62, 200.7, 164.27],
[56.611, 279.9, 38.002, 451.93, 3470.4, 881.09, 127.17, 231.04, 294.02, 208.28, 911.37, 98.693, 36.689, 269.56, 126.27, 68.75, 53.024],
[182.61, 58.428, 185.27, 493.97, 2956.6, 774.48, 232.44, 167.55, 45.43, 45.095, 42.262, 91.025, 91.24, 76.315, 90.123, 93.263, 121.46],
[102, 198.86, 256.98, 503.88, 2672.8, 627.44, 196.76, 187.92, 241.61, 569.53, 252.73, 132.33, 109.34, 104.13, 158.02, 95.262, 156.69],
[23.525, 158.1, 41.323, 18.396, 16.105, 190.19, 60.868, 41.46, 25.984, 242.1, 27.05, 28.792, 94.868, 1874.5, 1354.7, 29.476, 19.513],
[14.365, 29.577, 32.132, 23.214, 305.93, 19.847, 22.388, 21.473, 20.557, 28.376, 27.044, 18.138, 118.74, 2896.6, 2186, 19.704, 36.869],
[299.82, 269.96, 93.13, 174.02, 567.47, 822.37, 48.067, 79.427, 285.35, 226.82, 183.8, 499.31, 691.75, 2638.3, 789.6, 738.75, 118.67],
[386.96, 239.9, 293.59, 268.05, 532.91, 994.27, 373.66, 397.97, 430.55, 332.52, 573.47, 223.21, 303.98, 2722.2, 828.46, 608.83, 233.48],
[290.42, 112.42, 213.66, 173.54, 170.17, 95.56, 141.98, 147.22, 100.88, 102.01, 107.51, 134.75, 135.83, 3249.7, 235.07, 220.53, 192.86],
[363.93, 48.19, 99.755, 308.18, 279.31, 439.72, 282.41, 256.85, 32.602, 57.902, 34.163, 137.58, 95.521, 3551, 290.59, 813.35, 233.92],
[424.17, 65.708, 298.73, 346.27, 421.1, 591.66, 309.23, 325.53, 34.591, 50.621, 34.752, 176.76, 154, 3798.5, 423.31, 1327.9, 284.84],
[1025.6, 287.5, 477.33, 320.85, 337.81, 736.12, 429.65, 309.66, 202.32, 510.86, 581.74, 199.65, 207.83, 805.9, 2214.3, 394.62, 346.27],
[614.13, 259.95, 711.33, 335.08, 441.29, 350.3, 661.08, 704.09, 183.16, 267.85, 348.39, 370.94, 370.3, 2284.5, 2564.1, 486.91, 562.06],
[796.58, 1045.5, 451.85, 851.07, 858.5, 642.55, 569.35, 587.16, 1198.6, 1096.3, 896.23, 1028.9, 774.41, 1146, 1054.6, 1961.3, 1095.9],
[394.33, 123.34, 174.4, 1305.4, 447.22, 556.99, 658.06, 732.74, 101.21, 119.45, 407.85, 199.48, 132.05, 786.65, 686.41, 2063, 823.62],
[557.11, 224.57, 556.69, 460.26, 520.17, 258.38, 424.19, 344.92, 472.6, 233.68, 882.61, 945.21, 671.94, 883.48, 1044.9, 2261.4, 786.88],
[106.63, 67.635, 3796.8, 77.001, 62.235, 52.891, 151.99, 138.74, 68.24, 68.849, 90.373, 36.835, 49.514, 29.433, 25.964, 13.516, 21.721],
[110.7, 125.69, 2915.3, 87.488, 50.563, 44.979, 99.362, 61.429, 162.63, 144.21, 139.7, 56.534, 90.265, 52.289, 63.098, 71.649, 86.434],
[18.396, 93.096, 2580, 33.004, 64.683, 12.237, 32.656, 30.344, 21.308, 25.716, 27.296, 18.525, 13.907, 5.374, 20.104, 7.349, 21.906],
[97.194, 54.837, 2613.4, 98.717, 103.16, 34.426, 291.74, 249.55, 75.79, 61.276, 60.247, 32.466, 53.104, 33.702, 57.915, 31.179, 75.87],
[29.808, 63.693, 36.858, 28.084, 23.813, 25.516, 43.537, 39.406, 33.926, 2692.8, 95.817, 24.176, 45.143, 17.372, 61.905, 18.124, 37.582],
[96.123, 144.73, 167.26, 117.09, 64.795, 78.53, 96.114, 111.03, 166.4, 3171.9, 669.88, 108.68, 84.149, 92.489, 78.126, 61.402, 109.78],
[17.264, 25.657, 22.801, 20.791, 22.89, 13.287, 26.034, 26.317, 33.421, 1691.5, 40.231, 13.973, 59.359, 16.894, 20.309, 9.002, 15.962],
[59.15, 29.793, 53.788, 35.784, 26.589, 26.191, 63.203, 53.796, 24.291, 1974.3, 122.17, 21.387, 27.365, 31.244, 39.408, 26.364, 37.157],
[29.89, 20.805, 23.146, 26.466, 10.004, 15.287, 25.989, 17.253, 20.289, 815.72, 23.311, 44.103, 23.668, 3.945, 28.74, 11.051, 34.96],
[63.256, 55.657, 89.081, 87.619, 102.61, 23.724, 58.954, 61.644, 76.86, 1186.5, 65.272, 76.594, 37.144, 43.289, 66.895, 25.297, 86.486],
[13.408, 49.514, 20.595, 34.964, 16.96, 44.181, 40.21, 22.475, 47.721, 1387.7, 53.746, 28.375, 53.462, 12.599, 9.53, 14.258, 36.427],
[13.788, 60.569, 26.35, 14.958, 12.758, 13.968, 20.981, 22.152, 50.538, 1520.5, 174.05, 33.651, 23.536, 7.891, 14.334, 24.966, 16.213],
[76.157, 27.231, 70.775, 32.135, 29.07, 32.918, 52.246, 56.176, 39.556, 96.451, 22.498, 21.641, 2082.2, 44.167, 451.51, 34.551, 34.715],
[30.593, 28.107, 64.69, 87.618, 101.62, 150.77, 82.89, 38.41, 17.823, 51.955, 16.964, 115.11, 2299.9, 118.05, 627, 67.589, 67.656],
[274.85, 61.725, 86.458, 219.51, 187.77, 125.38, 240.69, 116.48, 33.763, 107.49, 39.819, 401.76, 2054.4, 142.21, 401.41, 336.7, 361.13],
[213.8, 76.125, 294.68, 292.62, 214.85, 117.87, 312.93, 474.35, 111.72, 202.21, 133.01, 284.1, 1797.8, 156.3, 315.32, 121.07, 304.9],
[96.183, 129.88, 211.98, 262.27, 338.22, 140.46, 70.072, 70.491, 406.81, 597.47, 401.53, 750.31, 2775.4, 30.957, 254.63, 56.082, 209.46],
[312.66, 88.016, 111.68, 355.88, 155.38, 159.46, 183.49, 113.26, 29.954, 64.323, 51.95, 469.39, 2852.3, 137.76, 524.06, 396.31, 402.52],
[637.26, 72.205, 267.85, 350.57, 250.69, 163.87, 200.3, 148.86, 109.55, 413.35, 85.077, 430.83, 2257.5, 368.98, 662.29, 499.97, 321.04],
[114.13, 59.833, 127.23, 202.29, 110.69, 69.018, 132.79, 113.05, 101.74, 77.974, 139.28, 2031.1, 2266.5, 171.33, 127.76, 248.21, 301],
[596.28, 239.82, 440, 417.9, 429.13, 273.55, 717.74, 602.07, 145.92, 172.69, 138.98, 2364.5, 967.61, 254.47, 422.48, 455.53, 900.99],
[20.921, 51.22, 66.209, 77.492, 72.491, 74.097, 47.594, 46.695, 51.221, 41.259, 39.309, 1693, 746.65, 455.64, 464.3, 737.65, 390.85],
[63.917, 390.11, 159.08, 151.32, 97.005, 29.468, 93.735, 57.454, 84.932, 23.844, 31.397, 2150.6, 903.11, 176.14, 48.558, 482.41, 150.22],
[80.665, 27.73, 41.053, 38.968, 48.293, 33.393, 82.363, 80.263, 18.334, 26.124, 21.672, 1050.1, 856.24, 28.856, 44.061, 34.084, 67.846],
[39.157, 25.441, 43.551, 28.206, 39.402, 43.26, 60.684, 63.493, 18.416, 20.658, 20.915, 1357.6, 1006, 23.483, 34.023, 28.871, 21.964],
[38.186, 30.08, 53.499, 158.35, 137.15, 20.26, 166.81, 42.352, 25.82, 25.258, 30.872, 1388.8, 396.3, 12.343, 44.721, 162.55, 304.21],
[210.88, 96.387, 274.48, 209.8, 240.56, 152.7, 259.38, 192.84, 157.85, 116.43, 413.32, 1220.4, 304.67, 150.53, 96.483, 257.25, 264.55],
[56.217, 57.897, 211.31, 166.91, 153.61, 34.386, 135.85, 178.07, 54.253, 112.77, 48.31, 1486.1, 742.55, 145.01, 197.03, 170.88, 180.15],
[224.27, 55.655, 298.63, 410.31, 274.03, 186.01, 228.02, 225.67, 78.088, 46.583, 48.71, 1488.5, 773.91, 150.74, 147.7, 424.32, 281.26],
[52.564, 181.87, 120.38, 292.53, 198.33, 85.288, 65.867, 135.68, 178.53, 426.65, 2664.7, 172.47, 121.04, 183.44, 212.26, 179.91, 285.49],
[28.634, 44.951, 35.496, 41.65, 21.3, 18.821, 28.089, 25.181, 38.708, 47.632, 1986, 18.124, 15.246, 16.222, 29.106, 14.683, 53.577],
[17.374, 121.04, 60.619, 25.716, 20.375, 14.645, 37.029, 35.662, 679.76, 133.38, 1593.4, 19.578, 19.477, 9.258, 26.068, 11.41, 23.86],
[10.069, 40.053, 39.601, 14.459, 8.9, 13.077, 13.102, 13.026, 54.75, 77.118, 904.74, 15.938, 20.626, 17.984, 10.283, 11.864, 14.937],
[28.991, 55.873, 39.174, 46.384, 27.873, 72.802, 76.562, 100.23, 32.336, 310.34, 707.73, 26.824, 12.981, 16.31, 48.238, 37.09, 47.172],
[24.918, 154.74, 140.49, 59.958, 52.787, 21.539, 35.029, 47.617, 90.689, 166.3, 1321.4, 40.149, 53.679, 18.065, 65.52, 19.824, 106.67],
[30.17, 31.818, 37.893, 21.488, 30.656, 13.634, 24.757, 22.461, 34.706, 62.187, 1294.5, 18.268, 31.408, 17.424, 27.079, 14.001, 18.184],
[44.851, 49.195, 43.176, 32.529, 28.516, 36.734, 69.953, 64.71, 57.564, 122.32, 1113.4, 23.433, 33.679, 25.411, 30.122, 31.198, 40.498],
[22.94, 34.482, 27.135, 1334.1, 244.78, 244.54, 171.12, 212.56, 19.657, 27.183, 25.068, 70.721, 45.52, 16.798, 86.114, 48.873, 163.92],
[128.14, 55.897, 114.38, 1755, 162.4, 482.29, 413.11, 121.42, 34.083, 37.901, 28.843, 60.648, 39.065, 48.205, 43.757, 62.947, 59.386],
[17.596, 25.64, 20.212, 2131.4, 429.63, 938.19, 245.96, 573.81, 86.43, 38.692, 98.177, 140.01, 70.636, 81.1, 36.506, 120.52, 58.037],
[272.74, 22.142, 120.6, 1833, 502.73, 422.8, 785.39, 690.67, 11.475, 13.423, 16.219, 31.909, 47.045, 32.89, 128.11, 19.172, 221.07],
[1278.4, 17.852, 14.048, 163.95, 47.628, 32.218, 45.183, 41.792, 15.288, 16.565, 17.773, 6.244, 13.577, 5.421, 67.193, 9.726, 41.785],
[1510.6, 82.277, 5.879, 109.12, 128.83, 61.721, 57.43, 51.351, 111.99, 182.86, 196.15, 85.751, 124.28, 190.16, 192.19, 113.36, 87.389],
[1889.2, 136.13, 46.812, 96.76, 64.758, 65.577, 46.166, 24.508, 23.042, 156.41, 51.28, 14.734, 23.886, 72.569, 22.639, 15.996, 45.356],
[1721.2, 83.562, 120.86, 88.197, 45.911, 78.45, 119.82, 124.39, 43.329, 114.21, 51.181, 32.745, 47.461, 78.088, 62.756, 35.597, 78.802],
[61.13, 29.67, 28.993, 93.846, 106.47, 136.72, 41.992, 43.732, 16.983, 24.039, 25.008, 6.926, 6.673, 1303.1, 87.792, 454.04, 47.141],
[36.977, 36.326, 51.824, 72.694, 58.921, 60.413, 79.842, 48.502, 27.185, 22.162, 19.515, 86.999, 91.376, 1774.3, 94.954, 220.96, 60.364],
[47.288, 35.54, 23.371, 16.454, 12.278, 11.699, 27.212, 27.494, 21.27, 18.804, 28.316, 12.808, 8.661, 868.1, 24.781, 88.757, 13.246],
[115.2, 136.67, 61.939, 34.983, 45.943, 45.53, 38.164, 54.297, 101.91, 95.428, 98.441, 61.206, 23.793, 1054.4, 98.875, 266.43, 41.096],
[292.14, 157.39, 45.123, 163.8, 160.07, 273.64, 133.27, 153.84, 210.83, 179.2, 223.51, 178.37, 112.05, 1007.2, 195.01, 278.64, 108.09],
[310.89, 66.45, 272.02, 107.62, 112.04, 83.857, 174.97, 175.32, 52.73, 41.306, 58.133, 80.572, 41.998, 1223.1, 194.93, 220.38, 93.088],
[114.47, 51.74, 89.197, 140.65, 160.81, 171.54, 123.62, 129.9, 56.981, 33.679, 109.25, 115.85, 116.68, 1122.7, 261.11, 249.09, 169.99],
[315.2, 145.06, 39.181, 68.268, 144.65, 283.68, 59.468, 53.224, 59.036, 63.493, 75.737, 113.03, 29.97, 1229.6, 273.65, 232.18, 144.21],
[317.66, 236.23, 213.38, 330.94, 318.82, 274.03, 143.37, 183.16, 328.47, 417.5, 326.44, 431.34, 1212.8, 108.71, 345.55, 336.22, 177.65],
[118.86, 910.27, 30.585, 76.208, 44.16, 22.369, 63.408, 40.779, 1094.7, 143.82, 52.127, 107.53, 73.612, 33.317, 21.347, 24.505, 33.318],
[86.171, 30.996, 110.81, 59.756, 19.794, 14.376, 68.248, 49.623, 1348.1, 326.9, 332.32, 54.592, 51.961, 32.405, 44.763, 17.499, 30.863],
[202.71, 190.47, 378.24, 204.37, 159.93, 109.4, 240.71, 226.39, 1139.8, 362.3, 393.61, 117.7, 98.776, 141.82, 142.57, 136.13, 197.37],
[95.477, 233.76, 147.74, 103.33, 94.134, 75.628, 96.029, 94.257, 933.54, 126.5, 297.81, 112.3, 123.43, 63.163, 111.4, 61.529, 78.208],
[20.44, 169.9, 79.13, 31.272, 19.392, 15.134, 37.238, 34.008, 591.46, 77.117, 179.32, 144, 87.986, 72.62, 29.224, 38.111, 34.25],
[19.184, 37.251, 40.488, 22.435, 19.212, 13.813, 41.378, 38.509, 750, 111.51, 66.137, 36.082, 33.919, 10.721, 14.747, 13.441, 18.128],
[134.15, 191.39, 143.71, 36.092, 85.694, 45.534, 69.956, 54.285, 821.29, 115.88, 106.19, 72.249, 101.61, 30.558, 43.294, 34.943, 47.859],
[26.866, 55.531, 1195.4, 28.565, 22.44, 13.582, 25.459, 26.706, 38.278, 42.432, 50.442, 19.269, 15.886, 19.771, 11.019, 9.26, 18.42],
[10.548, 55.259, 27.762, 12.617, 10.289, 11.696, 19.097, 25.438, 40.959, 41.003, 160.09, 948.85, 203.48, 9.387, 14.731, 6.817, 11.562],
[10.684, 20.789, 19.978, 16.528, 11.045, 13.645, 18.64, 16.741, 16.048, 18.811, 17.434, 636.77, 472.14, 8.962, 12.486, 8.636, 15.586],
[37.877, 47.671, 35.15, 44.627, 16.9, 23.514, 39.08, 38.174, 22.159, 22.446, 29.067, 593.45, 203.75, 19.693, 24.378, 25.433, 48.54],
[25.283, 23.31, 28.242, 50.579, 25.757, 25.26, 112.58, 61.378, 18.017, 26.439, 13.838, 535.44, 147.87, 15.889, 18.537, 102.77, 56.285],
[206.92, 39.372, 241.79, 270.68, 110.13, 115.56, 162.12, 76.456, 41.45, 30.798, 63.174, 278.26, 253.8, 276.46, 181.43, 750.95, 237.41],
[136.02, 121.66, 43.394, 76.829, 56.022, 175.17, 42.183, 46.635, 136.66, 168.85, 142.86, 53.805, 54.227, 427.54, 83.667, 652.05, 147.3],
[13.39, 24.599, 27.632, 24.59, 16.219, 12.373, 19.32, 20.428, 18.973, 22.97, 22.105, 189.79, 247.42, 181.94, 186.89, 569.46, 102.7],
[31.209, 21.666, 53.299, 24.22, 30.823, 24.564, 39.521, 42.166, 19.854, 20.995, 14.435, 23.72, 13.456, 234.81, 176.44, 613.76, 246.02],
[122.23, 55.044, 217.53, 74.15, 61.25, 39.666, 104.62, 117.43, 31.759, 36.939, 32.022, 49.748, 27.014, 257.03, 108.86, 526.68, 116.38],
[827.93, 27.983, 39.095, 141.74, 45.987, 36.33, 21.507, 51.597, 20.519, 15.285, 23.596, 8.998, 9.784, 7.64, 15.156, 7.21, 13.19],
[555.37, 31.114, 23.746, 47.27, 47.245, 16.959, 37.188, 22.782, 21.694, 19.143, 22.223, 14.155, 11.369, 7.818, 15.852, 9.172, 18.285],
[677.99, 32.221, 32.073, 26.928, 11.946, 14.494, 23.924, 21.578, 23.55, 26.31, 33.423, 15.836, 17.732, 10.146, 12.551, 9.378, 17.024],
[188.89, 47.617, 164, 183.49, 657.76, 44.223, 102.93, 129.5, 42.783, 37.469, 43.627, 144.92, 97.92, 51.036, 95.259, 75.054, 177.14],
[22.318, 16.759, 30.192, 722.63, 159.39, 75.757, 124.23, 81.037, 20.771, 14.52, 15.008, 9.035, 16.917, 5.263, 14.549, 3.845, 9.889],
[104.37, 49.441, 111.72, 607.56, 124.46, 101.79, 348.5, 401.1, 27.59, 35.319, 36.764, 44.03, 51.925, 35.855, 48.233, 40.53, 47.638],
[19.207, 812.71, 43.945, 3.236, 8.931, 22.338, 34.53, 23.283, 72.589, 17.112, 19.002, 19.619, 10.144, 0.985, 4.882, 2.492, 11.96],
[12.242, 11.752, 7.039, 6.061, 5.692, 446.58, 11.427, 16.884, 7.843, 9.127, 8.392, 4.098, 4.461, 539.25, 5.275, 4.551, 5.177],
[122.2, 96.927, 98.346, 110.15, 90.279, 191.06, 105.25, 95.599, 62.421, 73.507, 95.214, 65.923, 66.872, 499.74, 129.25, 80.188, 111.28],
[17.64, 47.656, 57.866, 29.891, 30.037, 23.372, 35.105, 31.035, 56.263, 46.296, 48.391, 55.063, 35.177, 529.88, 27.188, 174, 37.236],
[47.668, 29.599, 60.573, 33.133, 62.257, 34.752, 92.555, 87.079, 18.077, 25.334, 26.114, 21.764, 31.468, 570.24, 60.769, 40.265, 59.433],
[98.738, 39.324, 37.046, 25.677, 34.441, 63.591, 60.775, 60.12, 36.363, 22.123, 34.294, 29.093, 23.251, 695.77, 73.761, 32.207, 27.346],
[93.452, 19.91, 66.204, 18.455, 33.371, 45.084, 127.48, 253.1, 17.295, 20.567, 12.723, 18.648, 75.83, 34.638, 54.356, 55.673, 500.94],
[24.699, 23.304, 49.81, 19.076, 22.296, 18.152, 51.534, 45.244, 15.907, 14.671, 17.794, 22.594, 25.374, 23.457, 57.129, 19.282, 605.1],
[71.596, 29.542, 58.015, 45.899, 34.716, 31.414, 65.151, 73.108, 23.442, 24.274, 32.629, 26.961, 45.619, 21.902, 35.677, 47.464, 442.35],
[9.837, 22.998, 18.31, 10.679, 10.166, 9.046, 36.347, 16.231, 16.465, 21.977, 20.151, 9.531, 7.443, 134.51, 382.21, 7.019, 11.796],
[31.814, 23.411, 27.996, 223.47, 42.35, 25.314, 47.823, 161.18, 14.451, 19.943, 16.705, 13.975, 11.258, 15.914, 20.474, 15.638, 17.525],
[61.51, 37.371, 88.844, 345.25, 86.994, 110.34, 75.808, 75.208, 28.204, 30.718, 32.484, 39.875, 54.774, 72.773, 51.288, 73.467, 81.96],
[16.023, 296.21, 14.187, 29.154, 8.14, 11.336, 19.539, 23.041, 26.932, 32.724, 30.578, 9.393, 10.435, 6.475, 7.861, 7.661, 9.836],
[13.786, 28.563, 33.51, 66.318, 13.655, 10.1, 11.711, 9.278, 16.677, 25.463, 25.355, 10.559, 20.107, 17.411, 19.749, 6.99, 297.62],
[16.567, 33.227, 37.288, 16.681, 11.739, 14.28, 22.541, 21.448, 24.936, 24.881, 23.741, 17.535, 9.065, 191.85, 14.22, 28.833, 220.973],
[12.285, 18.578, 35.862, 43.341, 265.32, 34.172, 29.803, 13.406, 11.813, 41.291, 17.114, 15.781, 21.534, 3.515, 22.905, 6.739, 22.249],
[8.124, 22.858, 10.698, 5.023, 8.302, 1.015, 37.086, 9.202, 16.732, 24.244, 224.25, 16.601, 9.295, 5.864, 8.355, 4.523, 13.112],
[17.2, 28.811, 30.134, 59.71, 26.541, 25.563, 37.349, 36.696, 21.678, 44.789, 39.256, 35.794, 21.865, 12.941, 15.003, 194.1, 63.449],
[11.148, 17.73, 11.757, 5.906, 5.464, 4.814, 8.781, 9.781, 11.997, 173.95, 14.728, 9.844, 6.678, 3.113, 4.804, 3.886, 6.504],
[18.216, 23.372, 24.944, 10.758, 11.885, 13.505, 25.628, 24.617, 20.444, 21.66, 23.637, 13.231, 10.118, 126.6, 20.212, 16.933, 11.013],
[15.804, 40.143, 23.581, 22.182, 27.798, 11.084, 22.65, 20.283, 19.308, 25.319, 28.946, 11.696, 225.5, 5.934, 8.346, 7.777, 13.1],
[79.187, 54.834, 84.722, 74.428, 43.235, 33.021, 90.869, 85.197, 39.564, 63.343, 62.992, 193.61, 90.085, 28.466, 63.9, 41.075, 85.932],
[8.519, 21.921, 19.441, 9.848, 8.445, 7.804, 19.536, 17.719, 21.734, 21.927, 33.831, 121.89, 7.789, 5.551, 5.64, 5.593, 7.287],
[12.794, 34.257, 44.204, 20.012, 12.016, 8.361, 24.734, 25.129, 17.643, 26.652, 42.159, 178.7, 35.304, 9.038, 10.149, 9.647, 12.055],
[21.331, 43.296, 25.14, 23.474, 16.968, 11.241, 28.366, 24.025, 24.576, 28.674, 32.587, 172.26, 28.295, 9.429, 10.581, 10.655, 16.485],
[43.042, 42.613, 73.215, 43.644, 62.872, 53.679, 62.066, 56.536, 47.963, 177.53, 46.522, 190.21, 119.43, 1251.4, 320.67, 1359.6, 37.26],
[136.31, 177.96, 292.65, 135.37, 191.12, 73.848, 262.77, 265.17, 152.71, 154.32, 163.36, 406.47, 375.57, 350.63, 969.58, 1662.6, 147.04],
[252.92, 255.8, 453.31, 329.16, 282.39, 195.08, 324.75, 255.77, 317.03, 289.84, 371.85, 213.8, 213.93, 288.42, 216.83, 1028.2, 366.65],
[50.758, 57.728, 58.733, 37.742, 27.152, 8.683, 93.873, 74.936, 42.361, 30.886, 46.062, 66.688, 29.283, 122.68, 32.983, 1489.1, 41.855],
[242.77, 78.357, 62.056, 73.401, 52.68, 25.821, 101.19, 79.587, 49.709, 28.424, 64.907, 602.71, 345.71, 282.94, 123.87, 1592.3, 232.2],
[219.16, 22.51, 32.828, 38.727, 46.681, 31.775, 53.498, 43.509, 18.171, 68.321, 23.759, 31.89, 23.954, 927.9, 112.51, 2639.9, 79.337],
[612.31, 143.8, 376.9, 242.59, 289.52, 203.62, 242.59, 200.29, 135.17, 172.17, 94.268, 274.66, 272.28, 1135.9, 402.91, 2482.4, 380.33],
[97.431, 138.53, 220.38, 176.03, 122.11, 36.387, 183.64, 157.75, 107.77, 151.82, 127.52, 105.48, 80.092, 377.07, 344.58, 1870.4, 1279.7],
[301.28, 75.621, 204.37, 238.29, 296.08, 68.922, 188, 231.35, 25.46, 142.6, 50.817, 139.73, 101.14, 1265.9, 978.5, 2274.6, 1278.2],
[284.72, 283.63, 140.7, 197.35, 98.984, 173, 135.23, 159.29, 316.47, 174.09, 570.71, 512.32, 232.72, 62.217, 344.2, 835.09, 2504.4],
[408.3, 97.182, 229.94, 474.34, 448.8, 270.5, 136.42, 258, 174.49, 65.5, 94.599, 1183.6, 722.03, 390.5, 466.59, 585.78, 2596.8],
[66.571, 36.962, 101.33, 999.91, 57.159, 47.999, 62.948, 64.1, 28.181, 31.636, 26.687, 43.711, 36.304, 44.29, 61.454, 48.362, 1854.5],
[712.5, 121.68, 230.54, 353.61, 210.34, 149.64, 323.63, 239.4, 83.97, 124.52, 134.12, 93.089, 110.13, 129.54, 400.21, 234, 1948.2],
[97.28, 325.82, 217.77, 125.36, 209.68, 312.83, 502.61, 820.81, 153.38, 127.94, 153.57, 167.22, 211.2, 204.75, 259.03, 75.925, 1142.3],
[42.58, 220.11, 106.7, 50.766, 112.38, 322.4, 202.34, 365.71, 62.992, 100.96, 49.329, 16.994, 108.1, 143.09, 247.46, 19.61, 1407.8],
[122.46, 33.681, 88.178, 332.99, 37.121, 54.203, 108.92, 253.63, 29.822, 28.475, 25.029, 40.456, 30.066, 44.595, 51.589, 46.397, 1419.8],
[128.64, 36.745, 24.981, 319.04, 236.36, 156.19, 134.89, 262.19, 49.12, 19.642, 26.144, 118.91, 74.872, 79.293, 222.72, 147.83, 1710.6],
[31.034, 128.72, 72.219, 57.445, 81.581, 162.01, 48.368, 116.49, 189.11, 82.624, 103, 102.67, 116.49, 154.5, 104.49, 189.22, 1079.4],
[55.256, 33.242, 114.44, 50.005, 48.406, 38.379, 69.45, 65.663, 27.348, 42.736, 26.782, 199.32, 175.49, 52.567, 330.29, 203.27, 1379.6],
[43.598, 29.201, 136.94, 92.396, 109.06, 137.22, 125.98, 246.18, 38.942, 132.45, 84.617, 125.04, 63.024, 149.61, 295.26, 403.78, 1279.9],
[152.37, 80.724, 198.9, 68.575, 50.839, 46.818, 75.369, 171.03, 42.689, 61.04, 58.11, 116.74, 24.173, 62.339, 225.21, 238.7, 1084.5],
[226.19, 107.4, 245.57, 163.99, 62.575, 71.163, 153.18, 210.55, 67.638, 68.087, 66.928, 108.3, 65.022, 61.715, 216.29, 175.73, 1205.8],
[240.26, 162.63, 208.72, 356.46, 283.78, 174.75, 205.37, 190.32, 72.559, 71.606, 116.99, 149.76, 123.63, 381.74, 2341.9, 195.23, 1125],
[308.49, 92.422, 501.04, 172.99, 225.83, 82.15, 277.45, 353.17, 92.171, 109.83, 121.75, 124.66, 116.43, 772.02, 2074.9, 360.49, 829.63],
[182.04, 41.659, 114.22, 111.82, 123.14, 198.43, 173.84, 193.14, 42.787, 46.938, 142.33, 146.1, 153.11, 191.49, 1270.8, 138.68, 1219.7],
[202.66, 233.08, 210.19, 289.61, 355.95, 186.75, 251.73, 257.34, 254.88, 439.89, 271.55, 571.49, 213.94, 343.31, 1251.5, 289.46, 585.01],
[120.16, 94.283, 79.465, 305.6, 519.98, 590.79, 135.39, 151.2, 70.653, 790.54, 209.79, 479.75, 251.81, 162.9, 1665.6, 388.3, 848.53],
[5.585, 15.326, 18.389, 7.24, 8.1, 3.219, 24.895, 36.767, 12.938, 19.02, 13.615, 6.173, 21.649, 10.259, 809.34, 3.396, 7.194],
[41.972, 25.178, 25.256, 30.567, 26.109, 23.557, 28.412, 27.116, 15.518, 22.052, 50.898, 39.268, 45.119, 21.533, 1025, 19.781, 298.04],
[234.12, 63.443, 163.89, 154.73, 110.94, 63.719, 214.32, 219.95, 28.29, 40.373, 42.089, 102.72, 72.86, 137.34, 591.41, 112.12, 305.87],
[115.61, 108.19, 226.99, 207.63, 228.89, 116.55, 212.18, 274.44, 164.18, 129.36, 238.82, 56.953, 114.38, 95.204, 664.71, 99.844, 276.97],
[134.16, 108.31, 313.67, 148.4, 101.36, 39.628, 175.46, 291.21, 69.36, 99.261, 103.85, 54.782, 99.024, 347.35, 1102.4, 350.46, 484.12],
[42.182, 30.912, 88.189, 104.76, 46.611, 20.655, 64.876, 58.402, 34.919, 28.851, 38.454, 40.464, 49.649, 167.51, 838.31, 67.853, 492.38],
[45.075, 49.231, 37.221, 32.017, 33.209, 17.453, 61.339, 66.092, 29.141, 27.802, 19.951, 65.611, 35.191, 249.87, 927.04, 284.99, 424.1],
[54.427, 60.811, 88.46, 83.163, 57.007, 22.289, 145.32, 101.28, 52.85, 52.046, 68.764, 95.923, 63.72, 410.4, 1343.5, 49.426, 97.274],
[146.06, 77.866, 122.99, 89.541, 65.338, 48.38, 220.77, 206.11, 32.344, 46.038, 46.594, 127.15, 81.559, 635.89, 1418.7, 167.46, 322.53],
[89.278, 74.198, 185.74, 77.447, 57.268, 68.635, 58.954, 76.762, 74.196, 144.29, 166.69, 105.53, 117.46, 539.95, 1826.6, 170.64, 456.17],
[170.05, 208.94, 458.47, 182.77, 177, 131.76, 305.89, 259.44, 160.41, 176.95, 195.76, 130.08, 140.77, 272.41, 1621.9, 140.2, 195.27],
[201.94, 121.52, 253.85, 171.51, 286.96, 117.25, 355.25, 272.75, 81.735, 109.71, 97.362, 169.31, 130.05, 312.36, 1663.3, 288.41, 669.63]
],
"rowJSON": {
"name": ["node358"],
"children": [{
"name": ["228592_at"]
}, {
"name": ["node357"],
"children": [{
"name": ["node350"],
"children": [{
"name": ["node335"],
"children": [{
"name": ["node275"],
"children": [{
"name": ["217179_x_at"]
}, {
"name": ["node182"],
"children": [{
"name": ["216557_x_at"]
}, {
"name": ["211641_x_at"]
}]
}]
}, {
"name": ["node290"],
"children": [{
"name": ["221286_s_at"]
}, {
"name": ["node249"],
"children": [{
"name": ["219118_at"]
}, {
"name": ["node234"],
"children": [{
"name": ["221004_s_at"]
}, {
"name": ["node174"],
"children": [{
"name": ["206641_at"]
}, {
"name": ["217258_x_at"]
}]
}]
}]
}]
}]
}, {
"name": ["node328"],
"children": [{
"name": ["224342_x_at"]
}, {
"name": ["node292"],
"children": [{
"name": ["node273"],
"children": [{
"name": ["234792_x_at"]
}, {
"name": ["223565_at"]
}]
}, {
"name": ["node184"],
"children": [{
"name": ["214777_at"]
}, {
"name": ["217378_x_at"]
}]
}]
}]
}]
}, {
"name": ["node356"],
"children": [{
"name": ["node311"],
"children": [{
"name": ["204007_at"]
}, {
"name": ["229967_at"]
}]
}, {
"name": ["node355"],
"children": [{
"name": ["223836_at"]
}, {
"name": ["node354"],
"children": [{
"name": ["node349"],
"children": [{
"name": ["201506_at"]
}, {
"name": ["node338"],
"children": [{
"name": ["node320"],
"children": [{
"name": ["205237_at"]
}, {
"name": ["node229"],
"children": [{
"name": ["204150_at"]
}, {
"name": ["38487_at"]
}]
}]
}, {
"name": ["node332"],
"children": [{
"name": ["208771_s_at"]
}, {
"name": ["node322"],
"children": [{
"name": ["219890_at"]
}, {
"name": ["node315"],
"children": [{
"name": ["202838_at"]
}, {
"name": ["node260"],
"children": [{
"name": ["212464_s_at"]
}, {
"name": ["210495_x_at"]
}]
}]
}]
}]
}]
}]
}, {
"name": ["node353"],
"children": [{
"name": ["node330"],
"children": [{
"name": ["node284"],
"children": [{
"name": ["207850_at"]
}, {
"name": ["node266"],
"children": [{
"name": ["204748_at"]
}, {
"name": ["node219"],
"children": [{
"name": ["210118_s_at"]
}, {
"name": ["204614_at"]
}]
}]
}]
}, {
"name": ["node280"],
"children": [{
"name": ["205207_at"]
}, {
"name": ["node248"],
"children": [{
"name": ["215101_s_at"]
}, {
"name": ["204470_at"]
}]
}]
}]
}, {
"name": ["node352"],
"children": [{
"name": ["node345"],
"children": [{
"name": ["node250"],
"children": [{
"name": ["217418_x_at"]
}, {
"name": ["210356_x_at"]
}]
}, {
"name": ["node337"],
"children": [{
"name": ["node317"],
"children": [{
"name": ["230877_at"]
}, {
"name": ["230245_s_at"]
}]
}, {
"name": ["node325"],
"children": [{
"name": ["node312"],
"children": [{
"name": ["node263"],
"children": [{
"name": ["243968_x_at"]
}, {
"name": ["node185"],
"children": [{
"name": ["39318_at"]
}, {
"name": ["209995_s_at"]
}]
}]
}, {
"name": ["node283"],
"children": [{
"name": ["230648_at"]
}, {
"name": ["230983_at"]
}]
}]
}, {
"name": ["node310"],
"children": [{
"name": ["node279"],
"children": [{
"name": ["227198_at"]
}, {
"name": ["228599_at"]
}]
}, {
"name": ["node256"],
"children": [{
"name": ["222891_s_at"]
}, {
"name": ["243780_at"]
}]
}]
}]
}]
}]
}, {
"name": ["node351"],
"children": [{
"name": ["node344"],
"children": [{
"name": ["node324"],
"children": [{
"name": ["node302"],
"children": [{
"name": ["226625_at"]
}, {
"name": ["node222"],
"children": [{
"name": ["230464_at"]
}, {
"name": ["205898_at"]
}]
}]
}, {
"name": ["node309"],
"children": [{
"name": ["node225"],
"children": [{
"name": ["223434_at"]
}, {
"name": ["218501_at"]
}]
}, {
"name": ["node271"],
"children": [{
"name": ["226247_at"]
}, {
"name": ["node186"],
"children": [{
"name": ["220646_s_at"]
}, {
"name": ["205171_at"]
}]
}]
}]
}]
}, {
"name": ["node331"],
"children": [{
"name": ["235643_at"]
}, {
"name": ["node316"],
"children": [{
"name": ["node300"],
"children": [{
"name": ["204070_at"]
}, {
"name": ["228531_at"]
}]
}, {
"name": ["node291"],
"children": [{
"name": ["230036_at"]
}, {
"name": ["222816_s_at"]
}]
}]
}]
}]
}, {
"name": ["node348"],
"children": [{
"name": ["node336"],
"children": [{
"name": ["node277"],
"children": [{
"name": ["204351_at"]
}, {
"name": ["205922_at"]
}]
}, {
"name": ["node306"],
"children": [{
"name": ["node173"],
"children": [{
"name": ["203435_s_at"]
}, {
"name": ["node98"],
"children": [{
"name": ["211163_s_at"]
}, {
"name": ["node50"],
"children": [{
"name": ["207094_at"]
}, {
"name": ["node29"],
"children": [{
"name": ["220005_at"]
}, {
"name": ["206222_at"]
}]
}]
}]
}]
}, {
"name": ["node251"],
"children": [{
"name": ["232629_at"]
}, {
"name": ["node206"],
"children": [{
"name": ["node161"],
"children": [{
"name": ["203591_s_at"]
}, {
"name": ["223809_at"]
}]
}, {
"name": ["node126"],
"children": [{
"name": ["234644_x_at"]
}, {
"name": ["node85"],
"children": [{
"name": ["207008_at"]
}, {
"name": ["229770_at"]
}]
}]
}]
}]
}]
}]
}, {
"name": ["node347"],
"children": [{
"name": ["node346"],
"children": [{
"name": ["node321"],
"children": [{
"name": ["node297"],
"children": [{
"name": ["node209"],
"children": [{
"name": ["node96"],
"children": [{
"name": ["207316_at"]
}, {
"name": ["206569_at"]
}]
}, {
"name": ["node130"],
"children": [{
"name": ["206421_s_at"]
}, {
"name": ["220655_at"]
}]
}]
}, {
"name": ["node278"],
"children": [{
"name": ["210511_s_at"]
}, {
"name": ["node220"],
"children": [{
"name": ["209278_s_at"]
}, {
"name": ["220322_at"]
}]
}]
}]
}, {
"name": ["node298"],
"children": [{
"name": ["node244"],
"children": [{
"name": ["219093_at"]
}, {
"name": ["221463_at"]
}]
}, {
"name": ["node261"],
"children": [{
"name": ["217767_at"]
}, {
"name": ["node181"],
"children": [{
"name": ["203645_s_at"]
}, {
"name": ["215049_x_at"]
}]
}]
}]
}]
}, {
"name": ["node343"],
"children": [{
"name": ["node333"],
"children": [{
"name": ["node274"],
"children": [{
"name": ["201348_at"]
}, {
"name": ["node240"],
"children": [{
"name": ["215784_at"]
}, {
"name": ["node175"],
"children": [{
"name": ["206749_at"]
}, {
"name": ["210325_at"]
}]
}]
}]
}, {
"name": ["node305"],
"children": [{
"name": ["node215"],
"children": [{
"name": ["214091_s_at"]
}, {
"name": ["node157"],
"children": [{
"name": ["206682_at"]
}, {
"name": ["203305_at"]
}]
}]
}, {
"name": ["node265"],
"children": [{
"name": ["node207"],
"children": [{
"name": ["218232_at"]
}, {
"name": ["node146"],
"children": [{
"name": ["208592_s_at"]
}, {
"name": ["207277_at"]
}]
}]
}, {
"name": ["node178"],
"children": [{
"name": ["node116"],
"children": [{
"name": ["207328_at"]
}, {
"name": ["node72"],
"children": [{
"name": ["204044_at"]
}, {
"name": ["210830_s_at"]
}]
}]
}, {
"name": ["node124"],
"children": [{
"name": ["201876_at"]
}, {
"name": ["223939_at"]
}]
}]
}]
}]
}]
}, {
"name": ["node340"],
"children": [{
"name": ["node314"],
"children": [{
"name": ["217757_at"]
}, {
"name": ["node289"],
"children": [{
"name": ["206407_s_at"]
}, {
"name": ["node253"],
"children": [{
"name": ["202953_at"]
}, {
"name": ["225353_s_at"]
}]
}]
}]
}, {
"name": ["node327"],
"children": [{
"name": ["node210"],
"children": [{
"name": ["202411_at"]
}, {
"name": ["node183"],
"children": [{
"name": ["237154_at"]
}, {
"name": ["node118"],
"children": [{
"name": ["201564_s_at"]
}, {
"name": ["210933_s_at"]
}]
}]
}]
}, {
"name": ["node285"],
"children": [{
"name": ["node159"],
"children": [{
"name": ["219519_s_at"]
}, {
"name": ["node119"],
"children": [{
"name": ["202357_s_at"]
}, {
"name": ["node81"],
"children": [{
"name": ["218596_at"]
}, {
"name": ["208782_at"]
}]
}]
}]
}, {
"name": ["node267"],
"children": [{
"name": ["node187"],
"children": [{
"name": ["213415_at"]
}, {
"name": ["205686_s_at"]
}]
}, {
"name": ["node245"],
"children": [{
"name": ["227970_at"]
}, {
"name": ["node221"],
"children": [{
"name": ["205890_s_at"]
}, {
"name": ["node191"],
"children": [{
"name": ["223741_s_at"]
}, {
"name": ["44696_at"]
}]
}]
}]
}]
}]
}]
}]
}]
}]
}, {
"name": ["node342"],
"children": [{
"name": ["224851_at"]
}, {
"name": ["node341"],
"children": [{
"name": ["node329"],
"children": [{
"name": ["209670_at"]
}, {
"name": ["236907_at"]
}]
}, {
"name": ["node339"],
"children": [{
"name": ["node304"],
"children": [{
"name": ["227066_at"]
}, {
"name": ["node293"],
"children": [{
"name": ["235278_at"]
}, {
"name": ["node226"],
"children": [{
"name": ["234284_at"]
}, {
"name": ["227193_at"]
}]
}]
}]
}, {
"name": ["node334"],
"children": [{
"name": ["node319"],
"children": [{
"name": ["node303"],
"children": [{
"name": ["node259"],
"children": [{
"name": ["204890_s_at"]
}, {
"name": ["node212"],
"children": [{
"name": ["206804_at"]
}, {
"name": ["227552_at"]
}]
}]
}, {
"name": ["node268"],
"children": [{
"name": ["node193"],
"children": [{
"name": ["209840_s_at"]
}, {
"name": ["207979_s_at"]
}]
}, {
"name": ["node224"],
"children": [{
"name": ["209841_s_at"]
}, {
"name": ["205758_at"]
}]
}]
}]
}, {
"name": ["node301"],
"children": [{
"name": ["node258"],
"children": [{
"name": ["225655_at"]
}, {
"name": ["224848_at"]
}]
}, {
"name": ["node287"],
"children": [{
"name": ["node241"],
"children": [{
"name": ["219836_at"]
}, {
"name": ["node199"],
"children": [{
"name": ["205266_at"]
}, {
"name": ["223229_at"]
}]
}]
}, {
"name": ["node242"],
"children": [{
"name": ["224523_s_at"]
}, {
"name": ["205133_s_at"]
}]
}]
}]
}]
}, {
"name": ["node326"],
"children": [{
"name": ["node294"],
"children": [{
"name": ["node204"],
"children": [{
"name": ["222974_at"]
}, {
"name": ["node153"],
"children": [{
"name": ["236341_at"]
}, {
"name": ["234362_s_at"]
}]
}]
}, {
"name": ["node272"],
"children": [{
"name": ["234408_at"]
}, {
"name": ["227262_at"]
}]
}]
}, {
"name": ["node323"],
"children": [{
"name": ["node296"],
"children": [{
"name": ["235213_at"]
}, {
"name": ["node276"],
"children": [{
"name": ["node217"],
"children": [{
"name": ["242904_x_at"]
}, {
"name": ["235739_at"]
}]
}, {
"name": ["node228"],
"children": [{
"name": ["node170"],
"children": [{
"name": ["240452_at"]
}, {
"name": ["227641_at"]
}]
}, {
"name": ["node201"],
"children": [{
"name": ["200664_s_at"]
}, {
"name": ["node160"],
"children": [{
"name": ["201367_s_at"]
}, {
"name": ["201369_s_at"]
}]
}]
}]
}]
}]
}, {
"name": ["node318"],
"children": [{
"name": ["node281"],
"children": [{
"name": ["219667_s_at"]
}, {
"name": ["node230"],
"children": [{
"name": ["38521_at"]
}, {
"name": ["232286_at"]
}]
}]
}, {
"name": ["node313"],
"children": [{
"name": ["node211"],
"children": [{
"name": ["216412_x_at"]
}, {
"name": ["node117"],
"children": [{
"name": ["234419_x_at"]
}, {
"name": ["233969_at"]
}]
}]
}, {
"name": ["node308"],
"children": [{
"name": ["node299"],
"children": [{
"name": ["node247"],
"children": [{
"name": ["node163"],
"children": [{
"name": ["227449_at"]
}, {
"name": ["node82"],
"children": [{
"name": ["228948_at"]
}, {
"name": ["226279_at"]
}]
}]
}, {
"name": ["node231"],
"children": [{
"name": ["212070_at"]
}, {
"name": ["node162"],
"children": [{
"name": ["204731_at"]
}, {
"name": ["node99"],
"children": [{
"name": ["236935_at"]
}, {
"name": ["225688_s_at"]
}]
}]
}]
}]
}, {
"name": ["node246"],
"children": [{
"name": ["219684_at"]
}, {
"name": ["node213"],
"children": [{
"name": ["node190"],
"children": [{
"name": ["229973_at"]
}, {
"name": ["236191_at"]
}]
}, {
"name": ["node203"],
"children": [{
"name": ["node148"],
"children": [{
"name": ["226549_at"]
}, {
"name": ["210865_at"]
}]
}, {
"name": ["node177"],
"children": [{
"name": ["230645_at"]
}, {
"name": ["210218_s_at"]
}]
}]
}]
}]
}]
}, {
"name": ["node307"],
"children": [{
"name": ["node269"],
"children": [{
"name": ["node154"],
"children": [{
"name": ["204392_at"]
}, {
"name": ["223204_at"]
}]
}, {
"name": ["node216"],
"children": [{
"name": ["node164"],
"children": [{
"name": ["201185_at"]
}, {
"name": ["node92"],
"children": [{
"name": ["206028_s_at"]
}, {
"name": ["204787_at"]
}]
}]
}, {
"name": ["node176"],
"children": [{
"name": ["node91"],
"children": [{
"name": ["213119_at"]
}, {
"name": ["208862_s_at"]
}]
}, {
"name": ["node158"],
"children": [{
"name": ["221565_s_at"]
}, {
"name": ["node102"],
"children": [{
"name": ["235751_s_at"]
}, {
"name": ["211913_s_at"]
}]
}]
}]
}]
}]
}, {
"name": ["node295"],
"children": [{
"name": ["node239"],
"children": [{
"name": ["node122"],
"children": [{
"name": ["209277_at"]
}, {
"name": ["203510_at"]
}]
}, {
"name": ["node100"],
"children": [{
"name": ["204475_at"]
}, {
"name": ["node64"],
"children": [{
"name": ["node7"],
"children": [{
"name": ["207852_at"]
}, {
"name": ["229435_at"]
}]
}, {
"name": ["node22"],
"children": [{
"name": ["207442_at"]
}, {
"name": ["204627_s_at"]
}]
}]
}]
}]
}, {
"name": ["node288"],
"children": [{
"name": ["node286"],
"children": [{
"name": ["node237"],
"children": [{
"name": ["219498_s_at"]
}, {
"name": ["node227"],
"children": [{
"name": ["node194"],
"children": [{
"name": ["204581_at"]
}, {
"name": ["235401_s_at"]
}]
}, {
"name": ["node188"],
"children": [{
"name": ["218949_s_at"]
}, {
"name": ["node168"],
"children": [{
"name": ["220068_at"]
}, {
"name": ["239655_at"]
}]
}]
}]
}]
}, {
"name": ["node255"],
"children": [{
"name": ["node235"],
"children": [{
"name": ["223241_at"]
}, {
"name": ["node156"],
"children": [{
"name": ["243052_at"]
}, {
"name": ["226274_at"]
}]
}]
}, {
"name": ["node208"],
"children": [{
"name": ["node166"],
"children": [{
"name": ["node84"],
"children": [{
"name": ["232127_at"]
}, {
"name": ["219518_s_at"]
}]
}, {
"name": ["node112"],
"children": [{
"name": ["227006_at"]
}, {
"name": ["node95"],
"children": [{
"name": ["212094_at"]
}, {
"name": ["235142_at"]
}]
}]
}]
}, {
"name": ["node149"],
"children": [{
"name": ["205933_at"]
}, {
"name": ["node134"],
"children": [{
"name": ["228231_at"]
}, {
"name": ["node86"],
"children": [{
"name": ["242468_at"]
}, {
"name": ["219517_at"]
}]
}]
}]
}]
}]
}]
}, {
"name": ["node282"],
"children": [{
"name": ["node262"],
"children": [{
"name": ["node223"],
"children": [{
"name": ["node152"],
"children": [{
"name": ["205242_at"]
}, {
"name": ["206975_at"]
}]
}, {
"name": ["node172"],
"children": [{
"name": ["node108"],
"children": [{
"name": ["223490_s_at"]
}, {
"name": ["202613_at"]
}]
}, {
"name": ["node155"],
"children": [{
"name": ["227617_at"]
}, {
"name": ["node78"],
"children": [{
"name": ["242890_at"]
}, {
"name": ["227350_at"]
}]
}]
}]
}]
}, {
"name": ["node236"],
"children": [{
"name": ["node180"],
"children": [{
"name": ["220892_s_at"]
}, {
"name": ["224801_at"]
}]
}, {
"name": ["node205"],
"children": [{
"name": ["201414_s_at"]
}, {
"name": ["node169"],
"children": [{
"name": ["205484_at"]
}, {
"name": ["226423_at"]
}]
}]
}]
}]
}, {
"name": ["node270"],
"children": [{
"name": ["node141"],
"children": [{
"name": ["218963_s_at"]
}, {
"name": ["node54"],
"children": [{
"name": ["210484_s_at"]
}, {
"name": ["node44"],
"children": [{
"name": ["203434_s_at"]
}, {
"name": ["220945_x_at"]
}]
}]
}]
}, {
"name": ["node264"],
"children": [{
"name": ["node214"],
"children": [{
"name": ["node97"],
"children": [{
"name": ["209183_s_at"]
}, {
"name": ["203680_at"]
}]
}, {
"name": ["node133"],
"children": [{
"name": ["node28"],
"children": [{
"name": ["211267_at"]
}, {
"name": ["224399_at"]
}]
}, {
"name": ["node90"],
"children": [{
"name": ["206638_at"]
}, {
"name": ["node48"],
"children": [{
"name": ["209182_s_at"]
}, {
"name": ["node8"],
"children": [{
"name": ["205226_at"]
}, {
"name": ["220049_s_at"]
}]
}]
}]
}]
}]
}, {
"name": ["node257"],
"children": [{
"name": ["node233"],
"children": [{
"name": ["node145"],
"children": [{
"name": ["node114"],
"children": [{
"name": ["node38"],
"children": [{
"name": ["236156_at"]
}, {
"name": ["226103_at"]
}]
}, {
"name": ["node73"],
"children": [{
"name": ["228577_x_at"]
}, {
"name": ["229893_at"]
}]
}]
}, {
"name": ["node137"],
"children": [{
"name": ["224973_at"]
}, {
"name": ["node105"],
"children": [{
"name": ["230926_s_at"]
}, {
"name": ["228675_at"]
}]
}]
}]
}, {
"name": ["node198"],
"children": [{
"name": ["node189"],
"children": [{
"name": ["223464_at"]
}, {
"name": ["229374_at"]
}]
}, {
"name": ["node143"],
"children": [{
"name": ["node107"],
"children": [{
"name": ["211209_x_at"]
}, {
"name": ["223126_s_at"]
}]
}, {
"name": ["node123"],
"children": [{
"name": ["node37"],
"children": [{
"name": ["233743_x_at"]
}, {
"name": ["232478_at"]
}]
}, {
"name": ["node89"],
"children": [{
"name": ["node74"],
"children": [{
"name": ["206114_at"]
}, {
"name": ["228108_at"]
}]
}, {
"name": ["node59"],
"children": [{
"name": ["219383_at"]
}, {
"name": ["243951_at"]
}]
}]
}]
}]
}]
}]
}, {
"name": ["node254"],
"children": [{
"name": ["node243"],
"children": [{
"name": ["node195"],
"children": [{
"name": ["222240_s_at"]
}, {
"name": ["node144"],
"children": [{
"name": ["node93"],
"children": [{
"name": ["203619_s_at"]
}, {
"name": ["206120_at"]
}]
}, {
"name": ["node77"],
"children": [{
"name": ["node34"],
"children": [{
"name": ["213230_at"]
}, {
"name": ["204518_s_at"]
}]
}, {
"name": ["node21"],
"children": [{
"name": ["207278_s_at"]
}, {
"name": ["node11"],
"children": [{
"name": ["219525_at"]
}, {
"name": ["237731_at"]
}]
}]
}]
}]
}]
}, {
"name": ["node232"],
"children": [{
"name": ["node132"],
"children": [{
"name": ["node71"],
"children": [{
"name": ["216766_at"]
}, {
"name": ["236820_at"]
}]
}, {
"name": ["node110"],
"children": [{
"name": ["215925_s_at"]
}, {
"name": ["239292_at"]
}]
}]
}, {
"name": ["node218"],
"children": [{
"name": ["node76"],
"children": [{
"name": ["node56"],
"children": [{
"name": ["217084_at"]
}, {
"name": ["219003_s_at"]
}]
}, {
"name": ["node15"],
"children": [{
"name": ["212097_at"]
}, {
"name": ["203065_s_at"]
}]
}]
}, {
"name": ["node202"],
"children": [{
"name": ["node113"],
"children": [{
"name": ["node65"],
"children": [{
"name": ["220085_at"]
}, {
"name": ["241682_at"]
}]
}, {
"name": ["node79"],
"children": [{
"name": ["node33"],
"children": [{
"name": ["204695_at"]
}, {
"name": ["219000_s_at"]
}]
}, {
"name": ["node61"],
"children": [{
"name": ["203270_at"]
}, {
"name": ["node43"],
"children": [{
"name": ["203967_at"]
}, {
"name": ["node31"],
"children": [{
"name": ["228671_at"]
}, {
"name": ["218529_at"]
}]
}]
}]
}]
}]
}, {
"name": ["node192"],
"children": [{
"name": ["node179"],
"children": [{
"name": ["210705_s_at"]
}, {
"name": ["node120"],
"children": [{
"name": ["223567_at"]
}, {
"name": ["node106"],
"children": [{
"name": ["node70"],
"children": [{
"name": ["209589_s_at"]
}, {
"name": ["209588_at"]
}]
}, {
"name": ["node53"],
"children": [{
"name": ["227823_at"]
}, {
"name": ["node27"],
"children": [{
"name": ["218832_x_at"]
}, {
"name": ["node18"],
"children": [{
"name": ["211165_x_at"]
}, {
"name": ["236646_at"]
}]
}]
}]
}]
}]
}]
}, {
"name": ["node165"],
"children": [{
"name": ["220421_at"]
}, {
"name": ["node142"],
"children": [{
"name": ["node140"],
"children": [{
"name": ["node57"],
"children": [{
"name": ["212062_at"]
}, {
"name": ["node40"],
"children": [{
"name": ["221417_x_at"]
}, {
"name": ["node4"],
"children": [{
"name": ["201681_s_at"]
}, {
"name": ["216050_at"]
}]
}]
}]
}, {
"name": ["node66"],
"children": [{
"name": ["242628_at"]
}, {
"name": ["node62"],
"children": [{
"name": ["227903_x_at"]
}, {
"name": ["node46"],
"children": [{
"name": ["208406_s_at"]
}, {
"name": ["node24"],
"children": [{
"name": ["234427_at"]
}, {
"name": ["234398_at"]
}]
}]
}]
}]
}]
}, {
"name": ["node131"],
"children": [{
"name": ["node121"],
"children": [{
"name": ["node26"],
"children": [{
"name": ["211642_at"]
}, {
"name": ["node3"],
"children": [{
"name": ["217217_at"]
}, {
"name": ["211835_at"]
}]
}]
}, {
"name": ["node101"],
"children": [{
"name": ["241483_at"]
}, {
"name": ["node52"],
"children": [{
"name": ["210432_s_at"]
}, {
"name": ["235460_at"]
}]
}]
}]
}, {
"name": ["node127"],
"children": [{
"name": ["220014_at"]
}, {
"name": ["node111"],
"children": [{
"name": ["node58"],
"children": [{
"name": ["243110_x_at"]
}, {
"name": ["node30"],
"children": [{
"name": ["206653_at"]
}, {
"name": ["node16"],
"children": [{
"name": ["204558_at"]
}, {
"name": ["node5"],
"children": [{
"name": ["235238_at"]
}, {
"name": ["222504_s_at"]
}]
}]
}]
}]
}, {
"name": ["node83"],
"children": [{
"name": ["node19"],
"children": [{
"name": ["234967_at"]
}, {
"name": ["node6"],
"children": [{
"name": ["232165_at"]
}, {
"name": ["227614_at"]
}]
}]
}, {
"name": ["node63"],
"children": [{
"name": ["207906_at"]
}, {
"name": ["node55"],
"children": [{
"name": ["node13"],
"children": [{
"name": ["224329_s_at"]
}, {
"name": ["230385_at"]
}]
}, {
"name": ["node47"],
"children": [{
"name": ["207336_at"]
}, {
"name": ["node41"],
"children": [{
"name": ["node9"],
"children": [{
"name": ["204760_s_at"]
}, {
"name": ["205164_at"]
}]
}, {
"name": ["node35"],
"children": [{
"name": ["209101_at"]
}, {
"name": ["node32"],
"children": [{
"name": ["node23"],
"children": [{
"name": ["220301_at"]
}, {
"name": ["node17"],
"children": [{
"name": ["207232_s_at"]
}, {
"name": ["node10"],
"children": [{
"name": ["211083_s_at"]
}, {
"name": ["209000_s_at"]
}]
}]
}]
}, {
"name": ["node25"],
"children": [{
"name": ["203571_s_at"]
}, {
"name": ["node14"],
"children": [{
"name": ["206355_at"]
}, {
"name": ["node2"],
"children": [{
"name": ["217889_s_at"]
}, {
"name": ["node1"],
"children": [{
"name": ["204457_s_at"]
}, {
"name": ["221383_at"]
}]
}]
}]
}]
}]
}]
}]
}]
}]
}]
}]
}]
}]
}]
}]
}]
}]
}]
}]
}]
}]
}, {
"name": ["node252"],
"children": [{
"name": ["node197"],
"children": [{
"name": ["node150"],
"children": [{
"name": ["230218_at"]
}, {
"name": ["node138"],
"children": [{
"name": ["206974_at"]
}, {
"name": ["node129"],
"children": [{
"name": ["219025_at"]
}, {
"name": ["node87"],
"children": [{
"name": ["215332_s_at"]
}, {
"name": ["217119_s_at"]
}]
}]
}]
}]
}, {
"name": ["node171"],
"children": [{
"name": ["node115"],
"children": [{
"name": ["227915_at"]
}, {
"name": ["233857_s_at"]
}]
}, {
"name": ["node139"],
"children": [{
"name": ["220485_s_at"]
}, {
"name": ["241871_at"]
}]
}]
}]
}, {
"name": ["node238"],
"children": [{
"name": ["node200"],
"children": [{
"name": ["node136"],
"children": [{
"name": ["221790_s_at"]
}, {
"name": ["230304_at"]
}]
}, {
"name": ["node167"],
"children": [{
"name": ["node128"],
"children": [{
"name": ["240347_at"]
}, {
"name": ["227307_at"]
}]
}, {
"name": ["node125"],
"children": [{
"name": ["204622_x_at"]
}, {
"name": ["node94"],
"children": [{
"name": ["node67"],
"children": [{
"name": ["204621_s_at"]
}, {
"name": ["node51"],
"children": [{
"name": ["226342_at"]
}, {
"name": ["233127_at"]
}]
}]
}, {
"name": ["node60"],
"children": [{
"name": ["202861_at"]
}, {
"name": ["node49"],
"children": [{
"name": ["222862_s_at"]
}, {
"name": ["node42"],
"children": [{
"name": ["215262_at"]
}, {
"name": ["node12"],
"children": [{
"name": ["226388_at"]
}, {
"name": ["231798_at"]
}]
}]
}]
}]
}]
}]
}]
}]
}, {
"name": ["node196"],
"children": [{
"name": ["node151"],
"children": [{
"name": ["node88"],
"children": [{
"name": ["232584_at"]
}, {
"name": ["231794_at"]
}]
}, {
"name": ["node135"],
"children": [{
"name": ["227984_at"]
}, {
"name": ["node104"],
"children": [{
"name": ["216901_s_at"]
}, {
"name": ["235150_at"]
}]
}]
}]
}, {
"name": ["node147"],
"children": [{
"name": ["node109"],
"children": [{
"name": ["node39"],
"children": [{
"name": ["216876_s_at"]
}, {
"name": ["226913_s_at"]
}]
}, {
"name": ["node80"],
"children": [{
"name": ["node36"],
"children": [{
"name": ["243940_at"]
}, {
"name": ["219179_at"]
}]
}, {
"name": ["node68"],
"children": [{
"name": ["211856_x_at"]
}, {
"name": ["node20"],
"children": [{
"name": ["207892_at"]
}, {
"name": ["211861_x_at"]
}]
}]
}]
}]
}, {
"name": ["node103"],
"children": [{
"name": ["node45"],
"children": [{
"name": ["208193_at"]
}, {
"name": ["224211_at"]
}]
}, {
"name": ["node75"],
"children": [{
"name": ["221331_x_at"]
}, {
"name": ["node69"],
"children": [{
"name": ["221165_s_at"]
}, {
"name": ["235616_at"]
}]
}]
}]
}]
}]
}]
}]
}]
}]
}]
}]
}]
}]
}]
}]
}]
}]
}]
}]
}]
}]
}]
}]
}]
}]
}]
}]
}]
}]
}]
}]
}]
}]
}]
},
"colJSON": {
"name": ["node16"],
"children": [{
"name": ["PC"]
}, {
"name": ["node15"],
"children": [{
"name": ["mono act"]
}, {
"name": ["node14"],
"children": [{
"name": ["neutro"]
}, {
"name": ["node13"],
"children": [{
"name": ["node7"],
"children": [{
"name": ["B"]
}, {
"name": ["node5"],
"children": [{
"name": ["B act"]
}, {
"name": ["node2"],
"children": [{
"name": ["B aIgM"]
}, {
"name": ["node1"],
"children": [{
"name": ["Mem IgG"]
}, {
"name": ["Mem IgM"]
}]
}]
}]
}]
}, {
"name": ["node12"],
"children": [{
"name": ["node11"],
"children": [{
"name": ["mono"]
}, {
"name": ["node10"],
"children": [{
"name": ["DC act"]
}, {
"name": ["DC"]
}]
}]
}, {
"name": ["node9"],
"children": [{
"name": ["node8"],
"children": [{
"name": ["NK"]
}, {
"name": ["NK act"]
}]
}, {
"name": ["node6"],
"children": [{
"name": ["Tc act"]
}, {
"name": ["node4"],
"children": [{
"name": ["Th act"]
}, {
"name": ["node3"],
"children": [{
"name": ["Tc"]
}, {
"name": ["Th"]
}]
}]
}]
}]
}]
}]
}]
}]
}]
}
}
<!DOCTYPE html>
<html>
<head>
<title>Heatmap with dendrograms</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
#d3tooltip {
position: absolute;
width: 200px;
height: auto;
padding: 10px;
background-color: #fafafa;
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
border-radius: 10px;
-webkit-box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.4);
-moz-box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.4);
box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.4);
pointer-events: none;
opacity:0;
}
#d3tooltip.hidden {
display: none;
}
#d3tooltip p {
margin: 0;
font-family: sans-serif;
font-size: 12px;
line-height: 20px;
}
rect.selection {
stroke : #333;
stroke-dasharray: 4px;
stroke-opacity : 0.5;
fill : transparent;
}
rect.cell-border {
stroke: #eee;
stroke-width:0.3px;
}
rect.cell-selected {
stroke: rgb(51,102,153);
stroke-width:0.5px;
}
rect.cell-hover {
stroke: #F00;
stroke-width:0.3px;
}
text.mono {
font-size: 9pt;
font-family: Consolas, courier;
fill: #aaa;
}
.rlink, .clink {
fill: none;
stroke: #ccc;
stroke-width: 1.5px;
}
</style>
</head>
<body>
<div id="heatmap" width="100%" height="100%" style="overflow:scroll"></div>
<div id="d3tooltip">
<p><span id="value"></p>
</div>
</body>
<script type="text/javascript" src="https://code.jquery.com/jquery-1.12.3.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.16/d3.min.js"></script>
<script type="text/javascript" src="d3-heatmap-dendro.js"></script>
<script>
$(document)
.ready(function () {
$.getJSON('data.json',
function (data) {
// params: data set, id of the parent, "middle" point
// middle point is optional, but for this data set
d3.heatmapDendro(data, "#heatmap", 5000);
}
);
});
</script>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment