mahjong-render 0.1.0

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 (63) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +12 -0
  3. data/CONTRIBUTING.md +7 -0
  4. data/LICENSE +202 -0
  5. data/LICENSES/CC0-1.0.txt +121 -0
  6. data/README.ja.md +90 -0
  7. data/README.md +112 -0
  8. data/SECURITY.md +5 -0
  9. data/THIRD_PARTY_NOTICES.md +17 -0
  10. data/assets/manifest.json +45 -0
  11. data/assets/tiles/Chun.svg +232 -0
  12. data/assets/tiles/Front.svg +334 -0
  13. data/assets/tiles/Haku.svg +214 -0
  14. data/assets/tiles/Hatsu.svg +309 -0
  15. data/assets/tiles/Man1.svg +276 -0
  16. data/assets/tiles/Man2.svg +286 -0
  17. data/assets/tiles/Man3.svg +292 -0
  18. data/assets/tiles/Man4.svg +292 -0
  19. data/assets/tiles/Man5-Dora.svg +319 -0
  20. data/assets/tiles/Man5.svg +313 -0
  21. data/assets/tiles/Man6.svg +297 -0
  22. data/assets/tiles/Man7.svg +283 -0
  23. data/assets/tiles/Man8.svg +286 -0
  24. data/assets/tiles/Man9.svg +292 -0
  25. data/assets/tiles/Nan.svg +270 -0
  26. data/assets/tiles/Pei.svg +236 -0
  27. data/assets/tiles/Pin1.svg +544 -0
  28. data/assets/tiles/Pin2.svg +400 -0
  29. data/assets/tiles/Pin3.svg +362 -0
  30. data/assets/tiles/Pin4.svg +407 -0
  31. data/assets/tiles/Pin5-Dora.svg +460 -0
  32. data/assets/tiles/Pin5.svg +454 -0
  33. data/assets/tiles/Pin6.svg +477 -0
  34. data/assets/tiles/Pin7.svg +567 -0
  35. data/assets/tiles/Pin8.svg +570 -0
  36. data/assets/tiles/Pin9.svg +623 -0
  37. data/assets/tiles/Shaa.svg +248 -0
  38. data/assets/tiles/Sou1.svg +764 -0
  39. data/assets/tiles/Sou2.svg +372 -0
  40. data/assets/tiles/Sou3.svg +462 -0
  41. data/assets/tiles/Sou4.svg +573 -0
  42. data/assets/tiles/Sou5-Dora.svg +614 -0
  43. data/assets/tiles/Sou5.svg +608 -0
  44. data/assets/tiles/Sou6.svg +688 -0
  45. data/assets/tiles/Sou7.svg +628 -0
  46. data/assets/tiles/Sou8.svg +712 -0
  47. data/assets/tiles/Sou9.svg +748 -0
  48. data/assets/tiles/Ton.svg +242 -0
  49. data/docs/adr/0001-renderer-selection.md +7 -0
  50. data/docs/adr/0002-license.md +5 -0
  51. data/docs/adr/0003-notation.md +5 -0
  52. data/docs/adr/0004-assets.md +5 -0
  53. data/docs/adr/0005-package.md +5 -0
  54. data/docs/release.md +32 -0
  55. data/docs/research/existing-renderers.md +21 -0
  56. data/examples/basic.adoc +13 -0
  57. data/examples/hand.png +0 -0
  58. data/lib/mahjong_render/asciidoctor.rb +32 -0
  59. data/lib/mahjong_render/parser.rb +113 -0
  60. data/lib/mahjong_render/renderer.rb +105 -0
  61. data/lib/mahjong_render/version.rb +8 -0
  62. data/lib/mahjong_render.rb +14 -0
  63. metadata +106 -0
@@ -0,0 +1,372 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"
6
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
7
+ xmlns:cc="http://creativecommons.org/ns#"
8
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
9
+ xmlns:svg="http://www.w3.org/2000/svg"
10
+ xmlns="http://www.w3.org/2000/svg"
11
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
12
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
13
+ width="300"
14
+ height="400"
15
+ viewBox="0 0 300 400"
16
+ id="svg2"
17
+ version="1.1"
18
+ inkscape:version="0.91 r13725"
19
+ sodipodi:docname="Sou2.svg"
20
+ inkscape:export-filename="C:\Users\Fluffy\Documents\Projects\ExtraRiichi\Sou2.png"
21
+ inkscape:export-xdpi="180"
22
+ inkscape:export-ydpi="180">
23
+ <defs
24
+ id="defs4">
25
+ <inkscape:path-effect
26
+ effect="skeletal"
27
+ id="path-effect7963"
28
+ is_visible="true"
29
+ pattern="m -90.825902,-314.06958 23.03016,41.38503 13.798268,-41.38503 z"
30
+ copytype="repeated_stretched"
31
+ prop_scale="1"
32
+ scale_y_rel="false"
33
+ spacing="0"
34
+ normal_offset="0"
35
+ tang_offset="0"
36
+ prop_units="false"
37
+ vertical_pattern="false"
38
+ fuse_tolerance="0"
39
+ pattern-nodetypes="cccc" />
40
+ <inkscape:path-effect
41
+ effect="skeletal"
42
+ id="path-effect7830"
43
+ is_visible="true"
44
+ pattern="M -12.828427,33.715729 -17,-11 l 9.0000001,0 z"
45
+ copytype="repeated_stretched"
46
+ prop_scale="-1"
47
+ scale_y_rel="false"
48
+ spacing="5.1"
49
+ normal_offset="0"
50
+ tang_offset="0"
51
+ prop_units="false"
52
+ vertical_pattern="false"
53
+ fuse_tolerance="0"
54
+ pattern-nodetypes="cccc" />
55
+ <linearGradient
56
+ id="linearGradient10055"
57
+ osb:paint="solid">
58
+ <stop
59
+ style="stop-color:#000000;stop-opacity:1;"
60
+ offset="0"
61
+ id="stop10057" />
62
+ </linearGradient>
63
+ <marker
64
+ inkscape:stockid="Arrow1Lstart"
65
+ orient="auto"
66
+ refY="0"
67
+ refX="0"
68
+ id="Arrow1Lstart"
69
+ style="overflow:visible"
70
+ inkscape:isstock="true">
71
+ <path
72
+ id="path4978"
73
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
74
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#ff5c00;stroke-width:1pt;stroke-opacity:1"
75
+ transform="matrix(0.8,0,0,0.8,10,0)"
76
+ inkscape:connector-curvature="0" />
77
+ </marker>
78
+ <clipPath
79
+ clipPathUnits="userSpaceOnUse"
80
+ id="clipPath4243">
81
+ <circle
82
+ style="opacity:1;fill:#000000;fill-opacity:0.29670332;fill-rule:nonzero;stroke:#000000;stroke-width:19.13299942;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
83
+ id="circle4245"
84
+ cx="-264.65997"
85
+ cy="-198.20665"
86
+ r="293.95438" />
87
+ </clipPath>
88
+ <clipPath
89
+ clipPathUnits="userSpaceOnUse"
90
+ id="clipPath7847">
91
+ <ellipse
92
+ style="opacity:1;fill:#822600;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:12;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
93
+ id="ellipse7849"
94
+ cx="394"
95
+ cy="552.36218"
96
+ rx="349.49533"
97
+ ry="216" />
98
+ </clipPath>
99
+ <clipPath
100
+ clipPathUnits="userSpaceOnUse"
101
+ id="clipPath4243-1">
102
+ <circle
103
+ style="opacity:1;fill:#000000;fill-opacity:0.29670332;fill-rule:nonzero;stroke:#000000;stroke-width:19.13299942;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
104
+ id="circle4245-4"
105
+ cx="-264.65997"
106
+ cy="-198.20665"
107
+ r="293.95438" />
108
+ </clipPath>
109
+ <clipPath
110
+ clipPathUnits="userSpaceOnUse"
111
+ id="clipPath7876">
112
+ <circle
113
+ style="opacity:1;fill:#000000;fill-opacity:0.29670332;fill-rule:nonzero;stroke:#000000;stroke-width:19.13299942;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
114
+ id="circle7878"
115
+ cx="-264.65997"
116
+ cy="-198.20665"
117
+ r="293.95438" />
118
+ </clipPath>
119
+ <clipPath
120
+ clipPathUnits="userSpaceOnUse"
121
+ id="clipPath14693">
122
+ <rect
123
+ style="opacity:1;fill:#a53c3c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
124
+ id="rect14695"
125
+ width="131.78395"
126
+ height="168.82127"
127
+ x="-332.59583"
128
+ y="383.49765"
129
+ rx="1.2551664"
130
+ ry="3.7514515"
131
+ transform="matrix(0.99939083,-0.03489951,0.03489951,0.99939083,0,0)" />
132
+ </clipPath>
133
+ <clipPath
134
+ clipPathUnits="userSpaceOnUse"
135
+ id="clipPath14952">
136
+ <ellipse
137
+ style="opacity:1;fill:#a53c3c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:7;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
138
+ id="ellipse14954"
139
+ cx="-271.34384"
140
+ cy="647.25604"
141
+ rx="69.057365"
142
+ ry="116.91089"
143
+ transform="matrix(0.99939083,-0.03489951,0.03489951,0.99939083,0,0)" />
144
+ </clipPath>
145
+ </defs>
146
+ <sodipodi:namedview
147
+ id="base"
148
+ pagecolor="#aeffff"
149
+ bordercolor="#666666"
150
+ borderopacity="1"
151
+ inkscape:pageopacity="0"
152
+ inkscape:pageshadow="2"
153
+ inkscape:zoom="1.8101934"
154
+ inkscape:cx="181.50416"
155
+ inkscape:cy="206.80298"
156
+ inkscape:document-units="px"
157
+ inkscape:current-layer="layer1"
158
+ showgrid="true"
159
+ inkscape:window-width="1920"
160
+ inkscape:window-height="1017"
161
+ inkscape:window-x="3832"
162
+ inkscape:window-y="-8"
163
+ inkscape:window-maximized="1"
164
+ showguides="true"
165
+ inkscape:guide-bbox="true"
166
+ units="px"
167
+ inkscape:snap-bbox="true">
168
+ <inkscape:grid
169
+ type="xygrid"
170
+ id="grid4774"
171
+ visible="true"
172
+ dotted="false"
173
+ color="#3f3fff"
174
+ opacity="0.03921569"
175
+ empcolor="#3f3fff"
176
+ empopacity="0.07843137"
177
+ enabled="false" />
178
+ <sodipodi:guide
179
+ position="150,200"
180
+ orientation="0,1"
181
+ id="guide8231"
182
+ inkscape:label=""
183
+ inkscape:color="rgb(0,0,255)" />
184
+ <sodipodi:guide
185
+ position="384.48931,-167.93786"
186
+ orientation="1,0"
187
+ id="guide8233"
188
+ inkscape:label=""
189
+ inkscape:color="rgb(0,0,255)" />
190
+ </sodipodi:namedview>
191
+ <metadata
192
+ id="metadata7">
193
+ <rdf:RDF>
194
+ <cc:Work
195
+ rdf:about="">
196
+ <dc:format>image/svg+xml</dc:format>
197
+ <dc:type
198
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
199
+ <dc:title />
200
+ </cc:Work>
201
+ </rdf:RDF>
202
+ </metadata>
203
+ <g
204
+ inkscape:label="Layer 1"
205
+ inkscape:groupmode="layer"
206
+ id="layer1"
207
+ transform="translate(0,-652.36216)">
208
+ <g
209
+ id="g4384">
210
+ <g
211
+ transform="matrix(0.95915654,0,0,0.95915654,6.112593,26.80356)"
212
+ id="g4337">
213
+ <ellipse
214
+ style="opacity:1;fill:#004900;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:30;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
215
+ id="ellipse4339"
216
+ cx="135.05489"
217
+ cy="680.42645"
218
+ rx="24.680117"
219
+ ry="19.097431" />
220
+ <ellipse
221
+ cy="680.42645"
222
+ cx="164.01987"
223
+ id="ellipse4341"
224
+ style="opacity:1;fill:#004900;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:30;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
225
+ rx="24.680117"
226
+ ry="19.097431" />
227
+ <ellipse
228
+ cy="829.79926"
229
+ cx="133.83817"
230
+ id="ellipse4343"
231
+ style="opacity:1;fill:#004900;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:30;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
232
+ rx="24.680117"
233
+ ry="19.097431" />
234
+ <path
235
+ style="fill:none;fill-rule:evenodd;stroke:#004900;stroke-width:55.00000381;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
236
+ d="m 149.58492,818.81626 0,-134.67362"
237
+ id="path4345"
238
+ inkscape:connector-curvature="0" />
239
+ <ellipse
240
+ style="opacity:1;fill:#004900;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:30;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
241
+ id="ellipse4347"
242
+ cx="165.64214"
243
+ cy="829.79926"
244
+ rx="24.680117"
245
+ ry="19.097431" />
246
+ <ellipse
247
+ style="opacity:1;fill:#004900;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:30;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
248
+ id="ellipse4349"
249
+ cx="160.99481"
250
+ cy="748.83081"
251
+ rx="32.786533"
252
+ ry="25.370163" />
253
+ <ellipse
254
+ cy="748.83081"
255
+ cx="138.32327"
256
+ id="ellipse4351"
257
+ style="opacity:1;fill:#004900;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:30;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
258
+ rx="32.786533"
259
+ ry="25.370163" />
260
+ <path
261
+ style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:12.51099205;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
262
+ d="m 149.58492,685.72349 0,37.84241"
263
+ id="path4353"
264
+ inkscape:connector-curvature="0" />
265
+ <path
266
+ inkscape:connector-curvature="0"
267
+ id="path4355"
268
+ d="m 149.58491,777.56215 0,46.73373"
269
+ style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:12.51099205;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
270
+ <ellipse
271
+ ry="8.6974945"
272
+ rx="8.9920015"
273
+ style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
274
+ id="ellipse4357"
275
+ cx="149.58495"
276
+ cy="683.5329" />
277
+ <path
278
+ inkscape:connector-curvature="0"
279
+ id="path4359"
280
+ d="m 140.22861,761.81761 c 4.22825,-6.44075 15.55968,-6.16314 19.11822,0"
281
+ style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:10.42582703;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
282
+ sodipodi:nodetypes="cc" />
283
+ <path
284
+ sodipodi:nodetypes="cc"
285
+ style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:10.42582703;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
286
+ d="m 140.22861,743.53117 c 4.22825,-6.44075 15.55968,-6.16314 19.11822,0"
287
+ id="path4361"
288
+ inkscape:connector-curvature="0" />
289
+ </g>
290
+ <g
291
+ id="g4320"
292
+ transform="matrix(0.95915654,0,0,0.95915654,6.112593,235.23614)">
293
+ <ellipse
294
+ ry="19.097431"
295
+ rx="24.680117"
296
+ cy="680.42645"
297
+ cx="135.05489"
298
+ id="ellipse4322"
299
+ style="opacity:1;fill:#004900;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:30;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
300
+ <ellipse
301
+ ry="19.097431"
302
+ rx="24.680117"
303
+ style="opacity:1;fill:#004900;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:30;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
304
+ id="ellipse4324"
305
+ cx="164.01987"
306
+ cy="680.42645" />
307
+ <ellipse
308
+ ry="19.097431"
309
+ rx="24.680117"
310
+ style="opacity:1;fill:#004900;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:30;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
311
+ id="ellipse4326"
312
+ cx="133.83817"
313
+ cy="829.79926" />
314
+ <path
315
+ inkscape:connector-curvature="0"
316
+ id="path4328"
317
+ d="m 149.58492,818.81626 0,-134.67362"
318
+ style="fill:none;fill-rule:evenodd;stroke:#004900;stroke-width:55.00000381;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
319
+ <ellipse
320
+ ry="19.097431"
321
+ rx="24.680117"
322
+ cy="829.79926"
323
+ cx="165.64214"
324
+ id="ellipse4330"
325
+ style="opacity:1;fill:#004900;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:30;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
326
+ <ellipse
327
+ ry="25.370163"
328
+ rx="32.786533"
329
+ cy="748.83081"
330
+ cx="160.99481"
331
+ id="ellipse4332"
332
+ style="opacity:1;fill:#004900;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:30;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
333
+ <ellipse
334
+ ry="25.370163"
335
+ rx="32.786533"
336
+ style="opacity:1;fill:#004900;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:30;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
337
+ id="ellipse4334"
338
+ cx="138.32327"
339
+ cy="748.83081" />
340
+ <path
341
+ inkscape:connector-curvature="0"
342
+ id="path4336"
343
+ d="m 149.58492,685.72349 0,37.84241"
344
+ style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:12.51099221;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
345
+ <path
346
+ style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:12.51099205;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
347
+ d="m 149.58491,777.56215 0,46.73373"
348
+ id="path4338"
349
+ inkscape:connector-curvature="0" />
350
+ <ellipse
351
+ cy="683.5329"
352
+ cx="149.58495"
353
+ id="ellipse4342"
354
+ style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:10;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
355
+ rx="8.9920015"
356
+ ry="8.6974945" />
357
+ <path
358
+ sodipodi:nodetypes="cc"
359
+ style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:10.42582703;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
360
+ d="m 140.22861,761.81761 c 4.22825,-6.44075 15.55968,-6.16314 19.11822,0"
361
+ id="path4344"
362
+ inkscape:connector-curvature="0" />
363
+ <path
364
+ inkscape:connector-curvature="0"
365
+ id="path4335"
366
+ d="m 140.22861,743.53117 c 4.22825,-6.44075 15.55968,-6.16314 19.11822,0"
367
+ style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:10.42582703;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
368
+ sodipodi:nodetypes="cc" />
369
+ </g>
370
+ </g>
371
+ </g>
372
+ </svg>