vector_salad 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +16 -0
  3. data/Gemfile +9 -0
  4. data/LICENSE.txt +22 -0
  5. data/README.md +89 -0
  6. data/Rakefile +2 -0
  7. data/bin/vector_salad +72 -0
  8. data/examples/birthday.png +0 -0
  9. data/examples/birthday.rb +45 -0
  10. data/examples/birthday.svg +630 -0
  11. data/examples/boolean_operations.png +0 -0
  12. data/examples/boolean_operations.rb +23 -0
  13. data/examples/boolean_operations.svg +151 -0
  14. data/examples/bp_logo.png +0 -0
  15. data/examples/bp_logo.rb +18 -0
  16. data/examples/bp_logo.svg +25 -0
  17. data/examples/bunny_card.png +0 -0
  18. data/examples/bunny_card.rb +219 -0
  19. data/examples/bunny_card.svg +134 -0
  20. data/examples/chill.png +0 -0
  21. data/examples/chill.rb +16 -0
  22. data/examples/chill.svg +86 -0
  23. data/examples/circle_line_segments.png +0 -0
  24. data/examples/circle_line_segments.rb +11 -0
  25. data/examples/circle_line_segments.svg +28 -0
  26. data/examples/circles.png +0 -0
  27. data/examples/circles.rb +14 -0
  28. data/examples/circles.svg +11 -0
  29. data/examples/clip_operations.png +0 -0
  30. data/examples/clip_operations.rb +14 -0
  31. data/examples/clip_operations.svg +8 -0
  32. data/examples/cog_menu.png +0 -0
  33. data/examples/cog_menu.rb +32 -0
  34. data/examples/cog_menu.svg +37 -0
  35. data/examples/cubic_bezier_handles.png +0 -0
  36. data/examples/cubic_bezier_handles.rb +21 -0
  37. data/examples/cubic_bezier_handles.svg +14 -0
  38. data/examples/cubic_circle.png +0 -0
  39. data/examples/cubic_circle.rb +26 -0
  40. data/examples/cubic_circle.svg +29 -0
  41. data/examples/face.png +0 -0
  42. data/examples/face.rb +4 -0
  43. data/examples/face.svg +10 -0
  44. data/examples/flower.png +0 -0
  45. data/examples/flower.rb +23 -0
  46. data/examples/flower.svg +207 -0
  47. data/examples/fox.png +0 -0
  48. data/examples/fox.rb +110 -0
  49. data/examples/fox.svg +31 -0
  50. data/examples/fresh_vector_salad_gui.png +0 -0
  51. data/examples/galaxies.png +0 -0
  52. data/examples/galaxies.rb +60 -0
  53. data/examples/galaxies.svg +5806 -0
  54. data/examples/gold_stars.png +0 -0
  55. data/examples/gold_stars.rb +9 -0
  56. data/examples/gold_stars.svg +12 -0
  57. data/examples/paths.png +0 -0
  58. data/examples/paths.rb +87 -0
  59. data/examples/paths.svg +13 -0
  60. data/examples/pepsi_logo.png +0 -0
  61. data/examples/pepsi_logo.rb +21 -0
  62. data/examples/pepsi_logo.svg +10 -0
  63. data/examples/polygons.png +0 -0
  64. data/examples/polygons.rb +9 -0
  65. data/examples/polygons.svg +13 -0
  66. data/examples/quadratic_bezier_handle.png +0 -0
  67. data/examples/quadratic_bezier_handle.rb +18 -0
  68. data/examples/quadratic_bezier_handle.svg +13 -0
  69. data/examples/rects.png +0 -0
  70. data/examples/rects.rb +10 -0
  71. data/examples/rects.svg +11 -0
  72. data/examples/simple_path.png +0 -0
  73. data/examples/simple_path.rb +29 -0
  74. data/examples/simple_path.svg +8 -0
  75. data/examples/space.png +0 -0
  76. data/examples/space.rb +171 -0
  77. data/examples/space.svg +46453 -0
  78. data/examples/spiro_nodes.png +0 -0
  79. data/examples/spiro_nodes.rb +20 -0
  80. data/examples/spiro_nodes.svg +13 -0
  81. data/examples/squares.png +0 -0
  82. data/examples/squares.rb +14 -0
  83. data/examples/squares.svg +11 -0
  84. data/examples/stars.png +0 -0
  85. data/examples/stars.rb +3 -0
  86. data/examples/stars.svg +30006 -0
  87. data/examples/transforms.png +0 -0
  88. data/examples/transforms.rb +58 -0
  89. data/examples/transforms.svg +121 -0
  90. data/examples/triangles.png +0 -0
  91. data/examples/triangles.rb +8 -0
  92. data/examples/triangles.svg +9 -0
  93. data/lib/contracts_contracts.rb +32 -0
  94. data/lib/vector_salad.rb +5 -0
  95. data/lib/vector_salad/canvas.rb +27 -0
  96. data/lib/vector_salad/dsl.rb +41 -0
  97. data/lib/vector_salad/export_with_magic.rb +29 -0
  98. data/lib/vector_salad/exporters/base_exporter.rb +92 -0
  99. data/lib/vector_salad/exporters/svg_exporter.rb +174 -0
  100. data/lib/vector_salad/interpolate.rb +57 -0
  101. data/lib/vector_salad/magic.rb +17 -0
  102. data/lib/vector_salad/mixins/at.rb +28 -0
  103. data/lib/vector_salad/shape_proxy.rb +14 -0
  104. data/lib/vector_salad/standard_shapes/basic_shape.rb +29 -0
  105. data/lib/vector_salad/standard_shapes/circle.rb +64 -0
  106. data/lib/vector_salad/standard_shapes/clip.rb +51 -0
  107. data/lib/vector_salad/standard_shapes/custom.rb +28 -0
  108. data/lib/vector_salad/standard_shapes/difference.rb +28 -0
  109. data/lib/vector_salad/standard_shapes/exclusion.rb +28 -0
  110. data/lib/vector_salad/standard_shapes/flip.rb +24 -0
  111. data/lib/vector_salad/standard_shapes/hexagon.rb +15 -0
  112. data/lib/vector_salad/standard_shapes/intersection.rb +28 -0
  113. data/lib/vector_salad/standard_shapes/iso_tri.rb +39 -0
  114. data/lib/vector_salad/standard_shapes/jitter.rb +33 -0
  115. data/lib/vector_salad/standard_shapes/move.rb +24 -0
  116. data/lib/vector_salad/standard_shapes/multi_path.rb +82 -0
  117. data/lib/vector_salad/standard_shapes/n.rb +112 -0
  118. data/lib/vector_salad/standard_shapes/oval.rb +51 -0
  119. data/lib/vector_salad/standard_shapes/path.rb +249 -0
  120. data/lib/vector_salad/standard_shapes/pentagon.rb +15 -0
  121. data/lib/vector_salad/standard_shapes/polygon.rb +37 -0
  122. data/lib/vector_salad/standard_shapes/rect.rb +34 -0
  123. data/lib/vector_salad/standard_shapes/rotate.rb +24 -0
  124. data/lib/vector_salad/standard_shapes/scale.rb +34 -0
  125. data/lib/vector_salad/standard_shapes/square.rb +34 -0
  126. data/lib/vector_salad/standard_shapes/transform.rb +20 -0
  127. data/lib/vector_salad/standard_shapes/triangle.rb +15 -0
  128. data/lib/vector_salad/standard_shapes/union.rb +28 -0
  129. data/lib/vector_salad/version.rb +3 -0
  130. data/vector_salad.gemspec +34 -0
  131. metadata +262 -0
@@ -0,0 +1,14 @@
1
+ <svg version="1.1"
2
+ xmlns="http://www.w3.org/2000/svg"
3
+ width="400"
4
+ height="300">
5
+
6
+ <rect x="0" y="0" width="400" height="300" fill="none"/>
7
+ <path d="M 20 280 C 150 100, 350 50, 380 280" fill="red" stroke="black" stroke-width="4"/>
8
+ <path d="M 20 280 L 150 100" stroke="blue" stroke-width="2"/>
9
+ <circle cx="150" cy="100" r="4" fill="blue"/>
10
+ <path d="M 380 280 L 350 50" stroke="blue" stroke-width="2"/>
11
+ <circle cx="350" cy="50" r="4" fill="blue"/>
12
+ <circle cx="20" cy="280" r="4" fill="green"/>
13
+ <circle cx="380" cy="280" r="4" fill="green"/>
14
+ </svg>
Binary file
@@ -0,0 +1,26 @@
1
+ square(240, fill: :none)
2
+
3
+ cubic = Circle.new(100,
4
+ fill: :red,
5
+ stroke: :black,
6
+ stroke_width: 4
7
+ )[120, 120]
8
+ canvas << cubic
9
+
10
+ handle = []
11
+ nodes = cubic.to_path.nodes
12
+ (nodes + [nodes[0]]).each do |node|
13
+ if handle.size == 2
14
+ path(*handle.map(&:at), stroke: :blue, stroke_width: 2)
15
+ handle = handle[1..1]
16
+ end
17
+ if handle.size == 1 && handle[0].type == :cubic && node.type == :cubic
18
+ handle = []
19
+ end
20
+ handle << node.clone
21
+ end
22
+
23
+ nodes.each do |node|
24
+ color = node.type == :node ? :green : :blue
25
+ circle(4, fill: color)[*node.at]
26
+ end
@@ -0,0 +1,29 @@
1
+ <svg version="1.1"
2
+ xmlns="http://www.w3.org/2000/svg"
3
+ width="240"
4
+ height="240">
5
+
6
+ <rect x="0" y="0" width="240" height="240" fill="none"/>
7
+ <circle cx="120" cy="120" r="100" fill="red" stroke="black" stroke-width="4"/>
8
+ <path d="M 220 120 L 220 175.1915024494 Z" stroke="blue" stroke-width="2"/>
9
+ <path d="M 175.1915024494 220 L 120 220 Z" stroke="blue" stroke-width="2"/>
10
+ <path d="M 120 220 L 64.80849755060001 220 Z" stroke="blue" stroke-width="2"/>
11
+ <path d="M 20 175.1915024494 L 20 120 Z" stroke="blue" stroke-width="2"/>
12
+ <path d="M 20 120 L 20 64.80849755060001 Z" stroke="blue" stroke-width="2"/>
13
+ <path d="M 64.80849755060001 20 L 120 20 Z" stroke="blue" stroke-width="2"/>
14
+ <path d="M 120 20 L 175.1915024494 20 Z" stroke="blue" stroke-width="2"/>
15
+ <path d="M 220 64.80849755060001 L 220 120 Z" stroke="blue" stroke-width="2"/>
16
+ <circle cx="220" cy="120" r="4" fill="green"/>
17
+ <circle cx="220" cy="175.1915024494" r="4" fill="blue"/>
18
+ <circle cx="175.1915024494" cy="220" r="4" fill="blue"/>
19
+ <circle cx="120" cy="220" r="4" fill="green"/>
20
+ <circle cx="64.80849755060001" cy="220" r="4" fill="blue"/>
21
+ <circle cx="20" cy="175.1915024494" r="4" fill="blue"/>
22
+ <circle cx="20" cy="120" r="4" fill="green"/>
23
+ <circle cx="20" cy="64.80849755060001" r="4" fill="blue"/>
24
+ <circle cx="64.80849755060001" cy="20" r="4" fill="blue"/>
25
+ <circle cx="120" cy="20" r="4" fill="green"/>
26
+ <circle cx="175.1915024494" cy="20" r="4" fill="blue"/>
27
+ <circle cx="220" cy="64.80849755060001" r="4" fill="blue"/>
28
+ <circle cx="220" cy="120" r="4" fill="green"/>
29
+ </svg>
data/examples/face.png ADDED
Binary file
data/examples/face.rb ADDED
@@ -0,0 +1,4 @@
1
+ oval(80, 100, fill: "pink")[200, 200]
2
+ oval(8, 6, fill: "darkgreen")[170, 200]
3
+ oval(8, 5, fill: "brown")[230, 200]
4
+ oval(70, 40, fill: "fuchsia")[200, 140]
data/examples/face.svg ADDED
@@ -0,0 +1,10 @@
1
+ <svg version="1.1"
2
+ xmlns="http://www.w3.org/2000/svg"
3
+ width="280"
4
+ height="300">
5
+
6
+ <ellipse cx="200" cy="200" rx="80" ry="100" fill="pink"/>
7
+ <ellipse cx="170" cy="200" rx="8" ry="6" fill="darkgreen"/>
8
+ <ellipse cx="230" cy="200" rx="8" ry="5" fill="brown"/>
9
+ <ellipse cx="200" cy="140" rx="70" ry="40" fill="fuchsia"/>
10
+ </svg>
Binary file
@@ -0,0 +1,23 @@
1
+ def petal(size, **options)
2
+ path(
3
+ N.n(0, 0),
4
+ N.s(-size / 10.0, size / 2.0),
5
+ N.n(0, size),
6
+ N.s(size / 10.0, size / 2.0),
7
+ **options
8
+ )
9
+ end
10
+
11
+ square(600, fill: "rgb(25, 0, 45)") # background
12
+
13
+ (layers = 8).times do |layer|
14
+ (repeats = 25).times do |repeat|
15
+ red = 25 + (230.0 / layers * (layer + 1)) # linear
16
+ blue = 75 + (180.0 / (layers**2) * ((layer + 1)**2)) # exponential
17
+ angle = 360.0 / repeats
18
+ twist = angle / 2.0
19
+
20
+ petal(250 - 250.0 / layers * layer, fill: "rgb(#{red}, 0, #{blue})")
21
+ .rotate(angle * repeat + twist * layer).move(300, 300)
22
+ end
23
+ end
@@ -0,0 +1,207 @@
1
+ <svg version="1.1"
2
+ xmlns="http://www.w3.org/2000/svg"
3
+ width="600"
4
+ height="600">
5
+
6
+ <rect x="0" y="0" width="600" height="600" fill="rgb(25, 0, 45)"/>
7
+ <path d="M 300.0 300.0 C 283.5503700125099 339.47911196997615, 275.0 382.23096203252584, 275.0 425.0 C 275.0 467.76903796747416, 283.5503700125099 510.52088803002385, 300.0 550.0 C 316.4496299874901 510.52088803002385, 325.0 467.76903796747416, 325.0 425.0 C 325.0 382.23096203252584, 316.4496299874901 339.47911196997615, 300.0 300.0 Z" fill="rgb(53.75, 0, 77.8125)"/>
8
+ <path d="M 300.0 300.0 C 273.98130524881714 333.75758395792934, 254.81530509101034 372.7740842791789, 244.0 414.0 C 233.08288118403888 455.6140105557539, 230.6859472437891 499.44365974889297, 237.0 542.0 C 263.06999249476274 507.9033229856376, 282.2338459956405 468.54898097490656, 293.0 427.0 C 303.70496629330074 385.6871560004377, 306.0997417088054 342.2390877477099, 300.0 300.0 Z" fill="rgb(53.75, 0, 77.8125)"/>
9
+ <path d="M 300.0 300.0 C 266.1559487598631 326.2774643906793, 237.72847726675505 359.49993107539603, 217.0 397.0 C 196.2521876592961 434.5350481754391, 183.23654880105406 476.3220992466372, 179.0 519.0 C 212.29686208051578 492.01428938579477, 240.31042514701 458.53466523315535, 261.0 421.0 C 281.58281684163103 383.6590132858954, 294.9030023731271 342.332283816382, 300.0 300.0 Z" fill="rgb(53.75, 0, 77.8125)"/>
10
+ <path d="M 300.0 300.0 C 260.95910916068965 317.58429682809026, 225.40927165847552 342.87937351235803, 196.0 374.0 C 166.59438540987136 405.1167566108431, 143.35040486158874 442.0336668934096, 128.0 482.0 C 167.04089083931035 464.4157031719097, 202.59072834152448 439.12062648764197, 232.0 408.0 C 261.4056145901286 376.8832433891569, 284.64959513841126 339.9663331065904, 300.0 300.0 Z" fill="rgb(53.75, 0, 77.8125)"/>
11
+ <path d="M 300.0 300.0 C 257.88805198213487 306.9708192424341, 217.1873270252861 322.36184968830133, 181.0 345.0 C 144.5789351979488 367.7843725214859, 112.7603045859536 397.89232406832, 88.0 433.0 C 130.11194801786513 426.0291807575659, 170.8126729747139 410.63815031169867, 207.0 388.0 C 243.4210648020512 365.2156274785141, 275.23969541404637 335.1076759316799, 300.0 300.0 Z" fill="rgb(53.75, 0, 77.8125)"/>
12
+ <path d="M 300.0 300.0 C 257.3028039590788 295.99456451739945, 213.79945457542846 300.7902093313451, 173.0 314.0 C 132.24491708600948 327.1954242913266, 94.22453386348332 348.7745607149226, 62.0 377.0 C 104.44235093233748 380.1545822816728, 147.48444733760073 375.03052318580814, 188.0 362.0 C 228.87962979296555 348.85238312597795, 267.1560359808873 327.6636582719498, 300.0 300.0 Z" fill="rgb(53.75, 0, 77.8125)"/>
13
+ <path d="M 300.0 300.0 C 259.45827826339956 285.52253861966403, 215.96802197033162 279.35856528678823, 173.0 282.0 C 130.34415966629723 284.62224352464864, 88.2399414982294 295.9184971794961, 50.0 315.0 C 90.38769492881795 328.6867028618723, 133.42920903707108 334.49389127330323, 176.0 332.0 C 218.88302660045127 329.48781727112316, 261.25647073743636 318.5527349131915, 300.0 300.0 Z" fill="rgb(53.75, 0, 77.8125)"/>
14
+ <path d="M 300.0 300.0 C 263.9924966478006 276.4061166131297, 223.3004853360847 259.992532218488, 181.0 252.0 C 139.13762788507432 244.09024777818672, 95.73262618754995 244.43201944509636, 54.0 253.0 C 89.67978117717297 276.5260417003925, 130.0292052217897 292.93936673549086, 172.0 301.0 C 214.1760021403348 309.1000440333069, 257.9557014468979 308.7580151324744, 300.0 300.0 Z" fill="rgb(53.75, 0, 77.8125)"/>
15
+ <path d="M 300.0 300.0 C 271.05786703383785 268.27806835734464, 235.84747576581472 242.29758547996835, 197.0 224.0 C 158.21020305597432 205.72958187521405, 115.8241352446278 195.13306492237743, 73.0 193.0 C 101.94213296616215 224.7219316426554, 137.15252423418525 250.70241452003165, 176.0 269.0 C 214.78979694402568 287.2704181247859, 257.17586475537223 297.8669350776226, 300.0 300.0 Z" fill="rgb(53.75, 0, 77.8125)"/>
16
+ <path d="M 300.0 300.0 C 279.7220000449136 262.1892209510123, 252.04660521532728 228.3637383815179, 219.0 201.0 C 186.05273353646982 173.7185175596782, 147.7911409820033 152.8796144719777, 107.0 140.0 C 126.81291989797552 177.82952933779924, 154.172643408572 211.68718718216238, 187.0 239.0 C 220.12274657452522 266.55858135220404, 258.78609984670777 287.429949047807, 300.0 300.0 Z" fill="rgb(53.75, 0, 77.8125)"/>
17
+ <path d="M 300.0 300.0 C 289.64475650751973 258.35395041717555, 271.20140744947975 218.73490429249708, 246.0 184.0 C 220.91886931219128 149.43087223461276, 189.16261232225486 119.72340601822066, 153.0 97.0 C 162.8074864159357 138.6493895067455, 180.93387116480324 178.32223159860655, 206.0 213.0 C 231.1752036957657 247.82866815851565, 263.33101618511324 277.5898988667416, 300.0 300.0 Z" fill="rgb(53.75, 0, 77.8125)"/>
18
+ <path d="M 300.0 300.0 C 300.81689091599134 257.0290648960808, 292.9461362237144 213.91101745143325, 277.0 174.0 C 261.0814703504357 134.15807806156255, 237.12915407442637 97.54525175394825, 207.0 67.0 C 206.43118317730742 109.63287696533885, 214.293308078119 152.36181664366268, 230.0 192.0 C 245.9073737350692 232.14463389009708, 269.8509183485716 269.08610272235796, 300.0 300.0 Z" fill="rgb(53.75, 0, 77.8125)"/>
19
+ <path d="M 300.0 300.0 C 311.4462069988916 258.4940628728435, 314.5255289135719 214.6992623085016, 309.0 172.0 C 303.4988382900636 129.48903851048428, 289.47400466475915 88.09867586019563, 268.0 51.0 C 256.5537930011084 92.50593712715653, 253.47447108642808 136.3007376914984, 259.0 179.0 C 264.5011617099364 221.51096148951572, 278.52599533524085 262.9013241398044, 300.0 300.0 Z" fill="rgb(53.75, 0, 77.8125)"/>
20
+ <path d="M 300.0 300.0 C 320.9925329813984 262.76167355035153, 334.66145080831353 221.4131971239334, 340.0 179.0 C 345.3757109731371 136.2915634944393, 342.29914689971855 92.53598556137557, 331.0 51.0 C 309.37903813703326 88.02588416854144, 295.3402252773079 129.4575026082188, 290.0 172.0 C 284.63297092912535 214.7560277690012, 288.05798759531876 258.59624109627663, 300.0 300.0 Z" fill="rgb(53.75, 0, 77.8125)"/>
21
+ <path d="M 300.0 300.0 C 329.6978330441209 268.91737071719604, 353.27693361781775 232.01095242793144, 369.0 192.0 C 384.59117800082686 152.32466784002008, 392.4476453621764 109.6264756587725, 392.0 67.0 C 361.74129682388894 97.43313631895612, 337.76390818751065 134.0842875202773, 322.0 174.0 C 306.2307152959677 213.92932633011245, 298.69482610083605 257.089418993139, 300.0 300.0 Z" fill="rgb(53.75, 0, 77.8125)"/>
22
+ <path d="M 300.0 300.0 C 336.25931623435116 277.4110574719715, 368.0465945540969 247.67457130188677, 393.0 213.0 C 417.9900026868544 178.27457417071938, 436.1066537110424 138.6230360800438, 446.0 97.0 C 409.74068376564884 119.5889425280285, 377.9534054459031 149.32542869811323, 353.0 184.0 C 328.0099973131456 218.72542582928062, 309.8933462889576 258.3769639199562, 300.0 300.0 Z" fill="rgb(53.75, 0, 77.8125)"/>
23
+ <path d="M 300.0 300.0 C 340.8456834412907 287.26141404185273, 379.14162289980743 266.4038041581963, 412.0 239.0 C 444.79282474484137 211.65086634189188, 472.1443194748949 177.80339161345063, 492.0 140.0 C 451.1543165587093 152.7385859581473, 412.85837710019257 173.5961958418037, 380.0 201.0 C 347.20717525515863 228.34913365810814, 319.8556805251051 262.19660838654937, 300.0 300.0 Z" fill="rgb(53.75, 0, 77.8125)"/>
24
+ <path d="M 300.0 300.0 C 342.4865312923619 297.7296593384859, 384.51256723213857 287.1377315813064, 423.0 269.0 C 461.8431645218147 250.6946249412222, 497.0516956939789 224.7155145617612, 526.0 193.0 C 483.1613918737479 195.00657795892064, 440.74304385677334 205.61116496316424, 402.0 224.0 C 363.4460311381084 242.29909327820354, 328.5622317724414 268.29094378595545, 300.0 300.0 Z" fill="rgb(53.75, 0, 77.8125)"/>
25
+ <path d="M 300.0 300.0 C 341.71977173949784 308.6603511118961, 385.14902617501286 309.0023137452466, 427.0 301.0 C 468.9795893879357 292.9730937066435, 509.3374646796306 276.5563308761235, 545.0 253.0 C 503.28022826050216 244.3396488881039, 459.85097382498714 243.99768625475338, 418.0 252.0 C 376.0204106120643 260.0269062933565, 335.6625353203694 276.4436691238765, 300.0 300.0 Z" fill="rgb(53.75, 0, 77.8125)"/>
26
+ <path d="M 300.0 300.0 C 338.4105482682264 318.4975660321671, 380.4448323451648 329.4333147351104, 423.0 332.0 C 465.5711737554013 334.5676506616848, 508.63148345865875 328.75792633664213, 549.0 315.0 C 510.7822585259895 295.8654429953135, 468.6631782007123 284.56520193243426, 426.0 282.0 C 383.3608312202366 279.43624167808923, 340.21574969843783 285.5998247526319, 300.0 300.0 Z" fill="rgb(53.75, 0, 77.8125)"/>
27
+ <path d="M 300.0 300.0 C 332.4833393306739 327.64122300225955, 370.4299374630855 348.8366201573003, 411.0 362.0 C 451.48863246185476 375.1369590057179, 494.5588291595489 380.26436337449104, 537.0 377.0 C 504.78512672392714 348.7618969629548, 466.76100249710714 327.1806372666515, 426.0 314.0 C 385.51645795247987 300.90908343003906, 342.3697544153769 296.11500525924987, 300.0 300.0 Z" fill="rgb(53.75, 0, 77.8125)"/>
28
+ <path d="M 300.0 300.0 C 324.3601209655962 335.0983919744781, 355.8541183399569 365.223085115171, 392.0 388.0 C 428.12100674982804 410.76124024399263, 468.85633134010413 426.16535458485333, 511.0 433.0 C 486.21727751805486 397.91048251381903, 454.4041716622931 367.8077586933133, 418.0 345.0 C 382.0986700282986 322.50727915581956, 341.7620302651245 307.124662296982, 300.0 300.0 Z" fill="rgb(53.75, 0, 77.8125)"/>
29
+ <path d="M 300.0 300.0 C 314.9079791103932 339.95245182769634, 337.82726844961616 376.89697792674224, 367.0 408.0 C 396.2996573761331 439.2383462801503, 431.88382050499484 464.55784696799424, 471.0 482.0 C 455.58489788790973 442.0635271047389, 432.3507241537622 405.1621923505047, 403.0 374.0 C 373.83505443514036 343.03505212263536, 338.65298918414493 317.75861689376484, 300.0 300.0 Z" fill="rgb(53.75, 0, 77.8125)"/>
30
+ <path d="M 300.0 300.0 C 304.6206360614004 342.294340247712, 317.610803928153 383.65776950763484, 338.0 421.0 C 358.54463868381896 458.62691919829257, 386.5867659269011 492.1406810253907, 420.0 519.0 C 415.65847675161564 476.3398509170822, 402.6513247083861 434.58004698881894, 382.0 397.0 C 361.4740312608668 359.64806831522935, 333.41488273580603 326.4561487185111, 300.0 300.0 Z" fill="rgb(53.75, 0, 77.8125)"/>
31
+ <path d="M 300.0 300.0 C 293.40628035667874 342.1586457787132, 295.4610265148947 385.65077279428334, 306.0 427.0 C 316.6035654624742 468.6026511612534, 335.78749617957084 507.9982231695768, 362.0 542.0 C 368.1757708963146 499.43273586699036, 365.78085285204475 455.63994877177123, 355.0 414.0 C 344.35693482859875 372.8922421450438, 325.5520429859003 333.91482996199613, 300.0 300.0 Z" fill="rgb(53.75, 0, 77.8125)"/>
32
+ <path d="M 300.0 300.0 C 281.17276055488213 332.1382468821841, 268.8530909721419 368.0706164985098, 264.0 405.0 C 259.0899393228918 442.3628919798486, 261.82932585039663 480.71430336491653, 272.0 517.0 C 290.2833661312121 484.33061794327773, 302.2353714371788 448.13311615949283, 307.0 411.0 C 311.74698458491525 374.00439212104936, 309.35700642441145 336.1061670044886, 300.0 300.0 Z" fill="rgb(82.5, 0, 86.25)"/>
33
+ <path d="M 300.0 300.0 C 273.7440664716466 326.5237110931039, 252.86813141751261 358.3509563395704, 239.0 393.0 C 225.05819607463405 427.8331118570981, 218.211726899556 465.4886923200273, 219.0 503.0 C 245.27633367690402 476.10783542321053, 266.143513848112 443.9518528642999, 280.0 409.0 C 293.70135638166823 374.4394492915397, 300.5391475880666 337.17348721666855, 300.0 300.0 Z" fill="rgb(82.5, 0, 86.25)"/>
34
+ <path d="M 300.0 300.0 C 268.0970356701297 319.2923133258061, 240.05496896153068 344.9405450714759, 218.0 375.0 C 195.88990867793837 405.1345830375151, 179.81497836520964 439.6785822201875, 171.0 476.0 C 202.90296432987031 456.7076866741939, 230.94503103846932 431.0594549285241, 253.0 401.0 C 275.11009132206163 370.8654169624849, 291.18502163479036 336.3214177798125, 300.0 300.0 Z" fill="rgb(82.5, 0, 86.25)"/>
35
+ <path d="M 300.0 300.0 C 263.91080083461 310.32638411108513, 229.98404616429468 328.14649767529113, 201.0 352.0 C 172.05829752425387 375.8186540061717, 148.0716017232661 405.6306902159708, 131.0 439.0 C 166.66096097474517 427.83513684282724, 200.13535581244633 409.7316375938664, 229.0 386.0 C 257.89288463804223 362.24514396172356, 282.145890599273 332.8682635016413, 300.0 300.0 Z" fill="rgb(82.5, 0, 86.25)"/>
36
+ <path d="M 300.0 300.0 C 262.39607022300163 301.0521613415503, 225.0300775372441 309.9651504225567, 191.0 326.0 C 157.17255135724173 341.9393715745041, 126.67274368569555 364.89990094521863, 102.0 393.0 C 139.29165724389895 391.0836695382276, 176.19379397925508 381.85813535438854, 210.0 366.0 C 243.89311743459092 350.10109541632363, 274.6487782491021 327.5469441523487, 300.0 300.0 Z" fill="rgb(82.5, 0, 86.25)"/>
37
+ <path d="M 300.0 300.0 C 263.20548644659993 292.39508333751843, 224.92443880691056 292.0532882693069, 188.0 299.0 C 151.45753966742785 305.8748489093667, 116.27063138630714 319.8812881280652, 85.0 340.0 C 121.48236161022797 347.41768944400155, 159.38991867435666 347.75919896710184, 196.0 341.0 C 232.8723889395856 334.1923720404179, 268.4016384570353 320.1856486729618, 300.0 300.0 Z" fill="rgb(82.5, 0, 86.25)"/>
38
+ <path d="M 300.0 300.0 C 266.3880153274676 283.3263815201106, 229.4431072586042 273.40598953865657, 192.0 271.0 C 154.49474316896834 268.59001690332866, 116.52035253596709 273.7216913131937, 81.0 286.0 C 114.80210371285642 302.0365102688306, 151.66422698411267 311.59335704286, 189.0 314.0 C 226.4403648460934 316.413384887766, 264.33141938741664 311.6343329636351, 300.0 300.0 Z" fill="rgb(82.5, 0, 86.25)"/>
39
+ <path d="M 300.0 300.0 C 271.39067091163287 275.4397692502962, 237.86824479801842 256.62616275796154, 202.0 245.0 C 166.33229655526895 233.43883976519368, 128.37385433931328 228.9932564426043, 91.0 232.0 C 119.60932908836715 256.5602307497038, 153.13175520198158 275.37383724203846, 189.0 287.0 C 224.66770344473105 298.5611602348063, 262.6261456606867 303.00674355739574, 300.0 300.0 Z" fill="rgb(82.5, 0, 86.25)"/>
40
+ <path d="M 300.0 300.0 C 278.57885611563097 268.93339571640456, 250.85255020643385 242.23399002606658, 219.0 222.0 C 187.4410863749522 201.95253945494977, 151.85903831372892 188.26713635447928, 115.0 182.0 C 136.30798196415336 212.55236569027312, 163.6559165537123 238.8747527327236, 195.0 259.0 C 226.82599769756231 279.4346722815744, 262.74794185185124 293.46133618943963, 300.0 300.0 Z" fill="rgb(82.5, 0, 86.25)"/>
41
+ <path d="M 300.0 300.0 C 286.84029601000793 264.86359034672125, 266.6614227804845 232.37218429918346, 241.0 205.0 C 215.33857721951549 177.62781570081654, 184.21523037397932 155.3968536682907, 150.0 140.0 C 163.15970398999207 175.13640965327878, 183.33857721951549 207.62781570081654, 209.0 235.0 C 234.66142278048451 262.37218429918346, 265.78476962602065 284.6031463317093, 300.0 300.0 Z" fill="rgb(82.5, 0, 86.25)"/>
42
+ <path d="M 300.0 300.0 C 295.8899012546044 262.5543868972133, 284.2585509360983 225.94984324779708, 266.0 193.0 C 247.88583581229028 160.31072073360065, 223.26470860775345 131.24411222824463, 194.0 108.0 C 198.38838256305908 145.07802032480808, 210.00262473647666 181.28712827722762, 228.0 214.0 C 246.135107677315 246.96322060523232, 270.7391362644693 276.35136586211104, 300.0 300.0 Z" fill="rgb(82.5, 0, 86.25)"/>
43
+ <path d="M 300.0 300.0 C 304.9267181232714 262.6827390363099, 302.5348851061179 224.41341076185324, 293.0 188.0 C 283.5765315381815 152.01208571654436, 267.1847337320399 117.8625069537494, 245.0 88.0 C 239.65307973485378 124.91162789178577, 241.7054136271603 162.8798048994567, 251.0 199.0 C 260.387509165931 235.48130739549762, 277.1568473967328 270.0466780344971, 300.0 300.0 Z" fill="rgb(82.5, 0, 86.25)"/>
44
+ <path d="M 300.0 300.0 C 313.8939833975092 265.1094554777486, 321.063442846564 227.55514407793805, 321.0 190.0 C 320.9371202612585 152.7781889383048, 313.7706627843887 115.58086203455215, 300.0 81.0 C 285.5901241309587 115.41262593382922, 278.06579851994996 152.69223918837253, 278.0 190.0 C 277.9336135911828 227.6410937993474, 285.46137646903514 265.279908188609, 300.0 300.0 Z" fill="rgb(82.5, 0, 86.25)"/>
45
+ <path d="M 300.0 300.0 C 322.3746837219516 269.88954468327813, 338.78303899250835 235.3636304681484, 348.0 199.0 C 357.16155538132097 162.85496107349863, 359.21198640523005 124.9219871311798, 354.0 88.0 C 331.6754219204219 117.77157292116274, 315.2650477196626 151.95985250607782, 306.0 188.0 C 296.63024752147066 224.4474389690501, 294.57778171486154 262.7601340257534, 300.0 300.0 Z" fill="rgb(82.5, 0, 86.25)"/>
46
+ <path d="M 300.0 300.0 C 328.829226763168 276.1772474446502, 353.06716851502205 246.81861377339038, 371.0 214.0 C 388.8999638799595 181.24153675195532, 400.50586126679195 145.05844489888943, 405.0 108.0 C 375.6219219800683 131.118800094231, 350.9719119924818 160.21950632957618, 333.0 193.0 C 314.9336251240158 225.95279253078075, 303.6325552031566 262.59565560750605, 300.0 300.0 Z" fill="rgb(82.5, 0, 86.25)"/>
47
+ <path d="M 300.0 300.0 C 333.8270696369875 284.427761761023, 364.5821434288554 262.21576402245176, 390.0 235.0 C 415.60621125709037 207.58255820543266, 435.7752528939876 175.1069826883947, 449.0 140.0 C 414.7091277312511 155.25411262142063, 383.5509299722894 177.50996816353612, 358.0 205.0 C 332.57051134556474 232.35937413838036, 312.7164394004515 264.87897473813484, 300.0 300.0 Z" fill="rgb(82.5, 0, 86.25)"/>
48
+ <path d="M 300.0 300.0 C 336.90076825452286 293.3054335170066, 372.45804745362614 279.2876599865908, 404.0 259.0 C 435.32648281373935 238.8509292991125, 462.668884383145 212.53386778855958, 484.0 182.0 C 447.10846105390004 188.1304869827945, 411.4914686391839 201.8293302192238, 380.0 222.0 C 348.42121097432965 242.22659955341172, 321.0194536814074 268.9433129140109, 300.0 300.0 Z" fill="rgb(82.5, 0, 86.25)"/>
49
+ <path d="M 300.0 300.0 C 337.0455259231193 302.8884763213284, 374.6483717083921 298.4445036376144, 410.0 287.0 C 445.87333450771996 275.38660262321156, 479.3989158723518 256.5712253267345, 508.0 232.0 C 470.6278866023516 228.88145838318096, 432.64017701377765 233.330469416077, 397.0 245.0 C 361.4408890033365 256.6429874394918, 328.2483545586358 275.4634966607139, 300.0 300.0 Z" fill="rgb(82.5, 0, 86.25)"/>
50
+ <path d="M 300.0 300.0 C 335.34198459434396 311.56051985765333, 372.88895691504206 316.33922542574214, 410.0 314.0 C 447.3425218528623 311.6461837416002, 484.2176640030572 302.0859617026608, 518.0 286.0 C 482.5000124973242 273.64731266605486, 444.50536407256527 268.51290071676317, 407.0 271.0 C 369.8844127490697 273.4612519497239, 333.2788184831452 283.3823943208623, 300.0 300.0 Z" fill="rgb(82.5, 0, 86.25)"/>
51
+ <path d="M 300.0 300.0 C 331.25395581366286 320.14868909633947, 366.44905243189055 334.1583877501971, 403.0 341.0 C 439.5991068573358 347.85062671331303, 477.53025828988626 347.5089046283351, 514.0 340.0 C 482.74604418633714 319.85131090366053, 447.55094756810945 305.8416122498029, 411.0 299.0 C 374.4008931426642 292.14937328668697, 336.46974171011374 292.4910953716649, 300.0 300.0 Z" fill="rgb(82.5, 0, 86.25)"/>
52
+ <path d="M 300.0 300.0 C 324.97158395524355 327.53451503558995, 355.4006532997838 350.0998923023277, 389.0 366.0 C 422.7597825416843 381.9760302202341, 459.69382471252135 391.2095407629434, 497.0 393.0 C 472.32363409495906 364.90354930367806, 441.8249443022108 341.9438614821709, 408.0 326.0 C 374.2719400838228 310.10180633081654, 337.2680857378516 301.1934710253049, 300.0 300.0 Z" fill="rgb(82.5, 0, 86.25)"/>
53
+ <path d="M 300.0 300.0 C 317.4325566481815 332.8612051296242, 341.3616421302201 362.25979586470015, 370.0 386.0 C 398.7760569677229 409.85435190554836, 432.2848372923134 427.97644738721465, 468.0 439.0 C 450.88724965429253 405.6554460774467, 426.90871249530886 375.8535498941384, 398.0 352.0 C 369.28112781407583 328.3030937229912, 335.7230327314064 310.49675755667687, 300.0 300.0 Z" fill="rgb(82.5, 0, 86.25)"/>
54
+ <path d="M 300.0 300.0 C 308.35362246464473 336.2957613534676, 324.1017149573948 370.87309487015796, 346.0 401.0 C 367.9271033771113 431.16655240030065, 396.00174255930494 456.84457604255095, 428.0 476.0 C 419.09900164329025 439.70564299579564, 403.0339924682588 405.1829637047706, 381.0 375.0 C 359.1683060084417 345.0941521011178, 331.49438023531246 319.47014675562775, 300.0 300.0 Z" fill="rgb(82.5, 0, 86.25)"/>
55
+ <path d="M 300.0 300.0 C 298.9735571968666 337.1145901481182, 305.4766170980556 374.42161800230815, 319.0 409.0 C 332.69865787520547 444.02654833476913, 353.59115861499913 476.221549474779, 380.0 503.0 C 380.66438896702493 465.49453424102666, 373.8237920202939 427.87125103400626, 360.0 393.0 C 346.31751792550597 358.4852108243866, 325.8063674753633 326.69292762666544, 300.0 300.0 Z" fill="rgb(82.5, 0, 86.25)"/>
56
+ <path d="M 300.0 300.0 C 290.14745752936335 336.0088570524314, 287.41292830541175 373.95045003475957, 292.0 411.0 C 296.60130631600475 448.1645222945437, 308.566721940776 484.402638186708, 327.0 517.0 C 337.0223506752828 480.6835348884795, 339.75886984039374 442.37226657692594, 335.0 405.0 C 330.31006334005946 368.1690781713643, 318.34660376922903 332.2786994588729, 300.0 300.0 Z" fill="rgb(82.5, 0, 86.25)"/>
57
+ <path d="M 300.0 300.0 C 280.4143422903897 325.45709161142213, 266.03445475768433 354.9016232260094, 258.0 386.0 C 250.01459213759225 416.9085345413927, 248.30325271300038 449.4239836086385, 253.0 481.0 C 271.974956712823 455.29282613989085, 285.9747590120407 425.9273871708, 294.0 395.0 C 302.01807764504144 364.1002186643632, 304.0667419963196 331.6630331024596, 300.0 300.0 Z" fill="rgb(111.25, 0, 100.3125)"/>
58
+ <path d="M 300.0 300.0 C 274.78450875359397 319.92073462847304, 253.575873253682 344.8921925557887, 238.0 373.0 C 222.46806006113437 401.0285265504128, 212.54932361191823 432.15283747726335, 209.0 464.0 C 234.21549124640603 444.07926537152696, 255.424126746318 419.1078074442113, 271.0 391.0 C 286.53193993886566 362.9714734495872, 296.4506763880818 331.84716252273665, 300.0 300.0 Z" fill="rgb(111.25, 0, 100.3125)"/>
59
+ <path d="M 300.0 300.0 C 270.72454346647726 312.97162872803295, 244.0496427733636 331.7808535757413, 222.0 355.0 C 199.88545716715043 378.2874887552269, 182.44156761379614 405.9924898105543, 171.0 436.0 C 200.27545653352277 423.02837127196705, 226.9503572266364 404.2191464242587, 249.0 381.0 C 271.11454283284957 357.7125112447731, 288.55843238620383 330.0075101894457, 300.0 300.0 Z" fill="rgb(111.25, 0, 100.3125)"/>
60
+ <path d="M 300.0 300.0 C 268.1215766974504 305.1263755263466, 237.30522792071582 316.7681072864463, 210.0 334.0 C 182.90337876161988 351.10024437207943, 159.28706343560856 373.6897633795685, 141.0 400.0 C 172.49650570154006 394.58241078910277, 202.91383596174194 382.96230709419416, 230.0 366.0 C 257.35538904886334 348.8690947499033, 281.2909576325113 326.30127294246375, 300.0 300.0 Z" fill="rgb(111.25, 0, 100.3125)"/>
61
+ <path d="M 300.0 300.0 C 268.0197156142077 297.51803689551144, 235.56693082032734 301.2757277663818, 205.0 311.0 C 174.38910572744325 320.7382583475765, 145.69200591108824 336.45333681843755, 121.0 357.0 C 152.98028438579232 359.48196310448856, 185.43306917967266 355.7242722336182, 216.0 346.0 C 246.61089427255675 336.26174165242355, 275.30799408891176 320.54666318156245, 300.0 300.0 Z" fill="rgb(111.25, 0, 100.3125)"/>
62
+ <path d="M 300.0 300.0 C 269.57320111976435 289.5744035528112, 237.10908789514065 285.1319459536522, 205.0 287.0 C 172.8361340353094 288.8712409445496, 141.05280319885276 297.07339083782875, 112.0 311.0 C 142.42679888023565 321.4255964471888, 174.89091210485935 325.8680540463478, 207.0 324.0 C 239.1638659646906 322.1287590554504, 270.94719680114724 313.92660916217125, 300.0 300.0 Z" fill="rgb(111.25, 0, 100.3125)"/>
63
+ <path d="M 300.0 300.0 C 273.0058244200954 282.446400690871, 242.60680021588007 270.15016618130073, 211.0 264.0 C 179.39493584992164 257.8501716286993, 146.60506415007836 257.8501716286993, 115.0 264.0 C 141.99417557990458 281.553599309129, 172.39319978411993 293.84983381869927, 204.0 300.0 C 235.60506415007836 306.1498283713007, 268.39493584992164 306.1498283713007, 300.0 300.0 Z" fill="rgb(111.25, 0, 100.3125)"/>
64
+ <path d="M 300.0 300.0 C 278.41808545641305 276.1809357781144, 252.08294581788243 256.68609214959173, 223.0 243.0 C 193.91705418211757 229.31390785040827, 162.1096777355806 221.44756743889914, 130.0 220.0 C 151.58191454358698 243.8190642218856, 177.91705418211757 263.31390785040827, 207.0 277.0 C 236.08294581788243 290.68609214959173, 267.8903222644194 298.5524325611009, 300.0 300.0 Z" fill="rgb(111.25, 0, 100.3125)"/>
65
+ <path d="M 300.0 300.0 C 284.9254116791501 271.2755806028402, 264.05097595988804 245.6102907840754, 239.0 225.0 C 214.31144878008388 204.68788838827004, 185.58778383130456 189.30021073713823, 155.0 180.0 C 169.92785461156282 208.2581403579286, 190.43767836854184 233.55358965820275, 215.0 254.0 C 239.92302447522616 274.7466701651882, 269.0000328941545 290.4824629566083, 300.0 300.0 Z" fill="rgb(111.25, 0, 100.3125)"/>
66
+ <path d="M 300.0 300.0 C 292.60606814404633 268.7329732384889, 278.92072494404295 238.96735177848154, 260.0 213.0 C 240.97810988229838 186.89380620252103, 216.67990838406814 164.6489738449863, 189.0 148.0 C 196.39393185595367 179.26702676151112, 210.07927505595705 209.03264822151846, 229.0 235.0 C 248.02189011770162 261.10619379747897, 272.32009161593186 283.3510261550137, 300.0 300.0 Z" fill="rgb(111.25, 0, 100.3125)"/>
67
+ <path d="M 300.0 300.0 C 300.2794395500298 267.5641195199076, 294.12558720362875 235.08545435834657, 282.0 205.0 C 270.03638453853137 175.31642254660372, 252.27041318834236 147.98415893092837, 230.0 125.0 C 229.96765189063316 157.09579411377445, 236.1127167698752 189.18668848314948, 248.0 219.0 C 259.9560589829856 248.98580113497027, 277.71334384634497 276.64618717212613, 300.0 300.0 Z" fill="rgb(111.25, 0, 100.3125)"/>
68
+ <path d="M 300.0 300.0 C 308.0814546146394 268.77089707540705, 310.13011530407033 235.9923260445123, 306.0 204.0 C 301.88595688648763 172.13217090598994, 291.6445479394902 141.0665637667646, 276.0 113.0 C 267.276157252146 144.1009831025605, 264.88000591692 176.96248712851724, 269.0 209.0 C 273.1148073562398 240.99718033105827, 283.725632808899 272.14508730499335, 300.0 300.0 Z" fill="rgb(111.25, 0, 100.3125)"/>
69
+ <path d="M 300.0 300.0 C 315.79279991144506 272.0044640757778, 326.0473837272762 240.8988931677567, 330.0 209.0 C 333.9708912342791 176.95362197510684, 331.57760302321566 144.1313836519508, 323.0 113.0 C 307.20720008855494 140.99553592422222, 296.9526162727238 172.1011068322433, 293.0 204.0 C 289.0291087657209 236.04637802489316, 291.42239697678434 268.86861634804916, 300.0 300.0 Z" fill="rgb(111.25, 0, 100.3125)"/>
70
+ <path d="M 300.0 300.0 C 321.8347468198739 276.4816520528919, 339.2293174708244 248.85498101902922, 351.0 219.0 C 362.76938264790067 189.1483159801628, 368.90861204976 157.0878957704531, 369.0 125.0 C 346.60165369473737 147.87488798964387, 328.81181679806525 175.24386783067786, 317.0 205.0 C 305.0508900706553 235.1019987392269, 299.231482884362 267.622215368513, 300.0 300.0 Z" fill="rgb(111.25, 0, 100.3125)"/>
71
+ <path d="M 300.0 300.0 C 327.2710672392648 283.171641760142, 351.2004350280316 260.9515145277157, 370.0 235.0 C 388.845423293025 208.98518119439854, 402.5210156777271 179.2407677576714, 410.0 148.0 C 382.22365128053957 164.50993994229617, 357.8918892966192 186.78549668813878, 339.0 213.0 C 320.29092041928186 238.96083541090724, 306.9326420015658 268.7600718811969, 300.0 300.0 Z" fill="rgb(111.25, 0, 100.3125)"/>
72
+ <path d="M 300.0 300.0 C 330.6313925251992 290.31430535424204, 359.3412421176514 274.59224486313724, 384.0 254.0 C 408.52772349593926 233.51718044462993, 429.0293710474544 208.2318151310946, 444.0 180.0 C 413.3595361053797 189.15992843104615, 384.6009506433811 204.56631349997397, 360.0 225.0 C 335.20206395458183 245.59730367111246, 314.6514810350179 271.28553232056737, 300.0 300.0 Z" fill="rgb(111.25, 0, 100.3125)"/>
73
+ <path d="M 300.0 300.0 C 331.7724105535351 298.4145022266988, 363.2194035006214 290.5527539899272, 392.0 277.0 C 421.07897560503625 263.3067395888525, 447.41238891800504 243.81317388964183, 469.0 220.0 C 436.87627659598616 221.31992681733576, 405.03587720256644 229.19443419420298, 376.0 243.0 C 347.2104550273022 256.6884432616488, 321.2019781235382 276.19480093947175, 300.0 300.0 Z" fill="rgb(111.25, 0, 100.3125)"/>
74
+ <path d="M 300.0 300.0 C 331.27998749181165 306.05350595416456, 363.72001250818835 306.05350595416456, 395.0 300.0 C 426.61512354220764 293.88163634481947, 457.02195207013966 281.5822450301503, 484.0 264.0 C 452.4070804271328 257.7565685016109, 419.5929195728672 257.7565685016109, 388.0 264.0 C 356.71405157842196 270.1827674831298, 326.64887280923074 282.48215879779895, 300.0 300.0 Z" fill="rgb(111.25, 0, 100.3125)"/>
75
+ <path d="M 300.0 300.0 C 328.7199399338442 313.87103250595965, 360.1640082141061 322.0738329268975, 392.0 324.0 C 424.10952782185325 325.9427167728673, 456.5928357666576 321.49763252778877, 487.0 311.0 C 457.9681827040209 297.0212562649737, 426.17072878738173 288.815461705841, 394.0 287.0 C 362.2201298636984 285.206595267693, 330.1002835430947 289.6487016737339, 300.0 300.0 Z" fill="rgb(111.25, 0, 100.3125)"/>
76
+ <path d="M 300.0 300.0 C 324.3320967524003 320.524009480257, 352.69922996219333 336.2455531868893, 383.0 346.0 C 413.54013895396963 355.8315046356845, 446.02129434345875 359.59248052288854, 478.0 357.0 C 453.31573059330464 336.4427204149087, 424.6156724272417 320.726021895398, 394.0 311.0 C 363.7497721399138 301.39007295341366, 331.65167633504433 297.6339128060353, 300.0 300.0 Z" fill="rgb(111.25, 0, 100.3125)"/>
77
+ <path d="M 300.0 300.0 C 318.3086855477454 326.29294730054727, 341.9196905056245 348.8773868254751, 369.0 366.0 C 396.0200401286733 383.08450544774996, 426.4713012625033 394.717571498876, 458.0 400.0 C 439.6913144522546 373.70705269945273, 416.0803094943755 351.1226131745249, 389.0 334.0 C 361.9799598713267 316.91549455225004, 331.5286987374967 305.28242850112395, 300.0 300.0 Z" fill="rgb(111.25, 0, 100.3125)"/>
78
+ <path d="M 300.0 300.0 C 310.9990351193364 329.99234320316094, 328.1182100953561 357.72540666431286, 350.0 381.0 C 371.9404717782805 404.337010384339, 398.65018637969166 423.1707835007187, 428.0 436.0 C 416.4939529200643 406.0221369197844, 399.05993869593937 378.33282021087996, 377.0 355.0 C 355.19510597285597 331.93694080182127, 328.8882648719455 313.1463400154567, 300.0 300.0 Z" fill="rgb(111.25, 0, 100.3125)"/>
79
+ <path d="M 300.0 300.0 C 303.07270876478873 331.8059579951043, 312.6611070784964 362.9682525146541, 328.0 391.0 C 343.43126945933454 419.2005651304848, 364.6695649826625 444.2069453434355, 390.0 464.0 C 386.34519141482167 432.1718164061982, 376.43492404454713 401.07408086499197, 361.0 373.0 C 345.62688473701854 345.03834111563026, 324.78525576589203 320.09671956001984, 300.0 300.0 Z" fill="rgb(111.25, 0, 100.3125)"/>
80
+ <path d="M 300.0 300.0 C 295.43873919391575 331.5867994308113, 297.148198153146 364.06651965618545, 305.0 395.0 C 312.8636583101314 425.98019085445804, 326.88228504316 455.3851152212984, 346.0 481.0 C 350.56126080608425 449.4132005691887, 348.851801846854 416.93348034381455, 341.0 386.0 C 333.1363416898686 355.01980914554196, 319.11771495684 325.6148847787016, 300.0 300.0 Z" fill="rgb(111.25, 0, 100.3125)"/>
81
+ <path d="M 300.0 300.0 C 287.56820591773936 329.3247582897344, 281.0664801822581 361.14899478445864, 281.0 393.0 C 280.93282407742157 425.18433806482, 287.4381024778309 457.3683469931609, 300.0 487.0 C 311.9171646482139 457.19646702059873, 318.063728153199 425.0977464945654, 318.0 393.0 C 317.9369336593 361.23558640077204, 311.793405710898 329.4940253340284, 300.0 300.0 Z" fill="rgb(111.25, 0, 100.3125)"/>
82
+ <path d="M 300.0 300.0 C 281.02712551737284 318.68229892748786, 265.9479395935937 341.30107781315655, 256.0 366.0 C 245.93643301789268 390.986003933239, 241.13543238985332 418.0773646200324, 242.0 445.0 C 260.4143965468775 425.6682941347827, 275.0954114371055 402.7932244221019, 285.0 378.0 C 294.88162544389013 353.2642569926274, 300.0023466220479 326.63650686620684, 300.0 300.0 Z" fill="rgb(140.0, 0, 120.0)"/>
83
+ <path d="M 300.0 300.0 C 276.9821435689681 313.8057275471931, 256.78477173897886 332.29145769667485, 241.0 354.0 C 225.371034880776 375.4942639689902, 214.08004626453356 400.12914822261007, 208.0 426.0 C 230.5123840541866 411.8796850555615, 250.3096813904079 393.4477185701141, 266.0 372.0 C 281.76600896169845 350.4488172867513, 293.37395797060816 325.86727820906015, 300.0 300.0 Z" fill="rgb(140.0, 0, 120.0)"/>
84
+ <path d="M 300.0 300.0 C 274.124726756981 307.2727868818113, 249.78396655622504 319.95740839488127, 229.0 337.0 C 208.32484799863485 353.9533650364484, 191.1884393026711 375.2025118194435, 179.0 399.0 C 204.44610215634603 390.88748970387496, 228.33475980017067 377.91936126865585, 249.0 361.0 C 269.62894641556494 344.11035373304935, 287.0321165631866 323.2947972819724, 300.0 300.0 Z" fill="rgb(140.0, 0, 120.0)"/>
85
+ <path d="M 300.0 300.0 C 273.08567448619783 301.0931743751708, 246.4019943775789 307.5930451708601, 222.0 319.0 C 197.86798511721722 330.28075023068453, 175.98605955140513 346.3502893180778, 158.0 366.0 C 184.56334224200805 364.6452124064095, 210.85551699485745 358.1575329219401, 235.0 347.0 C 259.4227440640788 335.71387840936427, 281.62970858688726 319.65653483133354, 300.0 300.0 Z" fill="rgb(140.0, 0, 120.0)"/>
86
+ <path d="M 300.0 300.0 C 273.7527077951725 294.36373156747726, 246.37997590499842 294.02157241885004, 220.0 299.0 C 193.67227958186635 303.968565928584, 168.35509431560422 314.23228968517674, 146.0 329.0 C 172.353883103704 333.9964050666498, 199.646116896296 333.9964050666498, 226.0 329.0 C 252.1804223779623 324.03648117047703, 277.4181287734419 314.14602866414043, 300.0 300.0 Z" fill="rgb(140.0, 0, 120.0)"/>
87
+ <path d="M 300.0 300.0 C 276.10122217692486 287.90175717884506, 249.73190109523574 280.7101241565662, 223.0 279.0 C 196.28512310816944 277.29096493550344, 169.23180503550896 281.05788264182326, 144.0 290.0 C 168.0911176727206 301.46112061923037, 194.37651428034417 308.28849636147027, 221.0 310.0 C 247.64902151546403 311.71314521949694, 274.61837696267787 308.2993027578243, 300.0 300.0 Z" fill="rgb(140.0, 0, 120.0)"/>
88
+ <path d="M 300.0 300.0 C 279.71593068619677 282.08604790897357, 255.73162468389208 268.3807301933709, 230.0 260.0 C 204.62805926928408 251.7364180319544, 177.58050750708176 248.65505137550096, 151.0 251.0 C 171.19890784875298 268.2849305188549, 194.77364573663854 281.60978236852935, 220.0 290.0 C 245.66596462337048 298.5364308557447, 273.022482077473 301.95599553750753, 300.0 300.0 Z" fill="rgb(140.0, 0, 120.0)"/>
89
+ <path d="M 300.0 300.0 C 284.76492241827407 277.6322248404989, 264.8884100191927 258.4411094206962, 242.0 244.0 C 219.54402357407082 229.83172826581267, 194.21034496117124 220.24601203390472, 168.0 216.0 C 183.125859683657 237.85130857105463, 202.62258570136248 256.6639389390161, 225.0 271.0 C 247.72184277921184 285.55671871439995, 273.39575900658997 295.48396632231953, 300.0 300.0 Z" fill="rgb(140.0, 0, 120.0)"/>
90
+ <path d="M 300.0 300.0 C 290.2408953931953 274.8393099651776, 275.54753592457257 251.60329964270448, 257.0 232.0 C 238.83489792174416 212.80090312112068, 216.9876343428506 197.09818242379094, 193.0 186.0 C 202.56330496030756 210.73525981295896, 216.90467995994004 233.61316755046792, 235.0 253.0 C 253.3586267600567 272.6689320892241, 275.5691379214433 288.72884015976524, 300.0 300.0 Z" fill="rgb(140.0, 0, 120.0)"/>
91
+ <path d="M 300.0 300.0 C 297.1588688710632 273.40792326580583, 288.946160903002 247.40101470027884, 276.0 224.0 C 262.97865184325843 200.46307952478023, 245.17906808083862 179.58279857271083, 224.0 163.0 C 226.8411311289368 189.59207673419417, 235.05383909699796 215.59898529972116, 248.0 239.0 C 261.02134815674157 262.5369204752198, 278.8209319191614 283.41720142728917, 300.0 300.0 Z" fill="rgb(140.0, 0, 120.0)"/>
92
+ <path d="M 300.0 300.0 C 303.420601672804 273.33836248125897, 301.7137191718473 246.0282424659503, 295.0 220.0 C 288.3313771230734 194.14659018171744, 276.7282462968535 169.57525431442818, 261.0 148.0 C 256.94690101455444 174.57386551602713, 258.3163563196163 201.96297161726434, 265.0 228.0 C 271.6799466450972 254.02262608702833, 283.6623300498232 278.6721005196076, 300.0 300.0 Z" fill="rgb(140.0, 0, 120.0)"/>
93
+ <path d="M 300.0 300.0 C 309.94272040107944 274.9342118805908, 315.06332942930624 247.96567099859638, 315.0 221.0 C 314.93745340939853 194.36766172190028, 309.8198147244285 167.75594056005605, 300.0 143.0 C 289.5423009078468 167.5872495375225, 284.0666095483577 194.28124491503226, 284.0 221.0 C 283.9325594572072 248.05208772774904, 289.41183478153545 275.10600964161955, 300.0 300.0 Z" fill="rgb(140.0, 0, 120.0)"/>
94
+ <path d="M 300.0 300.0 C 315.8697742600755 278.5152672075578, 327.4911985753607 253.9051921869537, 334.0 228.0 C 340.5482022769909 201.9379914368952, 341.9158413117087 174.5852107425398, 338.0 148.0 C 322.1302257399245 169.48473279244217, 310.5088014246393 194.0948078130463, 304.0 220.0 C 297.4517977230091 246.0620085631048, 296.0841586882913 273.4147892574602, 300.0 300.0 Z" fill="rgb(140.0, 0, 120.0)"/>
95
+ <path d="M 300.0 300.0 C 320.7489914140286 283.2400632510771, 338.18104143181176 262.3899642101992, 351.0 239.0 C 363.8497301199627 215.55388883442458, 372.05402756482795 189.57361359235142, 375.0 163.0 C 353.70576333598854 179.45387082658965, 335.87581600569416 200.36977057943494, 323.0 224.0 C 310.2467223212227 247.40534202107307, 302.36457220065455 273.45070763686346, 300.0 300.0 Z" fill="rgb(140.0, 0, 120.0)"/>
96
+ <path d="M 300.0 300.0 C 324.0411461666565 288.5549043718292, 345.8843238516167 272.5138207594365, 364.0 253.0 C 382.03991804988095 233.56778425177814, 396.3717042147662 210.70517298874694, 406.0 186.0 C 381.93827135651713 196.96083818983294, 360.0585379870947 212.6868965491053, 342.0 232.0 C 323.68406222600186 251.5883853544606, 309.3151651707959 274.85231392003215, 300.0 300.0 Z" fill="rgb(140.0, 0, 120.0)"/>
97
+ <path d="M 300.0 300.0 C 326.25340568248157 295.32747948331036, 351.5622932727665 285.40913164387433, 374.0 271.0 C 396.36020556681706 256.64063834539274, 415.8514689797012 237.83327891190805, 431.0 216.0 C 404.7583863771227 220.11000669907997, 379.3893800127041 229.70909018831944, 357.0 244.0 C 334.3849270261728 258.43496729566226, 314.83294196735324 277.6439350727482, 300.0 300.0 Z" fill="rgb(140.0, 0, 120.0)"/>
98
+ <path d="M 300.0 300.0 C 326.648737586807 301.83677398480864, 353.6494567695026 298.4189614300371, 379.0 290.0 C 404.2308238460303 281.6207975948916, 427.80822403606624 268.2944409657408, 448.0 251.0 C 421.42199333004885 248.54227973375126, 394.3441383847348 251.62709865157183, 369.0 260.0 C 343.57668412181795 268.3990590868206, 319.92232473670543 282.1117311941322, 300.0 300.0 Z" fill="rgb(140.0, 0, 120.0)"/>
99
+ <path d="M 300.0 300.0 C 325.0550502960507 308.2253990817348, 351.6802969697488 311.6388922450294, 378.0 310.0 C 404.6302827645163 308.34176837574717, 430.9288692040276 301.51096670314683, 455.0 290.0 C 429.78943937345406 280.98231788192584, 402.7150837088453 277.2124708906512, 376.0 279.0 C 349.5954033375686 280.76675415540933, 323.5657073279939 287.959170158055, 300.0 300.0 Z" fill="rgb(140.0, 0, 120.0)"/>
100
+ <path d="M 300.0 300.0 C 322.2372920668719 314.1114651632725, 347.1411814752971 324.0047910926469, 373.0 329.0 C 399.3422068433942 334.0885861679163, 426.6577931566058 334.0885861679163, 453.0 329.0 C 430.66280835537833 314.2008727555946, 405.33674936181757 303.93355154198895, 379.0 299.0 C 352.9451789886275 294.1192609000084, 325.92292956314736 294.46131469020435, 300.0 300.0 Z" fill="rgb(140.0, 0, 120.0)"/>
101
+ <path d="M 300.0 300.0 C 317.99117124031426 319.6443756707765, 339.8715457310286 335.71277568739487, 364.0 347.0 C 388.0993632957382 358.2736156356176, 414.42259869944553 364.76895943653244, 441.0 366.0 C 423.00882875968574 346.3556243292235, 401.1284542689714 330.28722431260513, 377.0 319.0 C 352.9006367042618 307.7263843643824, 326.57740130055447 301.2310405634676, 300.0 300.0 Z" fill="rgb(140.0, 0, 120.0)"/>
102
+ <path d="M 300.0 300.0 C 312.54708093208535 323.289285669772, 329.62632104685207 344.12595860978746, 350.0 361.0 C 370.57665450439947 378.0421513256295, 394.49918615706906 391.0286685085073, 420.0 399.0 C 407.77102280797567 375.2269468186707, 390.6426835400632 353.98780612645925, 370.0 337.0 C 349.48140335564676 320.11431064159876, 325.5094968300733 307.4434457637957, 300.0 300.0 Z" fill="rgb(140.0, 0, 120.0)"/>
103
+ <path d="M 300.0 300.0 C 306.16464525689196 325.844837685834, 317.445967422906 350.45863150259197, 333.0 372.0 C 348.56282095470834 393.55353985424085, 368.3911596441602 412.0144069099374, 391.0 426.0 C 384.8353547431081 400.155162314166, 373.554032577094 375.54136849740803, 358.0 354.0 C 342.43717904529166 332.4464601457592, 322.6088403558398 313.9855930900626, 300.0 300.0 Z" fill="rgb(140.0, 0, 120.0)"/>
104
+ <path d="M 300.0 300.0 C 299.5098023352271 326.58091698323665, 304.2963365379663 353.24875039849786, 314.0 378.0 C 323.7489561457055 402.86677818749126, 338.4539079060173 425.77914488379105, 357.0 445.0 C 357.74038449283387 418.0821708347422, 352.9452947604056 391.0241644874685, 343.0 366.0 C 333.2380255044832 341.4371025310544, 318.5246955638154 318.85385192444807, 300.0 300.0 Z" fill="rgb(140.0, 0, 120.0)"/>
105
+ <path d="M 300.0 300.0 C 292.8688833824931 325.6042097856881, 290.8176218361004 352.6124868131924, 294.0 379.0 C 297.2140700536771 405.6502947031294, 305.7652796398374 431.6459718450566, 319.0 455.0 C 326.3007452973571 429.08860576332654, 328.35410264219604 401.71050783213997, 325.0 375.0 C 321.69536473470566 348.68342726738473, 313.1462354273337 323.0360393452688, 300.0 300.0 Z" fill="rgb(140.0, 0, 120.0)"/>
106
+ <path d="M 300.0 300.0 C 286.37334902910254 322.89410141510507, 277.46749720106936 348.5840586113545, 274.0 375.0 C 270.495028294497 401.7014280827319, 272.55142776674273 429.1200877126751, 280.0 455.0 C 293.08327875515596 431.57328473622476, 301.6209109303956 405.61888292349613, 305.0 379.0 C 308.3428285519148 352.66676047188105, 306.6361764292877 325.70165693437195, 300.0 300.0 Z" fill="rgb(140.0, 0, 120.0)"/>
107
+ <path d="M 300.0 300.0 C 282.87086297038206 312.85240631227845, 268.46488895160104 329.3163766194568, 258.0 348.0 C 247.516853679505 366.7162194076881, 240.99922218279218 387.64124684450286, 239.0 409.0 C 255.58263784564195 395.436091558428, 269.57366857683144 378.71510361139667, 280.0 360.0 C 290.31983250769645 341.4760602943595, 297.1415021827729 321.01105126913023, 300.0 300.0 Z" fill="rgb(168.75, 0, 145.3125)"/>
108
+ <path d="M 300.0 300.0 C 280.4795545803448 308.79214841404513, 262.70463582923776 321.439686756179, 248.0 337.0 C 233.2971927049357 352.5583783054215, 221.67520243079437 371.0168334467048, 214.0 391.0 C 233.52044541965518 382.20785158595487, 251.29536417076224 369.560313243821, 266.0 354.0 C 280.7028072950643 338.4416216945785, 292.3247975692056 319.9831665532952, 300.0 300.0 Z" fill="rgb(168.75, 0, 145.3125)"/>
109
+ <path d="M 300.0 300.0 C 278.77177304994586 303.1034629146107, 258.20281519856536 310.6454141267836, 240.0 322.0 C 221.86966352041458 333.30937496327414, 206.10360572992573 348.3899519802635, 194.0 366.0 C 214.84933521141588 362.6060231005542, 235.01860739985506 355.0852775387633, 253.0 344.0 C 271.3904210966794 332.66256210268295, 287.4759401441021 317.60377831360637, 300.0 300.0 Z" fill="rgb(168.75, 0, 145.3125)"/>
110
+ <path d="M 300.0 300.0 C 278.4875202076204 297.9454265637045, 256.5597365309625 300.34377790333895, 236.0 307.0 C 215.84390932995078 313.5255416040103, 197.01963572821293 324.1355867249898, 181.0 338.0 C 202.1875210847647 339.82302143602124, 223.72942315935617 337.4294767610666, 244.0 331.0 C 264.47151318999033 324.50678970047846, 283.62949295870936 313.90147947136614, 300.0 300.0 Z" fill="rgb(168.75, 0, 145.3125)"/>
111
+ <path d="M 300.0 300.0 C 279.5552444916227 292.76140444427637, 257.64820575684183 289.68072712219777, 236.0 291.0 C 214.88330935243448 292.28688158054246, 194.0297525619898 297.7566669682001, 175.0 307.0 C 195.13886606625528 314.0901102497043, 216.68145770647774 317.16762334116464, 238.0 316.0 C 259.451467859033 314.8250962833392, 280.65881081656937 309.35223358462014, 300.0 300.0 Z" fill="rgb(168.75, 0, 145.3125)"/>
112
+ <path d="M 300.0 300.0 C 281.78977830640457 288.2452537215945, 261.2934338321936 280.0467159319101, 240.0 276.0 C 219.24747916127728 272.05608201255046, 197.75252083872272 272.05608201255046, 177.0 276.0 C 194.88102456421387 287.6905126921847, 215.03576329718797 295.8890504818691, 236.0 300.0 C 257.06603279295683 304.1309110647238, 278.93396720704317 304.1309110647238, 300.0 300.0 Z" fill="rgb(168.75, 0, 145.3125)"/>
113
+ <path d="M 300.0 300.0 C 285.27973711303844 284.19562108914255, 267.52903488266156 271.22395407463637, 248.0 262.0 C 228.58565606861228 252.8302167573419, 207.42719901932995 247.36996977688193, 186.0 246.0 C 200.72026288696156 261.80437891085745, 218.4709651173384 274.77604592536363, 238.0 284.0 C 257.4143439313877 293.16978324265807, 278.5728009806701 298.63003022311807, 300.0 300.0 Z" fill="rgb(168.75, 0, 145.3125)"/>
114
+ <path d="M 300.0 300.0 C 289.8093948580077 280.8475663751412, 275.7851882924251 263.74487544150395, 259.0 250.0 C 242.51222891819694 236.498670382525, 223.37441121249446 226.2462680401844, 203.0 220.0 C 213.04157174113448 238.68685348260618, 226.70178288248752 255.42061213076363, 243.0 269.0 C 259.723906884114 282.9340650962587, 279.214421614957 293.53416959899783, 300.0 300.0 Z" fill="rgb(168.75, 0, 145.3125)"/>
115
+ <path d="M 300.0 300.0 C 294.7967197814053 279.1851430178883, 285.5779351800578 259.38182794832716, 273.0 242.0 C 260.3414285313522 224.5067383326564, 244.28900368325066 209.47893634719958, 226.0 198.0 C 231.20328021859473 218.81485698211168, 240.4220648199422 238.61817205167284, 253.0 256.0 C 265.6585714686477 273.49326166734363, 281.71099631674934 288.5210636528004, 300.0 300.0 Z" fill="rgb(168.75, 0, 145.3125)"/>
116
+ <path d="M 300.0 300.0 C 300.1047936543939 278.4892731972975, 296.0051190502657 256.96598152562444, 288.0 237.0 C 279.96733402520573 216.96531226491496, 268.00794046733745 198.5136764899182, 253.0 183.0 C 252.89520634560606 204.51072680270246, 256.9948809497343 226.03401847437556, 265.0 246.0 C 273.03266597479427 266.0346877350851, 284.99205953266255 284.48632351008183, 300.0 300.0 Z" fill="rgb(168.75, 0, 145.3125)"/>
117
+ <path d="M 300.0 300.0 C 305.36035592011444 279.1753762212659, 306.7256918237731 257.3300017627271, 304.0 236.0 C 301.2712906507974 214.64638448088004, 294.4442557917862 193.8239281608958, 284.0 175.0 C 277.9993169739319 195.69544294427502, 276.2861691058512 217.62373565570806, 279.0 239.0 C 281.72748938534346 260.48384935224175, 288.9246860027591 281.38999190759176, 300.0 300.0 Z" fill="rgb(168.75, 0, 145.3125)"/>
118
+ <path d="M 300.0 300.0 C 310.5935617119436 281.2474218142613, 317.43385772195154 260.3845189837371, 320.0 239.0 C 322.56614227804846 217.61548101626292, 320.8560682755465 195.7265337842375, 315.0 175.0 C 304.4064382880564 193.75257818573868, 297.56614227804846 214.61548101626292, 295.0 236.0 C 292.43385772195154 257.3845189837371, 294.1439317244535 279.27346621576254, 300.0 300.0 Z" fill="rgb(168.75, 0, 145.3125)"/>
119
+ <path d="M 300.0 300.0 C 314.55658014497095 284.3211687282087, 326.1529746132444 265.90336574918615, 334.0 246.0 C 341.8868976268974 225.99550143427922, 345.9806908805039 204.50308685284483, 346.0 183.0 C 330.86076081735007 198.40154374392358, 318.87669207780004 216.89124979922929, 311.0 237.0 C 303.1726269456977 256.9828415180564, 299.4074539929269 278.5470138839257, 300.0 300.0 Z" fill="rgb(168.75, 0, 145.3125)"/>
120
+ <path d="M 300.0 300.0 C 317.8776363338461 288.3461684604818, 333.5635033040321 273.34229570639087, 346.0 256.0 C 358.4999929505346 238.56916080343953, 367.70903812876406 218.78676745761328, 373.0 198.0 C 354.61250125662474 209.3415376485865, 338.52795823196504 224.39940771422533, 326.0 242.0 C 313.6338534679551 259.37326220495623, 304.7419695376266 279.2090032803045, 300.0 300.0 Z" fill="rgb(168.75, 0, 145.3125)"/>
121
+ <path d="M 300.0 300.0 C 320.41628799343084 293.3667769507278, 339.540156989801 282.78034947059433, 356.0 269.0 C 372.26349641200454 255.38403391622202, 385.91563948453035 238.66015865237793, 396.0 220.0 C 375.5730240702531 226.10661895403078, 356.4006337622541 236.37754233331597, 340.0 250.0 C 323.4680426363879 263.73153578074164, 309.7676540233453 280.8570215470449, 300.0 300.0 Z" fill="rgb(168.75, 0, 145.3125)"/>
122
+ <path d="M 300.0 300.0 C 321.08830668177984 298.49534301733246, 341.88808823672764 293.0396626094773, 361.0 284.0 C 380.5233394422574 274.76573794634925, 398.2716462552382 261.795821429171, 413.0 246.0 C 391.55709882837954 247.24487334020682, 370.36755075871815 252.71314380979686, 351.0 262.0 C 331.7644449505238 271.22356345976317, 314.34019015136863 284.20634154540824, 300.0 300.0 Z" fill="rgb(168.75, 0, 145.3125)"/>
123
+ <path d="M 300.0 300.0 C 320.741055607037 304.0340205914381, 342.258944392963 304.0340205914381, 363.0 300.0 C 383.97263200436436 295.9209390801905, 404.1352239345381 287.7192067696114, 422.0 276.0 C 401.258944392963 271.9659794085619, 379.741055607037 271.9659794085619, 359.0 276.0 C 338.02736799563564 280.0790609198095, 317.8647760654619 288.2807932303886, 300.0 300.0 Z" fill="rgb(168.75, 0, 145.3125)"/>
124
+ <path d="M 300.0 300.0 C 319.0086000752798 309.2951225299275, 339.87631922573223 314.7686226349642, 361.0 316.0 C 382.31927346176616 317.2427791851412, 403.88147564854404 314.1624645870301, 424.0 307.0 C 404.9913999247202 297.7048774700725, 384.12368077426777 292.2313773650358, 363.0 291.0 C 341.68072653823384 289.7572208148588, 320.118524351456 292.8375354129699, 300.0 300.0 Z" fill="rgb(168.75, 0, 145.3125)"/>
125
+ <path d="M 300.0 300.0 C 316.01018411370717 313.8769278243014, 334.83809736789783 324.4890243857543, 355.0 331.0 C 375.24378288328455 337.537417578998, 396.8149250355521 339.93421115147214, 418.0 338.0 C 401.98981588629283 324.1230721756986, 383.16190263210217 313.5109756142457, 363.0 307.0 C 342.75621711671545 300.462582421002, 321.1850749644479 298.06578884852786, 300.0 300.0 Z" fill="rgb(168.75, 0, 145.3125)"/>
126
+ <path d="M 300.0 300.0 C 312.1238208778527 317.5939951911014, 327.8848024946713 332.6697167376235, 346.0 344.0 C 363.9169481539287 355.2062867502058, 384.1201477879298 362.73968322390107, 405.0 366.0 C 392.8761791221473 348.4060048088986, 377.1151975053287 333.3302832623765, 359.0 322.0 C 341.0830518460713 310.7937132497943, 320.8798522120702 303.26031677609893, 300.0 300.0 Z" fill="rgb(168.75, 0, 145.3125)"/>
127
+ <path d="M 300.0 300.0 C 307.23252964840333 319.9683491403247, 318.52974664956696 338.4547042331379, 333.0 354.0 C 347.59427698238017 369.6785335197892, 365.4040371334087 382.35086285802106, 385.0 391.0 C 377.25928645190567 371.0471143542715, 365.647185718681 352.6043661309147, 351.0 337.0 C 336.5396817505952 321.5947129593998, 319.1321575250609 308.9657247957769, 300.0 300.0 Z" fill="rgb(168.75, 0, 145.3125)"/>
128
+ <path d="M 300.0 300.0 C 302.3831128488183 320.9754353191263, 308.87500883355585 341.4761594814552, 319.0 360.0 C 329.28046734812995 378.8082867908067, 343.29991184840577 395.56323265698995, 360.0 409.0 C 357.8966777405481 387.6585374278824, 351.3876402377291 366.76110123462144, 341.0 348.0 C 330.7382363943947 329.4662443592094, 316.701576781897 313.03308188604143, 300.0 300.0 Z" fill="rgb(168.75, 0, 145.3125)"/>
129
+ <path d="M 300.0 300.0 C 296.80869934749444 320.92113801350047, 297.83515818174334 342.4767735327263, 303.0 363.0 C 308.2755591994854 383.96317757686785, 317.8665723155751 403.83027617448226, 331.0 421.0 C 333.76985231129606 399.6728523991169, 332.4038173642364 377.81629324616233, 327.0 357.0 C 321.6860350748743 336.5298314644526, 312.47259606362445 317.0792379962585, 300.0 300.0 Z" fill="rgb(168.75, 0, 145.3125)"/>
130
+ <path d="M 300.0 300.0 C 291.5211231142682 319.4988079519875, 287.06783101508586 340.7375856557803, 287.0 362.0 C 286.9311055938386 383.5957465467517, 291.38819922982293 405.19550801344514, 300.0 425.0 C 307.9660191498756 405.021223972112, 312.063728153199 383.50825170466413, 312.0 362.0 C 311.93725949823175 340.82508065321326, 307.8425627210321 319.66914730434854, 300.0 300.0 Z" fill="rgb(168.75, 0, 145.3125)"/>
131
+ <path d="M 300.0 300.0 C 287.06027015896245 316.9252622701419, 277.48698316591503 336.41373936313124, 272.0 357.0 C 266.4588299830858 377.7895608118518, 265.09053537613283 399.6822745230994, 268.0 421.0 C 280.98720972966 403.73396227627796, 290.5580787309242 383.9085907736592, 296.0 363.0 C 301.33257683338167 342.51152520124407, 302.69849057058593 320.9983838402777, 300.0 300.0 Z" fill="rgb(168.75, 0, 145.3125)"/>
132
+ <path d="M 300.0 300.0 C 285.97279296760945 308.04320517106686, 273.632303890926 319.0125287947855, 264.0 332.0 C 254.51831940090395 344.784382132483, 247.66837798122748 359.51175618478743, 244.0 375.0 C 258.02720703239055 366.95679482893314, 270.367696109074 355.9874712052145, 280.0 343.0 C 289.4816805990961 330.215617867517, 296.3316220187725 315.48824381521257, 300.0 300.0 Z" fill="rgb(197.5, 0, 176.25)"/>
133
+ <path d="M 300.0 300.0 C 284.3392352167577 304.21881796159175, 269.58420382017033 311.7679037924039, 257.0 322.0 C 244.5921445275577 332.0887090465338, 234.30614802412057 344.7747714007729, 227.0 359.0 C 242.2447860592554 354.4700073360316, 256.5957506232827 346.9528354215411, 269.0 337.0 C 281.63138263640025 326.8649189718343, 292.2333597583859 314.2109462778514, 300.0 300.0 Z" fill="rgb(197.5, 0, 176.25)"/>
134
+ <path d="M 300.0 300.0 C 283.8019607410423 300.4057646399536, 267.6957367426677 304.17530642680725, 253.0 311.0 C 238.6340008066873 317.67156360268984, 225.62775889322725 327.2551102757657, 215.0 339.0 C 230.84930439522012 338.33045837888136, 246.56238784575945 334.5729819015785, 261.0 328.0 C 275.65819998103035 321.3265915335777, 288.9901008777936 311.75497037692713, 300.0 300.0 Z" fill="rgb(197.5, 0, 176.25)"/>
135
+ <path d="M 300.0 300.0 C 284.27984495830367 296.47580105622615, 267.8532929109019 296.1335812219053, 252.0 299.0 C 235.99404678379025 301.89402114236464, 220.5863944961275 308.05708205742974, 207.0 317.0 C 222.82604531601498 319.8864669150354, 239.17395468398502 319.8864669150354, 255.0 317.0 C 270.86073119533273 314.10720682713645, 286.18833063544565 308.3167803719827, 300.0 300.0 Z" fill="rgb(197.5, 0, 176.25)"/>
136
+ <path d="M 300.0 300.0 C 285.484742303507 292.4165784542463, 269.3490609040188 287.9535176416219, 253.0 287.0 C 237.07488849951324 286.0712081354608, 220.9632842312598 288.4708087711581, 206.0 294.0 C 220.3996760339788 300.83688776248397, 236.0955375093856 304.9314603212858, 252.0 306.0 C 268.1869380111138 307.0875177675429, 284.5788183012387 305.0385327312773, 300.0 300.0 Z" fill="rgb(197.5, 0, 176.25)"/>
137
+ <path d="M 300.0 300.0 C 287.865738040529 289.2046697727324, 273.4610636521466 280.9734272650853, 258.0 276.0 C 242.57585087204265 271.0384471896877, 226.11557802128155 269.3238354344001, 210.0 271.0 C 222.3993479774578 281.1998183507812, 236.72776109643712 289.0463302968889, 252.0 294.0 C 267.42984093851715 299.00478915132237, 283.81297529926553 301.05268094641593, 300.0 300.0 Z" fill="rgb(197.5, 0, 176.25)"/>
138
+ <path d="M 300.0 300.0 C 290.83781993242457 286.4207303840502, 278.83908110483964 274.7648126658249, 265.0 266.0 C 251.35978998117218 257.3611399028709, 235.94505641369605 251.5377961107132, 220.0 249.0 C 229.47296863210838 262.0534685875489, 241.41234391909913 273.3105938581401, 255.0 282.0 C 268.691253928814 290.75565772863683, 284.04725906628175 296.8980597836239, 300.0 300.0 Z" fill="rgb(197.5, 0, 176.25)"/>
139
+ <path d="M 300.0 300.0 C 294.0725074261918 284.8337521696646, 285.1910523282129 270.8283806690056, 274.0 259.0 C 262.93461550681525 247.30444392576607, 249.61964548269157 237.74497826742086, 235.0 231.0 C 240.92749257380817 246.16624783033538, 249.80894767178708 260.1716193309945, 261.0 272.0 C 272.06538449318475 283.69555607423393, 285.38035451730843 293.25502173257917, 300.0 300.0 Z" fill="rgb(197.5, 0, 176.25)"/>
140
+ <path d="M 300.0 300.0 C 297.9946616249453 283.8976212052045, 292.87235705663795 268.18922052906186, 285.0 254.0 C 277.14638867329137 239.84456697498948, 266.5614978275009 227.21098757840082, 254.0 217.0 C 256.0053383750547 233.10237879479553, 261.12764294336205 248.81077947093812, 269.0 263.0 C 276.85361132670863 277.1554330250105, 287.43850217249917 289.7890124215992, 300.0 300.0 Z" fill="rgb(197.5, 0, 176.25)"/>
141
+ <path d="M 300.0 300.0 C 302.1558964023825 284.00989494279366, 301.13010484217176 267.5972299794217, 297.0 252.0 C 292.89074780389655 236.48151947823993, 285.7120300131812 221.78224019248952, 276.0 209.0 C 274.0517565605586 224.67020259544861, 275.07523322872515 240.70467039672477, 279.0 256.0 C 283.0647397368521 271.8408225634484, 290.24103736194417 286.8768747303079, 300.0 300.0 Z" fill="rgb(197.5, 0, 176.25)"/>
142
+ <path d="M 300.0 300.0 C 305.928236025799 285.08831411004695, 309.0 269.04688002255284, 309.0 253.0 C 309.0 236.95311997744716, 305.928236025799 220.91168588995305, 300.0 206.0 C 293.43128482927466 220.73768116495714, 290.0 236.8647198625481, 290.0 253.0 C 290.0 269.1352801374519, 293.43128482927466 285.26231883504283, 300.0 300.0 Z" fill="rgb(197.5, 0, 176.25)"/>
143
+ <path d="M 300.0 300.0 C 309.2874258539239 286.72436214243805, 316.1046076551019 271.7265621798464, 320.0 256.0 C 323.79463842604343 240.6802037193079, 324.8160604085394 224.67792599353783, 323.0 209.0 C 313.14770049764905 221.68872545852122, 305.94925785099525 236.42839373500274, 302.0 252.0 C 298.0350273524829 267.6335684445268, 297.3493102478596 284.09077895548745, 300.0 300.0 Z" fill="rgb(197.5, 0, 176.25)"/>
144
+ <path d="M 300.0 300.0 C 312.1295190146428 289.61849938057145, 322.34985149525613 277.0134226544817, 330.0 263.0 C 337.77195201652063 248.76345957332475, 342.88566231287 233.08141466452003, 345.0 217.0 C 332.3231545637847 227.08535297270868, 321.7097196486772 239.75300109719186, 314.0 254.0 C 306.3205256436483 268.1911078112753, 301.5283547131174 283.93681229730555, 300.0 300.0 Z" fill="rgb(197.5, 0, 176.25)"/>
145
+ <path d="M 300.0 300.0 C 314.2304026996065 293.0845645288765, 327.17948273595556 283.5431371336719, 338.0 272.0 C 349.1329962340562 260.1235158077526, 358.0042413735066 246.1342446263116, 364.0 231.0 C 349.30516011797596 237.60485542081688, 335.95665997054914 247.1883939882002, 325.0 259.0 C 314.04093127412574 270.8142027218333, 305.48410191033605 284.8474028784483, 300.0 300.0 Z" fill="rgb(197.5, 0, 176.25)"/>
146
+ <path d="M 300.0 300.0 C 315.5994849003315 296.7471308017512, 330.59340067727413 290.61325616572924, 344.0 282.0 C 357.5676503218837 273.28327438030254, 369.5009349069675 262.03189177150927, 379.0 249.0 C 363.0235549820677 251.39924482564587, 347.5721491505482 257.2364425842199, 334.0 266.0 C 320.43380691156204 274.75971157738735, 308.75971157738735 286.43380691156204, 300.0 300.0 Z" fill="rgb(197.5, 0, 176.25)"/>
147
+ <path d="M 300.0 300.0 C 315.85758153600176 300.93742751199574, 331.88649640936916 298.8911830600765, 347.0 294.0 C 362.2761293441137 289.05618636847475, 376.60686102220353 281.20840473523504, 389.0 271.0 C 372.88870486679883 269.2074725389437, 356.3959761387971 270.92546511477724, 341.0 276.0 C 325.84753327427757 280.9942738481578, 311.7732417656614 289.23288351173795, 300.0 300.0 Z" fill="rgb(197.5, 0, 176.25)"/>
148
+ <path d="M 300.0 300.0 C 315.09466843803483 304.9641861299149, 331.1423093571841 307.0128211408701, 347.0 306.0 C 362.9112334474256 304.9837591124801, 378.6199635848914 300.885829511402, 393.0 294.0 C 378.0588548847182 288.3957419422435, 361.9258083485441 285.9929477772814, 346.0 287.0 C 329.97781070731645 288.0131467732682, 314.1824621854195 292.477049616413, 300.0 300.0 Z" fill="rgb(197.5, 0, 176.25)"/>
149
+ <path d="M 300.0 300.0 C 313.46765386087696 308.2833774212151, 328.46150178381924 314.07645502780645, 344.0 317.0 C 359.8151121726028 319.97558947033525, 376.1848878273972 319.97558947033525, 392.0 317.0 C 378.43261890953875 308.02353548973633, 363.01532045189515 301.8566161066789, 347.0 299.0 C 331.4722270611475 296.23034662895367, 315.39591639461895 296.5723957920713, 300.0 300.0 Z" fill="rgb(197.5, 0, 176.25)"/>
150
+ <path d="M 300.0 300.0 C 310.63123701613046 311.7412909481619, 323.6364077341406 321.3240483193273, 338.0 328.0 C 352.392967588536 334.6896048275432, 368.1377512630295 338.45466179318294, 384.0 339.0 C 373.36876298386954 327.2587090518381, 360.3635922658594 317.6759516806727, 346.0 311.0 C 331.607032411464 304.3103951724568, 315.8622487369705 300.54533820681706, 300.0 300.0 Z" fill="rgb(197.5, 0, 176.25)"/>
151
+ <path d="M 300.0 300.0 C 307.3452762178081 314.20153661402924, 317.62341263244036 326.87790485874234, 330.0 337.0 C 342.3183766285947 347.07448794384953, 356.70410328966403 354.6098685758382, 372.0 359.0 C 364.6547237821919 344.79846338597076, 354.37658736755964 332.12209514125766, 342.0 322.0 C 329.6816233714053 311.92551205615047, 315.29589671033597 304.3901314241618, 300.0 300.0 Z" fill="rgb(197.5, 0, 176.25)"/>
152
+ <path d="M 300.0 300.0 C 303.2085604494859 315.45806459542047, 309.7311585519991 330.2197339853187, 319.0 343.0 C 328.5003015858073 356.0994129274379, 340.8770993895877 367.10101097524273, 355.0 375.0 C 351.2494843628523 359.53734781175933, 344.4091883528443 344.83071139024224, 335.0 332.0 C 325.5908116471557 319.16928860975776, 313.62029362964176 308.22481499374504, 300.0 300.0 Z" fill="rgb(197.5, 0, 176.25)"/>
153
+ <path d="M 300.0 300.0 C 299.4364418186608 315.99263930695935, 302.17716803440123 332.0944058244344, 308.0 347.0 C 313.82672745405216 361.9155660535701, 322.7344107100696 375.6196941397508, 334.0 387.0 C 333.9493987882082 370.9563721800828, 330.88001299430437 354.92735747858507, 325.0 340.0 C 319.2049996362681 325.28846073950035, 310.6844733331958 311.6556186545847, 300.0 300.0 Z" fill="rgb(197.5, 0, 176.25)"/>
154
+ <path d="M 300.0 300.0 C 295.5901582485205 315.199163246032, 294.2220685031522 331.27421775411034, 296.0 347.0 C 297.8243171414107 363.13606270215246, 302.96156223213893 378.8902809803857, 311.0 393.0 C 315.57907020863274 377.4946335509663, 316.9495051383288 361.0494143946138, 315.0 345.0 C 313.08053918049353 329.19792720685393, 307.94567502028247 313.79333472622073, 300.0 300.0 Z" fill="rgb(197.5, 0, 176.25)"/>
155
+ <path d="M 300.0 300.0 C 291.57443505586707 313.64793406602325, 286.08163115690587 329.09644503185154, 284.0 345.0 C 281.9003761624879 361.04101812251014, 283.27427142272774 377.52776124538855, 288.0 393.0 C 295.8833859526687 378.816011315182, 301.00665461403145 363.1046540870028, 303.0 347.0 C 304.9396364046215 331.32927200129467, 303.91629638674584 315.29694505457553, 300.0 300.0 Z" fill="rgb(197.5, 0, 176.25)"/>
156
+ <path d="M 300.0 300.0 C 288.86436488192436 311.4917147353668, 279.9813004395699 325.15796772360443, 274.0 340.0 C 268.0000985416345 354.8881889481975, 264.9247238195517 370.948479163519, 265.0 387.0 C 276.13563511807564 375.5082852646332, 285.0186995604301 361.84203227639557, 291.0 347.0 C 296.9999014583655 332.1118110518025, 300.0752761804483 316.051520836481, 300.0 300.0 Z" fill="rgb(197.5, 0, 176.25)"/>
157
+ <path d="M 300.0 300.0 C 290.24555551934424 304.17931745713355, 281.34540559706784 310.34095971101726, 274.0 318.0 C 266.5878695471011 325.728614167829, 260.76574696148475 334.9755147449843, 257.0 345.0 C 266.7544444806557 340.82068254286645, 275.65459440293216 334.65904028898274, 283.0 327.0 C 290.4121304528989 319.271385832171, 296.23425303851525 310.02448525501563, 300.0 300.0 Z" fill="rgb(226.25, 0, 212.8125)"/>
158
+ <path d="M 300.0 300.0 C 289.38588652497293 301.5517314573054, 279.1014075992827 305.32270706339176, 270.0 311.0 C 260.9348317602073 316.65468748163704, 253.05180286496287 324.19497599013175, 247.0 333.0 C 257.23457993179943 331.16405595267514, 267.1224221901363 327.4134950960646, 276.0 322.0 C 285.3242994973989 316.31409662810023, 293.5262740429369 308.79561996135703, 300.0 300.0 Z" fill="rgb(226.25, 0, 212.8125)"/>
159
+ <path d="M 300.0 300.0 C 289.2818586046028 298.71856223420684, 278.2932018057075 299.74874880910323, 268.0 303.0 C 257.6714454229958 306.26241785623074, 248.05442616907786 311.75785742989814, 240.0 319.0 C 250.79136737960837 319.65668502390827, 261.702320237957 318.2928159166147, 272.0 315.0 C 282.1412934027998 311.7571906387217, 291.6819198457494 306.64614075857014, 300.0 300.0 Z" fill="rgb(226.25, 0, 212.8125)"/>
160
+ <path d="M 300.0 300.0 C 289.8247522322641 296.170380453441, 278.85848500940614 294.45690119986944, 268.0 295.0 C 257.2681971543559 295.53676265553236, 246.6513770045725 298.2765872103152, 237.0 303.0 C 247.1752477677359 306.82961954655906, 258.14151499059386 308.54309880013056, 269.0 308.0 C 279.7318028456441 307.46323734446764, 290.3486229954275 304.7234127896848, 300.0 300.0 Z" fill="rgb(226.25, 0, 212.8125)"/>
161
+ <path d="M 300.0 300.0 C 290.8868740925423 294.13700990569157, 280.64260158423383 290.03930090236815, 270.0 288.0 C 259.46107992497883 285.9805662131696, 248.53892007502117 285.9805662131696, 238.0 288.0 C 247.1131259074577 293.86299009430843, 257.35739841576617 297.96069909763185, 268.0 300.0 C 278.53892007502117 302.0194337868304, 289.46107992497883 302.0194337868304, 300.0 300.0 Z" fill="rgb(226.25, 0, 212.8125)"/>
162
+ <path d="M 300.0 300.0 C 292.6398685565192 292.09781054457125, 283.7645174413308 285.6119770373182, 274.0 281.0 C 264.2928280343061 276.41510837867094, 253.71359950966496 273.68498488844097, 243.0 273.0 C 250.36013144348078 280.90218945542875, 259.2354825586692 287.3880229626818, 269.0 292.0 C 278.7071719656939 296.58489162132906, 289.28640049033504 299.31501511155903, 300.0 300.0 Z" fill="rgb(226.25, 0, 212.8125)"/>
163
+ <path d="M 300.0 300.0 C 294.69369045466874 290.4205312467728, 287.5197760173993 281.88015691669005, 279.0 275.0 C 270.71391823264895 268.30856319843696, 261.1612751449576 263.19107583003085, 251.0 260.0 C 256.15053805534706 269.1159852325101, 262.9622426993149 277.29003080527156, 271.0 284.0 C 279.52726586039387 291.1186139488966, 289.4306980192284 296.58257651928807, 300.0 300.0 Z" fill="rgb(226.25, 0, 212.8125)"/>
164
+ <path d="M 300.0 300.0 C 297.1237126549655 289.5980039964569, 292.35604186820615 279.72211450959816, 286.0 271.0 C 279.71873483043356 262.38049823929634, 271.890022422964 254.89216463215158, 263.0 249.0 C 265.3295671331234 259.40779922818194, 269.78018662911853 269.3361042577096, 276.0 278.0 C 282.3740752220313 286.87877495420247, 290.60150823390126 294.42058854841656, 300.0 300.0 Z" fill="rgb(226.25, 0, 212.8125)"/>
165
+ <path d="M 300.0 300.0 C 300.1782838943812 289.07499676726474, 298.1239110651122 278.11834167783024, 294.0 268.0 C 289.8899151787109 257.91558210396676, 283.72789158815027 248.67254671812583, 276.0 241.0 C 275.8217161056188 251.92500323273526, 277.8760889348878 262.88165832216976, 282.0 273.0 C 286.11008482128915 283.08441789603324, 292.27210841184973 292.32745328187417, 300.0 300.0 Z" fill="rgb(226.25, 0, 212.8125)"/>
166
+ <path d="M 300.0 300.0 C 302.64014566605016 289.58009544740963, 303.3221797632681 278.66754989192276, 302.0 268.0 C 300.6565145977758 257.16055293277805, 297.2438418947809 246.581267553494, 292.0 237.0 C 288.7255863353652 247.2876375299483, 287.69476915406176 258.28302079718543, 289.0 269.0 C 290.3363251077652 279.9722877241875, 294.1214536623169 290.63946819610595, 300.0 300.0 Z" fill="rgb(226.25, 0, 212.8125)"/>
167
+ <path d="M 300.0 300.0 C 305.39628811815646 290.49104604954044, 308.8224812633815 279.8698472993428, 310.0 269.0 C 311.1616609225808 258.2765384962548, 310.13455028571013 247.32069170296796, 307.0 237.0 C 301.60371188184354 246.50895395045956, 298.1775187366185 257.1301527006572, 297.0 268.0 C 295.8383390774192 278.7234615037452, 296.86544971428987 289.67930829703204, 300.0 300.0 Z" fill="rgb(226.25, 0, 212.8125)"/>
168
+ <path d="M 300.0 300.0 C 307.2781613625655 292.1604789756333, 313.0763366396465 282.95161235909285, 317.0 273.0 C 321.00475558959096 262.8427129036552, 323.053113469358 251.91813754489772, 323.0 241.0 C 315.14381389476694 248.55839109805402, 308.9553663577295 257.84106240361024, 305.0 268.0 C 301.0522729785717 278.1393167740076, 299.3334624149433 289.13970438122914, 300.0 300.0 Z" fill="rgb(226.25, 0, 212.8125)"/>
169
+ <path d="M 300.0 300.0 C 308.9881165505352 294.2397133533983, 316.8461250433021 286.7233574037952, 323.0 278.0 C 329.1446408764795 269.28973226452064, 333.5857988083592 259.3825338010967, 336.0 249.0 C 327.0118834494648 254.76028664660168, 319.1538749566979 262.2766425962048, 313.0 271.0 C 306.8553591235205 279.71026773547936, 302.4142011916408 289.6174661989033, 300.0 300.0 Z" fill="rgb(226.25, 0, 212.8125)"/>
170
+ <path d="M 300.0 300.0 C 310.1978636754293 296.41756082091604, 319.73621391818665 290.9670749679118, 328.0 284.0 C 336.00274580524456 277.25300420142946, 342.8067287859583 269.08822462457294, 348.0 260.0 C 337.7865120351266 263.0533094770154, 328.20031688112704 268.188771166658, 320.0 275.0 C 311.7340213181939 281.8657678903708, 304.8838270116726 290.4285107735225, 300.0 300.0 Z" fill="rgb(226.25, 0, 212.8125)"/>
171
+ <path d="M 300.0 300.0 C 310.3744136150466 299.18097615781545, 320.5952891842038 296.45540933937355, 330.0 292.0 C 339.75843352840207 287.37701724894373, 348.6312309358821 280.8930499127083, 356.0 273.0 C 345.2706990819399 273.5578239442298, 334.6593791217931 276.29622909523545, 325.0 281.0 C 315.5286223842937 285.61222091969483, 306.97977034914453 292.10934846640816, 300.0 300.0 Z" fill="rgb(226.25, 0, 212.8125)"/>
172
+ <path d="M 300.0 300.0 C 310.2135517210477 301.9247422696199, 320.7864482789523 301.9247422696199, 331.0 300.0 C 341.65088129061365 297.9928430394588, 351.9030466788376 293.89197688416925, 361.0 288.0 C 350.4732313836318 285.8869424209695, 339.5267686163682 285.8869424209695, 329.0 288.0 C 318.6782492862493 290.0719039592683, 308.7678227442995 294.17277011455786, 300.0 300.0 Z" fill="rgb(226.25, 0, 212.8125)"/>
173
+ <path d="M 300.0 300.0 C 309.31953004052605 304.6632709879971, 319.5959572737361 307.4036515835198, 330.0 308.0 C 340.85975597006365 308.62246940410586, 351.8477540469212 306.90559470459687, 362.0 303.0 C 352.3718639695474 298.2199533625136, 341.7388694161066 295.4759547680772, 331.0 295.0 C 320.4703581530077 294.5333183551236, 309.8489588832385 296.2464472696025, 300.0 300.0 Z" fill="rgb(226.25, 0, 212.8125)"/>
174
+ <path d="M 300.0 300.0 C 307.9586720982294 306.62618830231946, 317.16940957821134 311.74326468008724, 327.0 315.0 C 337.2696171275209 318.40217864707796, 348.2089117325067 319.7695904727012, 359.0 319.0 C 350.9580775418316 311.7418065264168, 341.3360350098495 306.24349650814133, 331.0 303.0 C 321.02314104512635 299.8692146309959, 310.39205752956127 298.8404000972315, 300.0 300.0 Z" fill="rgb(226.25, 0, 212.8125)"/>
175
+ <path d="M 300.0 300.0 C 306.07290316339567 308.78825326284067, 313.95064862354633 316.32348805081085, 323.0 322.0 C 331.8155170110812 327.5298314287906, 341.73471444953543 331.29228562958355, 352.0 333.0 C 345.92709683660433 324.21174673715933, 338.04935137645367 316.67651194918915, 329.0 311.0 C 320.1844829889188 305.4701685712094, 310.26528555046457 301.70771437041645, 300.0 300.0 Z" fill="rgb(226.25, 0, 212.8125)"/>
176
+ <path d="M 300.0 300.0 C 303.3225179997173 310.0048274949419, 308.8196751860269 319.28128024683934, 316.0 327.0 C 323.2356502947978 334.7781936478323, 332.17266184186013 340.9653554881063, 342.0 345.0 C 338.1685654139772 335.00557630012526, 332.3566303915864 325.7748559704458, 325.0 318.0 C 317.9001816816907 310.4965559090316, 309.3679083200028 304.35331908861633, 300.0 300.0 Z" fill="rgb(226.25, 0, 212.8125)"/>
177
+ <path d="M 300.0 300.0 C 300.8377202637333 310.4853118724417, 303.927649831681 320.78507709893404, 309.0 330.0 C 314.1660253114293 339.3851022445385, 321.3837073299392 347.6338816942641, 330.0 354.0 C 328.58227727970035 343.4921727789555, 325.170518156387 333.2568954090154, 320.0 324.0 C 314.8926342667853 314.8561678002124, 308.0729329331458 306.67252619984504, 300.0 300.0 Z" fill="rgb(226.25, 0, 212.8125)"/>
178
+ <path d="M 300.0 300.0 C 298.2125909677817 310.2567446162796, 298.5552694000635 320.8797760170157, 301.0 331.0 C 303.5396497768986 341.51315207541376, 308.3475357963969 351.4723445443746, 315.0 360.0 C 316.3647253326055 349.33511940851946, 315.68202777720535 338.41195852211735, 313.0 328.0 C 310.41880652101025 317.9794925059258, 305.9889774041 308.438322100273, 300.0 300.0 Z" fill="rgb(226.25, 0, 212.8125)"/>
179
+ <path d="M 300.0 300.0 C 295.4103073606201 309.64469973989515, 293.0 320.3189180512126, 293.0 331.0 C 293.0 341.6810819487874, 295.4103073606201 352.35530026010485, 300.0 362.0 C 303.9511454983383 352.1752430484868, 306.0 341.5894947899013, 306.0 331.0 C 306.0 320.4105052100987, 303.9511454983383 309.8247569515132, 300.0 300.0 Z" fill="rgb(226.25, 0, 212.8125)"/>
180
+ <path d="M 300.0 300.0 C 293.5448776229549 308.28596117989116, 288.7556955176859 317.86432539042926, 286.0 328.0 C 283.17670459818993 338.38431253953433, 282.49166410040283 349.3449605041277, 284.0 360.0 C 290.50301086207116 351.37314530375005, 295.28971648281674 341.45782651791995, 298.0 331.0 C 300.6133210435193 320.91631025481877, 301.2959281971456 310.33589937361126, 300.0 300.0 Z" fill="rgb(226.25, 0, 212.8125)"/>
181
+ <path d="M 300.0 300.0 C 291.49790870121865 306.497990403338, 284.31188987338174 314.71058334943734, 279.0 324.0 C 273.73328619161873 333.2104128872269, 270.3128766856311 343.47164140518976, 269.0 354.0 C 277.50209129878135 347.502009596662, 284.68811012661826 339.28941665056266, 290.0 330.0 C 295.26671380838127 320.7895871127731, 298.6871233143689 310.52835859481024, 300.0 300.0 Z" fill="rgb(226.25, 0, 212.8125)"/>
182
+ <path d="M 300.0 300.0 C 294.5577892320643 301.16246718670266, 289.3866686290666 303.5756568014349, 285.0 307.0 C 280.86437256536425 310.22837416616255, 277.42968111784853 314.3500039031814, 275.0 319.0 C 280.034347038118 317.5268683689737, 284.8008864723081 315.1435986518786, 289.0 312.0 C 293.36907433272296 308.7291629312402, 297.1207083905662 304.6364712317748, 300.0 300.0 Z" fill="rgb(255.0, 0, 255.0)"/>
183
+ <path d="M 300.0 300.0 C 294.5303232671546 299.7321633222264, 289.00112389413795 300.76888820466706, 284.0 303.0 C 278.96056151609656 305.24820477982377, 274.46563010462273 308.7058443271113, 271.0 313.0 C 276.5184267317551 312.66377090512515, 281.9725744861574 311.3002339665246, 287.0 309.0 C 291.8175939774726 306.7957717576532, 296.241049285093 303.7333796216083, 300.0 300.0 Z" fill="rgb(255.0, 0, 255.0)"/>
184
+ <path d="M 300.0 300.0 C 294.82698882844466 298.495593754565, 289.3200733408581 298.1514115365908, 284.0 299.0 C 278.6379947292457 299.8552768960075, 273.47267753813765 301.92140377245073, 269.0 305.0 C 274.28668942045516 305.8631329666049, 279.71331057954484 305.8631329666049, 285.0 305.0 C 290.22382868983516 304.14713000982283, 295.3092150540256 302.45200122175936, 300.0 300.0 Z" fill="rgb(255.0, 0, 255.0)"/>
185
+ <path d="M 300.0 300.0 C 295.1891954101621 297.0461556582245, 289.63669378981007 295.31099890186454, 284.0 295.0 C 278.5293971718774 294.69816499963883, 272.98967071136457 295.736863710985, 268.0 298.0 C 273.0221400777042 300.3139199118348, 278.4797964435152 301.67833400328755, 284.0 302.0 C 289.3956578814246 302.3144086359477, 294.8477552560833 301.63289646411533, 300.0 300.0 Z" fill="rgb(255.0, 0, 255.0)"/>
186
+ <path d="M 300.0 300.0 C 295.92049176310246 296.4468799227021, 291.1322845560969 293.710761518699, 286.0 292.0 C 280.8677154439031 290.289238481301, 275.3954786358967 289.6052088803002, 270.0 290.0 C 274.07950823689754 293.5531200772979, 278.8677154439031 296.289238481301, 284.0 298.0 C 289.1322845560969 299.710761518699, 294.6045213641033 300.3947911196998, 300.0 300.0 Z" fill="rgb(255.0, 0, 255.0)"/>
187
+ <path d="M 300.0 300.0 C 297.03789090305787 295.11652284017646, 292.88347715982354 290.96210909694213, 288.0 288.0 C 283.4559757768071 285.2437885859322, 278.288946226995 283.52144540266147, 273.0 283.0 C 276.29083244450203 287.35201374255126, 280.3787895311053 291.09930773860435, 285.0 294.0 C 289.58581609590993 296.8784755317088, 294.69408108109366 298.92178152578225, 300.0 300.0 Z" fill="rgb(255.0, 0, 255.0)"/>
188
+ <path d="M 300.0 300.0 C 297.9839476803454 294.7908089087589, 294.9020582607671 289.9967587005259, 291.0 286.0 C 287.29548437688027 282.2055781696536, 282.85556833254236 279.13179013895814, 278.0 277.0 C 280.3185596104628 281.7557074232854, 283.36479083468777 286.15581919161036, 287.0 290.0 C 290.77193127998027 293.9887624556589, 295.17716915691466 297.3774069763777, 300.0 300.0 Z" fill="rgb(255.0, 0, 255.0)"/>
189
+ <path d="M 300.0 300.0 C 299.54927582687753 294.3838743655822, 297.82726981322264 288.87345512188654, 295.0 284.0 C 292.25571936273343 279.26959596674067, 288.47437060423897 275.1444882302013, 284.0 272.0 C 284.73244326904995 277.24917676152455, 286.4364485583252 282.3611926293504, 289.0 287.0 C 291.76353783789835 292.000687516197, 295.52570064340273 296.4468799227021, 300.0 300.0 Z" fill="rgb(255.0, 0, 255.0)"/>
190
+ <path d="M 300.0 300.0 C 300.65216200495047 294.6656816801676, 300.31128209142804 289.2116030638087, 299.0 284.0 C 297.64552982623263 278.6167487883892, 295.25582483158837 273.4959523712943, 292.0 269.0 C 291.34783799504953 274.3343183198324, 291.68871790857196 279.7883969361913, 293.0 285.0 C 294.35447017376737 290.3832512116108, 296.74417516841163 295.5040476287057, 300.0 300.0 Z" fill="rgb(255.0, 0, 255.0)"/>
191
+ <path d="M 300.0 300.0 C 301.97704479995406 294.91322848345146, 303.0 289.4574674165399, 303.0 284.0 C 303.0 278.5425325834601, 301.97704479995406 273.08677151654854, 300.0 268.0 C 297.3868942599801 272.8995732625373, 296.0 278.44715030245777, 296.0 284.0 C 296.0 289.55284969754223, 297.3868942599801 295.1004267374627, 300.0 300.0 Z" fill="rgb(255.0, 0, 255.0)"/>
192
+ <path d="M 300.0 300.0 C 302.78129163807824 295.3618857374925, 304.815339281017 290.2767666301456, 306.0 285.0 C 307.1754704888807 279.7641688872984, 307.5143905799927 274.3414474295062, 307.0 269.0 C 303.59474417078263 273.3993367234609, 301.18443681016254 278.56428106764685, 300.0 284.0 C 298.85575862449036 289.2512505983211, 298.85575862449036 294.7487494016789, 300.0 300.0 Z" fill="rgb(255.0, 0, 255.0)"/>
193
+ <path d="M 300.0 300.0 C 304.0380586421173 296.2753827388563, 307.4357827450139 291.8583414050907, 310.0 287.0 C 312.4711505930281 282.31798905846307, 314.1677139095003 277.2282991090464, 315.0 272.0 C 310.42077975617786 275.0133891778549, 306.60457614092746 279.17652039449166, 304.0 284.0 C 301.3605220081933 288.8881152148365, 299.971338343623 294.4448498731176, 300.0 300.0 Z" fill="rgb(255.0, 0, 255.0)"/>
194
+ <path d="M 300.0 300.0 C 304.4239763431151 297.22449120769573, 308.4722251260242 293.8509505552715, 312.0 290.0 C 315.57115219075547 286.1016983783747, 318.60823525330466 281.71480062135925, 321.0 277.0 C 316.07484925694547 278.99415070846504, 311.60017812467845 282.09199995388065, 308.0 286.0 C 304.3273058419042 289.98671633518205, 301.5701108854313 294.8118075090096, 300.0 300.0 Z" fill="rgb(255.0, 0, 255.0)"/>
195
+ <path d="M 300.0 300.0 C 304.9510743244567 298.77779042485326, 309.700417670096 296.74235756243644, 314.0 294.0 C 318.5981343298322 291.0672201425678, 322.6792038794406 287.3262397220934, 326.0 283.0 C 320.68812281164145 283.3829880104459, 315.4792945569544 285.1192640953416, 311.0 288.0 C 306.3853280448518 290.9678001793332, 302.5560822353795 295.14515924421215, 300.0 300.0 Z" fill="rgb(255.0, 0, 255.0)"/>
196
+ <path d="M 300.0 300.0 C 305.066252164721 300.27656286904016, 310.18319669755056 299.5943035979962, 315.0 298.0 C 320.1366064777521 296.2998454213801, 324.92743584356106 293.56222864091785, 329.0 290.0 C 323.60627486721495 289.4847399354258, 318.1009311128042 290.17290790472714, 313.0 292.0 C 308.1752830259593 293.72815551715075, 303.71695978472803 296.4717390502162, 300.0 300.0 Z" fill="rgb(255.0, 0, 255.0)"/>
197
+ <path d="M 300.0 300.0 C 304.8251820710901 301.5621657789809, 309.93408216397484 302.2433524580322, 315.0 302.0 C 320.52681344426423 301.7345074120266, 325.9984622136617 300.3665952196772, 331.0 298.0 C 326.0422297582237 295.6497767365974, 320.47241767171846 294.60543697037764, 315.0 295.0 C 309.68812281164145 295.3829880104459, 304.4792945569544 297.1192640953416, 300.0 300.0 Z" fill="rgb(255.0, 0, 255.0)"/>
198
+ <path d="M 300.0 300.0 C 304.3489151719185 302.4221806020812, 309.1005892366994 304.11920705378867, 314.0 305.0 C 319.2769661358469 305.94866806936574, 324.7230338641531 305.94866806936574, 330.0 305.0 C 325.5532434762023 301.8773397115763, 320.3736238885595 299.80549187651917, 315.0 299.0 C 310.0057523927239 298.2513756153364, 304.8506758074776 298.5950473876862, 300.0 300.0 Z" fill="rgb(255.0, 0, 255.0)"/>
199
+ <path d="M 300.0 300.0 C 303.38283267773244 303.72269670843923, 307.47901801013325 306.7948357077398, 312.0 309.0 C 316.97713629851626 311.42765913861194, 322.46598131843297 312.7998703935911, 328.0 313.0 C 324.5392102078408 308.7012672810178, 320.0426208274883 305.24235237305436, 315.0 303.0 C 310.3027122093089 300.91121030418185, 305.1393386128757 299.87853558489525, 300.0 300.0 Z" fill="rgb(255.0, 0, 255.0)"/>
200
+ <path d="M 300.0 300.0 C 302.4620869288397 304.6299005195711, 305.88998237775365 308.7433750582678, 310.0 312.0 C 314.1185526172444 315.2633877539979, 318.91815822645503 317.6631905586033, 324.0 319.0 C 321.5379130711603 314.3700994804289, 318.11001762224635 310.2566249417322, 314.0 307.0 C 309.8814473827556 303.7366122460021, 305.08184177354497 301.3368094413967, 300.0 300.0 Z" fill="rgb(255.0, 0, 255.0)"/>
201
+ <path d="M 300.0 300.0 C 301.0160976366763 305.0108741160467, 303.07219297574295 309.8084299072022, 306.0 314.0 C 309.1322881062398 318.4843136994224, 313.2607492713546 322.26873643411096, 318.0 325.0 C 316.7455175310992 319.58541611172865, 314.3440646058775 314.4394455576822, 311.0 310.0 C 308.0010081799389 306.0186591820938, 304.2482977744826 302.60710426804263, 300.0 300.0 Z" fill="rgb(255.0, 0, 255.0)"/>
202
+ <path d="M 300.0 300.0 C 299.6129844880728 305.0663257519342, 300.299083086236 310.212065238158, 302.0 315.0 C 303.8736165840838 320.2740694743558, 306.9797848362165 325.10588675545114, 311.0 329.0 C 311.0205401183995 323.541286465356, 309.9966411644169 318.08049204411594, 308.0 313.0 C 306.12915230782477 308.23959187798056, 303.40654884850494 303.8153612565858, 300.0 300.0 Z" fill="rgb(255.0, 0, 255.0)"/>
203
+ <path d="M 300.0 300.0 C 298.31077276692713 304.7911808578706, 297.62511630114903 309.9336043512062, 298.0 315.0 C 298.41595562074895 320.62146541317475, 300.14110776613893 326.14195227842276, 303.0 331.0 C 304.8568267862492 325.9073794759489, 305.5461255253674 320.39298956300314, 305.0 315.0 C 304.46465752792886 309.7134930882974, 302.7436301693646 304.55041101260474, 300.0 300.0 Z" fill="rgb(255.0, 0, 255.0)"/>
204
+ <path d="M 300.0 300.0 C 296.779355357893 304.3877773828955, 294.69386241978145 309.6015097281743, 294.0 315.0 C 293.3074970658604 320.38791300203434, 294.0025493402562 325.94833119720107, 296.0 331.0 C 298.68493231973315 326.0591819769016, 300.39390918919077 320.5904559946371, 301.0 315.0 C 301.54286751994545 309.99270253393064, 301.2027488869463 304.89092303894324, 300.0 300.0 Z" fill="rgb(255.0, 0, 255.0)"/>
205
+ <path d="M 300.0 300.0 C 296.14600247905 303.6502909171146, 293.06006517104487 308.10775591756646, 291.0 313.0 C 288.87810740226683 318.03907189477616, 287.847711057579 323.53451906644494, 288.0 329.0 C 291.871641369068 324.9774337914231, 294.9478414183445 320.19223371477074, 297.0 315.0 C 298.884283780324 310.23251182445097, 299.90568957585714 305.12548284678525, 300.0 300.0 Z" fill="rgb(255.0, 0, 255.0)"/>
206
+ <path d="M 300.0 300.0 C 295.3500039031814 302.42968111784853, 291.22837416616255 305.86437256536425, 288.0 310.0 C 284.5756568014349 314.3866686290666, 282.16246718670266 319.5577892320643, 281.0 325.0 C 285.6364712317748 322.1207083905662, 289.7291629312402 318.36907433272296, 293.0 314.0 C 296.1435986518786 309.8008864723081, 298.5268683689737 305.034347038118, 300.0 300.0 Z" fill="rgb(255.0, 0, 255.0)"/>
207
+ </svg>
data/examples/fox.png ADDED
Binary file
data/examples/fox.rb ADDED
@@ -0,0 +1,110 @@
1
+ WIDTH, HEIGHT = 400, 600
2
+ (stripes = 15).times do |i|
3
+ c = Random.rand(0..25)
4
+ col1 = "rgb(#{30 - c}, #{30 - c}, #{150 - c})"
5
+ col2 = "rgb(#{150 - c}, #{30 - c}, #{30 - c})"
6
+ #col = [col1, col2].sample
7
+ col = i.odd? ? col1 : col2
8
+ rect(WIDTH, HEIGHT - HEIGHT / stripes * i, fill: col)
9
+ end
10
+ #rect(WIDTH, HEIGHT, fill: '#811')
11
+ #rect(WIDTH, HEIGHT / 2, fill: '#118')
12
+
13
+ def fox(size, at:, **options)
14
+ x, y = at
15
+ h = size
16
+ w = size / 2.5
17
+
18
+ contrast = options.merge(fill: 'white')
19
+
20
+ # tail
21
+ tail = path(
22
+ N.n(w / 2, h / 2),
23
+ N.s(w / 2 - w / 6, h + w / 3),
24
+ N.s(-w / 3, h + w / 6),
25
+ tip_n = N.n(-w - w / 3, h + w / 2), # tip
26
+ N.s(-w / 4 * 3, h + w / 4 * 3),
27
+ N.s(w / 2 + w * 0.8, h),
28
+ N.n(w / 2, h / 2 - w / 12),
29
+ **options
30
+ ).move(x, y)
31
+ # tail tip
32
+ intersection(**contrast) do
33
+ canvas << tail.shape
34
+ circle(w.round)[*tip_n.move(x, y).at]
35
+ end
36
+
37
+ # body
38
+ body = path(
39
+ N.s(0, 0),
40
+ N.l(-w / 2, h / 2),
41
+ N.r(-w / 2, h - w / 2),
42
+ N.s(-w / 3, h),
43
+ N.l(-w / 6, h - w / 2),
44
+ N.n(-w / 6, h / 2 + w / 6),
45
+ N.s(0, h / 2),
46
+ N.n(w / 6, h / 2 + w / 6),
47
+ N.r(w / 6, h - w / 2),
48
+ N.s(w / 3, h),
49
+ N.l(w / 2, h - w / 2),
50
+ N.r(w / 2, h / 2),
51
+ **options
52
+ ).move(x, y)
53
+ # feet
54
+ intersection(**contrast) do
55
+ canvas << body.shape
56
+ square(h)[x - w, y + size - size / 3]
57
+ end
58
+
59
+ # head
60
+ head = path(
61
+ N.s(0, 0), # chin
62
+ N.g(w / 6, -w / 12),
63
+ N.s(w / 2, -w),
64
+ N.s(w / 3 + w / 12, -w - w / 12 * 3),
65
+ N.s(w / 3, -w - w / 3), # ear tip
66
+ N.s(w / 3 - w / 12, -w - w / 12 * 3),
67
+ N.n(w / 6, -w),
68
+ N.s(0, -w - w / 200), # head bump
69
+ N.n(-w / 6, -w),
70
+ N.s(-w / 3 + w / 12, -w - w / 12 * 3),
71
+ N.s(-w / 3, -w - w / 3), # ear tip
72
+ N.s(-w / 3 - w / 12, -w - w / 12 * 3),
73
+ N.s(-w / 2, -w),
74
+ N.g(-w / 6, -w / 12),
75
+ **options
76
+ ).move(x, y + w / 2)
77
+ # ears
78
+ ear = difference(**contrast, stroke: "none") do
79
+ difference do
80
+ canvas << head.shape.clone
81
+ circle(w * 1.08)[x, y + w / 2]
82
+ end.scale(0.6).move(0.32 * x, 0.22 * y)
83
+ square(size)[x - w / 6, y - w]
84
+ end
85
+ ear2 = ear.shape.to_path.paths.first.flip_y.move(x * 2, 0)
86
+ ear2.options = { fill: "white" }
87
+ canvas << ear2
88
+ # nose
89
+ intersection do
90
+ canvas << head.shape.clone
91
+ circle(w / 9)[x, y + w / 2]
92
+ end
93
+
94
+ # eyes
95
+ circle(w / 18)[x - w / 7, y - w / 6]
96
+ circle(w / 18)[x + w / 7, y - w / 6]
97
+ end
98
+
99
+ fox(HEIGHT / 2, at: [WIDTH / 2, HEIGHT / 4],
100
+ fill: 'orangered',
101
+ stroke: 'black',
102
+ stroke_width: 4
103
+ )
104
+
105
+ # show nodes
106
+ canvas.flat_map do |shape|
107
+ shape.to_path.nodes.map do |n|
108
+ #Circle.new(3, at: n.at, fill: 'grey')
109
+ end if shape.class == VectorSalad::StandardShapes::Path
110
+ end.each { |n| canvas << n }
data/examples/fox.svg ADDED
@@ -0,0 +1,31 @@
1
+ <svg version="1.1"
2
+ xmlns="http://www.w3.org/2000/svg"
3
+ width="400"
4
+ height="600">
5
+
6
+ <rect x="0" y="0" width="400" height="600" fill="rgb(143, 23, 23)"/>
7
+ <rect x="0" y="0" width="400" height="560" fill="rgb(13, 13, 133)"/>
8
+ <rect x="0" y="0" width="400" height="520" fill="rgb(130, 10, 10)"/>
9
+ <rect x="0" y="0" width="400" height="480" fill="rgb(13, 13, 133)"/>
10
+ <rect x="0" y="0" width="400" height="440" fill="rgb(140, 20, 20)"/>
11
+ <rect x="0" y="0" width="400" height="400" fill="rgb(30, 30, 150)"/>
12
+ <rect x="0" y="0" width="400" height="360" fill="rgb(150, 30, 30)"/>
13
+ <rect x="0" y="0" width="400" height="320" fill="rgb(21, 21, 141)"/>
14
+ <rect x="0" y="0" width="400" height="280" fill="rgb(145, 25, 25)"/>
15
+ <rect x="0" y="0" width="400" height="240" fill="rgb(19, 19, 139)"/>
16
+ <rect x="0" y="0" width="400" height="200" fill="rgb(126, 6, 6)"/>
17
+ <rect x="0" y="0" width="400" height="160" fill="rgb(24, 24, 144)"/>
18
+ <rect x="0" y="0" width="400" height="120" fill="rgb(133, 13, 13)"/>
19
+ <rect x="0" y="0" width="400" height="80" fill="rgb(13, 13, 133)"/>
20
+ <rect x="0" y="0" width="400" height="40" fill="rgb(130, 10, 10)"/>
21
+ <path d="M 260.0 300.0 C 284.07379853323187 303.5952096093461, 306.5790893738076 316.78454105184574, 321.4804532968139 336.0309085321756 C 336.38181721982016 355.2772760125055, 343.51491386699644 380.36842010640953, 340.96680512336786 404.575453170881 C 338.41869637973923 428.78248623535245, 326.2174841765101 451.83843992395055, 307.63526267235034 467.5602194645787 C 289.0530411681906 483.28199900520684, 264.29474522376455 491.4962160492851, 240.0 490.0 C 212.5061687964893 488.3067650586931, 187.1026626396414 474.92173512649623, 160.0 470.0 C 138.36212374420475 466.0706482220252, 115.74157871913992 467.6806857824106, 94.87836360663718 474.6350908199115 C 74.01514849413444 481.58949585741243, 54.95268993785133 493.87379282414304, 40.0 510.0 C 62.196734387461674 522.4147514140828, 85.70191491569055 532.4884002118953, 110.0 540.0 C 156.3761883095586 554.3369061829543, 206.91992080348396 559.1220685015194, 253.3993999298306 545.1236492634062 C 276.63913949300377 538.1244396443496, 298.5823668101268 526.444962603958, 316.63309790170246 510.22011939007035 C 334.68382899327804 493.99527617618276, 348.7502677673545 473.1628109868071, 356.0 450.0 C 366.49026535817063 416.48372299895453, 361.9747970646153 378.57126450150946, 343.9059105615512 348.4564536630693 C 325.8370240584871 318.34164282462916, 294.5097810518263 296.5162491550473, 260.0 290.0 L 260.0 300.0 Z" fill="orangered" stroke="black" stroke-width="4"/>
22
+ <path d=" M 153.09056854248047 550.1284093856812 L 145.43493366241455 548.8174800872803 L 136.4718885421753 546.996244430542 L 127.57034587860107 544.9105701446533 L 118.74236392974854 542.5739812850952 L 110.0 540.0 L 100.9263916015625 537.0634851455688 L 91.93316078186035 533.889368057251 L 83.02634716033936 530.4802370071411 L 74.21199321746826 526.8386812210083 L 65.49613952636719 522.9672908782959 L 56.88482856750488 518.8686542510986 L 48.38410186767578 514.5453605651855 L 40.0 510.0 L 45.79539394378662 504.1356678009033 L 51.94902038574219 498.64895248413086 L 58.43381977081299 493.5572900772095 L 65.22273445129395 488.87811946868896 L 72.28870487213135 484.6288766860962 L 79.6046724319458 480.8269987106323 L 87.1435775756836 477.48992443084717 L 94.87836265563965 474.6350898742676 L 102.77909183502197 472.2780866622925 L 110.81246089935303 470.4244022369385 L 118.94636154174805 469.0763244628906 L 127.14868354797363 468.2361364364624 L 135.3873176574707 467.90612411499023 L 143.63015460968018 468.08857440948486 L 151.84508514404297 468.78577041625977 L 152.73909759521484 468.91888523101807 L 153.1169786453247 469.94317626953125 L 154.12678146362305 472.91796016693115 L 155.058367729187 475.91815853118896 L 155.9110984802246 478.9417142868042 L 156.6843900680542 481.9865560531616 L 157.37771129608154 485.0505962371826 L 157.9905881881714 488.1317367553711 L 158.5226001739502 491.2278633117676 L 158.9733829498291 494.336856842041 L 159.34262657165527 497.4565839767456 L 159.63007926940918 500.5849084854126 L 159.83554363250732 503.7196846008301 L 159.95887851715088 506.8587656021118 L 160.0 510.0 L 159.95887851715088 513.1412334442139 L 159.83554363250732 516.2803144454956 L 159.63007926940918 519.4150905609131 L 159.34262657165527 522.5434150695801 L 158.9733829498291 525.6631422042847 L 158.5226001739502 528.7721357345581 L 157.9905881881714 531.8682622909546 L 157.37771129608154 534.9494028091431 L 156.6843900680542 538.0134429931641 L 155.9110984802246 541.0582847595215 L 155.058367729187 544.0818405151367 L 154.12678146362305 547.0820388793945 L 153.1169786453247 550.0568227767944 Z" fill="white" stroke="black" stroke-width="4"/>
23
+ <path d="M 200.0 150.0 C 192.53659529536864 150.0, 185.13080164798615 152.08393185406212, 178.56907706907552 155.64007869237375 C 172.0073524901649 159.1962255306854, 166.27527634220513 164.19650590706954, 161.56108899089247 169.9825967637566 C 152.13271428826735 181.55477847713064, 146.82900894338303 196.0194280071241, 143.93286582600516 210.6625832061963 C 138.14057959199502 239.94889360396996, 139.99999999934022 270.1463811819832, 140.0 300.0 L 140.0 390.0 C 140.0 401.6656257487559, 138.93471881807665 413.38042666697146, 140.1782027769554 424.9795892123472 C 140.79994475620617 430.77917048444164, 142.25718989256484 436.62642322592455, 145.52216848384083 441.4598092873623 C 147.15465777947875 443.87650231808107, 149.2391284555649 446.0090004042575, 151.71898876784738 447.54383568423486 C 154.1988490801299 449.0786709642122, 157.08359356311624 449.99999999993787, 160.0 450.0 C 162.91640643718898 450.0, 165.80115092049687 449.0786709642394, 168.28101123307158 447.54383568415426 C 170.7608715456463 446.0090004040691, 172.84534222199605 443.8765023177139, 174.4778315178563 441.45980928677704 C 177.74281010957657 436.6264232249033, 179.20005524621203 430.77917048283985, 179.8217972256512 424.97958921015214 C 181.06528118359086 413.3804266654164, 180.00000000086555 401.6656257480194, 180.0 390.0 L 180.0 320.0 C 180.0 314.764012244017, 182.15546192780374 309.56026682473436, 185.85786437626905 305.85786437626905 C 189.56026682473436 302.15546192780374, 194.764012244017 300.0, 200.0 300.0 C 205.235987755983 300.0, 210.43973317526564 302.15546192780374, 214.14213562373095 305.85786437626905 C 217.84453807219626 309.56026682473436, 220.0 314.764012244017, 220.0 320.0 L 220.0 390.0 C 220.0 401.6656257487559, 218.93471881807665 413.38042666697146, 220.1782027769554 424.9795892123472 C 220.79994475620617 430.77917048444164, 222.25718989256484 436.62642322592455, 225.52216848384083 441.4598092873623 C 227.15465777947875 443.87650231808107, 229.2391284555649 446.0090004042575, 231.71898876784738 447.54383568423486 C 234.1988490801299 449.0786709642122, 237.08359356311624 449.99999999993787, 240.0 450.0 C 242.91640643718898 450.0, 245.80115092049687 449.0786709642394, 248.28101123307158 447.54383568415426 C 250.7608715456463 446.0090004040691, 252.84534222199605 443.8765023177139, 254.4778315178563 441.45980928677704 C 257.74281010957657 436.6264232249033, 259.200055246212 430.77917048283985, 259.8217972256512 424.97958921015214 C 261.06528118359086 413.3804266654164, 260.00000000086555 401.6656257480194, 260.0 390.0 L 260.0 300.0 C 260.0 270.1463811814745, 261.8594204067095 239.94889360290566, 256.06713417195346 210.662583204761 C 253.17099105475404 196.01942800610274, 247.86728571011813 181.5547784765027, 238.4389110078448 169.98259676341044 C 233.7247236567082 164.1965059068644, 227.9926475089496 159.1962255305916, 221.43092293025543 155.6400786923433 C 214.8691983515613 152.08393185409503, 207.46340470441086 150.00000000004744, 200.0 150.0 Z" fill="orangered" stroke="black" stroke-width="4"/>
24
+ <path d=" M 240.0 450.0 L 237.824462890625 449.8320598602295 L 235.6957893371582 449.3474807739258 L 233.64896774291992 448.575119972229 L 231.7189884185791 447.5438356399536 L 229.93411254882812 446.2855453491211 L 228.30281448364258 444.8325185775757 L 225.52216815948486 441.4598083496094 L 223.3971929550171 437.6612558364868 L 221.85897159576416 433.58202171325684 L 220.81635665893555 429.321626663208 L 220.17820262908936 424.97958850860596 L 219.62576293945312 416.26111030578613 L 219.62279415130615 407.5147180557251 L 220.0 390.0 L 220.0 350.0 L 260.0 350.0 L 260.0 390.0 L 260.37720489501953 407.5147180557251 L 260.37423610687256 416.26111030578613 L 259.8217964172363 424.97958850860596 L 259.18364238739014 429.321626663208 L 258.1410274505615 433.58202171325684 L 256.6028060913086 437.6612558364868 L 254.47783088684082 441.4598083496094 L 251.6971845626831 444.8325185775757 L 250.06588649749756 446.2855453491211 L 248.28101062774658 447.5438356399536 L 246.35103130340576 448.575119972229 L 244.30420970916748 449.3474807739258 L 242.17553615570068 449.8320598602295 Z M 160.0 450.0 L 157.824462890625 449.8320598602295 L 155.6957893371582 449.3474807739258 L 153.64896774291992 448.575119972229 L 151.7189884185791 447.5438356399536 L 149.93411254882812 446.2855453491211 L 148.30281448364258 444.8325185775757 L 145.52216815948486 441.4598083496094 L 143.3971929550171 437.6612558364868 L 141.85897159576416 433.58202171325684 L 140.81635665893555 429.321626663208 L 140.17820262908936 424.97958850860596 L 139.62576293945312 416.26111030578613 L 139.62279415130615 407.5147180557251 L 140.0 390.0 L 140.0 350.0 L 180.0 350.0 L 180.0 390.0 L 180.37720489501953 407.5147180557251 L 180.37423610687256 416.26111030578613 L 179.82179641723633 424.97958850860596 L 179.18364238739014 429.321626663208 L 178.14102745056152 433.58202171325684 L 176.6028060913086 437.6612558364868 L 174.47783088684082 441.4598083496094 L 171.6971845626831 444.8325185775757 L 170.06588649749756 446.2855453491211 L 168.28101062774658 447.5438356399536 L 166.35103130340576 448.575119972229 L 164.30420970916748 449.3474807739258 L 162.17553615570068 449.8320598602295 Z" fill="white" stroke="black" stroke-width="4"/>
25
+ <path d="M 200.0 210.0 C 203.83419145760882 210.0, 207.62564863821186 208.89218760026228, 211.01009659247973 207.09037290988687 C 214.3945445467476 205.28855821951146, 217.3900030764616 202.8087257240109, 220.0 200.0 C 226.73250647083785 192.75487111070004, 231.00938928311083 183.6033587835116, 234.91193358196853 174.51552713906 C 238.8144778808254 165.42769549460635, 242.40796874943723 156.210667820763, 246.12689379303734 147.04616387769235 C 249.84581883425477 137.88165993204734, 253.6491932099563 128.72907190324574, 256.4878610293785 119.25487003486055 C 259.3265288488007 109.78066816647537, 261.1437714966013 99.82396675460065, 260.0 90.0 C 258.77615192061813 79.48824750933096, 254.22366574448105 69.703370147809, 250.0 60.0 C 249.00153196774636 57.706138344311185, 247.9971572095378 55.37066128014706, 246.40124563573318 53.44405650607732 C 245.60328984883088 52.48075411904248, 244.65934017807308 51.62856506193902, 243.57226660168791 51.00973070102892 C 242.48519302530275 50.39089634011883, 241.25082542575302 50.01098549077889, 240.0 50.0 C 238.74359106154472 49.98896547150084, 237.49696550080273 50.35058560577421, 236.39723983579572 50.95827684577554 C 235.29751417078867 51.56596808577687, 234.3407959910534 52.41396528892052, 233.53612588314715 53.37894777523397 C 231.92678566733474 55.308912747860816, 230.93511830295384 57.66755611315546, 230.0 60.0 C 226.07513949207518 69.78968850198905, 222.73392469485358 79.81333289365388, 220.0 90.0 C 213.3555333689816 89.33388805704077, 206.67777222816636 89.0, 200.0 89.0 C 193.32222777183364 89.0, 186.6444666310184 89.33388805704077, 180.0 90.0 C 177.26607530514642 79.81333289365388, 173.92486050792482 69.78968850198905, 170.0 60.0 C 169.06488169704613 57.6675561131554, 168.07321433266517 55.308912747860695, 166.4638741168527 53.3789477752338 C 165.6592040089465 52.41396528892039, 164.7024858292112 51.565968085776774, 163.6027601642042 50.95827684577547 C 162.50303449919718 50.35058560577417, 161.25640893845525 49.988965471500826, 160.0 50.0 C 158.74917457424695 50.010985490778914, 157.51480697469717 50.39089634011888, 156.42773339831197 51.009730701029014 C 155.34065982192678 51.62856506193914, 154.39671015116897 52.48075411904264, 153.59875436426668 53.444056506077516 C 152.00284279046213 55.3706612801472, 150.99846803225358 57.706138344311256, 150.0 60.0 C 145.77633425551895 69.703370147809, 141.2238480793819 79.48824750933096, 140.0 90.0 C 138.8562285067272 99.82396675348704, 140.6734711574526 109.7806681632769, 143.51213897949054 119.25487002932181 C 146.35080680152845 128.72907189536667, 150.15418117959695 137.88165992156652, 153.87310622319788 147.0461638646351 C 157.59203126392757 156.21066780968698, 161.1855221296413 165.4276954854724, 165.0880664256682 174.51552713196466 C 168.99061072169397 183.60335877845884, 173.26749353114178 192.75487110782376, 180.0 200.0 C 182.6099969235384 202.8087257240109, 185.6054554532524 205.28855821951146, 188.98990340752025 207.09037290988687 C 192.37435136178811 208.89218760026228, 196.16580854239115 210.0, 200.0 210.0 Z" fill="orangered" stroke="black" stroke-width="4"/>
26
+ <path d=" M 147.81350803375244 90.17374992370605 L 147.82365608215332 89.21340465545654 L 148.0 87.0 L 148.36469745635986 84.65454196929932 L 148.89091396331787 82.34543418884277 L 150.32503986358643 77.81811332702637 L 152.09664630889893 73.38173580169678 L 154.0 69.0 L 154.94520092010498 66.95058345794678 L 156.15925216674805 65.06643295288086 L 156.9428939819336 64.25862979888916 L 157.85663890838623 63.60583782196045 L 158.89147472381592 63.166152000427246 L 160.0 63.0 L 161.11608123779297 63.14826965332031 L 162.1616554260254 63.574965476989746 L 163.08637714385986 64.22077655792236 L 163.87832355499268 65.02736759185791 L 164.53829860687256 65.9398136138916 L 165.0908613204956 66.92312622070312 L 166.0 69.0 L 167.7003049850464 73.43101406097412 L 169.26796054840088 77.91067886352539 L 170.68751525878906 82.39044666290283 L 169.06022548675537 82.68865871429443 L 167.22062015533447 83.07194137573242 L 165.39081382751465 83.4995641708374 L 163.57187366485596 83.97127628326416 L 161.7648630142212 84.48680400848389 L 159.9708375930786 85.04584503173828 L 158.19084453582764 85.64807319641113 L 156.42592334747314 86.29313659667969 L 154.67710399627686 86.98065853118896 L 152.94540977478027 87.71023845672607 L 151.23184871673584 88.48144912719727 L 149.53742504119873 89.2938404083252 L 147.86312580108643 90.14693927764893 Z" fill="white" stroke="none" stroke-width="4"/>
27
+ <path d="M 252.18649196624756 90.17374992370605 L 252.17634391784668 89.21340465545654 L 252.0 87.0 L 251.63530254364014 84.65454196929932 L 251.10908603668213 82.34543418884277 L 249.67496013641357 77.81811332702637 L 247.90335369110107 73.38173580169678 L 246.0 69.0 L 245.05479907989502 66.95058345794678 L 243.84074783325195 65.06643295288086 L 243.0571060180664 64.25862979888916 L 242.14336109161377 63.60583782196045 L 241.10852527618408 63.166152000427246 L 240.0 63.0 L 238.88391876220703 63.14826965332031 L 237.8383445739746 63.574965476989746 L 236.91362285614014 64.22077655792236 L 236.12167644500732 65.02736759185791 L 235.46170139312744 65.9398136138916 L 234.9091386795044 66.92312622070312 L 234.0 69.0 L 232.2996950149536 73.43101406097412 L 230.73203945159912 77.91067886352539 L 229.31248474121094 82.39044666290283 L 230.93977451324463 82.68865871429443 L 232.77937984466553 83.07194137573242 L 234.60918617248535 83.4995641708374 L 236.42812633514404 83.97127628326416 L 238.2351369857788 84.48680400848389 L 240.0291624069214 85.04584503173828 L 241.80915546417236 85.64807319641113 L 243.57407665252686 86.29313659667969 L 245.32289600372314 86.98065853118896 L 247.05459022521973 87.71023845672607 L 248.76815128326416 88.48144912719727 L 250.46257495880127 89.2938404083252 L 252.13687419891357 90.14693927764893 Z" fill="white"/>
28
+ <path d=" M 200.0 210.0 L 197.13806056976318 209.79875087738037 L 194.32629776000977 209.2208662033081 L 191.59886169433594 208.30514240264893 L 188.9899024963379 207.0903720855713 L 187.31651210784912 206.09057235717773 L 187.47076416015625 205.43973064422607 L 188.86016178131104 202.67321300506592 L 190.85011100769043 200.30168437957764 L 193.3333330154419 198.45299434661865 L 196.17595672607422 197.22680568695068 L 199.22473526000977 196.68922424316406 L 202.31530857086182 196.86922931671143 L 205.28106307983398 197.75711822509766 L 207.96211433410645 199.30502319335938 L 210.2139253616333 201.42949771881104 L 211.91510105133057 204.01601028442383 L 212.67255687713623 206.09710311889648 L 211.0100965499878 207.0903720855713 L 208.40113735198975 208.30514240264893 L 205.67370128631592 209.2208662033081 L 202.8619384765625 209.79875087738037 Z"/>
29
+ <circle cx="182.85714285714286" cy="130.0" r="6.666666666666667"/>
30
+ <circle cx="217.14285714285714" cy="130.0" r="6.666666666666667"/>
31
+ </svg>