Web Dev Solutions

Catalin Mititiuc

aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCatalin Mititiuc <webdevcat@proton.me>2024-06-01 11:31:35 -0700
committerCatalin Mititiuc <webdevcat@proton.me>2024-06-01 11:31:58 -0700
commite8fae51b32b6ebc4ec4e16338467b7fcc41edd11 (patch)
treebaf01092df986019346c4cc606cce2584577eed5
parent9a4fec27daed58272c71e163df7df216a4252127 (diff)
WIP: use scenario template to build scenarios client-side
-rw-r--r--public/assets/images/scenario-dragon_hunting.svg75
-rw-r--r--public/assets/images/scenario-race_against_time.svg71
-rw-r--r--public/assets/images/scenario-side_show.svg1859
-rw-r--r--public/assets/images/scenario_template.svg60
-rw-r--r--public/index.html2
-rw-r--r--src/index.js246
-rw-r--r--test/integration/fixtures/scenario-test.svg130
7 files changed, 300 insertions, 2143 deletions
diff --git a/public/assets/images/scenario-dragon_hunting.svg b/public/assets/images/scenario-dragon_hunting.svg
index e456f27..878c667 100644
--- a/public/assets/images/scenario-dragon_hunting.svg
+++ b/public/assets/images/scenario-dragon_hunting.svg
@@ -1,69 +1,12 @@
-<?xml version="1.0" standalone="no"?>
-<svg viewBox="-10 -10 200 300" xmlns="http://www.w3.org/2000/svg">
- <link xmlns="http://www.w3.org/1999/xhtml" rel="stylesheet" href="../css/map.css" type="text/css" />
- <style>
- g[data-edge="north"] { --i: -2; }
- g[data-edge="south"] { --i: 78; }
-
- #background {
- stroke: #304b75;
- fill: #bacae3;
- }
-
- pattern use {
- stroke: black;
- stroke-width: 0.3px;
- }
-
- .cw-60-deg {
- transform: rotate(60deg);
- }
-
- .ccw-60-deg {
- transform: rotate(-60deg);
- }
- </style>
- <defs>
- <polygon id="hex" points="0,10 8.66,5 8.66,-5 0,-10 -8.66,-5 -8.66,5"/>
-
- <line id="ast-line" x1="-1.2" y1="0" x2="1.2" y2="0"/>
-
- <pattern id="asterisk" viewBox="-8.66 -15 17.32 30" width="17.32" height="30" patternUnits="userSpaceOnUse">
- <use y="-15" href="#ast-line"/>
- <use y="-15" style="transform-origin: 0 -15px;" class="cw-60-deg" href="#ast-line"/>
- <use y="-15" style="transform-origin: 0 -15px;" class="ccw-60-deg" href="#ast-line"/>
- <use y="15" href="#ast-line"/>
- <use y="15" style="transform-origin: 0 15px;" class="cw-60-deg" href="#ast-line"/>
- <use y="15" style="transform-origin: 0 15px;" class="ccw-60-deg" href="#ast-line"/>
-
- <use x="8.66" href="#ast-line"/>
- <use x="8.66" style="transform-origin: 8.66px 0;" class="cw-60-deg" href="#ast-line"/>
- <use x="8.66" style="transform-origin: 8.66px 0;" class="ccw-60-deg" href="#ast-line"/>
- <use x="-8.66" href="#ast-line"/>
- <use x="-8.66" style="transform-origin: -8.66px 0;" class="cw-60-deg" href="#ast-line"/>
- <use x="-8.66" style="transform-origin: -8.66px 0;" class="ccw-60-deg" href="#ast-line"/>
- </pattern>
-
- <image id="counter-prone" href="counter_prone.jpg" width="10"/>
- <image id="counter-grenade" href="counter_grenade.jpg" width="10"/>
- </defs>
-
- <rect id="background"/>
-
+<?xml version="1.0" standalone="yes"?>
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="-10 -10 200 300">
<g class="gameboard">
- <use href="mapsheets.svg#map2"/>
- <use href="mapsheets.svg#map1" style="transform: translate(0, 390.25px);"/>
- <use href="mapsheets.svg#map3" style="transform: translate(0, 780.5px);"/>
-
- <rect id="dots" fill="url(#asterisk)"/>
-
- <g id="firing-arcs">
- <g id="shapes"/>
- <g id="lines"/>
- </g>
+ <use class="mapsheet" href="mapsheets.svg#map2"/>
+ <use class="mapsheet" href="mapsheets.svg#map1" style="transform: translate(0, 390.25px);"/>
+ <use class="mapsheet" href="mapsheets.svg#map3" style="transform: translate(0, 780.5px);"/>
<g class="start-locations" data-attacker-name="liao" data-defender-name="davion">
- <g data-edge="north">
+ <g data-edge="north" style="--i: -2">
<g data-x="13">
<g class="counter" data-allegiance="attacker" data-number="1">
<use class="primary-weapon" href="counters.svg#blazer"/>
@@ -114,7 +57,7 @@
</g>
</g>
</g>
- <g data-edge="south">
+ <g data-edge="south" style="--i: 78">
<g data-x="13">
<g class="counter" data-allegiance="defender" data-number="1">
<use class="primary-weapon" href="#blazer"/>
@@ -166,9 +109,7 @@
</g>
</g>
</g>
-
- <g class="grid"/>
</g>
- <script data-cols="33" data-rows="77" href="../../map.js"/>
+ <script data-cols="33" data-rows="77"/>
</svg>
diff --git a/public/assets/images/scenario-race_against_time.svg b/public/assets/images/scenario-race_against_time.svg
index 8a1cc04..e542ce5 100644
--- a/public/assets/images/scenario-race_against_time.svg
+++ b/public/assets/images/scenario-race_against_time.svg
@@ -1,67 +1,10 @@
-<?xml version="1.0" standalone="no"?>
-<svg viewBox="-10 -10 200 300" xmlns="http://www.w3.org/2000/svg">
- <link xmlns="http://www.w3.org/1999/xhtml" rel="stylesheet" href="../css/map.css" type="text/css" />
- <style>
- g[data-edge="north"] { --i: -2; }
- g[data-edge="south"] { --i: 26; }
-
- #background {
- stroke: #304b75;
- fill: #bacae3;
- }
-
- pattern use {
- stroke: black;
- stroke-width: 0.3px;
- }
-
- .cw-60-deg {
- transform: rotate(60deg);
- }
-
- .ccw-60-deg {
- transform: rotate(-60deg);
- }
- </style>
- <defs>
- <polygon id="hex" points="0,10 8.66,5 8.66,-5 0,-10 -8.66,-5 -8.66,5"/>
-
- <line id="ast-line" x1="-1.2" y1="0" x2="1.2" y2="0"/>
-
- <pattern id="asterisk" viewBox="-8.66 -15 17.32 30" width="17.32" height="30" patternUnits="userSpaceOnUse">
- <use y="-15" href="#ast-line"/>
- <use y="-15" style="transform-origin: 0 -15px;" class="cw-60-deg" href="#ast-line"/>
- <use y="-15" style="transform-origin: 0 -15px;" class="ccw-60-deg" href="#ast-line"/>
- <use y="15" href="#ast-line"/>
- <use y="15" style="transform-origin: 0 15px;" class="cw-60-deg" href="#ast-line"/>
- <use y="15" style="transform-origin: 0 15px;" class="ccw-60-deg" href="#ast-line"/>
-
- <use x="8.66" href="#ast-line"/>
- <use x="8.66" style="transform-origin: 8.66px 0;" class="cw-60-deg" href="#ast-line"/>
- <use x="8.66" style="transform-origin: 8.66px 0;" class="ccw-60-deg" href="#ast-line"/>
- <use x="-8.66" href="#ast-line"/>
- <use x="-8.66" style="transform-origin: -8.66px 0;" class="cw-60-deg" href="#ast-line"/>
- <use x="-8.66" style="transform-origin: -8.66px 0;" class="ccw-60-deg" href="#ast-line"/>
- </pattern>
-
- <image id="counter-prone" href="counter_prone.jpg" width="10"/>
- <image id="counter-grenade" href="counter_grenade.jpg" width="10"/>
- </defs>
-
- <rect id="background"/>
-
+<?xml version="1.0" standalone="yes"?>
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="-10 -10 200 300">
<g class="gameboard">
- <use href="mapsheets.svg#map4"/>
-
- <rect id="dots" fill="url(#asterisk)"/>
-
- <g id="firing-arcs">
- <g id="shapes"/>
- <g id="lines"/>
- </g>
+ <use class="mapsheet" href="mapsheets.svg#map4"/>
<g class="start-locations" data-attacker-name="liao" data-defender-name="davion">
- <g data-edge="north">
+ <g data-edge="north" style="--i: -2">
<g data-x="13">
<g class="counter" data-allegiance="attacker" data-number="1">
<use class="primary-weapon" href="counters.svg#blazer"/>
@@ -112,7 +55,7 @@
</g>
</g>
</g>
- <g data-edge="south">
+ <g data-edge="south" style="--i: 26">
<g data-x="13">
<g class="counter" data-allegiance="defender" data-number="1">
<use class="primary-weapon" href="#blazer"/>
@@ -164,9 +107,7 @@
</g>
</g>
</g>
-
- <g class="grid"/>
</g>
- <script data-cols="33" data-rows="25" href="../../map.js"/>
+ <script data-cols="33" data-rows="25"/>
</svg>
diff --git a/public/assets/images/scenario-side_show.svg b/public/assets/images/scenario-side_show.svg
index 1041bd1..70e8df3 100644
--- a/public/assets/images/scenario-side_show.svg
+++ b/public/assets/images/scenario-side_show.svg
@@ -1,68 +1,11 @@
-<?xml version="1.0" standalone="no"?>
-<svg viewBox="-10 -10 200 300" xmlns="http://www.w3.org/2000/svg">
- <link xmlns="http://www.w3.org/1999/xhtml" rel="stylesheet" href="../css/map.css" type="text/css" />
- <style>
- g[data-edge="north"] { --i: -2; }
- g[data-edge="south"] { --i: 52; }
-
- #background {
- stroke: #304b75;
- fill: #bacae3;
- }
-
- pattern use {
- stroke: black;
- stroke-width: 0.3px;
- }
-
- .cw-60-deg {
- transform: rotate(60deg);
- }
-
- .ccw-60-deg {
- transform: rotate(-60deg);
- }
- </style>
- <defs>
- <polygon id="hex" points="0,10 8.66,5 8.66,-5 0,-10 -8.66,-5 -8.66,5"/>
-
- <line id="ast-line" x1="-1.2" y1="0" x2="1.2" y2="0"/>
-
- <pattern id="asterisk" viewBox="-8.66 -15 17.32 30" width="17.32" height="30" patternUnits="userSpaceOnUse">
- <use y="-15" href="#ast-line"/>
- <use y="-15" style="transform-origin: 0 -15px;" class="cw-60-deg" href="#ast-line"/>
- <use y="-15" style="transform-origin: 0 -15px;" class="ccw-60-deg" href="#ast-line"/>
- <use y="15" href="#ast-line"/>
- <use y="15" style="transform-origin: 0 15px;" class="cw-60-deg" href="#ast-line"/>
- <use y="15" style="transform-origin: 0 15px;" class="ccw-60-deg" href="#ast-line"/>
-
- <use x="8.66" href="#ast-line"/>
- <use x="8.66" style="transform-origin: 8.66px 0;" class="cw-60-deg" href="#ast-line"/>
- <use x="8.66" style="transform-origin: 8.66px 0;" class="ccw-60-deg" href="#ast-line"/>
- <use x="-8.66" href="#ast-line"/>
- <use x="-8.66" style="transform-origin: -8.66px 0;" class="cw-60-deg" href="#ast-line"/>
- <use x="-8.66" style="transform-origin: -8.66px 0;" class="ccw-60-deg" href="#ast-line"/>
- </pattern>
-
- <image id="counter-prone" href="counter_prone.jpg" width="10"/>
- <image id="counter-grenade" href="counter_grenade.jpg" width="10"/>
- </defs>
-
- <rect id="background"/>
-
+<?xml version="1.0" standalone="yes"?>
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="-10 -10 200 300">
<g class="gameboard">
- <use href="mapsheets.svg#map2"/>
- <use href="mapsheets.svg#map3" style="transform: translate(0, 390.25px);"/>
-
- <rect id="dots" fill="url(#asterisk)"/>
-
- <g id="firing-arcs">
- <g id="shapes"/>
- <g id="lines"/>
- </g>
+ <use class="mapsheet" href="mapsheets.svg#map3" style="transform: translate(0, 390.25px);"/>
+ <use class="mapsheet" href="mapsheets.svg#map2"/>
<g class="start-locations" data-attacker-name="liao" data-defender-name="davion">
- <g data-edge="north">
+ <g data-edge="north" style="--i: -2">
<g data-x="13">
<g class="counter selected" data-allegiance="attacker" data-number="1">
<use class="primary-weapon" href="counters.svg#blazer"/>
@@ -113,7 +56,7 @@
</g>
</g>
</g>
- <g data-edge="south">
+ <g data-edge="south" style="--i: 53">
<g data-x="13">
<g class="counter" data-allegiance="defender" data-number="1">
<use class="primary-weapon" href="#blazer"/>
@@ -165,1795 +108,7 @@
</g>
</g>
</g>
-
- <g class="grid">
- <g data-y="0">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="1">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="2">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="3">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="4">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="5">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="6">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="7">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="8">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="9">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="10">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="11">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="12">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="13">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="14">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="15">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="16">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="17">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="18">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="19">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="20">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="21">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="22">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="23">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="24">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="25">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="26">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="27">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="28">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="29">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="30">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="31">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="32">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="33">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="34">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="35">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="36">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="37">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="38">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="39">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="40">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="41">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="42">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="43">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="44">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="45">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="46">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="47">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="48">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="49">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="50">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- </g>
</g>
- <script href="../../map.js"/>
+ <script data-cols="33" data-rows="52"/>
</svg>
diff --git a/public/assets/images/scenario_template.svg b/public/assets/images/scenario_template.svg
new file mode 100644
index 0000000..8f8b5f7
--- /dev/null
+++ b/public/assets/images/scenario_template.svg
@@ -0,0 +1,60 @@
+<?xml version="1.0" standalone="no"?>
+<svg viewBox="-10 -10 200 300" xmlns="http://www.w3.org/2000/svg">
+ <link xmlns="http://www.w3.org/1999/xhtml" rel="stylesheet" href="../css/map.css" type="text/css" />
+ <style>
+ #background {
+ stroke: #304b75;
+ fill: #bacae3;
+ }
+
+ pattern use {
+ stroke: black;
+ stroke-width: 0.3px;
+ }
+
+ .cw-60-deg {
+ transform: rotate(60deg);
+ }
+
+ .ccw-60-deg {
+ transform: rotate(-60deg);
+ }
+ </style>
+ <defs>
+ <polygon id="hex" points="0,10 8.66,5 8.66,-5 0,-10 -8.66,-5 -8.66,5"/>
+
+ <line id="ast-line" x1="-1.2" y1="0" x2="1.2" y2="0"/>
+
+ <pattern id="asterisk" viewBox="-8.66 -15 17.32 30" width="17.32" height="30" patternUnits="userSpaceOnUse">
+ <use y="-15" href="#ast-line"/>
+ <use y="-15" style="transform-origin: 0 -15px;" class="cw-60-deg" href="#ast-line"/>
+ <use y="-15" style="transform-origin: 0 -15px;" class="ccw-60-deg" href="#ast-line"/>
+ <use y="15" href="#ast-line"/>
+ <use y="15" style="transform-origin: 0 15px;" class="cw-60-deg" href="#ast-line"/>
+ <use y="15" style="transform-origin: 0 15px;" class="ccw-60-deg" href="#ast-line"/>
+
+ <use x="8.66" href="#ast-line"/>
+ <use x="8.66" style="transform-origin: 8.66px 0;" class="cw-60-deg" href="#ast-line"/>
+ <use x="8.66" style="transform-origin: 8.66px 0;" class="ccw-60-deg" href="#ast-line"/>
+ <use x="-8.66" href="#ast-line"/>
+ <use x="-8.66" style="transform-origin: -8.66px 0;" class="cw-60-deg" href="#ast-line"/>
+ <use x="-8.66" style="transform-origin: -8.66px 0;" class="ccw-60-deg" href="#ast-line"/>
+ </pattern>
+
+ <image id="counter-prone" href="counter_prone.jpg" width="10"/>
+ <image id="counter-grenade" href="counter_grenade.jpg" width="10"/>
+ </defs>
+
+ <rect id="background"/>
+
+ <g class="gameboard">
+ <rect id="dots" fill="url(#asterisk)"/>
+
+ <g id="firing-arcs">
+ <g id="shapes"/>
+ <g id="lines"/>
+ </g>
+
+ <g class="grid"/>
+ </g>
+</svg>
diff --git a/public/index.html b/public/index.html
index 0307115..df3fc65 100644
--- a/public/index.html
+++ b/public/index.html
@@ -145,7 +145,7 @@
Loading...
</div>
- <object type="image/svg+xml"></object>
+ <object type="image/svg+xml" data="assets/images/scenario_template.svg"></object>
<div id="status">
<span id="hex-counter">Distance: <span id="hex-count">-</span></span>
diff --git a/src/index.js b/src/index.js
index 992366a..e638910 100644
--- a/src/index.js
+++ b/src/index.js
@@ -40,16 +40,134 @@ const mapPlaceholder = document.querySelector('.map-placeholder'),
let mapResourceEl = document.querySelector('object');
+async function requestScenario(url) {
+ return new Promise((res, rej) => {
+ const request = new XMLHttpRequest();
+ request.open('GET', url, true);
+ request.responseType = 'document';
+
+ request.onload = function() {
+ if (request.status === 200) {
+ res(request.response);
+ } else {
+ rej(Error('Image didn\'t load successfully; error code:' + request.statusText));
+ }
+ };
+ request.onerror = function() {
+ rej(Error('There was a network error.'));
+ };
+
+ request.send();
+ });
+}
+
+const scenarioRequest = requestScenario(map);
+
function loadScenario(data) {
- const current = document.querySelector('object');
- const next = document.createElement('object');
- next.setAttribute('type', 'image/svg+xml');
- next.style.opacity = 0;
- next.addEventListener('load', load);
- mapPlaceholder.style.opacity = 1;
- next.data = data;
- mapPlaceholder.after(next);
- current.remove();
+ // const current = document.querySelector('object');
+ // const next = document.createElement('object');
+ // next.setAttribute('type', 'image/svg+xml');
+ // next.style.opacity = 0;
+ // next.addEventListener('load', load);
+ // mapPlaceholder.style.opacity = 1;
+ // next.data = data;
+ // mapPlaceholder.after(next);
+ // current.remove();
+
+ buildScenario(requestScenario(data));
+}
+
+async function buildScenario(req) {
+ console.log('req', req);
+
+ const svg = scenarioTemplate.querySelector('svg').cloneNode(true);
+ document.querySelector('object').contentDocument.querySelector('svg').replaceWith(svg);
+
+ const startLocs = svg.querySelector('.start-locations');
+ const scenario = await req;
+
+ console.log(scenario);
+
+ const gb = svg.querySelector('.gameboard');
+ const grid = svg.querySelector('.grid');
+
+ const externalResourceEls = Array.from(scenario.querySelectorAll('use[href*=".svg"'));
+
+ const refs = externalResourceEls.reduce((acc, el) => {
+ const href = el.getAttributeNS(null, 'href');
+ const [filename] = href.match(/.+\.svg/);
+ const fragmentIdentifier = href.split('.svg').pop();
+
+ (acc[filename] ??= new Set()).add(fragmentIdentifier);
+ el.setAttributeNS(null, 'href', fragmentIdentifier);
+
+ return acc;
+ }, {});
+
+ await Promise.all(
+ Object.keys(refs).map(filename => requestScenario(`assets/images/${filename}`))
+ ).then(result => {
+ const defs = svg.querySelector('defs');
+
+ Object.keys(refs).forEach((filename, index) => {
+ const external = result[index];
+
+ refs[filename].forEach(fragmentIdentifier => {
+ external
+ .querySelectorAll(`${fragmentIdentifier} use`)
+ .forEach(el => refs[filename].add(el.getAttributeNS(null, 'href')));
+ });
+
+ const refsQuery = [...refs[filename]].join(', ');
+ external.querySelectorAll(refsQuery).forEach(node => defs.append(node));
+ });
+ });
+
+ scenario.querySelectorAll('use.mapsheet').forEach(el => gb.prepend(el));
+ grid.before(scenario.querySelector('.start-locations'));
+
+ const scenarioGrid = scenario.querySelector('.grid');
+
+ console.log('scenarioGrid', scenarioGrid);
+
+ if (scenarioGrid) {
+ grid.replaceWith(svg.ownerDocument.importNode(scenarioGrid, true));
+ }
+
+ async function loadScript() {
+ return new Promise((resolve, reject) => {
+ const scriptEl = document.createElementNS("http://www.w3.org/2000/svg", 'script');
+ // const scriptEl = svg.ownerDocument.importNode(scenario.querySelector('script'));
+
+ scriptEl.onload = () => {
+ console.log('map.js loaded');
+ resolve();
+ };
+
+ scriptEl.onerror = () => {
+ reject(Error('Script failed to load.'));
+ };
+
+ const oldScript = scenario.querySelector('script');
+
+ if ('cols' in oldScript.dataset && 'rows' in oldScript.dataset) {
+ scriptEl.dataset.rows = oldScript.dataset.rows;
+ scriptEl.dataset.cols = oldScript.dataset.cols;
+ }
+
+ scriptEl.setAttributeNS(null, 'href', '../../map.js');
+ svg.append(scriptEl);
+ });
+ }
+
+ await loadScript();
+
+ // this.style.opacity = 1;
+ // mapPlaceholder.style.opacity = 0;
+
+ panzoom.start(svg);
+ gameboard.start(svg);
+ recordSheet.start(startLocs, gameboard.getUnits());
}
function updateTurnCounter() {
@@ -91,23 +209,82 @@ function roll(die) {
return numsAsWords[getRandomIntInclusive(0, numsAsWords.length - 1)];
}
-function load() {
+let scenarioTemplate;
+
+async function load() {
const svg = this.contentDocument.querySelector('svg'),
startLocs = svg.querySelector('.start-locations')
// , scriptEl = this.contentDocument.querySelector('script')
;
+ scenarioTemplate = this.contentDocument.cloneNode(svg);
+ buildScenario(scenarioRequest);
+ // const scenario = await scenarioRequest;
+ // const gb = svg.querySelector('.gameboard');
+ // const grid = svg.querySelector('.grid');
+
+ // const externalResourceEls = Array.from(scenario.querySelectorAll('use[href*=".svg"'));
+
+ // const refs = externalResourceEls.reduce((acc, el) => {
+ // const href = el.getAttributeNS(null, 'href');
+ // const [filename] = href.match(/.+\.svg/);
+ // const fragmentIdentifier = href.split('.svg').pop();
+
+ // (acc[filename] ??= new Set()).add(fragmentIdentifier);
+ // el.setAttributeNS(null, 'href', fragmentIdentifier);
+
+ // return acc;
+ // }, {});
+
+ // await Promise.all(
+ // Object.keys(refs).map(filename => requestScenario(`assets/images/${filename}`))
+ // ).then(result => {
+ // const defs = svg.querySelector('defs');
- // const useEls = svg.querySelectorAll('use[href*=".svg"]');
+ // Object.keys(refs).forEach((filename, index) => {
+ // const external = result[index];
- // console.log(useEls);
+ // refs[filename].forEach(fragmentIdentifier => {
+ // external
+ // .querySelectorAll(`${fragmentIdentifier} use`)
+ // .forEach(el => refs[filename].add(el.getAttributeNS(null, 'href')));
+ // });
- // [...new Set([...useEls].map(el => el.getAttributeNS(null, 'href').match(/^(.*?)\.svg/g).at(0)))].forEach(f => {
- // const name = `../assets/images/${f}`;
- // import(name);
- // console.log(f);
+ // const refsQuery = [...refs[filename]].join(', ');
+ // external.querySelectorAll(refsQuery).forEach(node => defs.append(node));
+ // });
// });
+ // scenario.querySelectorAll('use.mapsheet').forEach(el => gb.prepend(el));
+ // grid.before(scenario.querySelector('.start-locations'));
+
+ // async function loadScript() {
+ // return new Promise((resolve, reject) => {
+ // const scriptEl = document.createElementNS("http://www.w3.org/2000/svg", 'script');
+ // // const scriptEl = svg.ownerDocument.importNode(scenario.querySelector('script'));
+
+ // scriptEl.onload = () => {
+ // console.log('map.js loaded');
+ // resolve();
+ // };
+
+ // scriptEl.onerror = () => {
+ // reject(Error('Script failed to load.'));
+ // };
+
+ // scriptEl.dataset.rows = scenario.querySelector('script').dataset.rows;
+ // scriptEl.dataset.cols = scenario.querySelector('script').dataset.cols;
+ // scriptEl.setAttributeNS(null, 'href', '../../map.js');
+ // svg.append(scriptEl);
+ // });
+ // }
+
+ // await loadScript();
+
+ this.style.opacity = 1;
+ mapPlaceholder.style.opacity = 0;
+ // URL.revokeObjectURL(this.data);
+
// const linkEl = document.createElement('link');
// linkEl.setAttribute('xmlns', 'http://www.w3.org/1999/xhtml');
// linkEl.setAttribute('rel', 'stylesheet');
@@ -116,25 +293,13 @@ function load() {
// linkEl.onload = function (e) {
// console.log('map.css loaded');
-
- // if (scriptEl) {
- // scriptEl.onload = function () {
- // console.log('map.js loaded');
-
- // };
- // scriptEl.setAttribute('href', '../../map.js');
- // }
// };
// svg.prepend(linkEl);
- this.style.opacity = 1;
- mapPlaceholder.style.opacity = 0;
- URL.revokeObjectURL(this.data);
-
- panzoom.start(svg);
- gameboard.start(svg);
- recordSheet.start(startLocs, gameboard.getUnits());
+ // panzoom.start(svg);
+ // gameboard.start(svg);
+ // recordSheet.start(startLocs, gameboard.getUnits());
}
document.querySelectorAll('.end-turn').forEach(el =>
@@ -199,7 +364,19 @@ document.querySelector('#upload-save').addEventListener('click', () => {
document.querySelector('input[type="file"]').addEventListener('change', e => {
const [file] = fileInputEl.files;
- loadScenario(URL.createObjectURL(file))
+
+
+ let reader = new FileReader();
+ reader.onload = function () {
+ const parser = new DOMParser();
+ const doc = parser.parseFromString(reader.result, "image/svg+xml");
+
+ buildScenario(doc);
+ };
+
+ reader.readAsText(file);
+
+ // loadScenario(URL.createObjectURL(file));
});
document.querySelector('#roll-dice').addEventListener('click', () => {
@@ -221,8 +398,9 @@ mapSelectDialog
.changeMapOnConfirm(loadScenario);
mapResourceEl.addEventListener('load', load);
-mapResourceEl.data = map;
-mapResourceEl = null;
+// mapResourceEl.data = map;
+// mapResourceEl = null;
+
dice.forEach(el => {
el.classList.add(roll(d6));
diff --git a/test/integration/fixtures/scenario-test.svg b/test/integration/fixtures/scenario-test.svg
index 9c31cd7..77afd6b 100644
--- a/test/integration/fixtures/scenario-test.svg
+++ b/test/integration/fixtures/scenario-test.svg
@@ -1,124 +1,6 @@
-<?xml version="1.0" standalone="no"?>
-<svg viewBox="-150 -150 600 800" xmlns="http://www.w3.org/2000/svg">
- <link xmlns="http://www.w3.org/1999/xhtml" rel="stylesheet" href="../css/map.css" type="text/css" />
- <style>
- g[data-edge="north"] { --i: -2; }
- g[data-edge="south"] { --i: 52; }
-
- #background {
- stroke: #304b75;
- fill: #bacae3;
- }
-
- pattern use {
- stroke: black;
- stroke-width: 0.3px;
- }
-
- .cw-60-deg {
- transform: rotate(60deg);
- }
-
- .ccw-60-deg {
- transform: rotate(-60deg);
- }
- </style>
- <defs>
- <polygon id="hex" points="0,10 8.66,5 8.66,-5 0,-10 -8.66,-5 -8.66,5"/>
-
- <line id="ast-line" x1="-1.2" y1="0" x2="1.2" y2="0"/>
-
- <pattern id="asterisk" viewBox="-8.66 -15 17.32 30" width="17.32" height="30" patternUnits="userSpaceOnUse">
- <use y="-15" href="#ast-line"/>
- <use y="-15" style="transform-origin: 0 -15px;" class="cw-60-deg" href="#ast-line"/>
- <use y="-15" style="transform-origin: 0 -15px;" class="ccw-60-deg" href="#ast-line"/>
- <use y="15" href="#ast-line"/>
- <use y="15" style="transform-origin: 0 15px;" class="cw-60-deg" href="#ast-line"/>
- <use y="15" style="transform-origin: 0 15px;" class="ccw-60-deg" href="#ast-line"/>
-
- <use x="8.66" href="#ast-line"/>
- <use x="8.66" style="transform-origin: 8.66px 0;" class="cw-60-deg" href="#ast-line"/>
- <use x="8.66" style="transform-origin: 8.66px 0;" class="ccw-60-deg" href="#ast-line"/>
- <use x="-8.66" href="#ast-line"/>
- <use x="-8.66" style="transform-origin: -8.66px 0;" class="cw-60-deg" href="#ast-line"/>
- <use x="-8.66" style="transform-origin: -8.66px 0;" class="ccw-60-deg" href="#ast-line"/>
- </pattern>
-
- <circle id="counter-base" style="r: inherit;" cx="0" cy="0" r="5"/>
-
- <g style="r: inherit;" id="number-1">
- <use style="r: inherit;" href="#counter-base"/>
- <text style="fill: var(--text-fill); transform: translateY(var(--translateY))">1</text>
- </g>
- <g style="r: inherit;" id="number-2">
- <use style="r: inherit;" href="#counter-base"/>
- <text style="fill: var(--text-fill); transform: translateY(var(--translateY))">2</text>
- </g>
- <g style="r: inherit;" id="number-3">
- <use style="r: inherit;" href="#counter-base"/>
- <text style="fill: var(--text-fill); transform: translateY(var(--translateY))">3</text>
- </g>
- <g style="r: inherit;" id="number-4">
- <use style="r: inherit;" href="#counter-base"/>
- <text style="fill: var(--text-fill); transform: translateY(var(--translateY))">4</text>
- </g>
- <g style="r: inherit;" id="number-5">
- <use style="r: inherit;" href="#counter-base"/>
- <text style="fill: var(--text-fill); transform: translateY(var(--translateY))">5</text>
- </g>
- <g style="r: inherit;" id="number-6">
- <use style="r: inherit;" href="#counter-base"/>
- <text style="fill: var(--text-fill); transform: translateY(var(--translateY))">6</text>
- </g>
- <g style="r: inherit;" id="number-7">
- <use style="r: inherit;" href="#counter-base"/>
- <text style="fill: var(--text-fill); transform: translateY(var(--translateY))">7</text>
- </g>
-
- <g id="semi-auto">
- <line x1="-2" y1="1" x2="2" y2="1"/>
- <line x1="-2" y1="2" x2="2" y2="2"/>
- </g>
-
- <g id="auto">
- <line x1="-2" y1="0" x2="2" y2="0"/>
- <line x1="-2" y1="1" x2="2" y2="1"/>
- <line x1="-2" y1="2" x2="2" y2="2"/>
- </g>
-
- <g id="rifle" style="r: inherit;" class="weapon-symbol">
- <use style="r: inherit;" href="#counter-base"/>
- <use href="#semi-auto"/>
- <line x1="0" y1="-5" x2="0" y2="5"/>
- <polyline style="fill: none;" points="-2,-3.5 0,-5 2,-3.5"/>
- </g>
-
- <g id="smg" style="r: inherit;" class="weapon-symbol">
- <use style="r: inherit;" href="#counter-base"/>
- <use href="#auto"/>
- <line x1="0" y1="-5" x2="0" y2="4.5"/>
- <line x1="-2" y1="4.5" x2="2" y2="4.5"/>
- </g>
-
- <g id="blazer" style="r: inherit;" class="weapon-symbol">
- <use style="r: inherit;" href="#counter-base"/>
- <use href="#auto"/>
- <polyline points="0,-5 0,-3 -3,-2.5 3,-1.5 0,-1 0,2.5 -3,3, 3,4 0,4.5 0,5"/>
- <polyline points="-2,-3.5 0,-5 2,-3.5"/>
- </g>
-
- <image id="counter-prone" href="counter_prone.jpg" width="10"/>
- <image id="counter-grenade" href="counter_grenade.jpg" width="10"/>
- </defs>
- <rect id="background"/>
-
+<?xml version="1.0" standalone="yes"?>
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="-10 -10 200 300">
<g class="gameboard">
- <rect id="dots" fill="url(#asterisk)"/>
-
- <g id="firing-arcs">
- <g id="shapes"/>
- <g id="lines"/>
- </g>
<g class="grid">
<g data-y="0">
<g data-x="0"><use href="#hex"/></g>
@@ -129,9 +11,9 @@
<g data-x="0"><use href="#hex"/></g>
<g data-x="1"><use href="#hex"/>
<g class="counter" data-allegiance="attacker" data-number="1">
- <use class="primary-weapon" href="#rifle"/>
- <use class="troop-number" href="#number-1"/>
- <use class="squad-number" href="#number-1"/>
+ <use class="primary-weapon" href="counters.svg#rifle"/>
+ <use class="troop-number" href="counters.svg#number-1"/>
+ <use class="squad-number" href="counters.svg#number-1"/>
</g>
</g>
<g data-x="2"><use href="#hex"/></g>
@@ -144,5 +26,5 @@
</g>
</g>
- <script href="../../map.js"></script>
+ <script/>
</svg>