Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Voxel Designer - Truss Elements"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"┌ Info: Precompiling Plots [91a5bcdd-55d7-5caf-9e0b-520d859cae80]\n",
"└ @ Base loading.jl:1278\n",
"┌ Info: Precompiling NLopt [76087f3c-5699-56af-9a33-bf431cd00edd]\n",
"└ @ Base loading.jl:1278\n"
]
}
],
"source": [
"using Plots\n",
"using LinearAlgebra\n",
"using NLopt\n",
"import JSON\n",
"using SparseArrays\n",
"using StaticArrays, BenchmarkTools\n",
"using Statistics"
]
},
{
"cell_type": "code",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"simulateAndExport (generic function with 1 method)"
]
},
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"include(\"./julia/FEM_truss.jl\")\n",
"include(\"./julia/compliant_mechanisms.jl\")"
]
},
{
"cell_type": "code",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"complianMechanismOptimization (generic function with 6 methods)"
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"function complianMechanismOptimization(fileName,scale,dmax,amax,maxeval=500,SIMP=false,threshold=0.25,exageration=100.0,save=true)\n",
" \n",
" setup = getSetup(\"json/$(fileName)\")\n",
" E,f,g,idb,ien,ndf,nel,nen,nnp,nsd,xn,len,Ke,Te,Ls=getDataFromSetup3D(setup,scale);\n",
" problem=E,f,g,idb,ien,ndf,nel,nen,nnp,nsd,xn,len,Ke,Te;\n",
" \n",
" ##todo change based on hinge\n",
"# free=map(node -> !node[\"restrained_degrees_of_freedom\"][1], setup[\"nodes\"])\n",
" free=map(node ->map(deg -> !deg, node[\"restrained_degrees_of_freedom\"]), setup[\"nodes\"])\n",
" free=reshape(collect(Iterators.flatten(free)),(6,size(Ls[1])[2]))[1:3,:]\n",
"\n",
" nel=length(setup[\"edges\"])\n",
" X=ones(nel)\n",
" K,F,d,stress,dcomp,g=FEM_truss(problem,X);\n",
" display(\"Original Domain:\")\n",
" display(plotTruss3D(problem,X,1.0))\n",
" display(\"Optimization Details:\")\n",
" \n",
" X=optimizeCompliantMechanism(problem,Ls,free,dmax,amax,maxeval,SIMP)\n",
" display(plotTruss3D(problem,X,1.0))\n",
" display(\"Final Design:\")\n",
" display(\"max:$(maximum(X)), min:$(minimum(X))\")\n",
" display(plotTrussDeformed3D(problem,copy(X),scale,threshold,exageration))\n",
" \n",
" if(save)\n",
" K,F,d,stress,dcomp,g=FEM_truss(problem,X);\n",
" simulateAndExport(setup,X,dcomp,\"json/result_$(fileName)\",threshold)\n",
" end\n",
"\n",
" return X\n",
" \n",
"end"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Regular/positive Poisson"
]
},
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"\"Original Domain:\""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/svg+xml": [
"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n",
"<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"600\" height=\"400\" viewBox=\"0 0 2400 1600\">\n",
"<defs>\n",
" <rect x=\"0\" y=\"0\" width=\"2400\" height=\"1600\"/>\n",
" </clipPath>\n",
"</defs>\n",
"<path clip-path=\"url(#clip8600)\" d=\"\n",
"M0 1600 L2400 1600 L2400 0 L0 0 Z\n",
" \" fill=\"#ffffff\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<defs>\n",
" <rect x=\"480\" y=\"0\" width=\"1681\" height=\"1600\"/>\n",
" </clipPath>\n",
"</defs>\n",
"<defs>\n",
" <rect x=\"86\" y=\"47\" width=\"2267\" height=\"1475\"/>\n",
" </clipPath>\n",
"</defs>\n",
"<path clip-path=\"url(#clip8602)\" d=\"\n",
"M86.9921 1433.95 L86.9921 308.423 L916.319 47.2441 L2352.76 134.304 L2352.76 1259.83 L1523.43 1521.01 L86.9921 1433.95 Z\n",
" \" fill=\"#ffffff\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip8600)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 86.9921,1433.95 1523.43,1521.01 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip8600)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1523.43,1521.01 2352.76,1259.83 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip8600)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 86.9921,1433.95 86.9921,308.423 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3800c6; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 387.961,1411.52 387.961,1146.07 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3300cb; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 387.961,1411.52 828.682,1438.23 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3400ca; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 387.961,1411.52 828.682,1172.78 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3300cb; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 387.961,1411.52 779.153,1288.32 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3400ca; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 387.961,1411.52 779.153,1022.87 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3b00c3; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 387.961,1411.52 1219.87,1315.03 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3000ce; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 387.961,1411.52 1219.87,1049.58 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3b00c3; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 779.153,1288.32 779.153,1022.87 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3400ca; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 779.153,1288.32 1219.87,1315.03 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3700c7; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 779.153,1288.32 1219.87,1049.58 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3c00c2; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 779.153,1288.32 1170.34,1165.13 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#2400da; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 779.153,1288.32 1170.34,899.671 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3c00c2; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 779.153,1288.32 1611.07,1191.84 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3100cd; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 779.153,1288.32 1611.07,926.382 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#ea0014; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1170.34,1165.13 1170.34,899.671 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3d00c1; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1170.34,1165.13 1611.07,1191.84 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#9c0062; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1170.34,1165.13 1611.07,926.382 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#4000be; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 387.961,1146.07 387.961,880.612 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3900c5; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 387.961,1146.07 828.682,1172.78 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3900c5; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 387.961,1146.07 828.682,907.324 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3b00c3; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 387.961,1146.07 828.682,1438.23 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3900c5; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 387.961,1146.07 779.153,1022.87 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3900c5; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 387.961,1146.07 779.153,757.415 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#2700d7; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 387.961,1146.07 1219.87,1049.58 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3b00c3; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 387.961,1146.07 779.153,1288.32 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#2f00cf; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 387.961,1146.07 1219.87,784.126 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3800c6; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 387.961,1146.07 1219.87,1315.03 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#5d00a1; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 779.153,1022.87 779.153,757.415 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#2d00d1; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 779.153,1022.87 1219.87,1049.58 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#4400ba; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 779.153,1022.87 1219.87,784.126 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3500c9; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 779.153,1022.87 1219.87,1315.03 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#1e00e0; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 779.153,1022.87 1170.34,899.671 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3d00c1; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 779.153,1022.87 1170.34,634.217 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#1c00e2; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 779.153,1022.87 1611.07,926.382 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#9c0062; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 779.153,1022.87 1170.34,1165.13 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3200cc; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 779.153,1022.87 1611.07,660.928 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3000ce; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 779.153,1022.87 1611.07,1191.84 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#8c0072; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1170.34,899.671 1170.34,634.217 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#2200dc; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1170.34,899.671 1611.07,926.382 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#5700a7; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1170.34,899.671 1611.07,660.928 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#2600d8; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1170.34,899.671 1611.07,1191.84 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#4000be; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 387.961,880.612 387.961,615.158 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#2a00d4; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 387.961,880.612 828.682,907.324 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#4900b5; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 387.961,880.612 828.682,641.87 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#4700b7; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 387.961,880.612 828.682,1172.78 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#2a00d4; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 387.961,880.612 779.153,757.415 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#4900b5; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 387.961,880.612 779.153,491.961 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#2000de; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 387.961,880.612 1219.87,784.126 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#4700b7; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 387.961,880.612 779.153,1022.87 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3200cc; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 387.961,880.612 1219.87,518.672 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3500c9; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 387.961,880.612 1219.87,1049.58 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#60009e; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 779.153,757.415 779.153,491.961 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#2700d7; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 779.153,757.415 1219.87,784.126 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#4000be; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 779.153,757.415 1219.87,518.672 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#4300bb; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 779.153,757.415 1219.87,1049.58 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#2200dc; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 779.153,757.415 1170.34,634.217 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#5a00a4; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 779.153,757.415 1170.34,368.763 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#1e00e0; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 779.153,757.415 1611.07,660.928 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#5700a7; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 779.153,757.415 1170.34,899.671 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#2f00cf; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 779.153,757.415 1611.07,395.474 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3300cb; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 779.153,757.415 1611.07,926.382 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#93006b; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1170.34,634.217 1170.34,368.763 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#2400da; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1170.34,634.217 1611.07,660.928 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3b00c3; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1170.34,634.217 1611.07,395.474 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3f00bf; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1170.34,634.217 1611.07,926.382 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3800c6; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 387.961,615.158 387.961,349.704 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3900c5; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 387.961,615.158 828.682,641.87 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3b00c3; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 387.961,615.158 828.682,376.416 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3900c5; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 387.961,615.158 828.682,907.324 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3900c5; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 387.961,615.158 779.153,491.961 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3b00c3; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 387.961,615.158 779.153,226.507 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#2600d8; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 387.961,615.158 1219.87,518.672 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3900c5; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 387.961,615.158 779.153,757.415 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3800c6; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 387.961,615.158 1219.87,253.218 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3000ce; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 387.961,615.158 1219.87,784.126 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3c00c2; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 779.153,491.961 779.153,226.507 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#2c00d2; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 779.153,491.961 1219.87,518.672 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3400ca; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 779.153,491.961 1219.87,253.218 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#4800b6; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 779.153,491.961 1219.87,784.126 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#1700e7; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 779.153,491.961 1170.34,368.763 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#a4005a; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 779.153,491.961 1170.34,103.309 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#1a00e4; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 779.153,491.961 1611.07,395.474 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3c00c2; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 779.153,491.961 1170.34,634.217 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3300cb; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 779.153,491.961 1611.07,130.02 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3400ca; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 779.153,491.961 1611.07,660.928 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#ff0000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1170.34,368.763 1170.34,103.309 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#2100dd; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1170.34,368.763 1611.07,395.474 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#2a00d4; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1170.34,368.763 1611.07,130.02 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#5e00a0; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1170.34,368.763 1611.07,660.928 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3100cd; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 387.961,349.704 828.682,376.416 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3400ca; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 387.961,349.704 828.682,641.87 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3100cd; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 387.961,349.704 779.153,226.507 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3d00c1; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 387.961,349.704 1219.87,253.218 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3400ca; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 387.961,349.704 779.153,491.961 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3300cb; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 387.961,349.704 1219.87,518.672 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3200cc; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 779.153,226.507 1219.87,253.218 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3b00c3; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 779.153,226.507 1219.87,518.672 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3200cc; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 779.153,226.507 1170.34,103.309 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#4200bc; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 779.153,226.507 1611.07,130.02 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#1e00e0; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 779.153,226.507 1170.34,368.763 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3500c9; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 779.153,226.507 1611.07,395.474 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#0000ff; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1170.34,103.309 1611.07,130.02 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#870077; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1170.34,103.309 1611.07,395.474 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3b00c3; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 828.682,1438.23 828.682,1172.78 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3c00c2; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 828.682,1438.23 1269.4,1464.94 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#2400da; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 828.682,1438.23 1269.4,1199.49 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3400ca; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 828.682,1438.23 1219.87,1315.03 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3700c7; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 828.682,1438.23 1219.87,1049.58 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3c00c2; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 828.682,1438.23 1660.6,1341.75 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#2c00d2; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 828.682,1438.23 779.153,1288.32 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3100cd; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 828.682,1438.23 1660.6,1076.29 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3700c7; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 828.682,1438.23 779.153,1022.87 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3d00c1; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1219.87,1315.03 1219.87,1049.58 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3400ca; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1219.87,1315.03 1660.6,1341.75 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3700c7; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1219.87,1315.03 1660.6,1076.29 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3400ca; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1219.87,1315.03 1611.07,1191.84 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3700c7; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1219.87,1315.03 1611.07,926.382 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3b00c3; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1219.87,1315.03 2051.79,1218.55 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3500c9; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1219.87,1315.03 1170.34,1165.13 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3700c7; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1219.87,1315.03 2051.79,953.094 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#2800d6; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1219.87,1315.03 1170.34,899.671 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3a00c4; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1611.07,1191.84 1611.07,926.382 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3300cb; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1611.07,1191.84 2051.79,1218.55 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3b00c3; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1611.07,1191.84 2051.79,953.094 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#5d00a1; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 828.682,1172.78 828.682,907.324 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#1e00e0; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 828.682,1172.78 1269.4,1199.49 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3d00c1; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 828.682,1172.78 1269.4,934.035 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#9c0062; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 828.682,1172.78 1269.4,1464.94 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#2d00d1; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 828.682,1172.78 1219.87,1049.58 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#4400ba; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 828.682,1172.78 1219.87,784.126 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#1c00e2; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 828.682,1172.78 1660.6,1076.29 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3500c9; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 828.682,1172.78 1219.87,1315.03 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3f00bf; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 828.682,1172.78 779.153,1022.87 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3200cc; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 828.682,1172.78 1660.6,810.837 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3700c7; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 828.682,1172.78 779.153,1288.32 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3000ce; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 828.682,1172.78 1660.6,1341.75 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#4500b9; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 828.682,1172.78 779.153,757.415 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#5d00a1; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1219.87,1049.58 1219.87,784.126 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3000ce; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1219.87,1049.58 1660.6,1076.29 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#4400ba; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1219.87,1049.58 1660.6,810.837 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3600c8; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1219.87,1049.58 1660.6,1341.75 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3000ce; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1219.87,1049.58 1611.07,926.382 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#4400ba; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1219.87,1049.58 1611.07,660.928 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#2600d8; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1219.87,1049.58 2051.79,953.094 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3600c8; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1219.87,1049.58 1611.07,1191.84 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3200cc; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1219.87,1049.58 1170.34,899.671 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3300cb; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1219.87,1049.58 2051.79,687.64 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#7f007f; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1219.87,1049.58 1170.34,1165.13 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3000ce; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1219.87,1049.58 2051.79,1218.55 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#4000be; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1219.87,1049.58 1170.34,634.217 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#5c00a2; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1611.07,926.382 1611.07,660.928 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3900c5; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1611.07,926.382 2051.79,953.094 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#4600b8; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1611.07,926.382 2051.79,687.64 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3500c9; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1611.07,926.382 2051.79,1218.55 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#60009e; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 828.682,907.324 828.682,641.87 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#2200dc; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 828.682,907.324 1269.4,934.035 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#5a00a4; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 828.682,907.324 1269.4,668.581 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#5700a7; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 828.682,907.324 1269.4,1199.49 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#2700d7; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 828.682,907.324 1219.87,784.126 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#4000be; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 828.682,907.324 1219.87,518.672 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#1e00e0; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 828.682,907.324 1660.6,810.837 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#4300bb; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 828.682,907.324 1219.87,1049.58 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3100cd; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 828.682,907.324 779.153,757.415 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#2f00cf; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 828.682,907.324 1660.6,545.383 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#4500b9; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 828.682,907.324 779.153,1022.87 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3300cb; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 828.682,907.324 1660.6,1076.29 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#4500b9; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 828.682,907.324 779.153,491.961 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#5c00a2; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1219.87,784.126 1219.87,518.672 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#2c00d2; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1219.87,784.126 1660.6,810.837 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#4100bd; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1219.87,784.126 1660.6,545.383 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#4600b8; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1219.87,784.126 1660.6,1076.29 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#2c00d2; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1219.87,784.126 1611.07,660.928 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#4100bd; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1219.87,784.126 1611.07,395.474 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#2000de; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1219.87,784.126 2051.79,687.64 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#4600b8; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1219.87,784.126 1611.07,926.382 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#2e00d0; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1219.87,784.126 1170.34,634.217 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#2e00d0; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1219.87,784.126 2051.79,422.186 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#4e00b0; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1219.87,784.126 1170.34,899.671 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#2f00cf; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1219.87,784.126 2051.79,953.094 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#5000ae; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1219.87,784.126 1170.34,368.763 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#5a00a4; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1611.07,660.928 1611.07,395.474 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#2c00d2; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1611.07,660.928 2051.79,687.64 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3700c7; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1611.07,660.928 2051.79,422.186 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3a00c4; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1611.07,660.928 2051.79,953.094 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3c00c2; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 828.682,641.87 828.682,376.416 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#1700e7; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 828.682,641.87 1269.4,668.581 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#a4005a; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 828.682,641.87 1269.4,403.127 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3c00c2; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 828.682,641.87 1269.4,934.035 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#2c00d2; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 828.682,641.87 1219.87,518.672 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3400ca; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 828.682,641.87 1219.87,253.218 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#1a00e4; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 828.682,641.87 1660.6,545.383 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#4800b6; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 828.682,641.87 1219.87,784.126 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3e00c0; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 828.682,641.87 779.153,491.961 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3300cb; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 828.682,641.87 1660.6,279.929 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#4500b9; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 828.682,641.87 779.153,757.415 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3400ca; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 828.682,641.87 1660.6,810.837 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3500c9; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 828.682,641.87 779.153,226.507 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#4400ba; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1219.87,518.672 1219.87,253.218 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#2900d5; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1219.87,518.672 1660.6,545.383 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3300cb; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1219.87,518.672 1660.6,279.929 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#4400ba; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1219.87,518.672 1660.6,810.837 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#2900d5; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1219.87,518.672 1611.07,395.474 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3300cb; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1219.87,518.672 1611.07,130.02 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#2a00d4; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1219.87,518.672 2051.79,422.186 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#4400ba; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1219.87,518.672 1611.07,660.928 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#2c00d2; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1219.87,518.672 1170.34,368.763 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3600c8; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1219.87,518.672 2051.79,156.732 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3b00c3; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1219.87,518.672 1170.34,634.217 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3500c9; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1219.87,518.672 2051.79,687.64 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#6b0093; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1219.87,518.672 1170.34,103.309 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#4300bb; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1611.07,395.474 1611.07,130.02 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3800c6; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1611.07,395.474 2051.79,422.186 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3500c9; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1611.07,395.474 2051.79,156.732 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#4600b8; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1611.07,395.474 2051.79,687.64 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3200cc; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 828.682,376.416 1269.4,403.127 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#1e00e0; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 828.682,376.416 1269.4,668.581 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3200cc; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 828.682,376.416 1219.87,253.218 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#4200bc; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 828.682,376.416 1660.6,279.929 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3b00c3; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 828.682,376.416 1219.87,518.672 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#2600d8; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 828.682,376.416 779.153,226.507 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3500c9; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 828.682,376.416 779.153,491.961 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3500c9; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 828.682,376.416 1660.6,545.383 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#2500d9; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1219.87,253.218 1660.6,279.929 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3700c7; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1219.87,253.218 1660.6,545.383 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#2500d9; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1219.87,253.218 1611.07,130.02 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#4800b6; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1219.87,253.218 2051.79,156.732 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3700c7; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1219.87,253.218 1611.07,395.474 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#0200fc; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1219.87,253.218 1170.34,103.309 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#2000de; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1219.87,253.218 1170.34,368.763 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3e00c0; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1219.87,253.218 2051.79,422.186 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#2700d7; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1611.07,130.02 2051.79,156.732 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3700c7; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1611.07,130.02 2051.79,422.186 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#ea0014; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1269.4,1464.94 1269.4,1199.49 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3d00c1; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1269.4,1464.94 1660.6,1341.75 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#9c0062; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1269.4,1464.94 1660.6,1076.29 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3500c9; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1269.4,1464.94 1219.87,1315.03 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#7f007f; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1269.4,1464.94 1219.87,1049.58 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3a00c4; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1660.6,1341.75 1660.6,1076.29 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3300cb; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1660.6,1341.75 2051.79,1218.55 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3b00c3; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1660.6,1341.75 2051.79,953.094 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#2d00d1; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1660.6,1341.75 1611.07,1191.84 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3900c5; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1660.6,1341.75 1611.07,926.382 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3800c6; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 2051.79,1218.55 2051.79,953.094 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#8c0072; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1269.4,1199.49 1269.4,934.035 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#2200dc; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1269.4,1199.49 1660.6,1076.29 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#5700a7; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1269.4,1199.49 1660.6,810.837 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#2600d8; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1269.4,1199.49 1660.6,1341.75 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3200cc; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1269.4,1199.49 1219.87,1049.58 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#2800d6; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1269.4,1199.49 1219.87,1315.03 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#4e00b0; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1269.4,1199.49 1219.87,784.126 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#5c00a2; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1660.6,1076.29 1660.6,810.837 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3900c5; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1660.6,1076.29 2051.79,953.094 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#4600b8; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1660.6,1076.29 2051.79,687.64 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3500c9; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1660.6,1076.29 2051.79,1218.55 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#4300bb; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1660.6,1076.29 1611.07,926.382 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3900c5; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1660.6,1076.29 1611.07,1191.84 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#4800b6; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1660.6,1076.29 1611.07,660.928 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3e00c0; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 2051.79,953.094 2051.79,687.64 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#93006b; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1269.4,934.035 1269.4,668.581 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#2400da; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1269.4,934.035 1660.6,810.837 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3b00c3; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1269.4,934.035 1660.6,545.383 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3f00bf; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1269.4,934.035 1660.6,1076.29 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#2e00d0; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1269.4,934.035 1219.87,784.126 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#4000be; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1269.4,934.035 1219.87,1049.58 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3b00c3; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1269.4,934.035 1219.87,518.672 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#5a00a4; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1660.6,810.837 1660.6,545.383 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#2c00d2; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1660.6,810.837 2051.79,687.64 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3700c7; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1660.6,810.837 2051.79,422.186 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3a00c4; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1660.6,810.837 2051.79,953.094 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3900c5; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1660.6,810.837 1611.07,660.928 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#4800b6; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1660.6,810.837 1611.07,926.382 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#4300bb; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1660.6,810.837 1611.07,395.474 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#3c00c2; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 2051.79,687.64 2051.79,422.186 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#fe0000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1269.4,668.581 1269.4,403.127 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#2100dd; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1269.4,668.581 1660.6,545.383 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#2a00d4; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1269.4,668.581 1660.6,279.929 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#5e00a0; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1269.4,668.581 1660.6,810.837 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#2c00d2; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1269.4,668.581 1219.87,518.672 \n",
"<polyline clip-path=\"url(#clip8602)\" style=\"stroke:#5000ae; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1269.4,668.581 1219.87,784.126 \n",